Source code of Windows XP (NT5)
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.

1627 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_WOWGETCURRENTDIRECTORYLONG 209 // WOW internal export
  233. #define FUN_WOWPASSENVIRONMENT 209 // internal pass_environment
  234. //#define FUN_WOWLOADKERNEL32 210 // internal kernel loading
  235. #define FUN_WOWSYNCTASK 210 // internal parent/child sync
  236. #define FUN_WOWVWIN32 211 // internal VWIN32 mapper
  237. #define FUN_WOWVXDCALL 212 // internal VxDCall mapper
  238. #define FUN_WOWINT2f 213 // internal Int2f parser
  239. //
  240. // Note the following "special" FUN_ identifiers are not used as offsets
  241. // in a thunk table, but rather as arguments to some WOW private APIs,
  242. // WowCursorIconOp and FindAndReleaseDib.
  243. //
  244. #define FUN_GLOBALFREE 1000
  245. #define FUN_GLOBALREALLOC 1001
  246. #define FUN_GLOBALLOCK 1002
  247. #define FUN_GLOBALUNLOCK 1003
  248. /* XLATOFF */
  249. #pragma pack(2)
  250. /* XLATON */
  251. /* NOTE that the tag (like "/* k1 * /") on each typedef line is used by
  252. * h2inc when building wowkrn.inc, as a prefix for that structures
  253. * members, since our assembler has only a single flat namespace. */
  254. typedef struct _FATALEXIT16 { /* k1 */
  255. SHORT f1;
  256. } FATALEXIT16;
  257. typedef FATALEXIT16 UNALIGNED *PFATALEXIT16;
  258. typedef struct _EXITKERNEL16 { /* k2 */
  259. WORD wExitCode;
  260. } EXITKERNEL16;
  261. typedef EXITKERNEL16 UNALIGNED *PEXITKERNEL16;
  262. #ifdef NULLSTRUCT
  263. typedef struct _WRITEOUTPROFILES16 { /* k3 */
  264. } WRITEOUTPROFILES16;
  265. typedef WRITEOUTPROFILES16 UNALIGNED *PWRITEOUTPROFILES16;
  266. #endif
  267. typedef struct _MAPSL16 { /* k4 */
  268. DWORD vp;
  269. } MAPSL16;
  270. typedef MAPSL16 UNALIGNED *PMAPSL16;
  271. typedef struct _MAPLS16 { /* k5 */
  272. PVOID p;
  273. } MAPLS16;
  274. typedef MAPLS16 UNALIGNED *PMAPLS16;
  275. typedef struct _UNMAPLS16 { /* k6 */
  276. PVOID vp;
  277. } UNMAPLS16;
  278. typedef UNMAPLS16 UNALIGNED *PUNMAPLS16;
  279. typedef struct _OPENFILEEX16 { /* k7 */
  280. WORD wFlags;
  281. DWORD lpOFStructEx;
  282. DWORD lpSrcFile;
  283. } OPENFILEEX16;
  284. typedef OPENFILEEX16 UNALIGNED *POPENFILEEX16;
  285. typedef struct _FASTANDDIRTYGLOBALFIX16 { /* k8 */
  286. WORD selFix;
  287. WORD wAction;
  288. } FASTANDDIRTYGLOBALFIX16;
  289. typedef FASTANDDIRTYGLOBALFIX16 UNALIGNED *PFASTANDDIRTYGLOBALFIX16;
  290. typedef struct _WRITEPRIVATEPROFILESTRUCT16 { /* k9 */
  291. DWORD lpszFile;
  292. WORD cbStruct;
  293. DWORD lpStruct;
  294. DWORD lpszKey;
  295. DWORD lpszSection;
  296. } WRITEPRIVATEPROFILESTRUCT16;
  297. typedef WRITEPRIVATEPROFILESTRUCT16 UNALIGNED *PWRITEPRIVATEPROFILESTRUCT16;
  298. typedef struct _GETPRIVATEPROFILESTRUCT16 { /* k10 */
  299. DWORD lpszFile;
  300. WORD cbStruct;
  301. DWORD lpStruct;
  302. DWORD lpszKey;
  303. DWORD lpszSection;
  304. } GETPRIVATEPROFILESTRUCT16;
  305. typedef GETPRIVATEPROFILESTRUCT16 UNALIGNED *PGETPRIVATEPROFILESTRUCT16;
  306. typedef struct _GETCURRENTDIRECTORY16 { /* k11 */
  307. DWORD lpszDir;
  308. DWORD cchDir;
  309. } GETCURRENTDIRECTORY16;
  310. typedef GETCURRENTDIRECTORY16 UNALIGNED *PGETCURRENTDIRECTORY16;
  311. typedef struct _SETCURRENTDIRECTORY16 { /* k12 */
  312. DWORD lpszDir;
  313. } SETCURRENTDIRECTORY16;
  314. typedef SETCURRENTDIRECTORY16 UNALIGNED *PSETCURRENTDIRECTORY16;
  315. typedef struct _FINDFIRSTFILE16 { /* k13 */
  316. DWORD lpFindData;
  317. DWORD lpszSearchFile;
  318. } FINDFIRSTFILE16;
  319. typedef FINDFIRSTFILE16 UNALIGNED *PFINDFIRSTFILE16;
  320. typedef struct _FINDNEXTFILE16 { /* k14 */
  321. DWORD lpFindData;
  322. DWORD hFindFile;
  323. } FINDNEXTFILE16;
  324. typedef FINDNEXTFILE16 UNALIGNED *PFINDNEXTFILE16;
  325. typedef struct _FINDCLOSE16 { /* k15 */
  326. DWORD hFindFile;
  327. } FINDCLOSE16;
  328. typedef FINDCLOSE16 UNALIGNED *PFINDCLOSE16;
  329. typedef struct _WRITEPRIVATEPROFILESECTION16 { /* k16 */
  330. DWORD lpszFile;
  331. DWORD lpKeysAndValues;
  332. DWORD lpszSection;
  333. } WRITEPRIVATEPROFILESECTION16;
  334. typedef WRITEPRIVATEPROFILESECTION16 UNALIGNED *PWRITEPRIVATEPROFILESECTION16;
  335. typedef struct _WRITEPROFILESECTION16 { /* k17 */
  336. DWORD lpKeysAndValues;
  337. DWORD lpszSection;
  338. } WRITEPROFILESECTION16;
  339. typedef WRITEPROFILESECTION16 UNALIGNED *PWRITEPROFILESECTION16;
  340. typedef struct _GETPRIVATEPROFILESECTION16 { /* k18 */
  341. DWORD lpszFile;
  342. WORD cchResult;
  343. DWORD lpResult;
  344. DWORD lpszSection;
  345. } GETPRIVATEPROFILESECTION16;
  346. typedef GETPRIVATEPROFILESECTION16 UNALIGNED *PGETPRIVATEPROFILESECTION16;
  347. typedef struct _GETPROFILESECTION16 { /* k19 */
  348. WORD cchResult;
  349. DWORD lpResult;
  350. DWORD lpszSection;
  351. } GETPROFILESECTION16;
  352. typedef GETPROFILESECTION16 UNALIGNED *PGETPROFILESECTION16;
  353. typedef struct _GETFILEATTRIBUTES16 { /* k20 */
  354. DWORD lpszFile;
  355. } GETFILEATTRIBUTES16;
  356. typedef GETFILEATTRIBUTES16 UNALIGNED *PGETFILEATTRIBUTES16;
  357. typedef struct _SETFILEATTRIBUTES16 { /* k21 */
  358. DWORD dwFileAttributes;
  359. DWORD lpszFile;
  360. } SETFILEATTRIBUTES16;
  361. typedef SETFILEATTRIBUTES16 UNALIGNED *PSETFILEATTRIBUTES16;
  362. typedef struct _GETDISKFREESPACE16 { /* k22 */
  363. DWORD lpdwClusters;
  364. DWORD lpdwFreeClusters;
  365. DWORD lpdwBytesPerSector;
  366. DWORD lpdwSectorsPerCluster;
  367. DWORD lpszRootPathName;
  368. } GETDISKFREESPACE16;
  369. typedef GETDISKFREESPACE16 UNALIGNED *PGETDISKFREESPACE16;
  370. typedef struct _ISPEFORMAT16 { /* k23 */
  371. WORD hFile;
  372. DWORD lpszFile;
  373. } ISPEFORMAT16;
  374. typedef ISPEFORMAT16 UNALIGNED *PISPEFORMAT16;
  375. typedef struct _FILETIMETOLOCALFILETIME16 { /* k24 */
  376. DWORD lpLocalFileTime;
  377. DWORD lpUTCFileTime;
  378. } FILETIMETOLOCALFILETIME16;
  379. typedef FILETIMETOLOCALFILETIME16 UNALIGNED *PFILETIMETOLOCALFILETIME16;
  380. typedef struct _UNITOANSI16 { /* k25 */
  381. WORD cch;
  382. DWORD pchDst;
  383. DWORD pchSrc;
  384. } UNITOANSI16;
  385. typedef UNITOANSI16 UNALIGNED *PUNITOANSI16;
  386. typedef struct _GETVDMPOINTER32W16 { /* k26 */
  387. SHORT fMode;
  388. VPVOID lpAddress;
  389. } GETVDMPOINTER32W16;
  390. typedef GETVDMPOINTER32W16 UNALIGNED *PGETVDMPOINTER32W16;
  391. typedef struct _CREATETHREAD16 { /* k27 */
  392. DWORD lpThreadID;
  393. DWORD dwCreateFlags;
  394. DWORD lpParameter;
  395. DWORD lpStartAddress;
  396. DWORD dwStackSize;
  397. DWORD lpSecurityAttributes;
  398. } CREATETHREAD16;
  399. typedef CREATETHREAD16 UNALIGNED *PCREATETHREAD16;
  400. typedef struct _ICALLPROC32W16 { /* k28 */
  401. WORD rbp;
  402. DWORD retaddr;
  403. DWORD cParams;
  404. DWORD fAddressConvert;
  405. DWORD lpProcAddress;
  406. DWORD p1;
  407. DWORD p2;
  408. DWORD p3;
  409. DWORD p4;
  410. DWORD p5;
  411. DWORD p6;
  412. DWORD p7;
  413. DWORD p8;
  414. DWORD p9;
  415. DWORD p10;
  416. DWORD p11;
  417. DWORD p12;
  418. DWORD p13;
  419. DWORD p14;
  420. DWORD p15;
  421. DWORD p16;
  422. DWORD p17;
  423. DWORD p18;
  424. DWORD p19;
  425. DWORD p20;
  426. DWORD p21;
  427. DWORD p22;
  428. DWORD p23;
  429. DWORD p24;
  430. DWORD p25;
  431. DWORD p26;
  432. DWORD p27;
  433. DWORD p28;
  434. DWORD p29;
  435. DWORD p30;
  436. DWORD p31;
  437. DWORD p32;
  438. } ICALLPROC32W16;
  439. typedef ICALLPROC32W16 UNALIGNED *PICALLPROC32W16;
  440. #define CPEX32_DEST_CDECL 0x8000L
  441. #define CPEX32_SOURCE_CDECL 0x4000L
  442. #ifdef NULLSTRUCT
  443. typedef struct _YIELD16 { /* k29 */
  444. } YIELD16;
  445. typedef YIELD16 UNALIGNED *PYIELD16;
  446. #endif
  447. typedef struct _WAITEVENT16 { /* k30 */
  448. WORD wTaskID;
  449. } WAITEVENT16;
  450. typedef WAITEVENT16 UNALIGNED *PWAITEVENT16;
  451. typedef struct _POSTEVENT16 { /* k31 */
  452. WORD hTask16;
  453. } POSTEVENT16;
  454. typedef POSTEVENT16 UNALIGNED *PPOSTEVENT16;
  455. typedef struct _SETPRIORITY16 { /* k32 */
  456. WORD wPriority;
  457. WORD hTask16;
  458. } SETPRIORITY16;
  459. typedef SETPRIORITY16 UNALIGNED *PSETPRIORITY16;
  460. typedef struct _LOCKCURRENTTASK16 { /* k33 */
  461. WORD fLock;
  462. } LOCKCURRENTTASK16;
  463. typedef LOCKCURRENTTASK16 UNALIGNED *PLOCKCURRENTTASK16;
  464. #ifdef NULLSTRUCT
  465. typedef struct _LEAVEENTERWIN16LOCK { /* k34 */
  466. } LEAVEENTERWIN16LOCK;
  467. typedef LEAVEENTERWIN16LOCK UNALIGNED *PLEAVEENTERWIN16LOCK;
  468. #endif
  469. typedef struct _REGLOADKEY3216 { /* k35 */
  470. VPSTR lpszFileName;
  471. VPSTR lpszSubkey;
  472. DWORD hKey;
  473. } REGLOADKEY3216;
  474. typedef REGLOADKEY3216 UNALIGNED *PREGLOADKEY3216;
  475. typedef struct _REGUNLOADKEY3216 { /* k36 */
  476. VPSTR lpszSubkey;
  477. DWORD hKey;
  478. } REGUNLOADKEY3216;
  479. typedef REGUNLOADKEY3216 UNALIGNED *PREGUNLOADKEY3216;
  480. typedef struct _REGSAVEKEY3216 { /* k37 */
  481. VPVOID lpSA;
  482. VPSTR lpszSubkey;
  483. DWORD hKey;
  484. } REGSAVEKEY3216;
  485. typedef REGSAVEKEY3216 UNALIGNED *PREGSAVEKEY3216;
  486. #ifdef NULLSTRUCT
  487. typedef struct _GETWIN16LOCK16 { /* k38 */
  488. } GETWIN16LOCK16;
  489. typedef GETWIN16LOCK16 UNALIGNED *PGETWIN16LOCK16;
  490. #endif
  491. typedef struct _LOADLIBRARY3216 { /* k39 */
  492. DWORD lpszLibrary;
  493. } LOADLIBRARY3216;
  494. typedef LOADLIBRARY3216 UNALIGNED *PLOADLIBRARY3216;
  495. typedef struct _GETPROCADDRESS3216 { /* k40 */
  496. DWORD lpszProc;
  497. DWORD hLib;
  498. } GETPROCADDRESS3216;
  499. typedef GETPROCADDRESS3216 UNALIGNED *PGETPROCADDRESS3216;
  500. typedef struct _WOWFINDFIRST16 { /* k41 */
  501. DWORD lpDTA;
  502. WORD pszPathOffset;
  503. WORD pszPathSegment;
  504. WORD wAttributes;
  505. } WOWFINDFIRST16;
  506. typedef WOWFINDFIRST16 UNALIGNED *PWOWFINDFIRST16;
  507. typedef struct _WOWFINDNEXT16 { /* k42 */
  508. DWORD lpDTA;
  509. } WOWFINDNEXT16;
  510. typedef WOWFINDNEXT16 UNALIGNED *PWOWFINDNEXT16;
  511. typedef struct _CREATEWIN32EVENT16 { /* k43 */
  512. DWORD bInitialState;
  513. DWORD bManualReset;
  514. } CREATEWIN32EVENT16;
  515. typedef CREATEWIN32EVENT16 UNALIGNED *PCREATEWIN32EVENT16;
  516. typedef struct _SETWIN32EVENT16 { /* k44 */
  517. DWORD hEvent;
  518. } SETWIN32EVENT16;
  519. typedef SETWIN32EVENT16 UNALIGNED *PSETWIN32EVENT16;
  520. typedef struct _WOWLOADMODULE16 { /* k45 */
  521. VPSTR lpWinOldAppCmd;
  522. VPVOID lpParameterBlock;
  523. VPSTR lpModuleName;
  524. } WOWLOADMODULE16;
  525. typedef WOWLOADMODULE16 UNALIGNED *PWOWLOADMODULE16;
  526. typedef struct _PARAMETERBLOCK16 { /* k45_2 */
  527. WORD wEnvSeg;
  528. VPVOID lpCmdLine;
  529. VPVOID lpCmdShow;
  530. DWORD dwReserved;
  531. } PARAMETERBLOCK16;
  532. typedef PARAMETERBLOCK16 UNALIGNED *PPARAMETERBLOCK16;
  533. typedef struct _RESETWIN32EVENT16 { /* k46 */
  534. DWORD hEvent;
  535. } RESETWIN32EVENT16;
  536. typedef RESETWIN32EVENT16 UNALIGNED *PRESETWIN32EVENT16;
  537. typedef struct _WOWGETMODULEHANDLE16 { /* k47 */
  538. VPSTR lpszModuleName;
  539. } WOWGETMODULEHANDLE16;
  540. typedef WOWGETMODULEHANDLE16 UNALIGNED *PWOWGETMODULEHANDLE16;
  541. typedef struct _WAITFORSINGLEOBJECT16 { /* k48 */
  542. DWORD dwTimeout;
  543. DWORD h;
  544. } WAITFORSINGLEOBJECT16;
  545. typedef WAITFORSINGLEOBJECT16 UNALIGNED *PWAITFORSINGLEOBJECT16;
  546. typedef struct _GETMODULEFILENAME16 { /* k49 */
  547. SHORT f3;
  548. VPSTR f2;
  549. HAND16 f1;
  550. } GETMODULEFILENAME16;
  551. typedef GETMODULEFILENAME16 UNALIGNED *PGETMODULEFILENAME16;
  552. typedef struct _WAITFORMULTIPLEOBJECTS16 { /* k50 */
  553. DWORD dwTimeout;
  554. DWORD bWaitForAll;
  555. DWORD lphObjects;
  556. DWORD cObjects;
  557. } WAITFORMULTIPLEOBJECTS16;
  558. typedef WAITFORMULTIPLEOBJECTS16 UNALIGNED *PWAITFORMULTIPLEOBJECTS16;
  559. #ifdef NULLSTRUCT
  560. typedef struct _GETCURRENTTHREADID16 { /* k51 */
  561. } GETCURRENTTHREADID16;
  562. typedef GETCURRENTTHREADID16 UNALIGNED *PGETCURRENTTHREADID16;
  563. #endif
  564. typedef struct _SETTHREADQUEUE16 { /* k52 */
  565. WORD NewQueueSel;
  566. DWORD dwThreadID;
  567. } SETTHREADQUEUE16;
  568. typedef SETTHREADQUEUE16 UNALIGNED *PSETTHREADQUEUE16;
  569. typedef struct _CONVERTTOGLOBALHANDLE16 { /* k53 */
  570. DWORD dwHandle;
  571. } CONVERTTOGLOBALHANDLE16;
  572. typedef CONVERTTOGLOBALHANDLE16 UNALIGNED *PCONVERTTOGLOBALHANDLE16;
  573. typedef struct _GETTHREADQUEUE16 { /* k54 */
  574. DWORD dwThreadID;
  575. } GETTHREADQUEUE16;
  576. typedef GETTHREADQUEUE16 UNALIGNED *PGETTHREADQUEUE16;
  577. typedef struct _NUKEPROCESS16 { /* k55 */
  578. DWORD ulFlags;
  579. WORD uExitCode;
  580. DWORD ppdb;
  581. } NUKEPROCESS16;
  582. typedef NUKEPROCESS16 UNALIGNED *PNUKEPROCESS16;
  583. typedef struct _EXITPROCESS16 { /* k56 */
  584. WORD wStatus;
  585. } EXITPROCESS16;
  586. typedef EXITPROCESS16 UNALIGNED *PEXITPROCESS16;
  587. typedef struct _GETPROFILEINT16 { /* k57 */
  588. SHORT f3;
  589. VPSTR f2;
  590. VPSTR f1;
  591. } GETPROFILEINT16;
  592. typedef GETPROFILEINT16 UNALIGNED *PGETPROFILEINT16;
  593. typedef struct _GETPROFILESTRING16 { /* k58 */
  594. USHORT f5;
  595. VPSTR f4;
  596. VPSTR f3;
  597. VPSTR f2;
  598. VPSTR f1;
  599. } GETPROFILESTRING16;
  600. typedef GETPROFILESTRING16 UNALIGNED *PGETPROFILESTRING16;
  601. typedef struct _WRITEPROFILESTRING16 { /* k59 */
  602. VPSTR f3;
  603. VPSTR f2;
  604. VPSTR f1;
  605. } WRITEPROFILESTRING16;
  606. typedef WRITEPROFILESTRING16 UNALIGNED *PWRITEPROFILESTRING16;
  607. #ifdef NULLSTRUCT
  608. typedef struct _GETCURRENTPROCESSID16 { /* k60 */
  609. } GETCURRENTPROCESSID16;
  610. typedef GETCURRENTPROCESSID16 UNALIGNED *PGETCURRENTPROCESSID16;
  611. #endif
  612. #ifdef NULLSTRUCT
  613. typedef struct _MAPHINSTLS { /* k61 */
  614. /* NOTE if you implement this the interface is register-based */
  615. } MAPHINSTLS;
  616. typedef MAPHINSTLS UNALIGNED *PMAPHINSTLS;
  617. #endif
  618. #ifdef NULLSTRUCT
  619. typedef struct _MAPHINSTSL { /* k62 */
  620. /* NOTE if you implement this the interface is register-based */
  621. } MAPHINSTSL;
  622. typedef MAPHINSTSL UNALIGNED *PMAPHINSTSL;
  623. #endif
  624. typedef struct _CLOSEWIN32HANDLE16 { /* k63 */
  625. DWORD h32;
  626. } CLOSEWIN32HANDLE16;
  627. typedef CLOSEWIN32HANDLE16 UNALIGNED *PCLOSEWIN32HANDLE16;
  628. typedef struct _LOADSYSTEMLIBRARY3216 { /* k64 */
  629. VPSTR lpszLibrary;
  630. } LOADSYSTEMLIBRARY3216;
  631. typedef LOADSYSTEMLIBRARY3216 UNALIGNED *PLOADSYSTEMLIBRARY3216;
  632. typedef struct _FREELIBRARY3216 { /* k65 */
  633. DWORD hModule;
  634. } FREELIBRARY3216;
  635. typedef FREELIBRARY3216 UNALIGNED *PFREELIBRARY3216;
  636. typedef struct _GETMODULEFILENAME3216 { /* k66 */
  637. WORD wBufferSize;
  638. VPSTR lpBuffer;
  639. DWORD hModule;
  640. } GETMODULEFILENAME3216;
  641. typedef GETMODULEFILENAME3216 UNALIGNED *PGETMODULEFILENAME3216;
  642. typedef struct _GETMODULEHANDLE3216 { /* k67 */
  643. VPSTR lpszModule;
  644. } GETMODULEHANDLE3216;
  645. typedef GETMODULEHANDLE3216 UNALIGNED *PGETMODULEHANDLE3216;
  646. typedef struct _REGISTERSERVICEPROCESS16 { /* k68 */
  647. DWORD dwServiceType;
  648. DWORD dwProcessID;
  649. } REGISTERSERVICEPROCESS16;
  650. typedef REGISTERSERVICEPROCESS16 UNALIGNED *PREGISTERSERVICEPROCESS16;
  651. typedef struct _CHANGEALLOCFIXEDBEHAVIOUR16 { /* k69 */
  652. WORD fWin31Behavior;
  653. } CHANGEALLOCFIXEDBEHAVIOUR16;
  654. typedef CHANGEALLOCFIXEDBEHAVIOUR16 UNALIGNED *PCHANGEALLOCFIXEDBEHAVIOUR16;
  655. typedef struct _INITCB16 { /* k70 */
  656. DWORD fnStdCBSLDispatch;
  657. DWORD fnStdCBLSDispatch;
  658. } INITCB16;
  659. typedef INITCB16 UNALIGNED *PINITCB16;
  660. typedef struct _GETSTDCBLS16 { /* k71 */
  661. DWORD CBID;
  662. DWORD pfnTarg16;
  663. } GETSTDCBLS16;
  664. typedef GETSTDCBLS16 UNALIGNED *PGETSTDCBLS16;
  665. typedef struct _GETSTDCBSL16 { /* k72 */
  666. DWORD CBID;
  667. DWORD pfnTarg32;
  668. } GETSTDCBSL16;
  669. typedef GETSTDCBSL16 UNALIGNED *PGETSTDCBSL16;
  670. typedef struct _GETEXISTINGSTDCBLS16 { /* k73 */
  671. DWORD CBID;
  672. DWORD pfnTarg16;
  673. } GETEXISTINGSTDCBLS16;
  674. typedef GETEXISTINGSTDCBLS16 UNALIGNED *PGETEXISTINGSTDCBLS16;
  675. typedef struct _GETEXISTINGSTDCBSL16 { /* k74 */
  676. DWORD CBID;
  677. DWORD pfnTarg32;
  678. } GETEXISTINGSTDCBSL16;
  679. typedef GETEXISTINGSTDCBSL16 UNALIGNED *PGETEXISTINGSTDCBSL16;
  680. typedef struct _GETFLEXCBSL16 { /* k75 */
  681. DWORD pfnThunk;
  682. DWORD pfnTarg32;
  683. } GETFLEXCBSL16;
  684. typedef GETFLEXCBSL16 UNALIGNED *PGETFLEXCBSL16;
  685. typedef struct _GETSTDCBLSEX16 { /* k76 */
  686. WORD wOwner;
  687. DWORD CBID;
  688. DWORD pfnTarg16;
  689. } GETSTDCBLSEX16;
  690. typedef GETSTDCBLSEX16 UNALIGNED *PGETSTDCBLSEX16;
  691. typedef struct _GETSTDCBSLEX16 { /* k77 */
  692. WORD wOwner;
  693. DWORD CBID;
  694. DWORD pfnTarg32;
  695. } GETSTDCBSLEX16;
  696. typedef GETSTDCBSLEX16 UNALIGNED *PGETSTDCBSLEX16;
  697. typedef struct _CALLBACK216 { /* k78 */
  698. WORD rgwArgs[1];
  699. } CALLBACK216;
  700. typedef CALLBACK216 UNALIGNED *PCALLBACK216;
  701. typedef struct _CALLBACK416 { /* k79 */
  702. WORD rgwArgs[2];
  703. } CALLBACK416;
  704. typedef CALLBACK416 UNALIGNED *PCALLBACK416;
  705. typedef struct _CALLBACK616 { /* k80 */
  706. WORD rgwArgs[3];
  707. } CALLBACK616;
  708. typedef CALLBACK616 UNALIGNED *PCALLBACK616;
  709. typedef struct _CALLBACK816 { /* k81 */
  710. WORD rgwArgs[4];
  711. } CALLBACK816;
  712. typedef CALLBACK816 UNALIGNED *PCALLBACK816;
  713. typedef struct _CALLBACK1016 { /* k82 */
  714. WORD rgwArgs[5];
  715. } CALLBACK1016;
  716. typedef CALLBACK1016 UNALIGNED *PCALLBACK1016;
  717. typedef struct _CALLBACK1216 { /* k83 */
  718. WORD rgwArgs[6];
  719. } CALLBACK1216;
  720. typedef CALLBACK1216 UNALIGNED *PCALLBACK1216;
  721. typedef struct _CALLBACK1416 { /* k84 */
  722. WORD rgwArgs[7];
  723. } CALLBACK1416;
  724. typedef CALLBACK1416 UNALIGNED *PCALLBACK1416;
  725. typedef struct _CALLBACK1616 { /* k85 */
  726. WORD rgwArgs[8];
  727. } CALLBACK1616;
  728. typedef CALLBACK1616 UNALIGNED *PCALLBACK1616;
  729. typedef struct _CALLBACK1816 { /* k86 */
  730. WORD rgwArgs[9];
  731. } CALLBACK1816;
  732. typedef CALLBACK1816 UNALIGNED *PCALLBACK1816;
  733. typedef struct _CALLBACK2016 { /* k87 */
  734. WORD rgwArgs[10];
  735. } CALLBACK2016;
  736. typedef CALLBACK2016 UNALIGNED *PCALLBACK2016;
  737. typedef struct _CALLBACK2216 { /* k88 */
  738. WORD rgwArgs[11];
  739. } CALLBACK2216;
  740. typedef CALLBACK2216 UNALIGNED *PCALLBACK2216;
  741. typedef struct _CALLBACK2416 { /* k89 */
  742. WORD rgwArgs[12];
  743. } CALLBACK2416;
  744. typedef CALLBACK2416 UNALIGNED *PCALLBACK2416;
  745. typedef struct _CALLBACK2616 { /* k90 */
  746. WORD rgwArgs[13];
  747. } CALLBACK2616;
  748. typedef CALLBACK2616 UNALIGNED *PCALLBACK2616;
  749. typedef struct _CALLBACK2816 { /* k91 */
  750. WORD rgwArgs[14];
  751. } CALLBACK2816;
  752. typedef CALLBACK2816 UNALIGNED *PCALLBACK2816;
  753. typedef struct _CALLBACK3016 { /* k92 */
  754. WORD rgwArgs[15];
  755. } CALLBACK3016;
  756. typedef CALLBACK3016 UNALIGNED *PCALLBACK3016;
  757. typedef struct _CALLBACK3216 { /* k93 */
  758. WORD rgwArgs[16];
  759. } CALLBACK3216;
  760. typedef CALLBACK3216 UNALIGNED *PCALLBACK3216;
  761. typedef struct _CALLBACK3416 { /* k94 */
  762. WORD rgwArgs[17];
  763. } CALLBACK3416;
  764. typedef CALLBACK3416 UNALIGNED *PCALLBACK3416;
  765. typedef struct _CALLBACK3616 { /* k95 */
  766. WORD rgwArgs[18];
  767. } CALLBACK3616;
  768. typedef CALLBACK3616 UNALIGNED *PCALLBACK3616;
  769. typedef struct _CALLBACK3816 { /* k96 */
  770. WORD rgwArgs[19];
  771. } CALLBACK3816;
  772. typedef CALLBACK3816 UNALIGNED *PCALLBACK3816;
  773. typedef struct _CALLBACK4016 { /* k97 */
  774. WORD rgwArgs[20];
  775. } CALLBACK4016;
  776. typedef CALLBACK4016 UNALIGNED *PCALLBACK4016;
  777. typedef struct _CALLBACK4216 { /* k98 */
  778. WORD rgwArgs[21];
  779. } CALLBACK4216;
  780. typedef CALLBACK4216 UNALIGNED *PCALLBACK4216;
  781. typedef struct _CALLBACK4416 { /* k99 */
  782. WORD rgwArgs[22];
  783. } CALLBACK4416;
  784. typedef CALLBACK4416 UNALIGNED *PCALLBACK4416;
  785. typedef struct _CALLBACK4616 { /* k100 */
  786. WORD rgwArgs[23];
  787. } CALLBACK4616;
  788. typedef CALLBACK4616 UNALIGNED *PCALLBACK4616;
  789. typedef struct _CALLBACK4816 { /* k101 */
  790. WORD rgwArgs[24];
  791. } CALLBACK4816;
  792. typedef CALLBACK4816 UNALIGNED *PCALLBACK4816;
  793. typedef struct _CALLBACK5016 { /* k102 */
  794. WORD rgwArgs[25];
  795. } CALLBACK5016;
  796. typedef CALLBACK5016 UNALIGNED *PCALLBACK5016;
  797. typedef struct _CALLBACK5216 { /* k103 */
  798. WORD rgwArgs[26];
  799. } CALLBACK5216;
  800. typedef CALLBACK5216 UNALIGNED *PCALLBACK5216;
  801. typedef struct _CALLBACK5416 { /* k104 */
  802. WORD rgwArgs[27];
  803. } CALLBACK5416;
  804. typedef CALLBACK5416 UNALIGNED *PCALLBACK5416;
  805. typedef struct _CALLBACK5616 { /* k105 */
  806. WORD rgwArgs[28];
  807. } CALLBACK5616;
  808. typedef CALLBACK5616 UNALIGNED *PCALLBACK5616;
  809. typedef struct _CALLBACK5816 { /* k106 */
  810. WORD rgwArgs[29];
  811. } CALLBACK5816;
  812. typedef CALLBACK5816 UNALIGNED *PCALLBACK5816;
  813. typedef struct _CALLBACK6016 { /* k107 */
  814. WORD rgwArgs[30];
  815. } CALLBACK6016;
  816. typedef CALLBACK6016 UNALIGNED *PCALLBACK6016;
  817. typedef struct _CALLBACK6216 { /* k108 */
  818. WORD rgwArgs[31];
  819. } CALLBACK6216;
  820. typedef CALLBACK6216 UNALIGNED *PCALLBACK6216;
  821. typedef struct _CALLBACK6416 { /* k109 */
  822. WORD rgwArgs[32];
  823. } CALLBACK6416;
  824. typedef CALLBACK6416 UNALIGNED *PCALLBACK6416;
  825. typedef struct _WOWFILEWRITE16 { /* k111 */
  826. DWORD lpSFT;
  827. DWORD lpPDB;
  828. DWORD bufsize;
  829. DWORD lpBuf;
  830. WORD fh;
  831. } WOWFILEWRITE16;
  832. typedef WOWFILEWRITE16 UNALIGNED *PWOWFILEWRITE16;
  833. typedef struct _WOWGETNEXTVDMCOMMAND16 { /* k112 */
  834. VPVOID lpWowInfo;
  835. } WOWGETNEXTVDMCOMMAND16;
  836. typedef WOWGETNEXTVDMCOMMAND16 UNALIGNED *PWOWGETNEXTVDMCOMMAND16;
  837. typedef struct _WOWFILELOCK16 { /* k113 */
  838. DWORD lpSFT;
  839. DWORD lpPDB;
  840. DWORD cbRegionLength;
  841. DWORD cbRegionOffset;
  842. WORD fh;
  843. WORD ax;
  844. } WOWFILELOCK16;
  845. typedef WOWFILELOCK16 UNALIGNED *PWOWFILELOCK16;
  846. typedef struct _WOWFREERESOURCE16 { /* k114 */
  847. HAND16 f1;
  848. } WOWFREERESOURCE16;
  849. typedef WOWFREERESOURCE16 UNALIGNED *PWOWFREERESOURCE16;
  850. typedef struct _WOWOUTPUTDEBUGSTRING16 { /* k115 */
  851. VPSTR vpString;
  852. } WOWOUTPUTDEBUGSTRING16;
  853. typedef WOWOUTPUTDEBUGSTRING16 UNALIGNED *PWOWOUTPUTDEBUGSTRING16;
  854. typedef struct _WOWINITTASK16 { /* k116 */
  855. DWORD dwExpWinVer;
  856. } WOWINITTASK16;
  857. typedef WOWINITTASK16 UNALIGNED *PWOWINITTASK16;
  858. typedef struct _WOWFILESETDATETIME16 { /* k118 */
  859. DWORD lpSFT;
  860. DWORD lpPDB;
  861. WORD date;
  862. WORD time;
  863. WORD fh;
  864. } WOWFILESETDATETIME16;
  865. typedef WOWFILESETDATETIME16 UNALIGNED *PWOWFILESETDATETIME16;
  866. typedef struct _WOWFILECREATE16 { /* k119 */
  867. DWORD lpSFT;
  868. DWORD lpPDB;
  869. WORD pszPathOffset;
  870. WORD pszPathSegment;
  871. WORD wAttributes;
  872. } WOWFILECREATE16;
  873. typedef WOWFILECREATE16 UNALIGNED *PWOWFILECREATE16;
  874. typedef struct _WOWDOSWOWINIT16 { /* k120 */
  875. VPVOID lpDosWowData;
  876. } WOWDOSWOWINIT16;
  877. typedef WOWDOSWOWINIT16 UNALIGNED *PWOWDOSWOWINIT16;
  878. typedef struct _WOWCHECKUSERGDI16 { /* k121 */
  879. WORD pszPathOffset;
  880. WORD pszPathSegment;
  881. } WOWCHECKUSERGDI16;
  882. typedef WOWCHECKUSERGDI16 UNALIGNED *PWOWCHECKUSERGDI16;
  883. typedef struct _WOWPARTYBYNUMBER16 { /* k122 */
  884. VPSZ psz;
  885. DWORD dw;
  886. } WOWPARTYBYNUMBER16;
  887. typedef WOWPARTYBYNUMBER16 UNALIGNED *PWOWPARTYBYNUMBER16;
  888. typedef struct _GETSHORTPATHNAME16 { /* k123 */
  889. WORD cchShortPath;
  890. VPSZ pszShortPath;
  891. VPSZ pszLongPath;
  892. } GETSHORTPATHNAME16;
  893. typedef GETSHORTPATHNAME16 UNALIGNED *PGETSHORTPATHNAME16;
  894. typedef struct _FINDANDRELEASEDIB16 { /* k124 */
  895. WORD wFunId;
  896. HAND16 hdib; /* handle which we are messing with */
  897. } FINDANDRELEASEDIB16;
  898. typedef FINDANDRELEASEDIB16 UNALIGNED *PFINDANDRELEASEDIB16;
  899. typedef struct _WOWRESERVEHTASK16 { /* k125 */
  900. WORD htask;
  901. } WOWRESERVEHTASK16;
  902. typedef WOWRESERVEHTASK16 UNALIGNED *PWOWRESERVEHTASK16;
  903. typedef struct _WOWFILESETATTRIBUTES16 { /* k126 */
  904. WORD pszPathOffset;
  905. WORD pszPathSegment;
  906. WORD wAttributes;
  907. } WOWFILESETATTRIBUTES16;
  908. typedef WOWFILESETATTRIBUTES16 UNALIGNED *PWOWFILESETATTRIBUTES16;
  909. typedef struct _GETPRIVATEPROFILEINT16 { /* k127 */
  910. VPSTR f4;
  911. SHORT f3;
  912. VPSTR f2;
  913. VPSTR f1;
  914. } GETPRIVATEPROFILEINT16;
  915. typedef GETPRIVATEPROFILEINT16 UNALIGNED *PGETPRIVATEPROFILEINT16;
  916. typedef struct _GETPRIVATEPROFILESTRING16 { /* k128 */
  917. VPSTR f6;
  918. USHORT f5;
  919. VPSTR f4;
  920. VPSTR f3;
  921. VPSTR f2;
  922. VPSTR f1;
  923. } GETPRIVATEPROFILESTRING16;
  924. typedef GETPRIVATEPROFILESTRING16 UNALIGNED *PGETPRIVATEPROFILESTRING16;
  925. typedef struct _WRITEPRIVATEPROFILESTRING16 { /* k129 */
  926. VPSTR f4;
  927. VPSTR f3;
  928. VPSTR f2;
  929. VPSTR f1;
  930. } WRITEPRIVATEPROFILESTRING16;
  931. typedef WRITEPRIVATEPROFILESTRING16 UNALIGNED *PWRITEPRIVATEPROFILESTRING16;
  932. typedef struct _WOWSETCURRENTDIRECTORY16 { /* k130 */
  933. DWORD lpCurDir;
  934. } WOWSETCURRENTDIRECTORY16;
  935. typedef WOWSETCURRENTDIRECTORY16 UNALIGNED *PWOWSETCURRENTDIRECTORY16;
  936. typedef struct _WOWWAITFORMSGANDEVENT16 { /* k131 */
  937. HWND16 hwnd;
  938. } WOWWAITFORMSGANDEVENT16;
  939. typedef WOWWAITFORMSGANDEVENT16 UNALIGNED *PWOWWAITFORMSGANDEVENT16;
  940. typedef struct _WOWMSGBOX16 { /* k132 */
  941. DWORD dwOptionalStyle;
  942. VPSZ pszTitle;
  943. VPSZ pszMsg;
  944. } WOWMSGBOX16;
  945. typedef WOWMSGBOX16 UNALIGNED *PWOWMSGBOX16;
  946. typedef struct _WOWDEVICEIOCTL16 { /* k135 */
  947. WORD wCmd;
  948. WORD wDriveNum;
  949. } WOWDEVICEIOCTL16;
  950. typedef WOWDEVICEIOCTL16 UNALIGNED *PWOWDEVICEIOCTL16;
  951. typedef struct _GETDRIVETYPE16 { /* k136 */
  952. SHORT f1;
  953. } GETDRIVETYPE16;
  954. typedef GETDRIVETYPE16 UNALIGNED *PGETDRIVETYPE16;
  955. typedef struct _WOWFILEGETDATETIME16 { /* k137 */
  956. DWORD lpSFT;
  957. DWORD lpPDB;
  958. WORD fh;
  959. } WOWFILEGETDATETIME16;
  960. typedef WOWFILEGETDATETIME16 UNALIGNED *PWOWFILEGETDATETIME16;
  961. typedef struct _SETAPPCOMPATFLAGS16 { /* k139 */
  962. WORD TDB;
  963. } SETAPPCOMPATFLAGS16;
  964. typedef SETAPPCOMPATFLAGS16 UNALIGNED *PSETAPPCOMPATFLAGS16;
  965. typedef struct _WOWREGISTERSHELLWINDOWHANDLE16 { /* k139 */
  966. HWND16 hwndFax;
  967. VPWORD lpwCmdShow;
  968. HWND16 hwndShell;
  969. } WOWREGISTERSHELLWINDOWHANDLE16;
  970. typedef WOWREGISTERSHELLWINDOWHANDLE16 UNALIGNED *PWOWREGISTERSHELLWINDOWHANDLE16;
  971. typedef struct _FREELIBRARY32W16 { /* k140 */
  972. DWORD hLibModule;
  973. } FREELIBRARY32W16;
  974. typedef FREELIBRARY32W16 UNALIGNED *PFREELIBRARY32W16;
  975. typedef struct _GETPROCADDRESS32W16 { /* k141 */
  976. VPVOID lpszProc;
  977. DWORD hModule;
  978. } GETPROCADDRESS32W16;
  979. typedef GETPROCADDRESS32W16 UNALIGNED *PGETPROCADDRESS32W16;
  980. typedef struct _GETPROFILESECTIONNAMES16 { /* k142 */
  981. WORD cbBuffer;
  982. VPSTR lpszBuffer;
  983. } GETPROFILESECTIONNAMES16;
  984. typedef GETPROFILESECTIONNAMES16 UNALIGNED *PGETPROFILESECTIONNAMES16;
  985. typedef struct _GETPRIVATEPROFILESECTIONNAMES16 { /* k143 */
  986. VPSTR lpszFile;
  987. WORD cbBuffer;
  988. VPSTR lpszBuffer;
  989. } GETPRIVATEPROFILESECTIONNAMES16;
  990. typedef GETPRIVATEPROFILESECTIONNAMES16 UNALIGNED *PGETPRIVATEPROFILESECTIONNAMES16;
  991. typedef struct _CREATEDIRECTORY16 { /* k144 */
  992. VPVOID lpSA;
  993. VPSTR lpszName;
  994. } CREATEDIRECTORY16;
  995. typedef CREATEDIRECTORY16 UNALIGNED *PCREATEDIRECTORY16;
  996. typedef struct _REMOVEDIRECTORY16 { /* k145 */
  997. VPSTR lpszName;
  998. } REMOVEDIRECTORY16;
  999. typedef REMOVEDIRECTORY16 UNALIGNED *PREMOVEDIRECTORY16;
  1000. typedef struct _DELETEFILE16 { /* k146 */
  1001. VPSTR lpszName;
  1002. } DELETEFILE16;
  1003. typedef DELETEFILE16 UNALIGNED *PDELETEFILE16;
  1004. typedef struct _SETLASTERROR16 { /* k147 */
  1005. DWORD dwError;
  1006. } SETLASTERROR16;
  1007. typedef SETLASTERROR16 UNALIGNED *PSETLASTERROR16;
  1008. #ifdef NULLSTRUCT
  1009. typedef struct _GETLASTERROR16 { /* k148 */
  1010. } GETLASTERROR16;
  1011. typedef GETLASTERROR16 UNALIGNED *PGETLASTERROR16;
  1012. #endif
  1013. typedef struct _GETVERSIONEX16 { /* k149 */
  1014. VPVOID lpVersionInfo;
  1015. } GETVERSIONEX16;
  1016. typedef GETVERSIONEX16 UNALIGNED *PGETVERSIONEX16;
  1017. typedef struct _DIRECTEDYIELD16 { /* k150 */
  1018. WORD hTask16;
  1019. } DIRECTEDYIELD16;
  1020. typedef DIRECTEDYIELD16 UNALIGNED *PDIRECTEDYIELD16;
  1021. typedef struct _WOWFILEREAD16 { /* k151 */
  1022. DWORD lpSFT;
  1023. DWORD lpPDB;
  1024. DWORD bufsize;
  1025. DWORD lpBuf;
  1026. WORD fh;
  1027. } WOWFILEREAD16;
  1028. typedef WOWFILEREAD16 UNALIGNED *PWOWFILEREAD16;
  1029. typedef struct _WOWFILELSEEK16 { /* k152 */
  1030. DWORD lpSFT;
  1031. DWORD lpPDB;
  1032. WORD mode;
  1033. DWORD fileOffset;
  1034. WORD fh;
  1035. } WOWFILELSEEK16;
  1036. typedef WOWFILELSEEK16 UNALIGNED *PWOWFILELSEEK16;
  1037. typedef struct _WOWKERNELTRACE16 { /* k153 */
  1038. DWORD lpUserArgs;
  1039. WORD cParms;
  1040. VPSTR lpRoutineName;
  1041. } WOWKERNELTRACE16;
  1042. typedef WOWKERNELTRACE16 UNALIGNED *PWOWKERNELTRACE16;
  1043. typedef struct _LOADLIBRARYEX32W16 { /* k154 */
  1044. DWORD dwFlags;
  1045. DWORD hFile;
  1046. VPVOID lpszLibFile;
  1047. } LOADLIBRARYEX32W16;
  1048. typedef LOADLIBRARYEX32W16 UNALIGNED *PLOADLIBRARYEX32W16;
  1049. typedef struct _WOWQUERYPERFORMANCECOUNTER16 { /* k155 */
  1050. VPVOID lpPerformanceFrequency;
  1051. VPVOID lpPerformanceCounter;
  1052. } WOWQUERYPERFORMANCECOUNTER16;
  1053. typedef WOWQUERYPERFORMANCECOUNTER16 UNALIGNED *PWOWQUERYPERFORMANCECOUNTER16;
  1054. typedef struct _WOWCURSORICONOP16 { /* k156 */
  1055. WORD wFuncId;
  1056. WORD h16;
  1057. } WOWCURSORICONOP16;
  1058. typedef WOWCURSORICONOP16 UNALIGNED *PWOWCURSORICONOP16;
  1059. typedef struct _WOWCLOSECOMPORT16 { /* k159 */
  1060. WORD wPortId;
  1061. } WOWCLOSECOMPORT16;
  1062. typedef WOWCLOSECOMPORT16 UNALIGNED *PWOWCLOSECOMPORT16;
  1063. typedef struct _LOCAL32INIT16 { /* k160 */
  1064. DWORD dwFlags;
  1065. DWORD dwcbMax;
  1066. DWORD dwcbInit;
  1067. WORD wSel;
  1068. } LOCAL32INIT16;
  1069. typedef LOCAL32INIT16 UNALIGNED *PLOCAL32INIT16;
  1070. typedef struct _LOCAL32ALLOC16 { /* k161 */
  1071. DWORD dwFlags;
  1072. WORD wType;
  1073. DWORD dwcbRequest;
  1074. WORD wSel;
  1075. } LOCAL32ALLOC16;
  1076. typedef LOCAL32ALLOC16 UNALIGNED *PLOCAL32ALLOC16;
  1077. typedef struct _LOCAL32REALLOC16 { /* k162 */
  1078. DWORD dwFlags;
  1079. DWORD dwcbNew;
  1080. WORD wType;
  1081. DWORD dwMem;
  1082. DWORD dwLinHeader;
  1083. } LOCAL32REALLOC16;
  1084. typedef LOCAL32REALLOC16 UNALIGNED *PLOCAL32REALLOC16;
  1085. typedef struct _LOCAL32FREE16 { /* k163 */
  1086. WORD wType;
  1087. DWORD dwMem;
  1088. DWORD dwLinHeader;
  1089. } LOCAL32FREE16;
  1090. typedef LOCAL32FREE16 UNALIGNED *PLOCAL32FREE16;
  1091. typedef struct _LOCAL32TRANSLATE16 { /* k164 */
  1092. WORD wRetType;
  1093. WORD wMemType;
  1094. DWORD dwMem;
  1095. DWORD dwLinHeader;
  1096. } LOCAL32TRANSLATE16;
  1097. typedef LOCAL32TRANSLATE16 UNALIGNED *PLOCAL32TRANSLATE16;
  1098. typedef struct _LOCAL32SIZE16 { /* k165 */
  1099. WORD wType;
  1100. DWORD dwMem;
  1101. DWORD dwLinHeader;
  1102. } LOCAL32SIZE16;
  1103. typedef LOCAL32SIZE16 UNALIGNED *PLOCAL32SIZE16;
  1104. typedef struct _LOCAL32VALIDHANDLE16 { /* k166 */
  1105. WORD hMem;
  1106. DWORD dwLinHeader;
  1107. } LOCAL32VALIDHANDLE16;
  1108. typedef LOCAL32VALIDHANDLE16 UNALIGNED *PLOCAL32VALIDHANDLE16;
  1109. typedef struct _REGENUMKEY3216 { /* k167 */
  1110. DWORD cchName;
  1111. VPSTR lpszName;
  1112. DWORD iSubKey;
  1113. DWORD hKey;
  1114. } REGENUMKEY3216;
  1115. typedef REGENUMKEY3216 UNALIGNED *PREGENUMKEY3216;
  1116. typedef struct _REGOPENKEY3216 { /* k168 */
  1117. VPVOID phkResult;
  1118. VPSTR lpszSubKey;
  1119. DWORD hKey;
  1120. } REGOPENKEY3216;
  1121. typedef REGOPENKEY3216 UNALIGNED *PREGOPENKEY3216;
  1122. typedef struct _REGCREATEKEY3216 { /* k169 */
  1123. VPVOID phkResult;
  1124. VPSTR lpszSubKey;
  1125. DWORD hKey;
  1126. } REGCREATEKEY3216;
  1127. typedef REGCREATEKEY3216 UNALIGNED *PREGCREATEKEY3216;
  1128. typedef struct _REGDELETEKEY3216 { /* k170 */
  1129. VPSTR lpszSubKey;
  1130. DWORD hKey;
  1131. } REGDELETEKEY3216;
  1132. typedef REGDELETEKEY3216 UNALIGNED *PREGDELETEKEY3216;
  1133. typedef struct _REGCLOSEKEY3216 { /* k171 */
  1134. DWORD hKey;
  1135. } REGCLOSEKEY3216;
  1136. typedef REGCLOSEKEY3216 UNALIGNED *PREGCLOSEKEY3216;
  1137. typedef struct _REGSETVALUE3216 { /* k172 */
  1138. DWORD cbValue;
  1139. VPSTR lpValue;
  1140. DWORD dwType;
  1141. VPSTR lpszSubKey;
  1142. DWORD hKey;
  1143. } REGSETVALUE3216;
  1144. typedef REGSETVALUE3216 UNALIGNED *PREGSETVALUE3216;
  1145. typedef struct _REGDELETEVALUE3216 { /* k173 */
  1146. VPSTR lpszValue;
  1147. DWORD hKey;
  1148. } REGDELETEVALUE3216;
  1149. typedef REGDELETEVALUE3216 UNALIGNED *PREGDELETEVALUE3216;
  1150. typedef struct _REGENUMVALUE3216 { /* k174 */
  1151. VPVOID lpcbData;
  1152. VPVOID lpbData;
  1153. DWORD lpdwType;
  1154. DWORD lpdwReserved;
  1155. DWORD lpcchValue;
  1156. VPSTR lpszValue;
  1157. DWORD iValue;
  1158. DWORD hKey;
  1159. } REGENUMVALUE3216;
  1160. typedef REGENUMVALUE3216 UNALIGNED *PREGENUMVALUE3216;
  1161. typedef struct _WOWLFNFRAMEPTR16 { /* k204 */
  1162. VPVOID lpUserFrame;
  1163. } WOWLFNFRAMEPTR16;
  1164. typedef WOWLFNFRAMEPTR16 UNALIGNED *PWOWLFNFRAMEPTR16;
  1165. typedef struct _REGQUERYVALUE3216 { /* k175 */
  1166. DWORD cbValue;
  1167. VPSTR lpValue;
  1168. VPSTR lpszSubKey;
  1169. DWORD hKey;
  1170. } REGQUERYVALUE3216;
  1171. typedef REGQUERYVALUE3216 UNALIGNED *PREGQUERYVALUE3216;
  1172. typedef struct _REGQUERYVALUEEX3216 { /* k176 */
  1173. DWORD cbBuffer;
  1174. VPSTR lpBuffer;
  1175. VPDWORD vpdwType;
  1176. VPDWORD vpdwReserved;
  1177. VPSTR lpszValue;
  1178. DWORD hKey;
  1179. } REGQUERYVALUEEX3216;
  1180. typedef REGQUERYVALUEEX3216 UNALIGNED *PREGQUERYVALUEEX3216;
  1181. typedef struct _REGSETVALUEEX3216 { /* k177 */
  1182. DWORD cbBuffer;
  1183. VPSTR lpBuffer;
  1184. DWORD dwType;
  1185. DWORD dwReserved;
  1186. VPSTR lpszValue;
  1187. DWORD hKey;
  1188. } REGSETVALUEEX3216;
  1189. typedef REGSETVALUEEX3216 UNALIGNED *PREGSETVALUEEX3216;
  1190. typedef struct _REGFLUSHKEY3216 { /* k178 */
  1191. DWORD hKey;
  1192. } REGFLUSHKEY3216;
  1193. typedef REGFLUSHKEY3216 UNALIGNED *PREGFLUSHKEY3216;
  1194. typedef struct _COMPUTEOBJECTOWNER16 { /* k179 */
  1195. WORD wSel;
  1196. } COMPUTEOBJECTOWNER16;
  1197. typedef COMPUTEOBJECTOWNER16 UNALIGNED *PCOMPUTEOBJECTOWNER16;
  1198. typedef struct _LOCAL32GETSEL16 { /* k180 */
  1199. DWORD dwLinHeader;
  1200. } LOCAL32GETSEL16;
  1201. typedef LOCAL32GETSEL16 UNALIGNED *PLOCAL32GETSEL16;
  1202. typedef struct _MAPPROCESSHANDLE16 { /* k181 */
  1203. DWORD dwHandle;
  1204. } MAPPROCESSHANDLE16;
  1205. typedef MAPPROCESSHANDLE16 UNALIGNED *PMAPPROCESSHANDLE16;
  1206. #ifdef NULLSTRUCT
  1207. typedef struct _INVALIDATENLSCACHE16 { /* k182 */
  1208. } INVALIDATENLSCACHE16;
  1209. typedef INVALIDATENLSCACHE16 UNALIGNED *PINVALIDATENLSCACHE16;
  1210. #endif
  1211. typedef struct _WOWDELFILE16 { /* k183 */
  1212. VPSTR lpFile;
  1213. } WOWDELFILE16;
  1214. typedef WOWDELFILE16 UNALIGNED *PWOWDELFILE16;
  1215. #ifdef RENAMEVIRTUAL
  1216. typedef struct _WOWVIRTUALALLOC16 { /* k184 */
  1217. DWORD fdwProtect;
  1218. DWORD fdwAllocationType;
  1219. DWORD cbSize;
  1220. DWORD lpvAddress;
  1221. } WOWVIRTUALALLOC16;
  1222. typedef WOWVIRTUALALLOC16 UNALIGNED *PWOWVIRTUALALLOC16;
  1223. typedef struct _WOWVIRTUALFREE16 { /* k185 */
  1224. DWORD fdwFreeType;
  1225. DWORD cbSize;
  1226. DWORD lpvAddress;
  1227. } WOWVIRTUALFREE16;
  1228. typedef WOWVIRTUALFREE16 UNALIGNED *PWOWVIRTUALFREE16;
  1229. #else // RENAMEVIRTUAL
  1230. typedef struct _VIRTUALALLOC16 { /* k184 */
  1231. DWORD fdwProtect;
  1232. DWORD fdwAllocationType;
  1233. DWORD cbSize;
  1234. DWORD lpvAddress;
  1235. } VIRTUALALLOC16;
  1236. typedef VIRTUALALLOC16 UNALIGNED *PVIRTUALALLOC16;
  1237. typedef struct _VIRTUALFREE16 { /* k185 */
  1238. DWORD fdwFreeType;
  1239. DWORD cbSize;
  1240. DWORD lpvAddress;
  1241. } VIRTUALFREE16;
  1242. typedef VIRTUALFREE16 UNALIGNED *PVIRTUALFREE16;
  1243. #endif // else renamevirtual
  1244. typedef struct _VIRTUALLOCK16 { /* k186 */
  1245. DWORD cbSize;
  1246. DWORD lpvAddress;
  1247. } VIRTUALLOCK16;
  1248. typedef VIRTUALLOCK16 UNALIGNED *PVIRTUALLOCK16;
  1249. typedef struct _VIRTUALUNLOCK16 { /* k187 */
  1250. DWORD cbSize;
  1251. DWORD lpvAddress;
  1252. } VIRTUALUNLOCK16;
  1253. typedef VIRTUALUNLOCK16 UNALIGNED *PVIRTUALUNLOCK16;
  1254. typedef struct _GLOBALMEMORYSTATUS16 { /* k188 */
  1255. VPVOID lpmstMemStat;
  1256. } GLOBALMEMORYSTATUS16;
  1257. typedef GLOBALMEMORYSTATUS16 UNALIGNED *PGLOBALMEMORYSTATUS16;
  1258. typedef struct _WOWGETTABLEOFFSETS16 { /* k190 */
  1259. VPVOID vpThunkTableOffsets;
  1260. } WOWGETTABLEOFFSETS16;
  1261. typedef WOWGETTABLEOFFSETS16 UNALIGNED *PWOWGETTABLEOFFSETS16;
  1262. typedef struct _WOWKILLREMOTETASK16 { /* k191 */
  1263. VPVOID lpBuffer;
  1264. } WOWKILLREMOTETASK16;
  1265. typedef WOWKILLREMOTETASK16 UNALIGNED *PWOWKILLREMOTETASK16;
  1266. typedef struct _WOWNOTIFYWOW3216 { /* k192 */
  1267. VPVOID Int21Handler;
  1268. VPVOID lpnum_tasks;
  1269. VPVOID lpcurTDB;
  1270. VPVOID lpDebugWOW;
  1271. VPVOID lpLockTDB;
  1272. VPVOID lptopPDB;
  1273. VPVOID lpCurDirOwner;
  1274. } WOWNOTIFYWOW3216;
  1275. typedef WOWNOTIFYWOW3216 UNALIGNED *PWOWNOTIFYWOW3216;
  1276. typedef struct _WOWFILEOPEN16 { /* k193 */
  1277. DWORD lpSFT;
  1278. DWORD lpPDB;
  1279. WORD wAccess;
  1280. WORD pszPathOffset;
  1281. WORD pszPathSegment;
  1282. } WOWFILEOPEN16;
  1283. typedef WOWFILEOPEN16 UNALIGNED *PWOWFILEOPEN16;
  1284. typedef struct _WOWFILECLOSE16 { /* k194 */
  1285. DWORD lpSFT;
  1286. DWORD lpPDB;
  1287. WORD hFile;
  1288. } WOWFILECLOSE16;
  1289. typedef WOWFILECLOSE16 UNALIGNED *PWOWFILECLOSE16;
  1290. typedef struct _KSYSERRORBOX16 { /* k196 */
  1291. SHORT sBtn3;
  1292. SHORT sBtn2;
  1293. SHORT sBtn1;
  1294. VPSZ vpszCaption;
  1295. VPSZ vpszText;
  1296. } KSYSERRORBOX16;
  1297. typedef KSYSERRORBOX16 UNALIGNED *PKSYSERRORBOX16;
  1298. typedef struct _WOWISKNOWNDLL16 { /* k197 */
  1299. VPVOID lplpszKnownDLLPath;
  1300. VPVOID lpszPath;
  1301. } WOWISKNOWNDLL16;
  1302. typedef struct _WOWDDEFREEHANDLE16 { /* k198 */
  1303. WORD h16;
  1304. } WOWDDEFREEHANDLE16;
  1305. typedef WOWDDEFREEHANDLE16 UNALIGNED *PWOWDDEFREEHANDLE16;
  1306. typedef struct _WOWFILEGETATTRIBUTES16 { /* k199 */
  1307. WORD pszPathOffset;
  1308. WORD pszPathSegment;
  1309. } WOWFILEGETATTRIBUTES16;
  1310. typedef WOWFILEGETATTRIBUTES16 UNALIGNED *PWOWFILEGETATTRIBUTES16;
  1311. typedef struct _WOWSETDEFAULTDRIVE16 { /* k200 */
  1312. WORD wDriveNum;
  1313. } WOWSETDEFAULTDRIVE16;
  1314. typedef WOWSETDEFAULTDRIVE16 UNALIGNED *PWOWSETDEFAULTDRIVE16;
  1315. typedef struct _WOWGETCURRENTDIRECTORY16 { /* k201 */
  1316. DWORD lpCurDir;
  1317. WORD wDriveNum;
  1318. } WOWGETCURRENTDIRECTORY16;
  1319. typedef WOWGETCURRENTDIRECTORY16 UNALIGNED *PWOWGETCURRENTDIRECTORY16;
  1320. typedef struct _GETPRODUCTNAME16 { /* k202 */
  1321. WORD cbBuffer;
  1322. VPSTR lpBuffer;
  1323. } GETPRODUCTNAME16;
  1324. typedef GETPRODUCTNAME16 UNALIGNED *PGETPRODUCTNAME16;
  1325. #ifdef NULLSTRUCT
  1326. typedef struct _ISSAFEMODE16 { /* k203 */
  1327. } ISSAFEMODE16;
  1328. typedef ISSAFEMODE16 UNALIGNED *PISSAFEMODE16;
  1329. #endif
  1330. typedef struct _WOWSHUTDOWNTIMER16 { /* k205 */
  1331. WORD fEnable;
  1332. } WOWSHUTDOWNTIMER16;
  1333. typedef WOWSHUTDOWNTIMER16 UNALIGNED *PWOWSHUTDOWNTIMER16;
  1334. #ifdef NULLSTRUCT
  1335. typedef struct _WOWTRIMWORKINGSET16 { /* k206 */
  1336. } WOWTRIMWORKINGSET16;
  1337. typedef WOWTRIMWORKINGSET16 UNALIGNED *PWOWTRIMWORKINGSET16;
  1338. #endif
  1339. #ifdef FE_SB
  1340. #ifdef NULLSTRUCT
  1341. typedef struct _GETSYSTEMDEFAULTLANGID16 { /* k207 */
  1342. } GETSYSTEMDEFAULTLANGID16;
  1343. typedef GETSYSTEMDEFAULTLANGID16 UNALIGNED *PGETSYSTEMDEFAULTLANGID16;
  1344. #endif
  1345. #endif
  1346. typedef struct _TERMSRVGETWINDIR16 { /* k208 */
  1347. WORD usPathLen;
  1348. WORD pszPathOffset;
  1349. WORD pszPathSegment;
  1350. } TERMSRVGETWINDIR16;
  1351. typedef TERMSRVGETWINDIR16 UNALIGNED *PTERMSRVGETWINDIR16;
  1352. /*
  1353. typedef struct _WOWGETCURRENTDIRECTORYLONG16 { // k209
  1354. DWORD lpCurDir;
  1355. WORD wDriveNum;
  1356. WORD cchDir;
  1357. } WOWGETCURRENTDIRECTORYLONG16;
  1358. typedef WOWGETCURRENTDIRECTORYLONG16 UNALIGNED *PWOWGETCURRENTDIRECTORYLONG16;
  1359. */
  1360. typedef struct _WOWPASSENVIRONMENT16 { /* k209 */
  1361. WORD pExe; // pointer to exe header
  1362. DWORD pParmBlk; // parameter block
  1363. WORD cur_DOS_PDB; // dos pdb
  1364. // WORD Win_PDB; // windows pdb not necessary for now
  1365. } WOWPASSENVIRONMENT16;
  1366. typedef WOWPASSENVIRONMENT16 UNALIGNED *PWOWPASSENVIRONMENT16;
  1367. typedef struct _VWIN32 { /* k211 */
  1368. DWORD dwEDI;
  1369. DWORD dwESI;
  1370. DWORD dwEBP;
  1371. DWORD dwESP;
  1372. DWORD dwEBX;
  1373. DWORD dwEDX;
  1374. DWORD dwECX;
  1375. DWORD dwEAX;
  1376. WORD wSS;
  1377. WORD wUnused;
  1378. } VWIN32;
  1379. typedef VWIN32 UNALIGNED *PVWIN32;
  1380. typedef struct _STACKINT2F { /* k213 */
  1381. DWORD dwEDI;
  1382. DWORD dwESI;
  1383. DWORD dwEBP;
  1384. DWORD dwESP;
  1385. WORD wBX;
  1386. WORD wHBX;
  1387. DWORD dwEDX;
  1388. DWORD dwECX;
  1389. BYTE bAL;
  1390. BYTE bAH;
  1391. WORD wHAX;
  1392. WORD wES;
  1393. WORD wDS;
  1394. WORD wIP;
  1395. WORD wCS;
  1396. WORD wFlags;
  1397. } STACKINT2F;
  1398. typedef STACKINT2F UNALIGNED *PSTACKINT2F;
  1399. /* XLATOFF */
  1400. #pragma pack()
  1401. /* XLATON */