mirror of
https://git.code.sf.net/p/mingw-w64/mingw-w64
synced 2024-11-27 11:54:24 +08:00
3f3ecfd2f1
Also add the conditional "extern C" for C++. Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com> Signed-off-by: Liu Hao <lh_mouse@126.com>
162 lines
4.2 KiB
C
162 lines
4.2 KiB
C
/**
|
|
* This file has no copyright assigned and is placed in the Public Domain.
|
|
* This file is part of the mingw-w64 runtime package.
|
|
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
|
*/
|
|
#ifndef __INC_ELSCORE__
|
|
#define __INC_ELSCORE__
|
|
|
|
#include <objbase.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef ELSCOREAPI
|
|
#define ELSCOREAPI DECLSPEC_IMPORT
|
|
#endif
|
|
|
|
#ifndef CALLBACK
|
|
#define CALLBACK WINAPI
|
|
#endif
|
|
|
|
/* MAPPING_ENUM_OPTIONS.ServiceType */
|
|
#define ALL_SERVICE_TYPES 0
|
|
#define HIGHLEVEL_SERVICE_TYPES 1
|
|
#define LOWLEVEL_SERVICE_TYPES 2
|
|
|
|
/* MAPPING_ENUM_OPTIONS.OnlineService */
|
|
#define ALL_SERVICES 0
|
|
#define ONLINE_SERVICES 1
|
|
#define OFFLINE_SERVICES 2
|
|
|
|
typedef struct _MAPPING_DATA_RANGE {
|
|
DWORD dwStartIndex;
|
|
DWORD dwEndIndex;
|
|
LPWSTR pszDescription;
|
|
DWORD dwDescriptionLength;
|
|
LPVOID pData;
|
|
DWORD dwDataSize;
|
|
LPWSTR pszContentType;
|
|
LPWSTR *prgActionIds;
|
|
DWORD dwActionsCount;
|
|
LPWSTR *prgActionDisplayNames;
|
|
} MAPPING_DATA_RANGE, *PMAPPING_DATA_RANGE;
|
|
|
|
typedef struct _MAPPING_ENUM_OPTIONS {
|
|
size_t Size;
|
|
LPWSTR pszCategory;
|
|
LPWSTR pszInputLanguage;
|
|
LPWSTR pszOutputLanguage;
|
|
LPWSTR pszInputScript;
|
|
LPWSTR pszOutputScript;
|
|
LPWSTR pszInputContentType;
|
|
LPWSTR pszOutputContentType;
|
|
GUID *pGuid;
|
|
unsigned OnlineService :2;
|
|
unsigned ServiceType :2;
|
|
} MAPPING_ENUM_OPTIONS, *PMAPPING_ENUM_OPTIONS;
|
|
|
|
typedef struct _MAPPING_PROPERTY_BAG {
|
|
size_t Size;
|
|
PMAPPING_DATA_RANGE prgResultRanges;
|
|
DWORD dwRangesCount;
|
|
LPVOID pServiceData;
|
|
DWORD dwServiceDataSize;
|
|
LPVOID pCallerData;
|
|
DWORD dwCallerDataSize;
|
|
LPVOID pContext;
|
|
} MAPPING_PROPERTY_BAG, *PMAPPING_PROPERTY_BAG;
|
|
|
|
typedef void (CALLBACK *PFN_MAPPINGCALLBACKPROC)(
|
|
MAPPING_PROPERTY_BAG *pBag,
|
|
LPVOID data,
|
|
DWORD dwDataSize,
|
|
HRESULT Result
|
|
);
|
|
|
|
typedef struct _MAPPING_OPTIONS {
|
|
size_t Size;
|
|
LPWSTR pszInputLanguage;
|
|
LPWSTR pszOutputLanguage;
|
|
LPWSTR pszInputScript;
|
|
LPWSTR pszOutputScript;
|
|
LPWSTR pszInputContentType;
|
|
LPWSTR pszOutputContentType;
|
|
LPWSTR pszUILanguage;
|
|
PFN_MAPPINGCALLBACKPROC pfnRecognizeCallback;
|
|
LPVOID pRecognizeCallerData;
|
|
DWORD dwRecognizeCallerDataSize;
|
|
PFN_MAPPINGCALLBACKPROC pfnActionCallback;
|
|
LPVOID pActionCallerData;
|
|
DWORD dwActionCallerDataSize;
|
|
DWORD dwServiceFlag;
|
|
unsigned GetActionDisplayName :1;
|
|
} MAPPING_OPTIONS, *PMAPPING_OPTIONS;
|
|
|
|
typedef struct _MAPPING_SERVICE_INFO {
|
|
size_t Size;
|
|
LPWSTR pszCopyright;
|
|
WORD wMajorVersion;
|
|
WORD wMinorVersion;
|
|
WORD wBuildVersion;
|
|
WORD wStepVersion;
|
|
DWORD dwInputContentTypesCount;
|
|
LPWSTR *prgInputContentTypes;
|
|
DWORD dwOutputContentTypesCount;
|
|
LPWSTR *prgOutputContentTypes;
|
|
DWORD dwInputLanguagesCount;
|
|
LPWSTR *prgInputLanguages;
|
|
DWORD dwOutputLanguagesCount;
|
|
LPWSTR *prgOutputLanguages;
|
|
DWORD dwInputScriptsCount;
|
|
LPWSTR *prgInputScripts;
|
|
DWORD dwOutputScriptsCount;
|
|
LPWSTR *prgOutputScripts;
|
|
GUID guid;
|
|
LPWSTR pszCategory;
|
|
LPWSTR pszDescription;
|
|
DWORD dwPrivateDataSize;
|
|
LPVOID pPrivateData;
|
|
LPVOID pContext;
|
|
unsigned IsOneToOneLanguageMapping :1;
|
|
unsigned HasSubservices :1;
|
|
unsigned OnlineOnly :1;
|
|
unsigned ServiceType :2;
|
|
} MAPPING_SERVICE_INFO, *PMAPPING_SERVICE_INFO;
|
|
|
|
ELSCOREAPI HRESULT WINAPI MappingRecognizeText(
|
|
PMAPPING_SERVICE_INFO pServiceInfo,
|
|
LPCWSTR pszText,
|
|
DWORD dwLength,
|
|
DWORD dwIndex,
|
|
PMAPPING_OPTIONS pOptions,
|
|
PMAPPING_PROPERTY_BAG pBag
|
|
);
|
|
|
|
ELSCOREAPI HRESULT WINAPI MappingDoAction(
|
|
PMAPPING_PROPERTY_BAG pBag,
|
|
DWORD dwRangeIndex,
|
|
LPCWSTR pszActionId
|
|
);
|
|
|
|
ELSCOREAPI HRESULT WINAPI MappingFreePropertyBag(
|
|
PMAPPING_PROPERTY_BAG pBag
|
|
);
|
|
|
|
ELSCOREAPI HRESULT WINAPI MappingFreeServices(
|
|
PMAPPING_SERVICE_INFO pServiceInfo
|
|
);
|
|
|
|
ELSCOREAPI HRESULT WINAPI MappingGetServices(
|
|
PMAPPING_ENUM_OPTIONS pOptions,
|
|
PMAPPING_SERVICE_INFO *prgServices,
|
|
DWORD *pdwServicesCount
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /*__INC_ELSCORE__*/
|