ReactOS 0.4.15-dev-8028-g8e799e2
immdev.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS headers
3 * LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
4 * PURPOSE: Providing DDK-compatible <immdev.h> and IME/IMM development helper
5 * COPYRIGHT: Copyright 2021-2024 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6 */
7
8#ifndef _IMMDEV_
9#define _IMMDEV_
10
11#pragma once
12
13#include <wingdi.h>
14#include <imm.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20typedef struct _tagIMEINFO {
29
30typedef struct tagCANDIDATEINFO {
37
38#if (WINVER >= 0x040A)
40#endif
41
42typedef struct tagSOFTKBDDATA {
46
47typedef struct tagCOMPOSITIONSTRING {
74
75typedef struct tagGUIDELINE {
84
85/* wParam for WM_IME_CONTROL */
86#define IMC_GETCONVERSIONMODE 0x0001
87#define IMC_GETSENTENCEMODE 0x0003
88#define IMC_GETOPENSTATUS 0x0005
89#define IMC_GETSOFTKBDFONT 0x0011
90#define IMC_SETSOFTKBDFONT 0x0012
91#define IMC_GETSOFTKBDPOS 0x0013
92#define IMC_SETSOFTKBDPOS 0x0014
93#define IMC_GETSOFTKBDSUBTYPE 0x0015
94#define IMC_SETSOFTKBDSUBTYPE 0x0016
95#define IMC_SETSOFTKBDDATA 0x0018
96
97/* wParam for WM_IME_SYSTEM */
98#define IMS_NOTIFYIMESHOW 0x05
99#define IMS_UPDATEIMEUI 0x06
100#define IMS_SETCANDFORM 0x09
101#define IMS_SETCOMPFONT 0x0A
102#define IMS_SETCOMPFORM 0x0B
103#define IMS_CONFIGURE 0x0D
104#define IMS_SETOPENSTATUS 0x0F
105#define IMS_FREELAYOUT 0x11
106#define IMS_GETCONVSTATUS 0x14
107#define IMS_IMEHELP 0x15
108#define IMS_IMEACTIVATE 0x17
109#define IMS_IMEDEACTIVATE 0x18
110#define IMS_ACTIVATELAYOUT 0x19
111#define IMS_GETIMEMENU 0x1C
112#define IMS_GETCONTEXT 0x1E
113#define IMS_SENDNOTIFICATION 0x1F
114#define IMS_COMPLETECOMPSTR 0x20
115#define IMS_LOADTHREADLAYOUT 0x21
116#define IMS_SETLANGBAND 0x23
117#define IMS_UNSETLANGBAND 0x24
118
119/* wParam for WM_IME_NOTIFY */
120#define IMN_SOFTKBDDESTROYED 0x0011
121
122#define IMMGWL_IMC 0
123#define IMMGWL_PRIVATE (sizeof(LONG))
124
125#define IMMGWLP_IMC 0
126#define IMMGWLP_PRIVATE (sizeof(LONG_PTR))
127
128typedef struct _tagINPUTCONTEXT {
135 union {
150
151#ifndef _WIN64
154C_ASSERT(offsetof(INPUTCONTEXT, ptStatusWndPos) == 0x8);
155C_ASSERT(offsetof(INPUTCONTEXT, ptSoftKbdPos) == 0x10);
156C_ASSERT(offsetof(INPUTCONTEXT, fdwConversion) == 0x18);
157C_ASSERT(offsetof(INPUTCONTEXT, fdwSentence) == 0x1C);
159C_ASSERT(offsetof(INPUTCONTEXT, cfCompForm) == 0x7C);
160C_ASSERT(offsetof(INPUTCONTEXT, cfCandForm) == 0x98);
161C_ASSERT(offsetof(INPUTCONTEXT, hCompStr) == 0x118);
162C_ASSERT(offsetof(INPUTCONTEXT, hCandInfo) == 0x11C);
163C_ASSERT(offsetof(INPUTCONTEXT, hGuideLine) == 0x120);
164C_ASSERT(offsetof(INPUTCONTEXT, hPrivate) == 0x124);
165C_ASSERT(offsetof(INPUTCONTEXT, dwNumMsgBuf) == 0x128);
166C_ASSERT(offsetof(INPUTCONTEXT, hMsgBuf) == 0x12C);
167C_ASSERT(offsetof(INPUTCONTEXT, fdwInit) == 0x130);
168C_ASSERT(offsetof(INPUTCONTEXT, dwReserve) == 0x134);
169C_ASSERT(sizeof(INPUTCONTEXT) == 0x140);
170#endif
171
172/* bits of fdwInit of INPUTCONTEXT */
173#define INIT_STATUSWNDPOS 0x00000001
174#define INIT_CONVERSION 0x00000002
175#define INIT_SENTENCE 0x00000004
176#define INIT_LOGFONT 0x00000008
177#define INIT_COMPFORM 0x00000010
178#define INIT_SOFTKBDPOS 0x00000020
179#define INIT_GUIDMAP 0x00000040
180
181/* bits for INPUTCONTEXTDX.dwChange */
182#define INPUTCONTEXTDX_CHANGE_OPEN 0x1
183#define INPUTCONTEXTDX_CHANGE_CONVERSION 0x2
184#define INPUTCONTEXTDX_CHANGE_SENTENCE 0x4
185#define INPUTCONTEXTDX_CHANGE_FORCE_OPEN 0x100
186
187#ifndef WM_IME_REPORT
188 #define WM_IME_REPORT 0x280
189#endif
190
191/* WM_IME_REPORT wParam */
192#define IR_STRINGSTART 0x100
193#define IR_STRINGEND 0x101
194#define IR_OPENCONVERT 0x120
195#define IR_CHANGECONVERT 0x121
196#define IR_CLOSECONVERT 0x122
197#define IR_FULLCONVERT 0x123
198#define IR_IMESELECT 0x130
199#define IR_STRING 0x140
200#define IR_DBCSCHAR 0x160
201#define IR_UNDETERMINE 0x170
202#define IR_STRINGEX 0x180
203#define IR_MODEINFO 0x190
204
205/* IMC */
206
210
211/* IMCC */
212
220
221/* Messaging */
222
224
227 _In_ HWND hwnd,
228 _In_ UINT msg,
230 _In_ LPARAM lKeyData);
231
234
235#ifdef UNICODE
236 #define ImmRequestMessage ImmRequestMessageW
237#else
238 #define ImmRequestMessage ImmRequestMessageA
239#endif
240
241typedef struct _tagTRANSMSG {
246
247typedef struct _tagTRANSMSGLIST {
251
252/* Soft keyboard */
253
256 _In_ UINT uType,
258 _In_ INT x,
259 _In_ INT y);
260
263 _In_ HWND hwndSoftKBD,
264 _In_ INT nCmdShow);
265
268 _In_ HWND hwndSoftKBD);
269
270/* IME file interface */
271
274 _Out_ LPIMEINFO lpIMEInfo,
275 _Out_ LPTSTR lpszWndClass,
276 _In_ DWORD dwSystemInfoFlags);
277
280 _In_ HIMC hIMC,
281 _In_ LPCTSTR lpSrc,
284 _In_ UINT uFlag);
285
288 _In_ LPCTSTR lpszReading,
289 _In_ DWORD dwStyle,
290 _In_ LPCTSTR lpszString);
291
294 _In_ LPCTSTR lpszReading,
295 _In_ DWORD dwStyle,
296 _In_ LPCTSTR lpszString);
297
300 _In_ UINT nItem,
301 _Out_ LPSTYLEBUF lpStyleBuf);
302
305 _In_ REGISTERWORDENUMPROC lpfnEnumProc,
306 _In_opt_ LPCTSTR lpszReading,
307 _In_ DWORD dwStyle,
308 _In_opt_ LPCTSTR lpszString,
309 _In_opt_ LPVOID lpData);
310
313 _In_ HKL hKL,
314 _In_ HWND hWnd,
315 _In_ DWORD dwMode,
316 _Inout_opt_ LPVOID lpData);
317
320 _In_ UINT uReserved);
321
324 _In_ HIMC hIMC,
325 _In_ UINT uEscape,
326 _Inout_opt_ LPVOID lpData);
327
330 _In_ HIMC hIMC,
331 _In_ UINT uVirKey,
333 _In_ CONST LPBYTE lpbKeyState);
334
337 _In_ HIMC hIMC,
338 _In_ BOOL fSelect);
339
342 _In_ HIMC hIMC,
343 _In_ BOOL fFlag);
344
347 _In_ UINT uVirKey,
348 _In_ UINT uScanCode,
349 _In_ CONST LPBYTE lpbKeyState,
350 _Out_ LPTRANSMSGLIST lpTransMsgList,
351 _In_ UINT fuState,
352 _In_ HIMC hIMC);
353
356 _In_ HIMC hIMC,
357 _In_ DWORD dwAction,
358 _In_ DWORD dwIndex,
359 _In_ DWORD_PTR dwValue);
360
363 _In_ HIMC hIMC,
364 _In_ DWORD dwIndex,
365 _In_opt_ LPCVOID lpComp,
366 _In_ DWORD dwCompLen,
367 _In_opt_ LPCVOID lpRead,
368 _In_ DWORD dwReadLen);
369
372 _In_ HIMC hIMC,
374 _In_ DWORD dwType,
375 _Inout_opt_ LPIMEMENUITEMINFO lpImeParentMenu,
376 _Inout_opt_ LPIMEMENUITEMINFO lpImeMenu,
378
379#ifdef __cplusplus
380} /* extern "C" */
381#endif
382
383/* IME Property bits */
384#define IME_PROP_END_UNLOAD 0x0001
385#define IME_PROP_KBD_CHAR_FIRST 0x0002
386#define IME_PROP_IGNORE_UPKEYS 0x0004
387#define IME_PROP_NEED_ALTKEY 0x0008
388#define IME_PROP_NO_KEYS_ON_CLOSE 0x0010
389#define IME_PROP_ACCEPT_WIDE_VKEY 0x0020
390
391/* for NI_CONTEXTUPDATED */
392#define IMC_SETCONVERSIONMODE 0x0002
393#define IMC_SETSENTENCEMODE 0x0004
394#define IMC_SETOPENSTATUS 0x0006
395
396/* dwAction for ImmNotifyIME */
397#define NI_CONTEXTUPDATED 0x0003
398#define NI_OPENCANDIDATE 0x0010
399#define NI_CLOSECANDIDATE 0x0011
400#define NI_SELECTCANDIDATESTR 0x0012
401#define NI_CHANGECANDIDATELIST 0x0013
402#define NI_FINALIZECONVERSIONRESULT 0x0014
403#define NI_COMPOSITIONSTR 0x0015
404#define NI_SETCANDIDATE_PAGESTART 0x0016
405#define NI_SETCANDIDATE_PAGESIZE 0x0017
406#define NI_IMEMENUSELECTED 0x0018
407
408/* dwSystemInfoFlags bits */
409#define IME_SYSINFO_WINLOGON 0x0001
410#define IME_SYSINFO_WOW16 0x0002
411
412#endif /* ndef _IMMDEV_ */
#define msg(x)
Definition: auth_time.c:54
HWND hWnd
Definition: settings.c:17
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
static HWND hwndParent
Definition: cryptui.c:300
BOOL WINAPI ImmDisableTextFrameService(_In_ DWORD dwThreadId)
Definition: ctf.c:1088
DWORD HIMCC
Definition: dimm.idl:76
DWORD HIMC
Definition: dimm.idl:75
#define FAR
Definition: zlib.h:34
DWORD dwThreadId
Definition: fdebug.c:31
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLsizeiptr size
Definition: glext.h:5919
REGISTERWORDENUMPROCA REGISTERWORDENUMPROC
Definition: imm.h:840
struct tagCANDIDATEINFO * NPCANDIDATEINFO
LRESULT WINAPI ImmRequestMessageA(_In_ HIMC hIMC, _In_ WPARAM wParam, _In_ LPARAM lParam)
struct _tagIMEINFO * PIMEINFO
DWORD WINAPI ImmGetIMCCSize(_In_ HIMCC imcc)
struct _tagTRANSMSGLIST * PTRANSMSGLIST
struct tagGUIDELINE GUIDELINE
DWORD WINAPI ImeConversionList(_In_ HIMC hIMC, _In_ LPCTSTR lpSrc, _Out_ LPCANDIDATELIST lpDst, _In_ DWORD dwBufLen, _In_ UINT uFlag)
struct _tagTRANSMSG * NPTRANSMSG
BOOL WINAPI ImmUnlockIMCC(_In_ HIMCC imcc)
struct tagCANDIDATEINFO * PCANDIDATEINFO
LPINPUTCONTEXT WINAPI ImmLockIMC(_In_ HIMC hIMC)
BOOL WINAPI ImmTranslateMessage(_In_ HWND hwnd, _In_ UINT msg, _In_ WPARAM wParam, _In_ LPARAM lKeyData)
struct tagSOFTKBDDATA * LPSOFTKBDDATA
struct _tagINPUTCONTEXT * NPINPUTCONTEXT
struct tagSOFTKBDDATA SOFTKBDDATA
BOOL WINAPI ImeProcessKey(_In_ HIMC hIMC, _In_ UINT uVirKey, _In_ LPARAM lParam, _In_ CONST LPBYTE lpbKeyState)
Definition: msctfime.cpp:369
HIMCC WINAPI ImmReSizeIMCC(_In_ HIMCC imcc, _In_ DWORD size)
struct tagGUIDELINE * NPGUIDELINE
struct _tagTRANSMSG TRANSMSG
UINT WINAPI ImeEnumRegisterWord(_In_ REGISTERWORDENUMPROC lpfnEnumProc, _In_opt_ LPCTSTR lpszReading, _In_ DWORD dwStyle, _In_opt_ LPCTSTR lpszString, _In_opt_ LPVOID lpData)
struct _tagTRANSMSG * LPTRANSMSG
HIMCC WINAPI ImmDestroyIMCC(_In_ HIMCC block)
struct _tagIMEINFO * NPIMEINFO
struct tagCOMPOSITIONSTRING * PCOMPOSITIONSTRING
LRESULT WINAPI ImeEscape(_In_ HIMC hIMC, _In_ UINT uEscape, _Inout_opt_ LPVOID lpData)
Definition: msctfime.cpp:353
BOOL WINAPI ImeSelect(_In_ HIMC hIMC, _In_ BOOL fSelect)
Definition: msctfime.cpp:423
struct tagCOMPOSITIONSTRING * LPCOMPOSITIONSTRING
BOOL WINAPI ImmGenerateMessage(_In_ HIMC hIMC)
DWORD WINAPI ImmGetIMCCLockCount(_In_ HIMCC imcc)
BOOL WINAPI ImeDestroy(_In_ UINT uReserved)
Definition: msctfime.cpp:322
struct tagCANDIDATEINFO CANDIDATEINFO
struct tagCANDIDATEINFO * LPCANDIDATEINFO
BOOL WINAPI ImmDestroySoftKeyboard(_In_ HWND hwndSoftKBD)
Definition: softkbd.c:2220
BOOL WINAPI ImeSetActiveContext(_In_ HIMC hIMC, _In_ BOOL fFlag)
Definition: msctfime.cpp:441
struct tagGUIDELINE * LPGUIDELINE
BOOL WINAPI ImeInquire(_Out_ LPIMEINFO lpIMEInfo, _Out_ LPTSTR lpszWndClass, _In_ DWORD dwSystemInfoFlags)
BOOL WINAPI ImeSetCompositionString(_In_ HIMC hIMC, _In_ DWORD dwIndex, _In_opt_ LPCVOID lpComp, _In_ DWORD dwCompLen, _In_opt_ LPCVOID lpRead, _In_ DWORD dwReadLen)
Definition: msctfime.cpp:517
struct tagCOMPOSITIONSTRING * NPCOMPOSITIONSTRING
DWORD WINAPI ImmGetIMCLockCount(_In_ HIMC hIMC)
BOOL WINAPI ImeConfigure(_In_ HKL hKL, _In_ HWND hWnd, _In_ DWORD dwMode, _Inout_opt_ LPVOID lpData)
Definition: msctfime.cpp:291
struct _tagINPUTCONTEXT INPUTCONTEXT
struct _tagTRANSMSGLIST TRANSMSGLIST
struct _tagINPUTCONTEXT * PINPUTCONTEXT
struct tagSOFTKBDDATA * PSOFTKBDDATA
struct tagGUIDELINE * PGUIDELINE
struct _tagIMEINFO IMEINFO
DWORD WINAPI ImeGetImeMenuItems(_In_ HIMC hIMC, _In_ DWORD dwFlags, _In_ DWORD dwType, _Inout_opt_ LPIMEMENUITEMINFO lpImeParentMenu, _Inout_opt_ LPIMEMENUITEMINFO lpImeMenu, _In_ DWORD dwSize)
HWND WINAPI ImmCreateSoftKeyboard(_In_ UINT uType, _In_ HWND hwndParent, _In_ INT x, _In_ INT y)
Definition: softkbd.c:2101
struct _tagINPUTCONTEXT * LPINPUTCONTEXT
BOOL WINAPI ImmUnlockIMC(_In_ HIMC hIMC)
BOOL WINAPI ImeRegisterWord(_In_ LPCTSTR lpszReading, _In_ DWORD dwStyle, _In_ LPCTSTR lpszString)
struct _tagTRANSMSGLIST * LPTRANSMSGLIST
struct tagSOFTKBDDATA * NPSOFTKBDDATA
LRESULT WINAPI ImmRequestMessageW(_In_ HIMC hIMC, _In_ WPARAM wParam, _In_ LPARAM lParam)
BOOL WINAPI ImeUnregisterWord(_In_ LPCTSTR lpszReading, _In_ DWORD dwStyle, _In_ LPCTSTR lpszString)
struct _tagIMEINFO * LPIMEINFO
UINT WINAPI ImeToAsciiEx(_In_ UINT uVirKey, _In_ UINT uScanCode, _In_ CONST LPBYTE lpbKeyState, _Out_ LPTRANSMSGLIST lpTransMsgList, _In_ UINT fuState, _In_ HIMC hIMC)
Definition: msctfime.cpp:456
BOOL WINAPI NotifyIME(_In_ HIMC hIMC, _In_ DWORD dwAction, _In_ DWORD dwIndex, _In_ DWORD_PTR dwValue)
Definition: msctfime.cpp:489
struct _tagTRANSMSGLIST * NPTRANSMSGLIST
UINT WINAPI ImeGetRegisterWordStyle(_In_ UINT nItem, _Out_ LPSTYLEBUF lpStyleBuf)
struct _tagTRANSMSG * PTRANSMSG
HIMCC WINAPI ImmCreateIMCC(_In_ DWORD size)
struct tagCOMPOSITIONSTRING COMPOSITIONSTRING
BOOL WINAPI ImmShowSoftKeyboard(_In_ HWND hwndSoftKBD, _In_ INT nCmdShow)
Definition: softkbd.c:2202
LPVOID WINAPI ImmLockIMCC(_In_ HIMCC imcc)
#define C_ASSERT(e)
Definition: intsafe.h:73
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
#define _Inout_opt_
Definition: ms_sal.h:379
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
UINT_PTR HKL
Definition: msctf.idl:143
unsigned int UINT
Definition: ndis.h:50
#define CONST
Definition: pedump.c:81
#define offsetof(TYPE, MEMBER)
DWORD fdwSelectCaps
Definition: immdev.h:27
DWORD fdwSentenceCaps
Definition: immdev.h:24
DWORD fdwConversionCaps
Definition: immdev.h:23
DWORD fdwSCSCaps
Definition: immdev.h:26
DWORD fdwProperty
Definition: immdev.h:22
DWORD dwPrivateDataSize
Definition: immdev.h:21
DWORD fdwUICaps
Definition: immdev.h:25
POINT ptStatusWndPos
Definition: immdev.h:131
HIMCC hPrivate
Definition: immdev.h:144
COMPOSITIONFORM cfCompForm
Definition: immdev.h:139
CANDIDATEFORM cfCandForm[4]
Definition: immdev.h:140
HIMCC hMsgBuf
Definition: immdev.h:146
DWORD fdwInit
Definition: immdev.h:147
POINT ptSoftKbdPos
Definition: immdev.h:132
HIMCC hCompStr
Definition: immdev.h:141
DWORD fdwConversion
Definition: immdev.h:133
DWORD dwReserve[3]
Definition: immdev.h:148
HIMCC hCandInfo
Definition: immdev.h:142
HIMCC hGuideLine
Definition: immdev.h:143
LOGFONTA A
Definition: immdev.h:136
DWORD fdwSentence
Definition: immdev.h:134
DWORD dwNumMsgBuf
Definition: immdev.h:145
LOGFONTW W
Definition: immdev.h:137
union _tagINPUTCONTEXT::@2048 lfFont
TRANSMSG TransMsg[ANYSIZE_ARRAY]
Definition: immdev.h:249
UINT uMsgCount
Definition: immdev.h:248
LPARAM lParam
Definition: imm32.c:68
WPARAM wParam
Definition: imm32.c:67
UINT message
Definition: imm32.c:66
DWORD dwPrivateOffset
Definition: immdev.h:35
DWORD dwSize
Definition: immdev.h:31
DWORD dwPrivateSize
Definition: immdev.h:34
DWORD dwOffset[32]
Definition: immdev.h:33
DWORD dwCount
Definition: immdev.h:32
DWORD dwCompReadStrOffset
Definition: immdev.h:54
DWORD dwCompReadAttrLen
Definition: immdev.h:49
DWORD dwResultStrOffset
Definition: immdev.h:70
DWORD dwCompStrOffset
Definition: immdev.h:60
DWORD dwPrivateSize
Definition: immdev.h:71
DWORD dwCompStrLen
Definition: immdev.h:59
DWORD dwResultReadStrOffset
Definition: immdev.h:66
DWORD dwCompClauseLen
Definition: immdev.h:57
DWORD dwDeltaStart
Definition: immdev.h:62
DWORD dwCompClauseOffset
Definition: immdev.h:58
DWORD dwCompAttrLen
Definition: immdev.h:55
DWORD dwResultClauseLen
Definition: immdev.h:67
DWORD dwResultStrLen
Definition: immdev.h:69
DWORD dwCompReadAttrOffset
Definition: immdev.h:50
DWORD dwCompReadClauseLen
Definition: immdev.h:51
DWORD dwCompAttrOffset
Definition: immdev.h:56
DWORD dwResultClauseOffset
Definition: immdev.h:68
DWORD dwResultReadStrLen
Definition: immdev.h:65
DWORD dwCompReadStrLen
Definition: immdev.h:53
DWORD dwResultReadClauseLen
Definition: immdev.h:63
DWORD dwResultReadClauseOffset
Definition: immdev.h:64
DWORD dwCompReadClauseOffset
Definition: immdev.h:52
DWORD dwPrivateOffset
Definition: immdev.h:72
DWORD dwStrOffset
Definition: immdev.h:80
DWORD dwPrivateSize
Definition: immdev.h:81
DWORD dwStrLen
Definition: immdev.h:79
DWORD dwIndex
Definition: immdev.h:78
DWORD dwSize
Definition: immdev.h:76
DWORD dwLevel
Definition: immdev.h:77
DWORD dwPrivateOffset
Definition: immdev.h:82
UINT uCount
Definition: immdev.h:43
WORD wCode[ANYSIZE_ARRAY][256]
Definition: immdev.h:44
uint32_t DWORD_PTR
Definition: typedefs.h:65
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
unsigned char * LPBYTE
Definition: typedefs.h:53
int32_t INT
Definition: typedefs.h:58
_In_ HCRYPTHASH _In_ BOOL _In_ DWORD _Inout_ DWORD _In_ DWORD dwBufLen
Definition: wincrypt.h:4246
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
#define NEAR
Definition: windef.h:146
CONST void * LPCVOID
Definition: windef.h:191
#define WINAPI
Definition: msvc.h:6
static unsigned int block
Definition: xmlmemory.c:101
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
CHAR * LPTSTR
Definition: xmlstorage.h:192