@COMMENT IME Functions @@ ImmGetCompositionStringA typedef LONG (WINAPI*IGCSA_CAST)(HIMC, DWORD, LPVOID, DWORD); @define pImmGetCompositionStringA(a,b,c,d) ((IGCSA_CAST)nlsProcTable[iImmGetCompositionStringA])(a,b,c,d) @@ ImmGetContext typedef HIMC (WINAPI*IGC_CAST)(HWND); @define pImmGetContext(a) ((IGC_CAST)nlsProcTable[iImmGetContext])(a) @@ ImmSetCompositionFontA typedef BOOL (WINAPI*ISCFA_CAST)(HIMC, LPLOGFONTA); @define pImmSetCompositionFontA(a,b) ((ISCFA_CAST)nlsProcTable[iImmSetCompositionFontA])(a,b) @MAC pImmSetCompositionFont not supported in crayon @@ ImmSetCompositionWindow typedef BOOL (WINAPI*ISCW_CAST)(HIMC, LPCOMPOSITIONFORM); @define pImmSetCompositionWindow(a,b) ((ISCW_CAST)nlsProcTable[iImmSetCompositionWindow])(a,b) @MAC pImmSetCompositionWindow not supported in crayon @@ ImmReleaseContext typedef BOOL (WINAPI*IRC_CAST)(HWND, HIMC); @define pImmReleaseContext(a,b) ((IRC_CAST)nlsProcTable[iImmReleaseContext])(a,b) @@ ImmGetProperty typedef DWORD (WINAPI*IGP_CAST)(HKL, DWORD); @define pImmGetProperty(a,b) ((IGP_CAST)nlsProcTable[iImmGetProperty])(a,b) @MAC pImmGetProperty not supported in crayon @@ ImmGetCandidateWindow typedef BOOL (WINAPI*IGCW_CAST)(HIMC, DWORD, LPCANDIDATEFORM); @define pImmGetCandidateWindow(a,b,c) (( IGCW_CAST) nlsProcTable[iImmGetCandidateWindow])(a,b,c) @MAC pImmGetCandidateWindow not supported in crayon @@ ImmSetCandidateWindow typedef BOOL (WINAPI*ISCAW_CAST)(HIMC, LPCANDIDATEFORM); @define pImmSetCandidateWindow(a,b) (( ISCAW_CAST) nlsProcTable[iImmSetCandidateWindow])(a,b) @MAC pImmSetCandidateWindow not supported in crayon @@ ImmNotifyIME typedef BOOL (WINAPI*INIME_CAST)(HIMC, DWORD, DWORD, DWORD); @define pImmNotifyIME(a,b,c,d) ((INIME_CAST)nlsProcTable[iImmNotifyIME])(a,b,c,d) @@ ImmAssociateContext typedef HIMC (WINAPI*IAC_CAST)(HWND, HIMC); @define pImmAssociateContext(a,b) ((IAC_CAST)nlsProcTable[iImmAssociateContext])(a,b) @@ ImmGetVirtualKey typedef UINT (WINAPI*IGVK_CAST)(HWND); @define pImmGetVirtualKey(a) ((IGVK_CAST)nlsProcTable[iImmGetVirtualKey])(a) @MAC pImmGetVirtualKey not supported in crayon @@ ImmEscape typedef HIMC (WINAPI*IES_CAST)(HKL, HIMC, UINT, LPVOID); @define pImmEscape(a,b,c,d) ((IES_CAST)nlsProcTable[iImmEscape])(a,b,c,d) @@ ImmGetOpenStatus typedef LONG (WINAPI*IGOS_CAST)(HIMC); @define pImmGetOpenStatus(a)((IGOS_CAST) nlsProcTable[iImmGetOpenStatus])(a) @@ ImmGetConversionStatus typedef BOOL (WINAPI*IGCS_CAST)(HIMC, LPDWORD, LPDWORD); @define pImmGetConversionStatus(a,b,c)((IGCS_CAST) nlsProcTable[iImmGetConversionStatus])(a,b,c) @MAC pImmGetConversionStatus not supported in crayon @COMMENT National Language Keyboard support @@ GetKeyboardLayout typedef WINUSERAPI HKL (WINAPI* GKL_CAST)(DWORD); @define pGetKeyboardLayout(a) ((GKL_CAST) nlsProcTable[iGetKeyboardLayout])(a) @@ GetKeyboardLayoutList typedef WINUSERAPI int (WINAPI*GKLL_CAST)(int, HKL FAR *); @define pGetKeyboardLayoutList(a,b) ((GKLL_CAST) nlsProcTable[iGetKeyboardLayoutList])(a,b) @COMMENT Ole @@ LoadRegTypeLib typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *LRTL_CAST)(REFGUID, WORD, WORD, LCID, ITypeLib **); @define pLoadRegTypeLib(a, b, c, d, e) (CheckIfLoaded(), ((LRTL_CAST)nlsProcTable[iLoadRegTypeLib])(a, b, c, d, e)) @@ LoadTypeLib typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *LTL_CAST)(const OLECHAR *, ITypeLib **); @define pLoadTypeLib(a, b) (CheckIfLoaded(), ((LTL_CAST)nlsProcTable[iLoadTypeLib])(a, b)) @@ SysAllocString typedef DECLSPEC_IMPORT BSTR (STDAPICALLTYPE *SAS_CAST)(const OLECHAR *); @define pSysAllocString(a) (CheckIfLoaded(), ((SAS_CAST)nlsProcTable[iSysAllocString])(a)) @@ SysAllocStringLen typedef DECLSPEC_IMPORT BSTR (STDAPICALLTYPE *SASL_CAST)(const OLECHAR *, UINT); @define pSysAllocStringLen(a, b) (CheckIfLoaded(), ((SASL_CAST)nlsProcTable[iSysAllocStringLen])(a, b)) @@ SysFreeString typedef DECLSPEC_IMPORT void (STDAPICALLTYPE *SFS_CAST)(BSTR); @define pSysFreeString(a) (CheckIfLoaded(), ((SFS_CAST)nlsProcTable[iSysFreeString])(a)) @@ SysStringLen typedef DECLSPEC_IMPORT UINT (STDAPICALLTYPE *SSL_CAST)(BSTR); @define pSysStringLen(a) (CheckIfLoaded(), ((SSL_CAST)nlsProcTable[iSysStringLen])(a)) @@ VariantInit typedef DECLSPEC_IMPORT void (STDAPICALLTYPE *VI_CAST)(VARIANTARG *); @define pVariantInit(a) (CheckIfLoaded(), ((VI_CAST)nlsProcTable[iVariantInit])(a)) @@ OleCreateFromData typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OCFD_CAST)(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, void **); @define pOleCreateFromData(a,b,c,d,e,f,g) (CheckIfOle32Loaded(), \ ((OCFD_CAST)nlsProcTable[iOleCreateFromData])(a,b,c,d,e,f,g)) @@ CoTaskMemFree typedef DECLSPEC_IMPORT void (STDAPICALLTYPE *CTMF_CAST)(LPVOID); @define pCoTaskMemFree(a) (CheckIfOle32Loaded(), \ ((CTMF_CAST)nlsProcTable[iCoTaskMemFree])(a)) @@ CreateBindCtx typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *CBC_CAST)(DWORD, LPBC *); @define pCreateBindCtx(a,b) (CheckIfOle32Loaded(), \ ((CBC_CAST)nlsProcTable[iCreateBindCtx])(a,b)) @@ OleDuplicateData typedef DECLSPEC_IMPORT HANDLE (STDAPICALLTYPE *ODD_CAST)(HANDLE, CLIPFORMAT, UINT); @define pOleDuplicateData(a,b,c) (CheckIfOle32Loaded(),\ ((ODD_CAST)nlsProcTable[iOleDuplicateData])(a,b,c)) @@ CoTreatAsClass typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *CTAC_CAST)(REFCLSID, REFCLSID); @define pCoTreatAsClass(a,b) (CheckIfOle32Loaded(),\ ((CTAC_CAST)nlsProcTable[iCoTreatAsClass])(a,b)) @@ ProgIDFromCLSID typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *PIFC_CAST)(REFCLSID, LPOLESTR *); @define pProgIDFromCLSID(a,b) (CheckIfOle32Loaded(),\ ((PIFC_CAST)nlsProcTable[iProgIDFromCLSID])(a,b)) @@ OleConvertIStorageToOLESTREAM typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OCITO_CAST)(LPSTORAGE, LPOLESTREAM); @define pOleConvertIStorageToOLESTREAM(a,b) (CheckIfOle32Loaded(),\ ((OCITO_CAST)nlsProcTable[iOleConvertIStorageToOLESTREAM])(a,b)) @@ OleConvertIStorageToOLESTREAMEx typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OCITOX_CAST)(LPSTORAGE, CLIPFORMAT, LONG, LONG, DWORD, LPSTGMEDIUM, LPOLESTREAM); @define pOleConvertIStorageToOLESTREAMEx(a,b,c,d,e,f,g) \ (CheckIfOle32Loaded(),\ ((OCITOX_CAST)nlsProcTable[iOleConvertIStorageToOLESTREAMEx])(a,b,c,d,e,f,g)) @@ OleSave typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OS_CAST)(LPPERSISTSTORAGE, LPSTORAGE, BOOL); @define pOleSave(a,b,c) (CheckIfOle32Loaded(),\ ((OS_CAST)nlsProcTable[iOleSave])(a,b,c)) @@ StgCreateDocfileOnILockBytes typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *SCDOI_CAST)(ILockBytes *, DWORD, DWORD, IStorage **); @define pStgCreateDocfileOnILockBytes(a,b,c,d) (CheckIfOle32Loaded(),\ ((SCDOI_CAST)nlsProcTable[iStgCreateDocfileOnILockBytes])(a,b,c,d)) @@ CreateILockBytesOnHGlobal typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *CIOH_CAST)(HGLOBAL, BOOL, ILockBytes **); @define pCreateILockBytesOnHGlobal(a,b,c) (CheckIfOle32Loaded(),\ ((CIOH_CAST)nlsProcTable[iCreateILockBytesOnHGlobal])(a,b,c)) @@ OleCreateLinkToFile typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OCLTF_CAST)(LPCOLESTR, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, void **); @define pOleCreateLinkToFile(a,b,c,d,e,f,g) (CheckIfOle32Loaded(),\ ((OCLTF_CAST)nlsProcTable[iOleCreateLinkToFile])(a,b,c,d,e,f,g)) @@ CoTaskMemAlloc typedef DECLSPEC_IMPORT LPVOID (STDAPICALLTYPE *CTMA_CAST)(ULONG); @define pCoTaskMemAlloc(a) (CheckIfOle32Loaded(),\ ((CTMA_CAST)nlsProcTable[iCoTaskMemAlloc])(a)) @@ CoTaskMemRealloc typedef DECLSPEC_IMPORT LPVOID (STDAPICALLTYPE *CTMR_CAST)(LPVOID, ULONG); @define pCoTaskMemRealloc(a,b) (CheckIfOle32Loaded(),\ ((CTMR_CAST)nlsProcTable[iCoTaskMemRealloc])(a,b)) @@ OleIntialize typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OI_CAST)(LPVOID); @define pOleInitialize(a) (((OI_CAST)nlsProcTable[iOleInitialize])(a)) @@ OleUninitialize typedef DECLSPEC_IMPORT void (STDAPICALLTYPE *OUI_CAST)(); @define pOleUninitialize() if( fHaveOle32Procs ) {\ ((OUI_CAST)nlsProcTable[iOleUninitialize])(); } @@ OleSetClipboard typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OSC_CAST)(IDataObject *); @define pOleSetClipboard(a) (CheckIfOle32Loaded(),\ ((OSC_CAST)nlsProcTable[iOleSetClipboard])(a)) @@ OleFlushClipboard typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OFC_CAST)(); @define pOleFlushClipboard()(CheckIfOle32Loaded(), \ ((OFC_CAST)nlsProcTable[iOleFlushClipboard])()) @@ OleIsCurrentClipboard typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OICC_CAST)(IDataObject *); @define pOleIsCurrentClipboard(a)(CheckIfOle32Loaded(),\ ((OICC_CAST)nlsProcTable[iOleIsCurrentClipboard])(a)) @@ DoDragDrop typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *DDD_CAST)(IDataObject *, IDropSource *, DWORD, DWORD *); @define pDoDragDrop(a,b,c,d)(CheckIfOle32Loaded(),\ ((DDD_CAST)nlsProcTable[iDoDragDrop])(a,b,c,d)) @@ OleGetClipboard typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OGC_CAST)(IDataObject **); @define pOleGetClipboard(a)(CheckIfOle32Loaded(),\ ((OGC_CAST)nlsProcTable[iOleGetClipboard])(a)) @@ RegisterDragDrop typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *RDD_CAST)(HWND, IDropTarget *); @define pRegisterDragDrop(a,b)(CheckIfOle32Loaded(),\ ((RDD_CAST)nlsProcTable[iRegisterDragDrop])(a,b)) @@ OleCreateLinkFromData typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OCLFD_CAST)(IDataObject *, REFIID, DWORD, LPFORMATETC, IOleClientSite *, IStorage *, void **); @define pOleCreateLinkFromData(a,b,c,d,e,f,g)(CheckIfOle32Loaded(),\ ((OCLFD_CAST)nlsProcTable[iOleCreateLinkFromData])(a,b,c,d,e,f,g)) @@ OleCreateStaticFromData typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OCSFD_CAST)(IDataObject *, REFIID, DWORD, LPFORMATETC, IOleClientSite *, IStorage *, void **); @define pOleCreateStaticFromData(a,b,c,d,e,f,g)(CheckIfOle32Loaded(),\ ((OCSFD_CAST)nlsProcTable[iOleCreateStaticFromData])(a,b,c,d,e,f,g)) @@ OleDraw typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OD_CAST)(IUnknown *, DWORD, HDC, LPCRECT); @define pOleDraw(a,b,c,d)(CheckIfOle32Loaded(),\ ((OD_CAST)nlsProcTable[iOleDraw])(a,b,c,d)) @@ OleSetContainedObject typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OSCO_CAST)(IUnknown *, BOOL); @define pOleSetContainedObject(a,b)(CheckIfOle32Loaded(),\ ((OSCO_CAST)nlsProcTable[iOleSetContainedObject])(a,b)) @@ CoDisconnectObject typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *CDO_CAST)(IUnknown *, DWORD); @define pCoDisconnectObject(a,b)(CheckIfOle32Loaded(),\ ((CDO_CAST)nlsProcTable[iCoDisconnectObject])(a,b)) @@ WriteFmtUserTypeStg typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *WFUTS_CAST)(IStorage *, CLIPFORMAT, LPOLESTR); @define pWriteFmtUserTypeStg(a,b,c)(CheckIfOle32Loaded(),\ ((WFUTS_CAST)nlsProcTable[iWriteFmtUserTypeStg])(a,b,c)) @@ WriteClassStg typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *WCS_CAST)(IStorage *, REFCLSID); @define pWriteClassStg(a,b)(CheckIfOle32Loaded(), \ ((WCS_CAST)nlsProcTable[iWriteClassStg])(a,b)) @@ SetConvertStg typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *SCS_CAST)(IStorage *, BOOL); @define pSetConvertStg(a,b)(CheckIfOle32Loaded(),\ ((SCS_CAST)nlsProcTable[iSetConvertStg])(a,b)) @@ ReadFmtUserTypeStg typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *RFUTS_CAST)(IStorage *, CLIPFORMAT *, LPOLESTR *); @define pReadFmtUserTypeStg(a,b,c)(CheckIfOle32Loaded(),\ ((RFUTS_CAST)nlsProcTable[iReadFmtUserTypeStg])(a,b,c)) @@ ReadClassStg typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *RCS_CAST)(IStorage *pstg, CLSID *); @define pReadClassStg(a,b)(CheckIfOle32Loaded(),\ ((RCS_CAST)nlsProcTable[iReadClassStg])(a,b)) @@ OleRun typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OR_CAST)(IUnknown *); @define pOleRun(a)(CheckIfOle32Loaded(),\ ((OR_CAST)nlsProcTable[iOleRun])(a)) @@ RevokeDragDrop typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *RegDD_CAST)(HWND); @define pRevokeDragDrop(a)(CheckIfOle32Loaded(),\ ((RegDD_CAST)nlsProcTable[iRevokeDragDrop])(a)) @@ CreateStreamOnHGlobal typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *CSOH_CAST)(HGLOBAL, BOOL, IStream **); @define pCreateStreamOnHGlobal(a,b,c)(CheckIfOle32Loaded(),\ ((CSOH_CAST)nlsProcTable[iCreateStreamOnHGlobal])(a,b,c)) @@ GetHGlobalFromStream typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *GHFS_CAST)(IStream *pstm, HGLOBAL *); @define pGetHGlobalFromStream(a,b)(CheckIfOle32Loaded(),\ ((GHFS_CAST)nlsProcTable[iGetHGlobalFromStream])(a,b)) @@ OleCreateDefaultHandler typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OCDH_CAST)(REFCLSID, IUnknown *, REFIID, void **); @define pOleCreateDefaultHandler(a,b,c,d)(CheckIfOle32Loaded(),\ ((OCDH_CAST)nlsProcTable[iOleCreateDefaultHandler])(a,b,c,d)) @@ CLSIDFromProgID typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *CFPI_CAST)(LPCOLESTR, LPCLSID); @define pCLSIDFromProgID(a,b)(CheckIfOle32Loaded(),\ ((CFPI_CAST)nlsProcTable[iCLSIDFromProgID])(a,b)) @@ OleConvertOLESTREAMToIStorage typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OCOTI_CAST)(LPOLESTREAM, IStorage *, const DVTARGETDEVICE *); @define pOleConvertOLESTREAMToIStorage(a,b,c)(CheckIfOle32Loaded(),\ ((OCOTI_CAST)nlsProcTable[iOleConvertOLESTREAMToIStorage])(a,b,c)) @@ OleLoad typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *OL_CAST)(IStorage *, REFIID, IOleClientSite *, void **); @define pOleLoad(a,b,c,d)(CheckIfOle32Loaded(),\ ((OL_CAST)nlsProcTable[iOleLoad])(a,b,c,d)) @@ ReleaseStgMedium typedef DECLSPEC_IMPORT HRESULT (STDAPICALLTYPE *RSM_CAST)(LPSTGMEDIUM); @define pReleaseStgMedium(a)(CheckIfOle32Loaded(),\ ((RSM_CAST)nlsProcTable[iReleaseStgMedium])(a)) @COMMENT Ime Share @@ FSupportSty typedef IMESHAREAPI BOOL (*FSS_CAST)(UINT, UINT); @define pFSupportSty(a,b) ((FSS_CAST)nlsProcTable[iFSupportSty])(a,b) @@ PIMEStyleFromAttr typedef IMESHAREAPI const IMESTYLE * (IMECDECL*PISFA_CAST)(const UINT); @define pPIMEStyleFromAttr(a) ((PISFA_CAST)nlsProcTable[iPIMEStyleFromAttr])(a) @@ PColorStyleTextFromIMEStyle typedef IMESHAREAPI const IMECOLORSTY * (IMECDECL*PCSTFIS_CAST)(const IMESTYLE *); @define pPColorStyleTextFromIMEStyle(a) ((PCSTFIS_CAST)nlsProcTable[iPColorStyleTextFromIMEStyle])(a) @@ PColorStyleBackFromIMEStyle 1 2 3 typedef IMESHAREAPI const IMECOLORSTY * (IMECDECL*PCSBFIS_CAST)(const IMESTYLE *); @define pPColorStyleBackFromIMEStyle(a) ((PCSBFIS_CAST)nlsProcTable[iPColorStyleBackFromIMEStyle])(a) @@ FBoldIMEStyle typedef IMESHAREAPI BOOL (IMECDECL*FBIS_CAST)(const IMESTYLE *); @define pFBoldIMEStyle(a) ((FBIS_CAST)nlsProcTable[iFBoldIMEStyle])(a) @@ FItalicIMEStyle typedef IMESHAREAPI BOOL (IMECDECL*FIIS_CAST)(const IMESTYLE *); @define pFItalicIMEStyle(a) ((FIIS_CAST)nlsProcTable[iFItalicIMEStyle])(a) @@ FUlIMEStyle typedef IMESHAREAPI BOOL (IMECDECL*FUIS_CAST)(const IMESTYLE *); @define pFUlIMEStyle(a) ((FUIS_CAST)nlsProcTable[iFUlIMEStyle])(a) @@ IdUlIMEStyle typedef IMESHAREAPI UINT (IMECDECL*IUIS_CAST)(const IMESTYLE *); @define pIdUlIMEStyle(a) ((IUIS_CAST)nlsProcTable[iIdUlIMEStyle])(a) @@ RGBFromIMEColorStyle typedef IMESHAREAPI COLORREF (IMECDECL*RFICS_CAST)(const IMECOLORSTY *); @define pRGBFromIMEColorStyle(a) ((RFICS_CAST)nlsProcTable[iRGBFromIMEColorStyle])(a)