|
|
/*++
Copyright (c) 1985 - 1999, Microsoft Corporation
Module Name:
delay.h
Abstract:
This file defines the IMM32 Namespace.
Author:
Revision History:
Notes:
--*/
#ifndef _DELAY_H_
#define _DELAY_H_
namespace imm32 { BOOL FreeLibrary(VOID);
/*
* IMM32 Input Context (hIMC) API Interface. */ HIMC WINAPI ImmCreateContext(void); BOOL WINAPI ImmDestroyContext(IN HIMC); HIMC WINAPI ImmAssociateContext(IN HWND, IN HIMC); BOOL WINAPI ImmAssociateContextEx(IN HWND, IN HIMC, IN DWORD); HIMC WINAPI ImmGetContext(IN HWND); BOOL WINAPI ImmReleaseContext(IN HWND, IN HIMC); DWORD WINAPI ImmGetIMCLockCount(IN HIMC); LPINPUTCONTEXT WINAPI ImmLockIMC(IN HIMC); BOOL WINAPI ImmUnlockIMC(IN HIMC);
/*
* IMM32 Input Context Components (hIMCC) API Interface. */ HIMCC WINAPI ImmCreateIMCC(IN DWORD); HIMCC WINAPI ImmDestroyIMCC(IN HIMCC); DWORD WINAPI ImmGetIMCCSize(IN HIMCC); HIMCC WINAPI ImmReSizeIMCC(IN HIMCC, IN DWORD); DWORD WINAPI ImmGetIMCCLockCount(IN HIMCC); LPVOID WINAPI ImmLockIMCC(IN HIMCC); BOOL WINAPI ImmUnlockIMCC(IN HIMCC);
/*
* IMM32 Composition String API Interface */ LONG WINAPI ImmGetCompositionStringA(IN HIMC, IN DWORD, OUT LPVOID, IN DWORD); LONG WINAPI ImmGetCompositionStringW(IN HIMC, IN DWORD, OUT LPVOID, IN DWORD); BOOL WINAPI ImmSetCompositionStringA(IN HIMC, IN DWORD dwIndex, IN LPVOID lpComp, IN DWORD, IN LPVOID lpRead, IN DWORD); BOOL WINAPI ImmSetCompositionStringW(IN HIMC, IN DWORD dwIndex, IN LPVOID lpComp, IN DWORD, IN LPVOID lpRead, IN DWORD);
/*
* IMM32 Composition Font API Interface */ BOOL WINAPI ImmGetCompositionFontA(IN HIMC, OUT LPLOGFONTA); BOOL WINAPI ImmGetCompositionFontW(IN HIMC, OUT LPLOGFONTW); BOOL WINAPI ImmSetCompositionFontA(IN HIMC, IN LPLOGFONTA); BOOL WINAPI ImmSetCompositionFontW(IN HIMC, IN LPLOGFONTW);
/*
* IMM32 Open Status API Interface */ BOOL WINAPI ImmGetOpenStatus(IN HIMC); BOOL WINAPI ImmSetOpenStatus(IN HIMC, IN BOOL);
/*
* IMM32 Conversion Status API Interface */ BOOL WINAPI ImmGetConversionStatus(IN HIMC, OUT LPDWORD, OUT LPDWORD); BOOL WINAPI ImmSetConversionStatus(IN HIMC, IN DWORD, IN DWORD);
/*
* IMM32 Status Window Pos API Interface */ BOOL WINAPI ImmGetStatusWindowPos(IN HIMC, OUT LPPOINT); BOOL WINAPI ImmSetStatusWindowPos(IN HIMC, IN LPPOINT);
/*
* IMM32 Composition Window API Interface */ BOOL WINAPI ImmGetCompositionWindow(IN HIMC, OUT LPCOMPOSITIONFORM); BOOL WINAPI ImmSetCompositionWindow(IN HIMC, IN LPCOMPOSITIONFORM);
/*
* IMM32 Candidate API Interface */ BOOL WINAPI ImmGetCandidateWindow(IN HIMC, IN DWORD, OUT LPCANDIDATEFORM); BOOL WINAPI ImmSetCandidateWindow(IN HIMC, IN LPCANDIDATEFORM); DWORD WINAPI ImmGetCandidateListA(IN HIMC, IN DWORD dwIndex, OUT LPCANDIDATELIST, IN DWORD dwBufLen); DWORD WINAPI ImmGetCandidateListW(IN HIMC, IN DWORD dwIndex, OUT LPCANDIDATELIST, IN DWORD dwBufLen); DWORD WINAPI ImmGetCandidateListCountA(IN HIMC, OUT LPDWORD lpdwListCount); DWORD WINAPI ImmGetCandidateListCountW(IN HIMC, OUT LPDWORD lpdwListCount);
/*
* IMM32 Generate Message API Interface */ BOOL WINAPI ImmGenerateMessage(IN HIMC);
/*
* IMM32 Notify IME API Interface */ BOOL WINAPI ImmNotifyIME(IN HIMC, IN DWORD dwAction, IN DWORD dwIndex, IN DWORD dwValue);
/*
* IMM32 Guide Line IME API Interface */ DWORD WINAPI ImmGetGuideLineA(IN HIMC, IN DWORD dwIndex, OUT LPSTR, IN DWORD dwBufLen); DWORD WINAPI ImmGetGuideLineW(IN HIMC, IN DWORD dwIndex, OUT LPWSTR, IN DWORD dwBufLen);
/*
* IMM32 Menu items API Interface */ DWORD WINAPI ImmGetImeMenuItemsA(IN HIMC, IN DWORD, IN DWORD, OUT LPIMEMENUITEMINFOA, OUT LPIMEMENUITEMINFOA, IN DWORD); DWORD WINAPI ImmGetImeMenuItemsW(IN HIMC, IN DWORD, IN DWORD, OUT LPIMEMENUITEMINFOW, OUT LPIMEMENUITEMINFOW, IN DWORD);
/*
* IMM32 Default IME Window API Interface */ HWND WINAPI ImmGetDefaultIMEWnd(IN HWND); UINT WINAPI ImmGetVirtualKey(IN HWND);
/*
* IMM32 UI message API Interface */ BOOL WINAPI ImmIsUIMessageA(HWND hWnd, UINT u, WPARAM wParam, LPARAM lParam); BOOL WINAPI ImmIsUIMessageW(HWND hWnd, UINT u, WPARAM wParam, LPARAM lParam);
/*
* IMM32 Simulate hotkey API Interface */ BOOL WINAPI ImmSimulateHotKey(HWND hWnd, DWORD dwHotKeyID); BOOL WINAPI ImmGetHotKey(DWORD dwHotKeyId, LPUINT lpuModifiers, LPUINT lpuVKey, LPHKL lphKL); BOOL WINAPI ImmSetHotKey(DWORD dwHotKeyId, UINT uModifiers, UINT uVKey, HKL hKL);
/*
* IMM32 Property API Interface */ DWORD WINAPI ImmGetProperty(IN HKL, IN DWORD);
/*
* IMM32 Description API Interface */ UINT WINAPI ImmGetDescriptionA(IN HKL, OUT LPSTR, IN UINT uBufLen); UINT WINAPI ImmGetDescriptionW(IN HKL, OUT LPWSTR, IN UINT uBufLen); UINT WINAPI ImmGetIMEFileNameA(HKL hKL, LPSTR lpszFileName, UINT uBufLen); UINT WINAPI ImmGetIMEFileNameW(HKL hKL, LPWSTR lpszFileName, UINT uBufLen);
/*
* IMM32 Conversion List API Interface */ DWORD WINAPI ImmGetConversionListA(HKL hKL, HIMC hIMC, LPCSTR psz, LPCANDIDATELIST pCL, DWORD dwBufLen, UINT uFlag); DWORD WINAPI ImmGetConversionListW(HKL hKL, HIMC hIMC, LPCWSTR psz, LPCANDIDATELIST pCL, DWORD dwBufLen, UINT uFlag);
/*
* IMM32 IsIME API Interface */ BOOL WINAPI ImmIsIME(HKL hKL);
/*
* IMM32 Escape API Interface */ LRESULT WINAPI ImmEscapeA(IN HKL, IN HIMC, IN UINT, IN LPVOID); LRESULT WINAPI ImmEscapeW(IN HKL, IN HIMC, IN UINT, IN LPVOID);
/*
* IMM32 Configure IME Interface */ BOOL WINAPI ImmConfigureIMEA(HKL hKL, HWND hWnd, DWORD dw, LPVOID pv); BOOL WINAPI ImmConfigureIMEW(HKL hKL, HWND hWnd, DWORD dw, LPVOID pv);
/*
* IMM32 Register Word IME Interface */ BOOL WINAPI ImmRegisterWordA(HKL hKL, LPCSTR lpszReading, DWORD dw, LPCSTR lpszRegister); BOOL WINAPI ImmRegisterWordW(HKL hKL, LPCWSTR lpszReading, DWORD dw, LPCWSTR lpszRegister); BOOL WINAPI ImmUnregisterWordA(HKL hKL, LPCSTR lpszReading, DWORD dw, LPCSTR lpszUnregister); BOOL WINAPI ImmUnregisterWordW(HKL hKL, LPCWSTR lpszReading, DWORD dw, LPCWSTR lpszUnregister); UINT WINAPI ImmGetRegisterWordStyleA(HKL hKL, UINT nItem, LPSTYLEBUFA lpStyleBuf); UINT WINAPI ImmGetRegisterWordStyleW(HKL hKL, UINT nItem, LPSTYLEBUFW lpStyleBuf);
/*
* IMM32 soft kbd API */ HWND WINAPI ImmCreateSoftKeyboard(UINT uType, HWND hOwner, int x, int y); BOOL WINAPI ImmDestroySoftKeyboard(HWND hSoftKbdWnd); BOOL WINAPI ImmShowSoftKeyboard(HWND hSoftKbdWnd, int nCmdShow);
/*
* IMM32 Enumurate Input Context API */ BOOL WINAPI ImmEnumInputContext(DWORD idThread, IMCENUMPROC lpfn, LPARAM lParam);
/*
* IMM32 win98/nt5 apis */ BOOL WINAPI ImmDisableIME(DWORD dwId);
LRESULT WINAPI ImmRequestMessageA(HIMC hIMC, WPARAM wParam, LPARAM lParam); LRESULT WINAPI ImmRequestMessageW(HIMC hIMC, WPARAM wParam, LPARAM lParam);
HKL WINAPI ImmInstallIMEA(IN LPCSTR lpszIMEFileName, IN LPCSTR lpszLayoutText); HKL WINAPI ImmInstallIMEW(IN LPCWSTR lpszIMEFileName, IN LPCWSTR lpszLayoutText); }
namespace imm32prev { BOOL FreeLibrary(VOID);
/*
* IMM32 Private functions. */ HRESULT WINAPI CtfImmGetGuidAtom(IN HIMC hIMC, IN BYTE bAttr, OUT DWORD* pGuidAtom); BOOL WINAPI CtfImmIsGuidMapEnable(IN HIMC hIMC); BOOL WINAPI CtfImmIsCiceroEnabled(VOID); BOOL WINAPI CtfImmIsCiceroStartedInThread(VOID); HRESULT WINAPI CtfImmSetCiceroStartInThread(IN BOOL fSet); UINT WINAPI GetKeyboardLayoutCP(IN HKL hKL); DWORD WINAPI ImmGetAppCompatFlags(IN HIMC hIMC); VOID WINAPI CtfImmSetAppCompatFlags(IN DWORD dwFlag); HRESULT WINAPI CtfAImmActivate(HMODULE* phMod); HRESULT WINAPI CtfAImmDeactivate(HMODULE hMod); BOOL WINAPI CtfAImmIsIME(HKL hkl); }
//
// ole32
//
HRESULT STDAPICALLTYPE Internal_CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID riid, LPVOID* ppv); #define CoCreateInstance Internal_CoCreateInstance
LPVOID STDAPICALLTYPE Internal_CoTaskMemAlloc(ULONG cb); #define CoTaskMemAlloc Internal_CoTaskMemAlloc
LPVOID STDAPICALLTYPE Internal_CoTaskMemRealloc(LPVOID pv, ULONG cb); #define CoTaskMemRealloc Internal_CoTaskMemRealloc
void STDAPICALLTYPE Internal_CoTaskMemFree(void* pv); #define CoTaskMemFree Internal_CoTaskMemFree
#endif // _DELAY_H_
|