Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1596 lines
60 KiB

  1. /*++ BUILD Version: 0002
  2. *
  3. * WOW v1.0
  4. *
  5. * Copyright (c) 1991, Microsoft Corporation
  6. *
  7. * WOWKRN.H
  8. * 16-bit Kernel API argument structures
  9. *
  10. * History:
  11. * Created 02-Feb-1991 by Jeff Parsons (jeffpar)
  12. * 01-May-91 Matt Felton (mattfe) added Private Callback CHECKLOADMODULEDRV
  13. --*/
  14. /* Kernel API IDs -- loosely based on kernel export ordinals, attempting to keep the table size
  15. * down.
  16. */
  17. #define FUN_FATALEXIT 1 //
  18. #define FUN_EXITKERNEL 2 // Internal
  19. #define FUN_WRITEOUTPROFILES 3 // really 315 export 3 GetVersion not thunked
  20. #define FUN_MAPSL 4 // really 357 export 4 LocalInit not thunked
  21. #define FUN_MAPLS 5 // really 358 export 5 LocalAlloc not thunked
  22. #define FUN_UNMAPLS 6 // really 359 export 6 LocalReAlloc not thunked
  23. #define FUN_OPENFILEEX 7 // really 360 export 7 LocalFree not thunked
  24. #define FUN_FASTANDDIRTYGLOBALFIX 8 // really 365 export 8 LocalLock not thunked
  25. #define FUN_WRITEPRIVATEPROFILESTRUCT 9 // really 406 export 9 LocalUnlock not thunked
  26. #define FUN_GETPRIVATEPROFILESTRUCT 10 // really 407 export 10 LocalSize not thunked
  27. #define FUN_GETCURRENTDIRECTORY 11 // really 411 export 11 LocalHandle not thunked
  28. #define FUN_SETCURRENTDIRECTORY 12 // really 412 export 12 LocalFlags not thunked
  29. #define FUN_FINDFIRSTFILE 13 // really 413 export 13 LocalCompact not thunked
  30. #define FUN_FINDNEXTFILE 14 // really 414 export 14 LocalNotify not thunked
  31. #define FUN_FINDCLOSE 15 // really 415 export 15 GlobalAlloc not thunked
  32. #define FUN_WRITEPRIVATEPROFILESECTION 16 // really 416 export 16 GlobalReAlloc not thunked
  33. #define FUN_WRITEPROFILESECTION 17 // really 417 export 17 GlobalFree not thunked
  34. #define FUN_GETPRIVATEPROFILESECTION 18 // really 418 export 18 GlobalLock not thunked
  35. #define FUN_GETPROFILESECTION 19 // really 419 export 19 GlobalUnlock not thunked
  36. #define FUN_GETFILEATTRIBUTES 20 // really 420 export 20 GlobalSize not thunked
  37. #define FUN_SETFILEATTRIBUTES 21 // really 421 export 21 GlobalHandle not thunked
  38. #define FUN_GETDISKFREESPACE 22 // really 422 export 22 GlobalFlags not thunked
  39. #define FUN_ISPEFORMAT 23 // really 431 export 23 LockSegment not thunked
  40. #define FUN_FILETIMETOLOCALFILETIME 24 // really 432 export 24 UnlockSegment not thunked
  41. #define FUN_UNITOANSI 25 // really 434 export 25 GlobalCompact not thunked
  42. #define FUN_GETVDMPOINTER32W 26 // really 516 export 26 GlobalFreeAll not thunked
  43. #define FUN_CREATETHREAD 27 // really 441 export 27 GetModuleName not thunked
  44. #define FUN_ICALLPROC32W 28 // really 517 export 28 GlobalMasterHandle not thunked
  45. #define FUN_YIELD 29 //
  46. #define FUN_WAITEVENT 30 // Internal
  47. #define FUN_POSTEVENT 31 // Internal
  48. #define FUN_SETPRIORITY 32 // Internal
  49. #define FUN_LOCKCURRENTTASK 33 // Internal
  50. #define FUN_LEAVEENTERWIN16LOCK 34 // really 447 export 34 formerly SetTaskQueue
  51. #define FUN_REGLOADKEY32 35 // really 232 export 35 GetTaskQueue not thunked
  52. #define FUN_REGUNLOADKEY32 36 // really 233 export 36 GetCurrentTask not thunked
  53. #define FUN_REGSAVEKEY32 37 // really 234 export 37 GetCurrentPDB not thunked
  54. #define FUN_GETWIN16LOCK 38 // really 449 export 38 formerly SetTaskSignalProc
  55. #define FUN_LOADLIBRARY32 39 // really 452 export 39 formerly SetTaskSwitchProc
  56. #define FUN_GETPROCADDRESS32 40 // really 453 export 40 formerly SetTaskInterchange
  57. #define FUN_WOWFINDFIRST 41 // WOW internal export 41 EnableDOS not thunked
  58. #define FUN_WOWFINDNEXT 42 // WOW internal export 42 DisableDOS not thunked
  59. #define FUN_CREATEWIN32EVENT 43 // really 457 export 43 formerly IsScreenGrab
  60. #define FUN_SETWIN32EVENT 44 // really 458 export 44 formerly BuildPDB
  61. #define FUN_WOWLOADMODULE 45 // reusing LoadModule export, not thunked to wow32
  62. #define FUN_RESETWIN32EVENT 46 // really 459 export 46 FreeModule not thunked
  63. #define FUN_GETMODULEHANDLE 47 //
  64. #define FUN_WAITFORSINGLEOBJECT 48 // really 460 export 48 GetModuleUsage not thunked
  65. #define FUN_GETMODULEFILENAME 49 //
  66. #define FUN_WAITFORMULTIPLEOBJECTS 50 // really 461 export 50 GetProcAddress not thunked
  67. #define FUN_GETCURRENTTHREADID 51 // really 462 export 51 MakeProcInstance not thunked
  68. #define FUN_SETTHREADQUEUE 52 // really 463 export 52 FreeProcInstance not thunked
  69. #define FUN_CONVERTTOGLOBALHANDLE 53 // really 476 export 53 CallProcInstance not thunked
  70. #define FUN_GETTHREADQUEUE 54 // really 464 export 54 GetInstanceData not thunked
  71. #define FUN_NUKEPROCESS 55 // really 465 export 55 Catch not thunked
  72. #define FUN_EXITPROCESS 56 // really 466 export 56 Throw not thunked
  73. #define FUN_GETPROFILEINT 57 //
  74. #define FUN_GETPROFILESTRING 58 //
  75. #define FUN_WRITEPROFILESTRING 59 //
  76. #define FUN_GETCURRENTPROCESSID 60 // really 471 export 60 FindResource not thunked
  77. #define FUN_MAPHINSTLS 61 // really 472 export 61 LoadResource not thunked
  78. #define FUN_MAPHINSTSL 62 // really 473 export 62 LockResource not thunked
  79. #define FUN_CLOSEWIN32HANDLE 63 // really 474 export 63 FreeResource not thunked
  80. #define FUN_LOADSYSTEMLIBRARY32 64 // really 482 export 64 AccessResource not thunked
  81. #define FUN_FREELIBRARY32 65 // really 486 export 65 ...Resource not thunked
  82. #define FUN_GETMODULEFILENAME32 66 // really 487 export 66 AllocResource not thunked
  83. #define FUN_GETMODULEHANDLE32 67 // really 488 export 67 SetResourceHandler not thunked
  84. #define FUN_REGISTERSERVICEPROCESS 68 // really 491 export 68 InitAtomTable not thunked
  85. #define FUN_CHANGEALLOCFIXEDBEHAVIOUR 69 // really 501 export 69 FindAtom not thunked
  86. #define FUN_INITCB 70 // really 560 export 70 AddAtom not thunked
  87. #define FUN_GETSTDCBLS 71 // really 561 export 71 DeleteAtom not thunked
  88. #define FUN_GETSTDCBSL 72 // really 562 export 72 GetAtomName not thunked
  89. #define FUN_GETEXISTINGSTDCBLS 73 // really 563 export 73 GetAtomHandle not thunked
  90. #define FUN_GETEXISTINGSTDCBSL 74 // really 564 export 74 OpenFile not thunked
  91. #define FUN_GETFLEXCBSL 75 // really 566 export 75 OpenPathName not thunked
  92. #define FUN_GETSTDCBLSEX 76 // really 567 export 76 DeletePathName not thunked
  93. #define FUN_GETSTDCBSLEX 77 // really 568 export 77 AnsiNext not thunked
  94. #define FUN_CALLBACK2 78 // really 802 export 78 AnsiPrev not thunked
  95. #define FUN_CALLBACK4 79 // really 804 export 79 AnsiUpper not thunked
  96. #define FUN_CALLBACK6 80 // really 806 export 80 AnsiLower not thunked
  97. #define FUN_CALLBACK8 81 // really 808 export 81 _lclose not thunked
  98. #define FUN_CALLBACK10 82 // really 810 export 82 _lread not thunked
  99. #define FUN_CALLBACK12 83 // really 812 export 83 _lcreat not thunked
  100. #define FUN_CALLBACK14 84 // really 814 export 84 _lseek not thunked
  101. #define FUN_CALLBACK16 85 // really 816 export 85 _lopen not thunked
  102. #define FUN_CALLBACK18 86 // really 818 export 86 _lwrite not thunked
  103. #define FUN_CALLBACK20 87 // really 820 export 87 lstroriginal not thunked
  104. #define FUN_CALLBACK22 88 // really 822 export 88 lstrcpy not thunked
  105. #define FUN_CALLBACK24 89 // really 824 export 89 lstrcat not thunked
  106. #define FUN_CALLBACK26 90 // really 826 export 90 lstrlen not thunked
  107. #define FUN_CALLBACK28 91 // really 828 export 91 InitTask not thunked
  108. #define FUN_CALLBACK30 92 // really 830 export 92 GetTempDrive not thunked
  109. #define FUN_CALLBACK32 93 // really 832 export 93 GetCodeHandle not thunked
  110. #define FUN_CALLBACK34 94 // really 834 export 94 DefineHandleTable not thunked
  111. #define FUN_CALLBACK36 95 // really 836 export 95 LoadLibrary not thunked
  112. #define FUN_CALLBACK38 96 // really 838 export 96 FreeLibrary not thunked
  113. #define FUN_CALLBACK40 97 // really 840 export 97 GetTempFilename not thunked
  114. #define FUN_CALLBACK42 98 // really 842 export 98 GetLastDiskChange not thunked
  115. #define FUN_CALLBACK44 99 // really 844 export 99 GetLPErrMode not thunked
  116. #define FUN_CALLBACK46 100 // really 846 export 100 ValidateCodeSegments not thunked
  117. #define FUN_CALLBACK48 101 // really 848 export 101 NoHookDosCall not thunked
  118. #define FUN_CALLBACK50 102 // really 850 export 102 Dos3Call not thunked
  119. #define FUN_CALLBACK52 103 // really 852 export 103 NetBiosCall not thunked
  120. #define FUN_CALLBACK54 104 // really 854 export 104 GetCodeInfo not thunked
  121. #define FUN_CALLBACK56 105 // really 856 export 105 GetExeVersion not thunked
  122. #define FUN_CALLBACK58 106 // really 858 export 106 SetSwapAreaSize not thunked
  123. #define FUN_CALLBACK60 107 // really 860 export 107 SetErrorMode not thunked
  124. #define FUN_CALLBACK62 108 // really 862 export 108 SwitchStackTo not thunked
  125. #define FUN_CALLBACK64 109 // really 864 export 109 SwitchStackBack not thunked
  126. #define FUN_WOWKILLTASK 110 // WOW internal export 110 PatchCodeHandle not thunked
  127. #define FUN_WOWFILEWRITE 111 // WOW internal export 111 GlobalWire not thunked
  128. #define FUN_WOWGETNEXTVDMCOMMAND 112 // really 502 export 112 GlobalUnWire not thunked
  129. #define FUN_WOWFILELOCK 113 // WOW internal export 113 is data __AHSHIFT
  130. #define FUN_WOWFREERESOURCE 114 // WOW internal export 114 is data __AHINCR
  131. #define FUN_WOWOUTPUTDEBUGSTRING 115 // export 115 is OutputDebugString, not directly thunked.
  132. #define FUN_WOWINITTASK 116 // WOW internal export 116 InitLib not thunked
  133. #define FUN_OLDYIELD 117 //
  134. #define FUN_WOWFILESETDATETIME 118 // WOW internal export 118 GetTaskQueueDS no longer exported
  135. #define FUN_WOWFILECREATE 119 // WOW internal export 119 GetTaskQueueES no longer exported
  136. #define FUN_WOWDOSWOWINIT 120 // WOW internal export 120 UndefDynLink not thunked
  137. #define FUN_WOWCHECKUSERGDI 121 // WOW internal export 121 LocalShrink not thunked
  138. #define FUN_WOWPARTYBYNUMBER 122 // really 273 export 122 IsTaskLocked not thunked
  139. #define FUN_GETSHORTPATHNAME 123 // really 274 export 123 KbdRst not thunked
  140. #define FUN_FINDANDRELEASEDIB 124 // WOW internal export 124 EnableKernel not thunked
  141. #define FUN_WOWRESERVEHTASK 125 // WOW internal export 125 DisableKernel not thunked
  142. #define FUN_WOWFILESETATTRIBUTES 126 // WOW internal export 126 MemoryFreed not thunked
  143. #define FUN_GETPRIVATEPROFILEINT 127 //
  144. #define FUN_GETPRIVATEPROFILESTRING 128 //
  145. #define FUN_WRITEPRIVATEPROFILESTRING 129 //
  146. #define FUN_WOWSETCURRENTDIRECTORY 130 // WOW internal export 130 FileCDR not thunked
  147. #define FUN_WOWWAITFORMSGANDEVENT 131 // really 262 export 131 GetDosEnvironment not thunked
  148. #define FUN_WOWMSGBOX 132 // really 263 export 132 GetWinFlags not thunked
  149. #define FUN_WOWGETFLATADDRESSARRAY 133 // WOW internal export 133 GetExePtr not thunked
  150. #define FUN_WOWGETCURRENTDATE 134 // WOW internal export 134 GetWindowsDirectory not thunked
  151. #define FUN_WOWDEVICEIOCTL 135 // WOW internal export 135 GetSystemDirectory not thunked
  152. #define FUN_GETDRIVETYPE 136 //
  153. #define FUN_WOWFILEGETDATETIME 137 // WOW internal export 137 FatalAppExit not thunked
  154. #define FUN_SETAPPCOMPATFLAGS 138 // WOW internal export 138 GetHeapSpaces not thunked
  155. #define FUN_WOWREGISTERSHELLWINDOWHANDLE 139 // really 251 export 139 DoSignal not thunked
  156. #define FUN_FREELIBRARY32W 140 // really 514 export 140 SetSigHandler not thunked
  157. #define FUN_GETPROCADDRESS32W 141 // really 515 export 141 InitTask1 not thunked
  158. #define FUN_GETPROFILESECTIONNAMES 142 //
  159. #define FUN_GETPRIVATEPROFILESECTIONNAMES 143 //
  160. #define FUN_CREATEDIRECTORY 144 //
  161. #define FUN_REMOVEDIRECTORY 145 //
  162. #define FUN_DELETEFILE 146 //
  163. #define FUN_SETLASTERROR 147 //
  164. #define FUN_GETLASTERROR 148 //
  165. #define FUN_GETVERSIONEX 149 //
  166. #define FUN_DIRECTEDYIELD 150 //
  167. #define FUN_WOWFILEREAD 151 // WOW internal export 151 WinOldApCall not thunked
  168. #define FUN_WOWFILELSEEK 152 // WOW internal export 152 GetNumTasks not thunked
  169. #define FUN_WOWKERNELTRACE 153 // WOW internal export 153 DiscardCodeSegment no longer exported
  170. #define FUN_LOADLIBRARYEX32W 154 // really 513 export 154 GlobalNotify not thunked
  171. #define FUN_WOWQUERYPERFORMANCECOUNTER 155 // really 505 export 155 GetTaskDS not thunked
  172. #define FUN_WOWCURSORICONOP 156 // really 507 export 156 LimitEMSPages not thunked
  173. #define FUN_WOWFAILEDEXEC 157 // WOW internal export 157 GetCurPID not thunked
  174. #define FUN_WOWGETFASTADDRESS 158 // WOW internal export 158 IsWinOldApTask not thunked
  175. #define FUN_WOWCLOSECOMPORT 159 // really 509 export 159 GlobalHandleNoRIP not thunked
  176. #define FUN_LOCAL32INIT 160 // really 208 export 160 EMSCopy not thunked
  177. #define FUN_LOCAL32ALLOC 161 // really 209 export 161 LocalCountFree not thunked
  178. #define FUN_LOCAL32REALLOC 162 // really 210 export 162 LocalHeapSize not thunked
  179. #define FUN_LOCAL32FREE 163 // really 211 export 163 GlobalLRUOldest not thunked
  180. #define FUN_LOCAL32TRANSLATE 164 // really 213 export 164 GlobalLRUNewest not thunked
  181. #define FUN_LOCAL32SIZE 165 // really 214 export 165 A20Proc not thunked
  182. #define FUN_LOCAL32VALIDHANDLE 166 // really 215 export 166 WinExec not thunked
  183. #define FUN_REGENUMKEY32 167 // really 216 export 167 GetExpWinVer not thunked
  184. #define FUN_REGOPENKEY32 168 // really 217 export 168 DirectResAlloc not thunked
  185. #define FUN_REGCREATEKEY32 169 // really 218 export 169 GetFreeSpace not thunked
  186. #define FUN_REGDELETEKEY32 170 // really 219 export 170 AllocCStoDSAlias not thunked
  187. #define FUN_REGCLOSEKEY32 171 // really 220 export 171 AllocDStoCSAlias not thunked
  188. #define FUN_REGSETVALUE32 172 // really 221 export 172 AllocAlias not thunked
  189. #define FUN_REGDELETEVALUE32 173 // really 222 export 173 is data __ROMBIOS
  190. #define FUN_REGENUMVALUE32 174 // really 223 export 174 is data __A000h
  191. #define FUN_REGQUERYVALUE32 175 // really 224 export 175 AllocSelector not thunked
  192. #define FUN_REGQUERYVALUEEX32 176 // really 225 export 176 FreeSelector not thunked
  193. #define FUN_REGSETVALUEEX32 177 // really 226 export 177 PrestoChangoSelector not thunked
  194. #define FUN_REGFLUSHKEY32 178 // really 227 export 178 is data __WINFLAGS
  195. #define FUN_COMPUTEOBJECTOWNER 179 // really 228 export 179 is data __D000h
  196. #define FUN_LOCAL32GETSEL 180 // really 229 export 180 LongPtrAdd not thunked
  197. #define FUN_MAPPROCESSHANDLE 181 // really 483 export 181 is data __B000h
  198. #define FUN_INVALIDATENLSCACHE 182 // really 235 export 182 is data __B800h
  199. #define FUN_WOWDELFILE 183 // WOW internal export 183 is data __0000h
  200. #ifdef RENAMEVIRTUAL
  201. #define FUN_WOWVIRTUALALLOC 184 // WOW internal export 184 GlobalDOSAlloc not thunked
  202. #define FUN_WOWVIRTUALFREE 185 // WOW internal export 185 GlobalDOSFree not thunked
  203. #else // RENAMEVIRTUAL
  204. #define FUN_VIRTUALALLOC 184 // WOW internal export 184 GlobalDOSAlloc not thunked
  205. #define FUN_VIRTUALFREE 185 // WOW internal export 185 GlobalDOSFree not thunked
  206. #endif // else RENAMEVIRTUAL
  207. #define FUN_VIRTUALLOCK 186 // WOW internal export 186 GetSelectorBase not thunked
  208. #define FUN_VIRTUALUNLOCK 187 // WOW internal export 187 SetSelectorBase not thunked
  209. #define FUN_GLOBALMEMORYSTATUS 188 // WOW internal export 188 GetSelectorLimit not thunked
  210. #define FUN_WOWGETFASTCBRETADDRESS 189 // WOW internal export 189 SetSelectorLimit not thunked
  211. #define FUN_WOWGETTABLEOFFSETS 190 // WOW internal export 190 is data __E000h
  212. #define FUN_WOWKILLREMOTETASK 191 // really 511 export 191 GlobalPageLock not thunked
  213. #define FUN_WOWNOTIFYWOW32 192 // WOW internal export 192 GlobalPageUnlock not thunked
  214. #define FUN_WOWFILEOPEN 193 // WOW internal export 193 is data __0040h
  215. #define FUN_WOWFILECLOSE 194 // WOW internal export 194 is data __F000h
  216. #define FUN_WOWSETIDLEHOOK 195 // WOW internal export 195 is data __C000h
  217. #define FUN_KSYSERRORBOX 196 // WOW internal export 196 SelectorAccessRights not thunked
  218. #define FUN_WOWISKNOWNDLL 197 // WOW internal export 197 GlobalFix not thunked
  219. #define FUN_WOWDDEFREEHANDLE 198 // WOW internal export 198 GlobalUnfix not thunked
  220. #define FUN_WOWFILEGETATTRIBUTES 199 // WOW internal export 199 SetHandleCount not thunked
  221. #define FUN_WOWSETDEFAULTDRIVE 200 // WOW internal export 200 ValidateFreeSpaces not thunked
  222. #define FUN_WOWGETCURRENTDIRECTORY 201 // WOW internal export 201 ReplaceInst not thunked
  223. #define FUN_GETPRODUCTNAME 202 // really 236 export 202 RegisterPTrace not thunked
  224. #define FUN_ISSAFEMODE 203 // really 237 export 203 DebugBreak not thunked
  225. #define FUN_WOWLFNENTRY 204 // WOW internal export 204 SwapRecording not thunked
  226. #define FUN_WOWSHUTDOWNTIMER 205 // WOW internal export 205 CVWBreak not thunked
  227. #define FUN_WOWTRIMWORKINGSET 206 // WOW internal export 206 AllocSelectorArray not thunked
  228. #ifdef FE_SB
  229. #define FUN_GETSYSTEMDEFAULTLANGID 207 // really 521 export 207 ISDBCSLEADBYTE not thunked
  230. #endif
  231. #define FUN_TERMSRVGETWINDOWSDIR 208 // internal
  232. #define FUN_WOWPASSENVIRONMENT 209 // internal pass_environment
  233. #define FUN_WOWSYNCTASK 210 // internal parent/child sync
  234. #define FUN_WOWDIVIDEOVERFLOWEX 211 // internal divide overflow handler
  235. //
  236. // Note the following "special" FUN_ identifiers are not used as offsets
  237. // in a thunk table, but rather as arguments to some WOW private APIs,
  238. // WowCursorIconOp and FindAndReleaseDib.
  239. //
  240. #define FUN_GLOBALFREE 1000
  241. #define FUN_GLOBALREALLOC 1001
  242. #define FUN_GLOBALLOCK 1002
  243. #define FUN_GLOBALUNLOCK 1003
  244. /* XLATOFF */
  245. #pragma pack(2)
  246. /* XLATON */
  247. /* NOTE that the tag (like "/* k1 * /") on each typedef line is used by
  248. * h2inc when building wowkrn.inc, as a prefix for that structures
  249. * members, since our assembler has only a single flat namespace. */
  250. typedef struct _FATALEXIT16 { /* k1 */
  251. SHORT f1;
  252. } FATALEXIT16;
  253. typedef FATALEXIT16 UNALIGNED *PFATALEXIT16;
  254. typedef struct _EXITKERNEL16 { /* k2 */
  255. WORD wExitCode;
  256. } EXITKERNEL16;
  257. typedef EXITKERNEL16 UNALIGNED *PEXITKERNEL16;
  258. #ifdef NULLSTRUCT
  259. typedef struct _WRITEOUTPROFILES16 { /* k3 */
  260. } WRITEOUTPROFILES16;
  261. typedef WRITEOUTPROFILES16 UNALIGNED *PWRITEOUTPROFILES16;
  262. #endif
  263. typedef struct _MAPSL16 { /* k4 */
  264. DWORD vp;
  265. } MAPSL16;
  266. typedef MAPSL16 UNALIGNED *PMAPSL16;
  267. typedef struct _MAPLS16 { /* k5 */
  268. PVOID p;
  269. } MAPLS16;
  270. typedef MAPLS16 UNALIGNED *PMAPLS16;
  271. typedef struct _UNMAPLS16 { /* k6 */
  272. PVOID vp;
  273. } UNMAPLS16;
  274. typedef UNMAPLS16 UNALIGNED *PUNMAPLS16;
  275. typedef struct _OPENFILEEX16 { /* k7 */
  276. WORD wFlags;
  277. DWORD lpOFStructEx;
  278. DWORD lpSrcFile;
  279. } OPENFILEEX16;
  280. typedef OPENFILEEX16 UNALIGNED *POPENFILEEX16;
  281. typedef struct _FASTANDDIRTYGLOBALFIX16 { /* k8 */
  282. WORD selFix;
  283. WORD wAction;
  284. } FASTANDDIRTYGLOBALFIX16;
  285. typedef FASTANDDIRTYGLOBALFIX16 UNALIGNED *PFASTANDDIRTYGLOBALFIX16;
  286. typedef struct _WRITEPRIVATEPROFILESTRUCT16 { /* k9 */
  287. DWORD lpszFile;
  288. WORD cbStruct;
  289. DWORD lpStruct;
  290. DWORD lpszKey;
  291. DWORD lpszSection;
  292. } WRITEPRIVATEPROFILESTRUCT16;
  293. typedef WRITEPRIVATEPROFILESTRUCT16 UNALIGNED *PWRITEPRIVATEPROFILESTRUCT16;
  294. typedef struct _GETPRIVATEPROFILESTRUCT16 { /* k10 */
  295. DWORD lpszFile;
  296. WORD cbStruct;
  297. DWORD lpStruct;
  298. DWORD lpszKey;
  299. DWORD lpszSection;
  300. } GETPRIVATEPROFILESTRUCT16;
  301. typedef GETPRIVATEPROFILESTRUCT16 UNALIGNED *PGETPRIVATEPROFILESTRUCT16;
  302. typedef struct _GETCURRENTDIRECTORY16 { /* k11 */
  303. DWORD lpszDir;
  304. DWORD cchDir;
  305. } GETCURRENTDIRECTORY16;
  306. typedef GETCURRENTDIRECTORY16 UNALIGNED *PGETCURRENTDIRECTORY16;
  307. typedef struct _SETCURRENTDIRECTORY16 { /* k12 */
  308. DWORD lpszDir;
  309. } SETCURRENTDIRECTORY16;
  310. typedef SETCURRENTDIRECTORY16 UNALIGNED *PSETCURRENTDIRECTORY16;
  311. typedef struct _FINDFIRSTFILE16 { /* k13 */
  312. DWORD lpFindData;
  313. DWORD lpszSearchFile;
  314. } FINDFIRSTFILE16;
  315. typedef FINDFIRSTFILE16 UNALIGNED *PFINDFIRSTFILE16;
  316. typedef struct _FINDNEXTFILE16 { /* k14 */
  317. DWORD lpFindData;
  318. DWORD hFindFile;
  319. } FINDNEXTFILE16;
  320. typedef FINDNEXTFILE16 UNALIGNED *PFINDNEXTFILE16;
  321. typedef struct _FINDCLOSE16 { /* k15 */
  322. DWORD hFindFile;
  323. } FINDCLOSE16;
  324. typedef FINDCLOSE16 UNALIGNED *PFINDCLOSE16;
  325. typedef struct _WRITEPRIVATEPROFILESECTION16 { /* k16 */
  326. DWORD lpszFile;
  327. DWORD lpKeysAndValues;
  328. DWORD lpszSection;
  329. } WRITEPRIVATEPROFILESECTION16;
  330. typedef WRITEPRIVATEPROFILESECTION16 UNALIGNED *PWRITEPRIVATEPROFILESECTION16;
  331. typedef struct _WRITEPROFILESECTION16 { /* k17 */
  332. DWORD lpKeysAndValues;
  333. DWORD lpszSection;
  334. } WRITEPROFILESECTION16;
  335. typedef WRITEPROFILESECTION16 UNALIGNED *PWRITEPROFILESECTION16;
  336. typedef struct _GETPRIVATEPROFILESECTION16 { /* k18 */
  337. DWORD lpszFile;
  338. WORD cchResult;
  339. DWORD lpResult;
  340. DWORD lpszSection;
  341. } GETPRIVATEPROFILESECTION16;
  342. typedef GETPRIVATEPROFILESECTION16 UNALIGNED *PGETPRIVATEPROFILESECTION16;
  343. typedef struct _GETPROFILESECTION16 { /* k19 */
  344. WORD cchResult;
  345. DWORD lpResult;
  346. DWORD lpszSection;
  347. } GETPROFILESECTION16;
  348. typedef GETPROFILESECTION16 UNALIGNED *PGETPROFILESECTION16;
  349. typedef struct _GETFILEATTRIBUTES16 { /* k20 */
  350. DWORD lpszFile;
  351. } GETFILEATTRIBUTES16;
  352. typedef GETFILEATTRIBUTES16 UNALIGNED *PGETFILEATTRIBUTES16;
  353. typedef struct _SETFILEATTRIBUTES16 { /* k21 */
  354. DWORD dwFileAttributes;
  355. DWORD lpszFile;
  356. } SETFILEATTRIBUTES16;
  357. typedef SETFILEATTRIBUTES16 UNALIGNED *PSETFILEATTRIBUTES16;
  358. typedef struct _GETDISKFREESPACE16 { /* k22 */
  359. DWORD lpdwClusters;
  360. DWORD lpdwFreeClusters;
  361. DWORD lpdwBytesPerSector;
  362. DWORD lpdwSectorsPerCluster;
  363. DWORD lpszRootPathName;
  364. } GETDISKFREESPACE16;
  365. typedef GETDISKFREESPACE16 UNALIGNED *PGETDISKFREESPACE16;
  366. typedef struct _ISPEFORMAT16 { /* k23 */
  367. WORD hFile;
  368. DWORD lpszFile;
  369. } ISPEFORMAT16;
  370. typedef ISPEFORMAT16 UNALIGNED *PISPEFORMAT16;
  371. typedef struct _FILETIMETOLOCALFILETIME16 { /* k24 */
  372. DWORD lpLocalFileTime;
  373. DWORD lpUTCFileTime;
  374. } FILETIMETOLOCALFILETIME16;
  375. typedef FILETIMETOLOCALFILETIME16 UNALIGNED *PFILETIMETOLOCALFILETIME16;
  376. typedef struct _UNITOANSI16 { /* k25 */
  377. WORD cch;
  378. DWORD pchDst;
  379. DWORD pchSrc;
  380. } UNITOANSI16;
  381. typedef UNITOANSI16 UNALIGNED *PUNITOANSI16;
  382. typedef struct _GETVDMPOINTER32W16 { /* k26 */
  383. SHORT fMode;
  384. VPVOID lpAddress;
  385. } GETVDMPOINTER32W16;
  386. typedef GETVDMPOINTER32W16 UNALIGNED *PGETVDMPOINTER32W16;
  387. typedef struct _CREATETHREAD16 { /* k27 */
  388. DWORD lpThreadID;
  389. DWORD dwCreateFlags;
  390. DWORD lpParameter;
  391. DWORD lpStartAddress;
  392. DWORD dwStackSize;
  393. DWORD lpSecurityAttributes;
  394. } CREATETHREAD16;
  395. typedef CREATETHREAD16 UNALIGNED *PCREATETHREAD16;
  396. typedef struct _ICALLPROC32W16 { /* k28 */
  397. WORD rbp;
  398. DWORD retaddr;
  399. DWORD cParams;
  400. DWORD fAddressConvert;
  401. DWORD lpProcAddress;
  402. DWORD p1;
  403. DWORD p2;
  404. DWORD p3;
  405. DWORD p4;
  406. DWORD p5;
  407. DWORD p6;
  408. DWORD p7;
  409. DWORD p8;
  410. DWORD p9;
  411. DWORD p10;
  412. DWORD p11;
  413. DWORD p12;
  414. DWORD p13;
  415. DWORD p14;
  416. DWORD p15;
  417. DWORD p16;
  418. DWORD p17;
  419. DWORD p18;
  420. DWORD p19;
  421. DWORD p20;
  422. DWORD p21;
  423. DWORD p22;
  424. DWORD p23;
  425. DWORD p24;
  426. DWORD p25;
  427. DWORD p26;
  428. DWORD p27;
  429. DWORD p28;
  430. DWORD p29;
  431. DWORD p30;
  432. DWORD p31;
  433. DWORD p32;
  434. } ICALLPROC32W16;
  435. typedef ICALLPROC32W16 UNALIGNED *PICALLPROC32W16;
  436. #define CPEX32_DEST_CDECL 0x8000L
  437. #define CPEX32_SOURCE_CDECL 0x4000L
  438. #ifdef NULLSTRUCT
  439. typedef struct _YIELD16 { /* k29 */
  440. } YIELD16;
  441. typedef YIELD16 UNALIGNED *PYIELD16;
  442. #endif
  443. typedef struct _WAITEVENT16 { /* k30 */
  444. WORD wTaskID;
  445. } WAITEVENT16;
  446. typedef WAITEVENT16 UNALIGNED *PWAITEVENT16;
  447. typedef struct _POSTEVENT16 { /* k31 */
  448. WORD hTask16;
  449. } POSTEVENT16;
  450. typedef POSTEVENT16 UNALIGNED *PPOSTEVENT16;
  451. typedef struct _SETPRIORITY16 { /* k32 */
  452. WORD wPriority;
  453. WORD hTask16;
  454. } SETPRIORITY16;
  455. typedef SETPRIORITY16 UNALIGNED *PSETPRIORITY16;
  456. typedef struct _LOCKCURRENTTASK16 { /* k33 */
  457. WORD fLock;
  458. } LOCKCURRENTTASK16;
  459. typedef LOCKCURRENTTASK16 UNALIGNED *PLOCKCURRENTTASK16;
  460. #ifdef NULLSTRUCT
  461. typedef struct _LEAVEENTERWIN16LOCK { /* k34 */
  462. } LEAVEENTERWIN16LOCK;
  463. typedef LEAVEENTERWIN16LOCK UNALIGNED *PLEAVEENTERWIN16LOCK;
  464. #endif
  465. typedef struct _REGLOADKEY3216 { /* k35 */
  466. VPSTR lpszFileName;
  467. VPSTR lpszSubkey;
  468. DWORD hKey;
  469. } REGLOADKEY3216;
  470. typedef REGLOADKEY3216 UNALIGNED *PREGLOADKEY3216;
  471. typedef struct _REGUNLOADKEY3216 { /* k36 */
  472. VPSTR lpszSubkey;
  473. DWORD hKey;
  474. } REGUNLOADKEY3216;
  475. typedef REGUNLOADKEY3216 UNALIGNED *PREGUNLOADKEY3216;
  476. typedef struct _REGSAVEKEY3216 { /* k37 */
  477. VPVOID lpSA;
  478. VPSTR lpszFile;
  479. DWORD hKey;
  480. } REGSAVEKEY3216;
  481. typedef REGSAVEKEY3216 UNALIGNED *PREGSAVEKEY3216;
  482. #ifdef NULLSTRUCT
  483. typedef struct _GETWIN16LOCK16 { /* k38 */
  484. } GETWIN16LOCK16;
  485. typedef GETWIN16LOCK16 UNALIGNED *PGETWIN16LOCK16;
  486. #endif
  487. typedef struct _LOADLIBRARY3216 { /* k39 */
  488. DWORD lpszLibrary;
  489. } LOADLIBRARY3216;
  490. typedef LOADLIBRARY3216 UNALIGNED *PLOADLIBRARY3216;
  491. typedef struct _GETPROCADDRESS3216 { /* k40 */
  492. DWORD lpszProc;
  493. DWORD hLib;
  494. } GETPROCADDRESS3216;
  495. typedef GETPROCADDRESS3216 UNALIGNED *PGETPROCADDRESS3216;
  496. typedef struct _WOWFINDFIRST16 { /* k41 */
  497. DWORD lpDTA;
  498. WORD pszPathOffset;
  499. WORD pszPathSegment;
  500. WORD wAttributes;
  501. } WOWFINDFIRST16;
  502. typedef WOWFINDFIRST16 UNALIGNED *PWOWFINDFIRST16;
  503. typedef struct _WOWFINDNEXT16 { /* k42 */
  504. DWORD lpDTA;
  505. } WOWFINDNEXT16;
  506. typedef WOWFINDNEXT16 UNALIGNED *PWOWFINDNEXT16;
  507. typedef struct _CREATEWIN32EVENT16 { /* k43 */
  508. DWORD bInitialState;
  509. DWORD bManualReset;
  510. } CREATEWIN32EVENT16;
  511. typedef CREATEWIN32EVENT16 UNALIGNED *PCREATEWIN32EVENT16;
  512. typedef struct _SETWIN32EVENT16 { /* k44 */
  513. DWORD hEvent;
  514. } SETWIN32EVENT16;
  515. typedef SETWIN32EVENT16 UNALIGNED *PSETWIN32EVENT16;
  516. typedef struct _WOWLOADMODULE16 { /* k45 */
  517. VPSTR lpWinOldAppCmd;
  518. VPVOID lpParameterBlock;
  519. VPSTR lpModuleName;
  520. } WOWLOADMODULE16;
  521. typedef WOWLOADMODULE16 UNALIGNED *PWOWLOADMODULE16;
  522. typedef struct _PARAMETERBLOCK16 { /* k45_2 */
  523. WORD wEnvSeg;
  524. VPVOID lpCmdLine;
  525. VPVOID lpCmdShow;
  526. DWORD dwReserved;
  527. } PARAMETERBLOCK16;
  528. typedef PARAMETERBLOCK16 UNALIGNED *PPARAMETERBLOCK16;
  529. typedef struct _RESETWIN32EVENT16 { /* k46 */
  530. DWORD hEvent;
  531. } RESETWIN32EVENT16;
  532. typedef RESETWIN32EVENT16 UNALIGNED *PRESETWIN32EVENT16;
  533. typedef struct _WOWGETMODULEHANDLE16 { /* k47 */
  534. VPSTR lpszModuleName;
  535. } WOWGETMODULEHANDLE16;
  536. typedef WOWGETMODULEHANDLE16 UNALIGNED *PWOWGETMODULEHANDLE16;
  537. typedef struct _WAITFORSINGLEOBJECT16 { /* k48 */
  538. DWORD dwTimeout;
  539. DWORD h;
  540. } WAITFORSINGLEOBJECT16;
  541. typedef WAITFORSINGLEOBJECT16 UNALIGNED *PWAITFORSINGLEOBJECT16;
  542. typedef struct _GETMODULEFILENAME16 { /* k49 */
  543. SHORT f3;
  544. VPSTR f2;
  545. HAND16 f1;
  546. } GETMODULEFILENAME16;
  547. typedef GETMODULEFILENAME16 UNALIGNED *PGETMODULEFILENAME16;
  548. typedef struct _WAITFORMULTIPLEOBJECTS16 { /* k50 */
  549. DWORD dwTimeout;
  550. DWORD bWaitForAll;
  551. DWORD lphObjects;
  552. DWORD cObjects;
  553. } WAITFORMULTIPLEOBJECTS16;
  554. typedef WAITFORMULTIPLEOBJECTS16 UNALIGNED *PWAITFORMULTIPLEOBJECTS16;
  555. #ifdef NULLSTRUCT
  556. typedef struct _GETCURRENTTHREADID16 { /* k51 */
  557. } GETCURRENTTHREADID16;
  558. typedef GETCURRENTTHREADID16 UNALIGNED *PGETCURRENTTHREADID16;
  559. #endif
  560. typedef struct _SETTHREADQUEUE16 { /* k52 */
  561. WORD NewQueueSel;
  562. DWORD dwThreadID;
  563. } SETTHREADQUEUE16;
  564. typedef SETTHREADQUEUE16 UNALIGNED *PSETTHREADQUEUE16;
  565. typedef struct _CONVERTTOGLOBALHANDLE16 { /* k53 */
  566. DWORD dwHandle;
  567. } CONVERTTOGLOBALHANDLE16;
  568. typedef CONVERTTOGLOBALHANDLE16 UNALIGNED *PCONVERTTOGLOBALHANDLE16;
  569. typedef struct _GETTHREADQUEUE16 { /* k54 */
  570. DWORD dwThreadID;
  571. } GETTHREADQUEUE16;
  572. typedef GETTHREADQUEUE16 UNALIGNED *PGETTHREADQUEUE16;
  573. typedef struct _NUKEPROCESS16 { /* k55 */
  574. DWORD ulFlags;
  575. WORD uExitCode;
  576. DWORD ppdb;
  577. } NUKEPROCESS16;
  578. typedef NUKEPROCESS16 UNALIGNED *PNUKEPROCESS16;
  579. typedef struct _EXITPROCESS16 { /* k56 */
  580. WORD wStatus;
  581. } EXITPROCESS16;
  582. typedef EXITPROCESS16 UNALIGNED *PEXITPROCESS16;
  583. typedef struct _GETPROFILEINT16 { /* k57 */
  584. SHORT f3;
  585. VPSTR f2;
  586. VPSTR f1;
  587. } GETPROFILEINT16;
  588. typedef GETPROFILEINT16 UNALIGNED *PGETPROFILEINT16;
  589. typedef struct _GETPROFILESTRING16 { /* k58 */
  590. USHORT f5;
  591. VPSTR f4;
  592. VPSTR f3;
  593. VPSTR f2;
  594. VPSTR f1;
  595. } GETPROFILESTRING16;
  596. typedef GETPROFILESTRING16 UNALIGNED *PGETPROFILESTRING16;
  597. typedef struct _WRITEPROFILESTRING16 { /* k59 */
  598. VPSTR f3;
  599. VPSTR f2;
  600. VPSTR f1;
  601. } WRITEPROFILESTRING16;
  602. typedef WRITEPROFILESTRING16 UNALIGNED *PWRITEPROFILESTRING16;
  603. #ifdef NULLSTRUCT
  604. typedef struct _GETCURRENTPROCESSID16 { /* k60 */
  605. } GETCURRENTPROCESSID16;
  606. typedef GETCURRENTPROCESSID16 UNALIGNED *PGETCURRENTPROCESSID16;
  607. #endif
  608. #ifdef NULLSTRUCT
  609. typedef struct _MAPHINSTLS { /* k61 */
  610. /* NOTE if you implement this the interface is register-based */
  611. } MAPHINSTLS;
  612. typedef MAPHINSTLS UNALIGNED *PMAPHINSTLS;
  613. #endif
  614. #ifdef NULLSTRUCT
  615. typedef struct _MAPHINSTSL { /* k62 */
  616. /* NOTE if you implement this the interface is register-based */
  617. } MAPHINSTSL;
  618. typedef MAPHINSTSL UNALIGNED *PMAPHINSTSL;
  619. #endif
  620. typedef struct _CLOSEWIN32HANDLE16 { /* k63 */
  621. DWORD h32;
  622. } CLOSEWIN32HANDLE16;
  623. typedef CLOSEWIN32HANDLE16 UNALIGNED *PCLOSEWIN32HANDLE16;
  624. typedef struct _LOADSYSTEMLIBRARY3216 { /* k64 */
  625. VPSTR lpszLibrary;
  626. } LOADSYSTEMLIBRARY3216;
  627. typedef LOADSYSTEMLIBRARY3216 UNALIGNED *PLOADSYSTEMLIBRARY3216;
  628. typedef struct _FREELIBRARY3216 { /* k65 */
  629. DWORD hModule;
  630. } FREELIBRARY3216;
  631. typedef FREELIBRARY3216 UNALIGNED *PFREELIBRARY3216;
  632. typedef struct _GETMODULEFILENAME3216 { /* k66 */
  633. WORD wBufferSize;
  634. VPSTR lpBuffer;
  635. DWORD hModule;
  636. } GETMODULEFILENAME3216;
  637. typedef GETMODULEFILENAME3216 UNALIGNED *PGETMODULEFILENAME3216;
  638. typedef struct _GETMODULEHANDLE3216 { /* k67 */
  639. VPSTR lpszModule;
  640. } GETMODULEHANDLE3216;
  641. typedef GETMODULEHANDLE3216 UNALIGNED *PGETMODULEHANDLE3216;
  642. typedef struct _REGISTERSERVICEPROCESS16 { /* k68 */
  643. DWORD dwServiceType;
  644. DWORD dwProcessID;
  645. } REGISTERSERVICEPROCESS16;
  646. typedef REGISTERSERVICEPROCESS16 UNALIGNED *PREGISTERSERVICEPROCESS16;
  647. typedef struct _CHANGEALLOCFIXEDBEHAVIOUR16 { /* k69 */
  648. WORD fWin31Behavior;
  649. } CHANGEALLOCFIXEDBEHAVIOUR16;
  650. typedef CHANGEALLOCFIXEDBEHAVIOUR16 UNALIGNED *PCHANGEALLOCFIXEDBEHAVIOUR16;
  651. typedef struct _INITCB16 { /* k70 */
  652. DWORD fnStdCBSLDispatch;
  653. DWORD fnStdCBLSDispatch;
  654. } INITCB16;
  655. typedef INITCB16 UNALIGNED *PINITCB16;
  656. typedef struct _GETSTDCBLS16 { /* k71 */
  657. DWORD CBID;
  658. DWORD pfnTarg16;
  659. } GETSTDCBLS16;
  660. typedef GETSTDCBLS16 UNALIGNED *PGETSTDCBLS16;
  661. typedef struct _GETSTDCBSL16 { /* k72 */
  662. DWORD CBID;
  663. DWORD pfnTarg32;
  664. } GETSTDCBSL16;
  665. typedef GETSTDCBSL16 UNALIGNED *PGETSTDCBSL16;
  666. typedef struct _GETEXISTINGSTDCBLS16 { /* k73 */
  667. DWORD CBID;
  668. DWORD pfnTarg16;
  669. } GETEXISTINGSTDCBLS16;
  670. typedef GETEXISTINGSTDCBLS16 UNALIGNED *PGETEXISTINGSTDCBLS16;
  671. typedef struct _GETEXISTINGSTDCBSL16 { /* k74 */
  672. DWORD CBID;
  673. DWORD pfnTarg32;
  674. } GETEXISTINGSTDCBSL16;
  675. typedef GETEXISTINGSTDCBSL16 UNALIGNED *PGETEXISTINGSTDCBSL16;
  676. typedef struct _GETFLEXCBSL16 { /* k75 */
  677. DWORD pfnThunk;
  678. DWORD pfnTarg32;
  679. } GETFLEXCBSL16;
  680. typedef GETFLEXCBSL16 UNALIGNED *PGETFLEXCBSL16;
  681. typedef struct _GETSTDCBLSEX16 { /* k76 */
  682. WORD wOwner;
  683. DWORD CBID;
  684. DWORD pfnTarg16;
  685. } GETSTDCBLSEX16;
  686. typedef GETSTDCBLSEX16 UNALIGNED *PGETSTDCBLSEX16;
  687. typedef struct _GETSTDCBSLEX16 { /* k77 */
  688. WORD wOwner;
  689. DWORD CBID;
  690. DWORD pfnTarg32;
  691. } GETSTDCBSLEX16;
  692. typedef GETSTDCBSLEX16 UNALIGNED *PGETSTDCBSLEX16;
  693. typedef struct _CALLBACK216 { /* k78 */
  694. WORD rgwArgs[1];
  695. } CALLBACK216;
  696. typedef CALLBACK216 UNALIGNED *PCALLBACK216;
  697. typedef struct _CALLBACK416 { /* k79 */
  698. WORD rgwArgs[2];
  699. } CALLBACK416;
  700. typedef CALLBACK416 UNALIGNED *PCALLBACK416;
  701. typedef struct _CALLBACK616 { /* k80 */
  702. WORD rgwArgs[3];
  703. } CALLBACK616;
  704. typedef CALLBACK616 UNALIGNED *PCALLBACK616;
  705. typedef struct _CALLBACK816 { /* k81 */
  706. WORD rgwArgs[4];
  707. } CALLBACK816;
  708. typedef CALLBACK816 UNALIGNED *PCALLBACK816;
  709. typedef struct _CALLBACK1016 { /* k82 */
  710. WORD rgwArgs[5];
  711. } CALLBACK1016;
  712. typedef CALLBACK1016 UNALIGNED *PCALLBACK1016;
  713. typedef struct _CALLBACK1216 { /* k83 */
  714. WORD rgwArgs[6];
  715. } CALLBACK1216;
  716. typedef CALLBACK1216 UNALIGNED *PCALLBACK1216;
  717. typedef struct _CALLBACK1416 { /* k84 */
  718. WORD rgwArgs[7];
  719. } CALLBACK1416;
  720. typedef CALLBACK1416 UNALIGNED *PCALLBACK1416;
  721. typedef struct _CALLBACK1616 { /* k85 */
  722. WORD rgwArgs[8];
  723. } CALLBACK1616;
  724. typedef CALLBACK1616 UNALIGNED *PCALLBACK1616;
  725. typedef struct _CALLBACK1816 { /* k86 */
  726. WORD rgwArgs[9];
  727. } CALLBACK1816;
  728. typedef CALLBACK1816 UNALIGNED *PCALLBACK1816;
  729. typedef struct _CALLBACK2016 { /* k87 */
  730. WORD rgwArgs[10];
  731. } CALLBACK2016;
  732. typedef CALLBACK2016 UNALIGNED *PCALLBACK2016;
  733. typedef struct _CALLBACK2216 { /* k88 */
  734. WORD rgwArgs[11];
  735. } CALLBACK2216;
  736. typedef CALLBACK2216 UNALIGNED *PCALLBACK2216;
  737. typedef struct _CALLBACK2416 { /* k89 */
  738. WORD rgwArgs[12];
  739. } CALLBACK2416;
  740. typedef CALLBACK2416 UNALIGNED *PCALLBACK2416;
  741. typedef struct _CALLBACK2616 { /* k90 */
  742. WORD rgwArgs[13];
  743. } CALLBACK2616;
  744. typedef CALLBACK2616 UNALIGNED *PCALLBACK2616;
  745. typedef struct _CALLBACK2816 { /* k91 */
  746. WORD rgwArgs[14];
  747. } CALLBACK2816;
  748. typedef CALLBACK2816 UNALIGNED *PCALLBACK2816;
  749. typedef struct _CALLBACK3016 { /* k92 */
  750. WORD rgwArgs[15];
  751. } CALLBACK3016;
  752. typedef CALLBACK3016 UNALIGNED *PCALLBACK3016;
  753. typedef struct _CALLBACK3216 { /* k93 */
  754. WORD rgwArgs[16];
  755. } CALLBACK3216;
  756. typedef CALLBACK3216 UNALIGNED *PCALLBACK3216;
  757. typedef struct _CALLBACK3416 { /* k94 */
  758. WORD rgwArgs[17];
  759. } CALLBACK3416;
  760. typedef CALLBACK3416 UNALIGNED *PCALLBACK3416;
  761. typedef struct _CALLBACK3616 { /* k95 */
  762. WORD rgwArgs[18];
  763. } CALLBACK3616;
  764. typedef CALLBACK3616 UNALIGNED *PCALLBACK3616;
  765. typedef struct _CALLBACK3816 { /* k96 */
  766. WORD rgwArgs[19];
  767. } CALLBACK3816;
  768. typedef CALLBACK3816 UNALIGNED *PCALLBACK3816;
  769. typedef struct _CALLBACK4016 { /* k97 */
  770. WORD rgwArgs[20];
  771. } CALLBACK4016;
  772. typedef CALLBACK4016 UNALIGNED *PCALLBACK4016;
  773. typedef struct _CALLBACK4216 { /* k98 */
  774. WORD rgwArgs[21];
  775. } CALLBACK4216;
  776. typedef CALLBACK4216 UNALIGNED *PCALLBACK4216;
  777. typedef struct _CALLBACK4416 { /* k99 */
  778. WORD rgwArgs[22];
  779. } CALLBACK4416;
  780. typedef CALLBACK4416 UNALIGNED *PCALLBACK4416;
  781. typedef struct _CALLBACK4616 { /* k100 */
  782. WORD rgwArgs[23];
  783. } CALLBACK4616;
  784. typedef CALLBACK4616 UNALIGNED *PCALLBACK4616;
  785. typedef struct _CALLBACK4816 { /* k101 */
  786. WORD rgwArgs[24];
  787. } CALLBACK4816;
  788. typedef CALLBACK4816 UNALIGNED *PCALLBACK4816;
  789. typedef struct _CALLBACK5016 { /* k102 */
  790. WORD rgwArgs[25];
  791. } CALLBACK5016;
  792. typedef CALLBACK5016 UNALIGNED *PCALLBACK5016;
  793. typedef struct _CALLBACK5216 { /* k103 */
  794. WORD rgwArgs[26];
  795. } CALLBACK5216;
  796. typedef CALLBACK5216 UNALIGNED *PCALLBACK5216;
  797. typedef struct _CALLBACK5416 { /* k104 */
  798. WORD rgwArgs[27];
  799. } CALLBACK5416;
  800. typedef CALLBACK5416 UNALIGNED *PCALLBACK5416;
  801. typedef struct _CALLBACK5616 { /* k105 */
  802. WORD rgwArgs[28];
  803. } CALLBACK5616;
  804. typedef CALLBACK5616 UNALIGNED *PCALLBACK5616;
  805. typedef struct _CALLBACK5816 { /* k106 */
  806. WORD rgwArgs[29];
  807. } CALLBACK5816;
  808. typedef CALLBACK5816 UNALIGNED *PCALLBACK5816;
  809. typedef struct _CALLBACK6016 { /* k107 */
  810. WORD rgwArgs[30];
  811. } CALLBACK6016;
  812. typedef CALLBACK6016 UNALIGNED *PCALLBACK6016;
  813. typedef struct _CALLBACK6216 { /* k108 */
  814. WORD rgwArgs[31];
  815. } CALLBACK6216;
  816. typedef CALLBACK6216 UNALIGNED *PCALLBACK6216;
  817. typedef struct _CALLBACK6416 { /* k109 */
  818. WORD rgwArgs[32];
  819. } CALLBACK6416;
  820. typedef CALLBACK6416 UNALIGNED *PCALLBACK6416;
  821. typedef struct _WOWFILEWRITE16 { /* k111 */
  822. DWORD lpSFT;
  823. DWORD lpPDB;
  824. DWORD bufsize;
  825. DWORD lpBuf;
  826. WORD fh;
  827. } WOWFILEWRITE16;
  828. typedef WOWFILEWRITE16 UNALIGNED *PWOWFILEWRITE16;
  829. typedef struct _WOWGETNEXTVDMCOMMAND16 { /* k112 */
  830. VPVOID lpWowInfo;
  831. } WOWGETNEXTVDMCOMMAND16;
  832. typedef WOWGETNEXTVDMCOMMAND16 UNALIGNED *PWOWGETNEXTVDMCOMMAND16;
  833. typedef struct _WOWFILELOCK16 { /* k113 */
  834. DWORD lpSFT;
  835. DWORD lpPDB;
  836. DWORD cbRegionLength;
  837. DWORD cbRegionOffset;
  838. WORD fh;
  839. WORD ax;
  840. } WOWFILELOCK16;
  841. typedef WOWFILELOCK16 UNALIGNED *PWOWFILELOCK16;
  842. typedef struct _WOWFREERESOURCE16 { /* k114 */
  843. HAND16 f1;
  844. } WOWFREERESOURCE16;
  845. typedef WOWFREERESOURCE16 UNALIGNED *PWOWFREERESOURCE16;
  846. typedef struct _WOWOUTPUTDEBUGSTRING16 { /* k115 */
  847. VPSTR vpString;
  848. } WOWOUTPUTDEBUGSTRING16;
  849. typedef WOWOUTPUTDEBUGSTRING16 UNALIGNED *PWOWOUTPUTDEBUGSTRING16;
  850. typedef struct _WOWINITTASK16 { /* k116 */
  851. DWORD dwExpWinVer;
  852. } WOWINITTASK16;
  853. typedef WOWINITTASK16 UNALIGNED *PWOWINITTASK16;
  854. typedef struct _WOWFILESETDATETIME16 { /* k118 */
  855. DWORD lpSFT;
  856. DWORD lpPDB;
  857. WORD date;
  858. WORD time;
  859. WORD fh;
  860. } WOWFILESETDATETIME16;
  861. typedef WOWFILESETDATETIME16 UNALIGNED *PWOWFILESETDATETIME16;
  862. typedef struct _WOWFILECREATE16 { /* k119 */
  863. DWORD lpSFT;
  864. DWORD lpPDB;
  865. WORD pszPathOffset;
  866. WORD pszPathSegment;
  867. WORD wAttributes;
  868. } WOWFILECREATE16;
  869. typedef WOWFILECREATE16 UNALIGNED *PWOWFILECREATE16;
  870. typedef struct _WOWDOSWOWINIT16 { /* k120 */
  871. VPVOID lpDosWowData;
  872. } WOWDOSWOWINIT16;
  873. typedef WOWDOSWOWINIT16 UNALIGNED *PWOWDOSWOWINIT16;
  874. typedef struct _WOWCHECKUSERGDI16 { /* k121 */
  875. WORD pszPathOffset;
  876. WORD pszPathSegment;
  877. } WOWCHECKUSERGDI16;
  878. typedef WOWCHECKUSERGDI16 UNALIGNED *PWOWCHECKUSERGDI16;
  879. typedef struct _WOWPARTYBYNUMBER16 { /* k122 */
  880. VPSZ psz;
  881. DWORD dw;
  882. } WOWPARTYBYNUMBER16;
  883. typedef WOWPARTYBYNUMBER16 UNALIGNED *PWOWPARTYBYNUMBER16;
  884. typedef struct _GETSHORTPATHNAME16 { /* k123 */
  885. WORD cchShortPath;
  886. VPSZ pszShortPath;
  887. VPSZ pszLongPath;
  888. } GETSHORTPATHNAME16;
  889. typedef GETSHORTPATHNAME16 UNALIGNED *PGETSHORTPATHNAME16;
  890. typedef struct _FINDANDRELEASEDIB16 { /* k124 */
  891. WORD wFunId;
  892. HAND16 hdib; /* handle which we are messing with */
  893. } FINDANDRELEASEDIB16;
  894. typedef FINDANDRELEASEDIB16 UNALIGNED *PFINDANDRELEASEDIB16;
  895. typedef struct _WOWRESERVEHTASK16 { /* k125 */
  896. WORD htask;
  897. } WOWRESERVEHTASK16;
  898. typedef WOWRESERVEHTASK16 UNALIGNED *PWOWRESERVEHTASK16;
  899. typedef struct _WOWFILESETATTRIBUTES16 { /* k126 */
  900. WORD pszPathOffset;
  901. WORD pszPathSegment;
  902. WORD wAttributes;
  903. } WOWFILESETATTRIBUTES16;
  904. typedef WOWFILESETATTRIBUTES16 UNALIGNED *PWOWFILESETATTRIBUTES16;
  905. typedef struct _GETPRIVATEPROFILEINT16 { /* k127 */
  906. VPSTR f4;
  907. SHORT f3;
  908. VPSTR f2;
  909. VPSTR f1;
  910. } GETPRIVATEPROFILEINT16;
  911. typedef GETPRIVATEPROFILEINT16 UNALIGNED *PGETPRIVATEPROFILEINT16;
  912. typedef struct _GETPRIVATEPROFILESTRING16 { /* k128 */
  913. VPSTR f6;
  914. USHORT f5;
  915. VPSTR f4;
  916. VPSTR f3;
  917. VPSTR f2;
  918. VPSTR f1;
  919. } GETPRIVATEPROFILESTRING16;
  920. typedef GETPRIVATEPROFILESTRING16 UNALIGNED *PGETPRIVATEPROFILESTRING16;
  921. typedef struct _WRITEPRIVATEPROFILESTRING16 { /* k129 */
  922. VPSTR f4;
  923. VPSTR f3;
  924. VPSTR f2;
  925. VPSTR f1;
  926. } WRITEPRIVATEPROFILESTRING16;
  927. typedef WRITEPRIVATEPROFILESTRING16 UNALIGNED *PWRITEPRIVATEPROFILESTRING16;
  928. typedef struct _WOWSETCURRENTDIRECTORY16 { /* k130 */
  929. DWORD lpCurDir;
  930. } WOWSETCURRENTDIRECTORY16;
  931. typedef WOWSETCURRENTDIRECTORY16 UNALIGNED *PWOWSETCURRENTDIRECTORY16;
  932. typedef struct _WOWWAITFORMSGANDEVENT16 { /* k131 */
  933. HWND16 hwnd;
  934. } WOWWAITFORMSGANDEVENT16;
  935. typedef WOWWAITFORMSGANDEVENT16 UNALIGNED *PWOWWAITFORMSGANDEVENT16;
  936. typedef struct _WOWMSGBOX16 { /* k132 */
  937. DWORD dwOptionalStyle;
  938. VPSZ pszTitle;
  939. VPSZ pszMsg;
  940. } WOWMSGBOX16;
  941. typedef WOWMSGBOX16 UNALIGNED *PWOWMSGBOX16;
  942. typedef struct _WOWDEVICEIOCTL16 { /* k135 */
  943. WORD wCmd;
  944. WORD wDriveNum;
  945. } WOWDEVICEIOCTL16;
  946. typedef WOWDEVICEIOCTL16 UNALIGNED *PWOWDEVICEIOCTL16;
  947. typedef struct _GETDRIVETYPE16 { /* k136 */
  948. SHORT f1;
  949. } GETDRIVETYPE16;
  950. typedef GETDRIVETYPE16 UNALIGNED *PGETDRIVETYPE16;
  951. typedef struct _WOWFILEGETDATETIME16 { /* k137 */
  952. DWORD lpSFT;
  953. DWORD lpPDB;
  954. WORD fh;
  955. } WOWFILEGETDATETIME16;
  956. typedef WOWFILEGETDATETIME16 UNALIGNED *PWOWFILEGETDATETIME16;
  957. typedef struct _SETAPPCOMPATFLAGS16 { /* k139 */
  958. WORD TDB;
  959. } SETAPPCOMPATFLAGS16;
  960. typedef SETAPPCOMPATFLAGS16 UNALIGNED *PSETAPPCOMPATFLAGS16;
  961. typedef struct _WOWREGISTERSHELLWINDOWHANDLE16 { /* k139 */
  962. HWND16 hwndFax;
  963. VPWORD lpwCmdShow;
  964. HWND16 hwndShell;
  965. } WOWREGISTERSHELLWINDOWHANDLE16;
  966. typedef WOWREGISTERSHELLWINDOWHANDLE16 UNALIGNED *PWOWREGISTERSHELLWINDOWHANDLE16;
  967. typedef struct _FREELIBRARY32W16 { /* k140 */
  968. DWORD hLibModule;
  969. } FREELIBRARY32W16;
  970. typedef FREELIBRARY32W16 UNALIGNED *PFREELIBRARY32W16;
  971. typedef struct _GETPROCADDRESS32W16 { /* k141 */
  972. VPVOID lpszProc;
  973. DWORD hModule;
  974. } GETPROCADDRESS32W16;
  975. typedef GETPROCADDRESS32W16 UNALIGNED *PGETPROCADDRESS32W16;
  976. typedef struct _GETPROFILESECTIONNAMES16 { /* k142 */
  977. WORD cbBuffer;
  978. VPSTR lpszBuffer;
  979. } GETPROFILESECTIONNAMES16;
  980. typedef GETPROFILESECTIONNAMES16 UNALIGNED *PGETPROFILESECTIONNAMES16;
  981. typedef struct _GETPRIVATEPROFILESECTIONNAMES16 { /* k143 */
  982. VPSTR lpszFile;
  983. WORD cbBuffer;
  984. VPSTR lpszBuffer;
  985. } GETPRIVATEPROFILESECTIONNAMES16;
  986. typedef GETPRIVATEPROFILESECTIONNAMES16 UNALIGNED *PGETPRIVATEPROFILESECTIONNAMES16;
  987. typedef struct _CREATEDIRECTORY16 { /* k144 */
  988. VPVOID lpSA;
  989. VPSTR lpszName;
  990. } CREATEDIRECTORY16;
  991. typedef CREATEDIRECTORY16 UNALIGNED *PCREATEDIRECTORY16;
  992. typedef struct _REMOVEDIRECTORY16 { /* k145 */
  993. VPSTR lpszName;
  994. } REMOVEDIRECTORY16;
  995. typedef REMOVEDIRECTORY16 UNALIGNED *PREMOVEDIRECTORY16;
  996. typedef struct _DELETEFILE16 { /* k146 */
  997. VPSTR lpszName;
  998. } DELETEFILE16;
  999. typedef DELETEFILE16 UNALIGNED *PDELETEFILE16;
  1000. typedef struct _SETLASTERROR16 { /* k147 */
  1001. DWORD dwError;
  1002. } SETLASTERROR16;
  1003. typedef SETLASTERROR16 UNALIGNED *PSETLASTERROR16;
  1004. #ifdef NULLSTRUCT
  1005. typedef struct _GETLASTERROR16 { /* k148 */
  1006. } GETLASTERROR16;
  1007. typedef GETLASTERROR16 UNALIGNED *PGETLASTERROR16;
  1008. #endif
  1009. typedef struct _GETVERSIONEX16 { /* k149 */
  1010. VPVOID lpVersionInfo;
  1011. } GETVERSIONEX16;
  1012. typedef GETVERSIONEX16 UNALIGNED *PGETVERSIONEX16;
  1013. typedef struct _DIRECTEDYIELD16 { /* k150 */
  1014. WORD hTask16;
  1015. } DIRECTEDYIELD16;
  1016. typedef DIRECTEDYIELD16 UNALIGNED *PDIRECTEDYIELD16;
  1017. typedef struct _WOWFILEREAD16 { /* k151 */
  1018. DWORD lpSFT;
  1019. DWORD lpPDB;
  1020. DWORD bufsize;
  1021. DWORD lpBuf;
  1022. WORD fh;
  1023. } WOWFILEREAD16;
  1024. typedef WOWFILEREAD16 UNALIGNED *PWOWFILEREAD16;
  1025. typedef struct _WOWFILELSEEK16 { /* k152 */
  1026. DWORD lpSFT;
  1027. DWORD lpPDB;
  1028. WORD mode;
  1029. DWORD fileOffset;
  1030. WORD fh;
  1031. } WOWFILELSEEK16;
  1032. typedef WOWFILELSEEK16 UNALIGNED *PWOWFILELSEEK16;
  1033. typedef struct _WOWKERNELTRACE16 { /* k153 */
  1034. DWORD lpUserArgs;
  1035. WORD cParms;
  1036. VPSTR lpRoutineName;
  1037. } WOWKERNELTRACE16;
  1038. typedef WOWKERNELTRACE16 UNALIGNED *PWOWKERNELTRACE16;
  1039. typedef struct _LOADLIBRARYEX32W16 { /* k154 */
  1040. DWORD dwFlags;
  1041. DWORD hFile;
  1042. VPVOID lpszLibFile;
  1043. } LOADLIBRARYEX32W16;
  1044. typedef LOADLIBRARYEX32W16 UNALIGNED *PLOADLIBRARYEX32W16;
  1045. typedef struct _WOWQUERYPERFORMANCECOUNTER16 { /* k155 */
  1046. VPVOID lpPerformanceFrequency;
  1047. VPVOID lpPerformanceCounter;
  1048. } WOWQUERYPERFORMANCECOUNTER16;
  1049. typedef WOWQUERYPERFORMANCECOUNTER16 UNALIGNED *PWOWQUERYPERFORMANCECOUNTER16;
  1050. typedef struct _WOWCURSORICONOP16 { /* k156 */
  1051. WORD wFuncId;
  1052. WORD h16;
  1053. } WOWCURSORICONOP16;
  1054. typedef WOWCURSORICONOP16 UNALIGNED *PWOWCURSORICONOP16;
  1055. typedef struct _WOWCLOSECOMPORT16 { /* k159 */
  1056. WORD wPortId;
  1057. } WOWCLOSECOMPORT16;
  1058. typedef WOWCLOSECOMPORT16 UNALIGNED *PWOWCLOSECOMPORT16;
  1059. typedef struct _LOCAL32INIT16 { /* k160 */
  1060. DWORD dwFlags;
  1061. DWORD dwcbMax;
  1062. DWORD dwcbInit;
  1063. WORD wSel;
  1064. } LOCAL32INIT16;
  1065. typedef LOCAL32INIT16 UNALIGNED *PLOCAL32INIT16;
  1066. typedef struct _LOCAL32ALLOC16 { /* k161 */
  1067. DWORD dwFlags;
  1068. WORD wType;
  1069. DWORD dwcbRequest;
  1070. WORD wSel;
  1071. } LOCAL32ALLOC16;
  1072. typedef LOCAL32ALLOC16 UNALIGNED *PLOCAL32ALLOC16;
  1073. typedef struct _LOCAL32REALLOC16 { /* k162 */
  1074. DWORD dwFlags;
  1075. DWORD dwcbNew;
  1076. WORD wType;
  1077. DWORD dwMem;
  1078. DWORD dwLinHeader;
  1079. } LOCAL32REALLOC16;
  1080. typedef LOCAL32REALLOC16 UNALIGNED *PLOCAL32REALLOC16;
  1081. typedef struct _LOCAL32FREE16 { /* k163 */
  1082. WORD wType;
  1083. DWORD dwMem;
  1084. DWORD dwLinHeader;
  1085. } LOCAL32FREE16;
  1086. typedef LOCAL32FREE16 UNALIGNED *PLOCAL32FREE16;
  1087. typedef struct _LOCAL32TRANSLATE16 { /* k164 */
  1088. WORD wRetType;
  1089. WORD wMemType;
  1090. DWORD dwMem;
  1091. DWORD dwLinHeader;
  1092. } LOCAL32TRANSLATE16;
  1093. typedef LOCAL32TRANSLATE16 UNALIGNED *PLOCAL32TRANSLATE16;
  1094. typedef struct _LOCAL32SIZE16 { /* k165 */
  1095. WORD wType;
  1096. DWORD dwMem;
  1097. DWORD dwLinHeader;
  1098. } LOCAL32SIZE16;
  1099. typedef LOCAL32SIZE16 UNALIGNED *PLOCAL32SIZE16;
  1100. typedef struct _LOCAL32VALIDHANDLE16 { /* k166 */
  1101. WORD hMem;
  1102. DWORD dwLinHeader;
  1103. } LOCAL32VALIDHANDLE16;
  1104. typedef LOCAL32VALIDHANDLE16 UNALIGNED *PLOCAL32VALIDHANDLE16;
  1105. typedef struct _REGENUMKEY3216 { /* k167 */
  1106. DWORD cchName;
  1107. VPSTR lpszName;
  1108. DWORD iSubKey;
  1109. DWORD hKey;
  1110. } REGENUMKEY3216;
  1111. typedef REGENUMKEY3216 UNALIGNED *PREGENUMKEY3216;
  1112. typedef struct _REGOPENKEY3216 { /* k168 */
  1113. VPVOID phkResult;
  1114. VPSTR lpszSubKey;
  1115. DWORD hKey;
  1116. } REGOPENKEY3216;
  1117. typedef REGOPENKEY3216 UNALIGNED *PREGOPENKEY3216;
  1118. typedef struct _REGCREATEKEY3216 { /* k169 */
  1119. VPVOID phkResult;
  1120. VPSTR lpszSubKey;
  1121. DWORD hKey;
  1122. } REGCREATEKEY3216;
  1123. typedef REGCREATEKEY3216 UNALIGNED *PREGCREATEKEY3216;
  1124. typedef struct _REGDELETEKEY3216 { /* k170 */
  1125. VPSTR lpszSubKey;
  1126. DWORD hKey;
  1127. } REGDELETEKEY3216;
  1128. typedef REGDELETEKEY3216 UNALIGNED *PREGDELETEKEY3216;
  1129. typedef struct _REGCLOSEKEY3216 { /* k171 */
  1130. DWORD hKey;
  1131. } REGCLOSEKEY3216;
  1132. typedef REGCLOSEKEY3216 UNALIGNED *PREGCLOSEKEY3216;
  1133. typedef struct _REGSETVALUE3216 { /* k172 */
  1134. DWORD cbValue;
  1135. VPSTR lpValue;
  1136. DWORD dwType;
  1137. VPSTR lpszSubKey;
  1138. DWORD hKey;
  1139. } REGSETVALUE3216;
  1140. typedef REGSETVALUE3216 UNALIGNED *PREGSETVALUE3216;
  1141. typedef struct _REGDELETEVALUE3216 { /* k173 */
  1142. VPSTR lpszValue;
  1143. DWORD hKey;
  1144. } REGDELETEVALUE3216;
  1145. typedef REGDELETEVALUE3216 UNALIGNED *PREGDELETEVALUE3216;
  1146. typedef struct _REGENUMVALUE3216 { /* k174 */
  1147. VPVOID lpcbData;
  1148. VPVOID lpbData;
  1149. DWORD lpdwType;
  1150. DWORD lpdwReserved;
  1151. DWORD lpcchValue;
  1152. VPSTR lpszValue;
  1153. DWORD iValue;
  1154. DWORD hKey;
  1155. } REGENUMVALUE3216;
  1156. typedef REGENUMVALUE3216 UNALIGNED *PREGENUMVALUE3216;
  1157. typedef struct _WOWLFNFRAMEPTR16 { /* k204 */
  1158. VPVOID lpUserFrame;
  1159. } WOWLFNFRAMEPTR16;
  1160. typedef WOWLFNFRAMEPTR16 UNALIGNED *PWOWLFNFRAMEPTR16;
  1161. typedef struct _REGQUERYVALUE3216 { /* k175 */
  1162. DWORD cbValue;
  1163. VPSTR lpValue;
  1164. VPSTR lpszSubKey;
  1165. DWORD hKey;
  1166. } REGQUERYVALUE3216;
  1167. typedef REGQUERYVALUE3216 UNALIGNED *PREGQUERYVALUE3216;
  1168. typedef struct _REGQUERYVALUEEX3216 { /* k176 */
  1169. DWORD cbBuffer;
  1170. VPSTR lpBuffer;
  1171. VPDWORD vpdwType;
  1172. VPDWORD vpdwReserved;
  1173. VPSTR lpszValue;
  1174. DWORD hKey;
  1175. } REGQUERYVALUEEX3216;
  1176. typedef REGQUERYVALUEEX3216 UNALIGNED *PREGQUERYVALUEEX3216;
  1177. typedef struct _REGSETVALUEEX3216 { /* k177 */
  1178. DWORD cbBuffer;
  1179. VPSTR lpBuffer;
  1180. DWORD dwType;
  1181. DWORD dwReserved;
  1182. VPSTR lpszValue;
  1183. DWORD hKey;
  1184. } REGSETVALUEEX3216;
  1185. typedef REGSETVALUEEX3216 UNALIGNED *PREGSETVALUEEX3216;
  1186. typedef struct _REGFLUSHKEY3216 { /* k178 */
  1187. DWORD hKey;
  1188. } REGFLUSHKEY3216;
  1189. typedef REGFLUSHKEY3216 UNALIGNED *PREGFLUSHKEY3216;
  1190. typedef struct _COMPUTEOBJECTOWNER16 { /* k179 */
  1191. WORD wSel;
  1192. } COMPUTEOBJECTOWNER16;
  1193. typedef COMPUTEOBJECTOWNER16 UNALIGNED *PCOMPUTEOBJECTOWNER16;
  1194. typedef struct _LOCAL32GETSEL16 { /* k180 */
  1195. DWORD dwLinHeader;
  1196. } LOCAL32GETSEL16;
  1197. typedef LOCAL32GETSEL16 UNALIGNED *PLOCAL32GETSEL16;
  1198. typedef struct _MAPPROCESSHANDLE16 { /* k181 */
  1199. DWORD dwHandle;
  1200. } MAPPROCESSHANDLE16;
  1201. typedef MAPPROCESSHANDLE16 UNALIGNED *PMAPPROCESSHANDLE16;
  1202. #ifdef NULLSTRUCT
  1203. typedef struct _INVALIDATENLSCACHE16 { /* k182 */
  1204. } INVALIDATENLSCACHE16;
  1205. typedef INVALIDATENLSCACHE16 UNALIGNED *PINVALIDATENLSCACHE16;
  1206. #endif
  1207. typedef struct _WOWDELFILE16 { /* k183 */
  1208. VPSTR lpFile;
  1209. } WOWDELFILE16;
  1210. typedef WOWDELFILE16 UNALIGNED *PWOWDELFILE16;
  1211. #ifdef RENAMEVIRTUAL
  1212. typedef struct _WOWVIRTUALALLOC16 { /* k184 */
  1213. DWORD fdwProtect;
  1214. DWORD fdwAllocationType;
  1215. DWORD cbSize;
  1216. DWORD lpvAddress;
  1217. } WOWVIRTUALALLOC16;
  1218. typedef WOWVIRTUALALLOC16 UNALIGNED *PWOWVIRTUALALLOC16;
  1219. typedef struct _WOWVIRTUALFREE16 { /* k185 */
  1220. DWORD fdwFreeType;
  1221. DWORD cbSize;
  1222. DWORD lpvAddress;
  1223. } WOWVIRTUALFREE16;
  1224. typedef WOWVIRTUALFREE16 UNALIGNED *PWOWVIRTUALFREE16;
  1225. #else // RENAMEVIRTUAL
  1226. typedef struct _VIRTUALALLOC16 { /* k184 */
  1227. DWORD fdwProtect;
  1228. DWORD fdwAllocationType;
  1229. DWORD cbSize;
  1230. DWORD lpvAddress;
  1231. } VIRTUALALLOC16;
  1232. typedef VIRTUALALLOC16 UNALIGNED *PVIRTUALALLOC16;
  1233. typedef struct _VIRTUALFREE16 { /* k185 */
  1234. DWORD fdwFreeType;
  1235. DWORD cbSize;
  1236. DWORD lpvAddress;
  1237. } VIRTUALFREE16;
  1238. typedef VIRTUALFREE16 UNALIGNED *PVIRTUALFREE16;
  1239. #endif // else renamevirtual
  1240. typedef struct _VIRTUALLOCK16 { /* k186 */
  1241. DWORD cbSize;
  1242. DWORD lpvAddress;
  1243. } VIRTUALLOCK16;
  1244. typedef VIRTUALLOCK16 UNALIGNED *PVIRTUALLOCK16;
  1245. typedef struct _VIRTUALUNLOCK16 { /* k187 */
  1246. DWORD cbSize;
  1247. DWORD lpvAddress;
  1248. } VIRTUALUNLOCK16;
  1249. typedef VIRTUALUNLOCK16 UNALIGNED *PVIRTUALUNLOCK16;
  1250. typedef struct _GLOBALMEMORYSTATUS16 { /* k188 */
  1251. VPVOID lpmstMemStat;
  1252. } GLOBALMEMORYSTATUS16;
  1253. typedef GLOBALMEMORYSTATUS16 UNALIGNED *PGLOBALMEMORYSTATUS16;
  1254. typedef struct _WOWGETTABLEOFFSETS16 { /* k190 */
  1255. VPVOID vpThunkTableOffsets;
  1256. } WOWGETTABLEOFFSETS16;
  1257. typedef WOWGETTABLEOFFSETS16 UNALIGNED *PWOWGETTABLEOFFSETS16;
  1258. typedef struct _WOWKILLREMOTETASK16 { /* k191 */
  1259. VPVOID lpBuffer;
  1260. } WOWKILLREMOTETASK16;
  1261. typedef WOWKILLREMOTETASK16 UNALIGNED *PWOWKILLREMOTETASK16;
  1262. typedef struct _WOWNOTIFYWOW3216 { /* k192 */
  1263. VPVOID Int21Handler;
  1264. VPVOID lpnum_tasks;
  1265. VPVOID lpcurTDB;
  1266. VPVOID lpDebugWOW;
  1267. VPVOID lpLockTDB;
  1268. VPVOID lptopPDB;
  1269. VPVOID lpCurDirOwner;
  1270. } WOWNOTIFYWOW3216;
  1271. typedef WOWNOTIFYWOW3216 UNALIGNED *PWOWNOTIFYWOW3216;
  1272. typedef struct _WOWFILEOPEN16 { /* k193 */
  1273. DWORD lpSFT;
  1274. DWORD lpPDB;
  1275. WORD wAccess;
  1276. WORD pszPathOffset;
  1277. WORD pszPathSegment;
  1278. } WOWFILEOPEN16;
  1279. typedef WOWFILEOPEN16 UNALIGNED *PWOWFILEOPEN16;
  1280. typedef struct _WOWFILECLOSE16 { /* k194 */
  1281. DWORD lpSFT;
  1282. DWORD lpPDB;
  1283. WORD hFile;
  1284. } WOWFILECLOSE16;
  1285. typedef WOWFILECLOSE16 UNALIGNED *PWOWFILECLOSE16;
  1286. typedef struct _KSYSERRORBOX16 { /* k196 */
  1287. SHORT sBtn3;
  1288. SHORT sBtn2;
  1289. SHORT sBtn1;
  1290. VPSZ vpszCaption;
  1291. VPSZ vpszText;
  1292. } KSYSERRORBOX16;
  1293. typedef KSYSERRORBOX16 UNALIGNED *PKSYSERRORBOX16;
  1294. typedef struct _WOWISKNOWNDLL16 { /* k197 */
  1295. VPVOID lplpszKnownDLLPath;
  1296. VPVOID lpszPath;
  1297. } WOWISKNOWNDLL16;
  1298. typedef struct _WOWDDEFREEHANDLE16 { /* k198 */
  1299. WORD h16;
  1300. } WOWDDEFREEHANDLE16;
  1301. typedef WOWDDEFREEHANDLE16 UNALIGNED *PWOWDDEFREEHANDLE16;
  1302. typedef struct _WOWFILEGETATTRIBUTES16 { /* k199 */
  1303. WORD pszPathOffset;
  1304. WORD pszPathSegment;
  1305. } WOWFILEGETATTRIBUTES16;
  1306. typedef WOWFILEGETATTRIBUTES16 UNALIGNED *PWOWFILEGETATTRIBUTES16;
  1307. typedef struct _WOWSETDEFAULTDRIVE16 { /* k200 */
  1308. WORD wDriveNum;
  1309. } WOWSETDEFAULTDRIVE16;
  1310. typedef WOWSETDEFAULTDRIVE16 UNALIGNED *PWOWSETDEFAULTDRIVE16;
  1311. typedef struct _WOWGETCURRENTDIRECTORY16 { /* k201 */
  1312. DWORD lpCurDir;
  1313. WORD wDriveNum;
  1314. } WOWGETCURRENTDIRECTORY16;
  1315. typedef WOWGETCURRENTDIRECTORY16 UNALIGNED *PWOWGETCURRENTDIRECTORY16;
  1316. typedef struct _GETPRODUCTNAME16 { /* k202 */
  1317. WORD cbBuffer;
  1318. VPSTR lpBuffer;
  1319. } GETPRODUCTNAME16;
  1320. typedef GETPRODUCTNAME16 UNALIGNED *PGETPRODUCTNAME16;
  1321. #ifdef NULLSTRUCT
  1322. typedef struct _ISSAFEMODE16 { /* k203 */
  1323. } ISSAFEMODE16;
  1324. typedef ISSAFEMODE16 UNALIGNED *PISSAFEMODE16;
  1325. #endif
  1326. typedef struct _WOWSHUTDOWNTIMER16 { /* k205 */
  1327. WORD fEnable;
  1328. } WOWSHUTDOWNTIMER16;
  1329. typedef WOWSHUTDOWNTIMER16 UNALIGNED *PWOWSHUTDOWNTIMER16;
  1330. #ifdef NULLSTRUCT
  1331. typedef struct _WOWTRIMWORKINGSET16 { /* k206 */
  1332. } WOWTRIMWORKINGSET16;
  1333. typedef WOWTRIMWORKINGSET16 UNALIGNED *PWOWTRIMWORKINGSET16;
  1334. #endif
  1335. #ifdef FE_SB
  1336. #ifdef NULLSTRUCT
  1337. typedef struct _GETSYSTEMDEFAULTLANGID16 { /* k207 */
  1338. } GETSYSTEMDEFAULTLANGID16;
  1339. typedef GETSYSTEMDEFAULTLANGID16 UNALIGNED *PGETSYSTEMDEFAULTLANGID16;
  1340. #endif
  1341. #endif
  1342. typedef struct _TERMSRVGETWINDIR16 { /* k208 */
  1343. WORD usPathLen;
  1344. WORD pszPathOffset;
  1345. WORD pszPathSegment;
  1346. } TERMSRVGETWINDIR16;
  1347. typedef TERMSRVGETWINDIR16 UNALIGNED *PTERMSRVGETWINDIR16;
  1348. /*
  1349. typedef struct _WOWGETCURRENTDIRECTORYLONG16 { // k209
  1350. DWORD lpCurDir;
  1351. WORD wDriveNum;
  1352. WORD cchDir;
  1353. } WOWGETCURRENTDIRECTORYLONG16;
  1354. typedef WOWGETCURRENTDIRECTORYLONG16 UNALIGNED *PWOWGETCURRENTDIRECTORYLONG16;
  1355. */
  1356. typedef struct _WOWPASSENVIRONMENT16 { /* k209 */
  1357. WORD pExe; // pointer to exe header
  1358. DWORD pParmBlk; // parameter block
  1359. WORD cur_DOS_PDB; // dos pdb
  1360. // WORD Win_PDB; // windows pdb not necessary for now
  1361. } WOWPASSENVIRONMENT16;
  1362. typedef WOWPASSENVIRONMENT16 UNALIGNED *PWOWPASSENVIRONMENT16;
  1363. typedef struct _WOWDIVIDEOVERFLOW { /* k212 */
  1364. DWORD local;
  1365. DWORD csip;
  1366. DWORD edx;
  1367. DWORD eax;
  1368. } WOWDIVIDEOVERFLOW;
  1369. typedef WOWDIVIDEOVERFLOW UNALIGNED *PWOWDIVIDEOVERFLOW;
  1370. /* XLATOFF */
  1371. #pragma pack()
  1372. /* XLATON */