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.

403 lines
19 KiB

  1. /*++
  2. Copyright (c) 2001 Microsoft Corporation
  3. Module Name:
  4. apimap.c
  5. Abstract:
  6. A table containing API categorization to help in logging.
  7. Author:
  8. 03-May-2001 KenCoope
  9. Revision History:
  10. --*/
  11. //
  12. // API Categories
  13. //
  14. API_CATEGORY Wow64ApiCategories[] =
  15. {
  16. { "ExecutiveFunctions", 0, WHNT32_INDEX },
  17. { "IoFunctions", 0, WHNT32_INDEX },
  18. { "KernelFunctions", 0, WHNT32_INDEX },
  19. { "LpcFunctions", 0, WHNT32_INDEX },
  20. { "MemoryFunctions", 0, WHNT32_INDEX },
  21. { "ObjectFunctions", 0, WHNT32_INDEX },
  22. { "PnpFunctions", 0, WHNT32_INDEX },
  23. { "PowerFunctions", 0, WHNT32_INDEX },
  24. { "ProcessFunctions", 0, WHNT32_INDEX },
  25. { "RegistryFunctions", 0, WHNT32_INDEX },
  26. { "SecurityFunctions", 0, WHNT32_INDEX },
  27. { "ExceptionFunctions", 0, WHNT32_INDEX },
  28. { "NtWow64CsrFunctions", 0, WHNT32_INDEX },
  29. { "BaseWow64CsrFunctions", 0, WHBASE_INDEX },
  30. { "UnclassifiedNtosKrnlFunctions", 0, WHNT32_INDEX },
  31. { "UnclassifiedConsoleFunctions", 0, WHCON_INDEX },
  32. { "UnclassifiedWin32Functions", 0, WHWIN32_INDEX },
  33. { "UnclassifiedBaseFunctions", 0, WHBASE_INDEX },
  34. // null terminating entry
  35. { NULL, 0 }
  36. };
  37. //
  38. // API Category Mappings
  39. //
  40. ULONG ApiCategoryMappingNextFree = (ULONG)(-1);
  41. API_CATEGORY_MAPPING Wow64ApiCategoryMappings[MAX_API_MAPPINGS] =
  42. {
  43. // NT Executive APIs (ntexapi.h)
  44. { "NtDelayExecution", APICAT_EXECUTIVE, 0 },
  45. { "NtQuerySystemEnvironmentValue", APICAT_EXECUTIVE, 0 },
  46. { "NtSetSystemEnvironmentValue", APICAT_EXECUTIVE, 0 },
  47. { "NtQuerySystemEnvironmentValueEx", APICAT_EXECUTIVE, 0 },
  48. { "NtSetSystemEnvironmentValueEx", APICAT_EXECUTIVE, 0 },
  49. { "NtEnumerateSystemEnvironmentValuesEx", APICAT_EXECUTIVE, 0 },
  50. { "NtAddBootEntry", APICAT_EXECUTIVE, 0 },
  51. { "NtDeleteBootEntry", APICAT_EXECUTIVE, 0 },
  52. { "NtModifyBootEntry", APICAT_EXECUTIVE, 0 },
  53. { "NtEnumerateBootEntries", APICAT_EXECUTIVE, 0 },
  54. { "NtQueryBootEntryOrder", APICAT_EXECUTIVE, 0 },
  55. { "NtSetBootEntryOrder", APICAT_EXECUTIVE, 0 },
  56. { "NtQueryBootOptions", APICAT_EXECUTIVE, 0 },
  57. { "NtSetBootOptions", APICAT_EXECUTIVE, 0 },
  58. { "NtTranslateFilePath", APICAT_EXECUTIVE, 0 },
  59. { "NtClearEvent", APICAT_EXECUTIVE, 0 },
  60. { "NtCreateEvent", APICAT_EXECUTIVE, 0 },
  61. { "NtOpenEvent", APICAT_EXECUTIVE, 0 },
  62. { "NtPulseEvent", APICAT_EXECUTIVE, 0 },
  63. { "NtQueryEvent", APICAT_EXECUTIVE, 0 },
  64. { "NtResetEvent", APICAT_EXECUTIVE, 0 },
  65. { "NtSetEvent", APICAT_EXECUTIVE, 0 },
  66. { "NtSetEventBoostPriority", APICAT_EXECUTIVE, 0 },
  67. { "NtCreateEventPair", APICAT_EXECUTIVE, 0 },
  68. { "NtOpenEventPair", APICAT_EXECUTIVE, 0 },
  69. { "NtWaitLowEventPair", APICAT_EXECUTIVE, 0 },
  70. { "NtWaitHighEventPair", APICAT_EXECUTIVE, 0 },
  71. { "NtSetLowWaitHighEventPair", APICAT_EXECUTIVE, 0 },
  72. { "NtSetHighWaitLowEventPair", APICAT_EXECUTIVE, 0 },
  73. { "NtSetLowEventPair", APICAT_EXECUTIVE, 0 },
  74. { "NtSetHighEventPair", APICAT_EXECUTIVE, 0 },
  75. { "NtCreateMutant", APICAT_EXECUTIVE, 0 },
  76. { "NtOpenMutant", APICAT_EXECUTIVE, 0 },
  77. { "NtQueryMutant", APICAT_EXECUTIVE, 0 },
  78. { "NtReleaseMutant", APICAT_EXECUTIVE, 0 },
  79. { "NtCreateSemaphore", APICAT_EXECUTIVE, 0 },
  80. { "NtOpenSemaphore", APICAT_EXECUTIVE, 0 },
  81. { "NtQuerySemaphore", APICAT_EXECUTIVE, 0 },
  82. { "NtReleaseSemaphore", APICAT_EXECUTIVE, 0 },
  83. { "NtCreateTimer", APICAT_EXECUTIVE, 0 },
  84. { "NtOpenTimer", APICAT_EXECUTIVE, 0 },
  85. { "NtCancelTimer", APICAT_EXECUTIVE, 0 },
  86. { "NtQueryTimer", APICAT_EXECUTIVE, 0 },
  87. { "NtSetTimer", APICAT_EXECUTIVE, 0 },
  88. { "NtQuerySystemTime", APICAT_EXECUTIVE, 0 },
  89. { "NtSetSystemTime", APICAT_EXECUTIVE, 0 },
  90. { "NtQueryTimerResolution", APICAT_EXECUTIVE, 0 },
  91. { "NtSetTimerResolution", APICAT_EXECUTIVE, 0 },
  92. { "NtAllocateLocallyUniqueId", APICAT_EXECUTIVE, 0 },
  93. { "NtSetUuidSeed", APICAT_EXECUTIVE, 0 },
  94. { "NtAllocateUuids", APICAT_EXECUTIVE, 0 },
  95. { "NtCreateProfile", APICAT_EXECUTIVE, 0 },
  96. { "NtStartProfile", APICAT_EXECUTIVE, 0 },
  97. { "NtStopProfile", APICAT_EXECUTIVE, 0 },
  98. { "NtSetIntervalProfile", APICAT_EXECUTIVE, 0 },
  99. { "NtQueryIntervalProfile", APICAT_EXECUTIVE, 0 },
  100. { "NtQueryPerformanceCounter", APICAT_EXECUTIVE, 0 },
  101. { "NtCreateKeyedEvent", APICAT_EXECUTIVE, 0 },
  102. { "NtOpenKeyedEvent", APICAT_EXECUTIVE, 0 },
  103. { "NtReleaseKeyedEvent", APICAT_EXECUTIVE, 0 },
  104. { "NtWaitForKeyedEvent", APICAT_EXECUTIVE, 0 },
  105. // { "NapClearData", APICAT_EXECUTIVE, 0 },
  106. // { "NapRetrieveData", APICAT_EXECUTIVE, 0 },
  107. // { "NapGetApiCount", APICAT_EXECUTIVE, 0 },
  108. // { "NapPause", APICAT_EXECUTIVE, 0 },
  109. // { "NapResume", APICAT_EXECUTIVE, 0 },
  110. { "NtQuerySystemInformation", APICAT_EXECUTIVE, 0 },
  111. { "NtSetSystemInformation", APICAT_EXECUTIVE, 0 },
  112. { "NtSystemDebugControl", APICAT_EXECUTIVE, 0 },
  113. { "NtRaiseHardError", APICAT_EXECUTIVE, 0 },
  114. { "NtGetTickCount", APICAT_EXECUTIVE, 0 },
  115. { "NtQueryDefaultLocale", APICAT_EXECUTIVE, 0 },
  116. { "NtSetDefaultLocale", APICAT_EXECUTIVE, 0 },
  117. { "NtQueryInstallUILanguage", APICAT_EXECUTIVE, 0 },
  118. { "NtQueryDefaultUILanguage", APICAT_EXECUTIVE, 0 },
  119. { "NtSetDefaultUILanguage", APICAT_EXECUTIVE, 0 },
  120. { "NtSetDefaultHardErrorPort", APICAT_EXECUTIVE, 0 },
  121. { "NtShutdownSystem", APICAT_EXECUTIVE, 0 },
  122. { "NtDisplayString", APICAT_EXECUTIVE, 0 },
  123. { "NtAddAtom", APICAT_EXECUTIVE, 0 },
  124. { "NtFindAtom", APICAT_EXECUTIVE, 0 },
  125. { "NtDeleteAtom", APICAT_EXECUTIVE, 0 },
  126. { "NtQueryInformationAtom", APICAT_EXECUTIVE, 0 },
  127. // NT Io APIs (ntioapi.h)
  128. { "NtCancelIoFile", APICAT_IO, 0 },
  129. { "NtCreateNamedPipeFile", APICAT_IO, 0 },
  130. { "NtCreateMailslotFile", APICAT_IO, 0 },
  131. { "NtDeleteFile", APICAT_IO, 0 },
  132. { "NtFlushBuffersFile", APICAT_IO, 0 },
  133. { "NtNotifyChangeDirectoryFile", APICAT_IO, 0 },
  134. { "NtQueryAttributesFile", APICAT_IO, 0 },
  135. { "NtQueryFullAttributesFile", APICAT_IO, 0 },
  136. { "NtQueryEaFile", APICAT_IO, 0 },
  137. { "NtCreateFile", APICAT_IO, 0 },
  138. { "NtDeviceIoControlFile", APICAT_IO, 0 },
  139. { "NtFsControlFile", APICAT_IO, 0 },
  140. { "NtLockFile", APICAT_IO, 0 },
  141. { "NtOpenFile", APICAT_IO, 0 },
  142. { "NtQueryDirectoryFile", APICAT_IO, 0 },
  143. { "NtQueryInformationFile", APICAT_IO, 0 },
  144. { "NtQueryQuotaInformationFile", APICAT_IO, 0 },
  145. { "NtQueryVolumeInformationFile", APICAT_IO, 0 },
  146. { "NtReadFile", APICAT_IO, 0 },
  147. { "NtSetInformationFile", APICAT_IO, 0 },
  148. { "NtSetQuotaInformationFile", APICAT_IO, 0 },
  149. { "NtSetVolumeInformationFile", APICAT_IO, 0 },
  150. { "NtWriteFile", APICAT_IO, 0 },
  151. { "NtUnlockFile", APICAT_IO, 0 },
  152. { "NtReadFile64", APICAT_IO, 0 },
  153. { "NtReadFileScatter", APICAT_IO, 0 },
  154. { "NtSetEaFile", APICAT_IO, 0 },
  155. { "NtWriteFile64", APICAT_IO, 0 },
  156. { "NtWriteFileGather", APICAT_IO, 0 },
  157. { "NtLoadDriver", APICAT_IO, 0 },
  158. { "NtUnloadDriver", APICAT_IO, 0 },
  159. { "NtCreateIoCompletion", APICAT_IO, 0 },
  160. { "NtOpenIoCompletion", APICAT_IO, 0 },
  161. { "NtQueryIoCompletion", APICAT_IO, 0 },
  162. { "NtSetIoCompletion", APICAT_IO, 0 },
  163. { "NtRemoveIoCompletion", APICAT_IO, 0 },
  164. // NT Kernel APIs (ntkeapi.h)
  165. { "NtCallbackReturn", APICAT_KERNEL, 0 },
  166. { "NtQueryDebugFilterState", APICAT_KERNEL, 0 },
  167. { "NtSetDebugFilterState", APICAT_KERNEL, 0 },
  168. { "NtW32Call", APICAT_KERNEL, 0 },
  169. { "NtYieldExecution", APICAT_KERNEL, 0 },
  170. // NT LPC APIs (ntlpcapi.h)
  171. { "NtCreatePort", APICAT_LPC, 0 },
  172. { "NtCreateWaitablePort", APICAT_LPC, 0 },
  173. { "NtConnectPort", APICAT_LPC, 0 },
  174. { "NtSecureConnectPort", APICAT_LPC, 0 },
  175. { "NtListenPort", APICAT_LPC, 0 },
  176. { "NtAcceptConnectPort", APICAT_LPC, 0 },
  177. { "NtCompleteConnectPort", APICAT_LPC, 0 },
  178. { "NtRequestPort", APICAT_LPC, 0 },
  179. { "NtRequestWaitReplyPort", APICAT_LPC, 0 },
  180. { "NtReplyPort", APICAT_LPC, 0 },
  181. { "NtReplyWaitReplyPort", APICAT_LPC, 0 },
  182. { "NtReplyWaitReceivePort", APICAT_LPC, 0 },
  183. { "NtReplyWaitReceivePortEx", APICAT_LPC, 0 },
  184. { "NtImpersonateClientOfPort", APICAT_LPC, 0 },
  185. { "NtReadRequestData", APICAT_LPC, 0 },
  186. { "NtWriteRequestData", APICAT_LPC, 0 },
  187. { "NtQueryInformationPort", APICAT_LPC, 0 },
  188. // NT Memory APIs (ntmmapi.h)
  189. { "NtCreateSection", APICAT_MEMORY, 0 },
  190. { "NtOpenSection", APICAT_MEMORY, 0 },
  191. { "NtMapViewOfSection", APICAT_MEMORY, 0 },
  192. { "NtUnmapViewOfSection", APICAT_MEMORY, 0 },
  193. { "NtExtendSection", APICAT_MEMORY, 0 },
  194. { "NtAreMappedFilesTheSame", APICAT_MEMORY, 0 },
  195. { "NtAllocateVirtualMemory", APICAT_MEMORY, 0 },
  196. { "NtFreeVirtualMemory", APICAT_MEMORY, 0 },
  197. { "NtReadVirtualMemory", APICAT_MEMORY, 0 },
  198. { "NtWriteVirtualMemory", APICAT_MEMORY, 0 },
  199. { "NtFlushVirtualMemory", APICAT_MEMORY, 0 },
  200. { "NtLockVirtualMemory", APICAT_MEMORY, 0 },
  201. { "NtUnlockVirtualMemory", APICAT_MEMORY, 0 },
  202. { "NtProtectVirtualMemory", APICAT_MEMORY, 0 },
  203. { "NtQueryVirtualMemory", APICAT_MEMORY, 0 },
  204. { "NtQuerySection", APICAT_MEMORY, 0 },
  205. { "NtMapUserPhysicalPages", APICAT_MEMORY, 0 },
  206. { "NtMapUserPhysicalPagesScatter", APICAT_MEMORY, 0 },
  207. { "NtAllocateUserPhysicalPages", APICAT_MEMORY, 0 },
  208. { "NtFreeUserPhysicalPages", APICAT_MEMORY, 0 },
  209. { "NtGetWriteWatch", APICAT_MEMORY, 0 },
  210. { "NtResetWriteWatch", APICAT_MEMORY, 0 },
  211. { "NtCreatePagingFile", APICAT_MEMORY, 0 },
  212. { "NtFlushInstructionCache", APICAT_MEMORY, 0 },
  213. { "NtFlushWriteBuffer", APICAT_MEMORY, 0 },
  214. // NT Object Manager APIs (ntobapi.h)
  215. { "NtQueryObject", APICAT_OBJECT, 0 },
  216. { "NtSetInformationObject", APICAT_OBJECT, 0 },
  217. { "NtDuplicateObject", APICAT_OBJECT, 0 },
  218. { "NtMakeTemporaryObject", APICAT_OBJECT, 0 },
  219. { "NtMakePermanentObject", APICAT_OBJECT, 0 },
  220. { "NtSignalAndWaitForSingleObject", APICAT_OBJECT, 0 },
  221. { "NtWaitForSingleObject", APICAT_OBJECT, 0 },
  222. { "NtWaitForMultipleObjects", APICAT_OBJECT, 0 },
  223. { "NtSetSecurityObject", APICAT_OBJECT, 0 },
  224. { "NtQuerySecurityObject", APICAT_OBJECT, 0 },
  225. { "NtClose", APICAT_OBJECT, 0 },
  226. { "NtCreateDirectoryObject", APICAT_OBJECT, 0 },
  227. { "NtOpenDirectoryObject", APICAT_OBJECT, 0 },
  228. { "NtQueryDirectoryObject", APICAT_OBJECT, 0 },
  229. { "NtCreateSymbolicLinkObject", APICAT_OBJECT, 0 },
  230. { "NtOpenSymbolicLinkObject", APICAT_OBJECT, 0 },
  231. { "NtQuerySymbolicLinkObject", APICAT_OBJECT, 0 },
  232. // NT PnP APIs (ntpnpapi.h)
  233. { "NtGetPlugPlayEvent", APICAT_PNP, 0 },
  234. { "NtPlugPlayControl", APICAT_PNP, 0 },
  235. // NT Power APIs (ntpoapi.h)
  236. { "NtPowerInformation", APICAT_POWER, 0 },
  237. { "NtSetThreadExecutionState", APICAT_POWER, 0 },
  238. { "NtRequestWakeupLatency", APICAT_POWER, 0 },
  239. { "NtInitiatePowerAction", APICAT_POWER, 0 },
  240. { "NtSetSystemPowerState", APICAT_POWER, 0 },
  241. { "NtGetDevicePowerState", APICAT_POWER, 0 },
  242. { "NtCancelDeviceWakeupRequest", APICAT_POWER, 0 },
  243. { "NtIsSystemResumeAutomatic", APICAT_POWER, 0 },
  244. { "NtRequestDeviceWakeup", APICAT_POWER, 0 },
  245. // NT Process APIs (ntpsapi.h)
  246. { "NtCreateProcess", APICAT_PROCESS, 0 },
  247. { "NtCreateProcessEx", APICAT_PROCESS, 0 },
  248. { "NtOpenProcess", APICAT_PROCESS, 0 },
  249. { "NtTerminateProcess", APICAT_PROCESS, 0 },
  250. { "NtQueryInformationProcess", APICAT_PROCESS, 0 },
  251. { "NtSetInformationProcess", APICAT_PROCESS, 0 },
  252. { "NtCreateThread", APICAT_PROCESS, 0 },
  253. { "NtOpenThread", APICAT_PROCESS, 0 },
  254. { "NtTerminateThread", APICAT_PROCESS, 0 },
  255. { "NtSuspendThread", APICAT_PROCESS, 0 },
  256. { "NtResumeThread", APICAT_PROCESS, 0 },
  257. { "NtSuspendProcess", APICAT_PROCESS, 0 },
  258. { "NtResumeProcess", APICAT_PROCESS, 0 },
  259. { "NtGetContextThread", APICAT_PROCESS, 0 },
  260. { "NtSetContextThread", APICAT_PROCESS, 0 },
  261. { "NtQueryInformationThread", APICAT_PROCESS, 0 },
  262. { "NtSetInformationThread", APICAT_PROCESS, 0 },
  263. { "NtAlertThread", APICAT_PROCESS, 0 },
  264. { "NtAlertResumeThread", APICAT_PROCESS, 0 },
  265. { "NtImpersonateThread", APICAT_PROCESS, 0 },
  266. { "NtTestAlert", APICAT_PROCESS, 0 },
  267. { "NtRegisterThreadTerminatePort", APICAT_PROCESS, 0 },
  268. { "NtSetLdtEntries", APICAT_PROCESS, 0 },
  269. { "NtQueueApcThread", APICAT_PROCESS, 0 },
  270. { "NtCreateJobObject", APICAT_PROCESS, 0 },
  271. { "NtOpenJobObject", APICAT_PROCESS, 0 },
  272. { "NtAssignProcessToJobObject", APICAT_PROCESS, 0 },
  273. { "NtTerminateJobObject", APICAT_PROCESS, 0 },
  274. { "NtIsProcessInJob", APICAT_PROCESS, 0 },
  275. { "NtCreateJobSet", APICAT_PROCESS, 0 },
  276. { "NtQueryInformationJobObject", APICAT_PROCESS, 0 },
  277. { "NtSetInformationJobObject", APICAT_PROCESS, 0 },
  278. // NT Registry APIs (ntregapi.h)
  279. { "NtCreateKey", APICAT_REGISTRY, 0 },
  280. { "NtDeleteKey", APICAT_REGISTRY, 0 },
  281. { "NtDeleteValueKey", APICAT_REGISTRY, 0 },
  282. { "NtEnumerateKey", APICAT_REGISTRY, 0 },
  283. { "NtEnumerateValueKey", APICAT_REGISTRY, 0 },
  284. { "NtFlushKey", APICAT_REGISTRY, 0 },
  285. { "NtInitializeRegistry", APICAT_REGISTRY, 0 },
  286. { "NtNotifyChangeKey", APICAT_REGISTRY, 0 },
  287. { "NtNotifyChangeMultipleKeys", APICAT_REGISTRY, 0 },
  288. { "NtLoadKey", APICAT_REGISTRY, 0 },
  289. { "NtLoadKey2", APICAT_REGISTRY, 0 },
  290. { "NtOpenKey", APICAT_REGISTRY, 0 },
  291. { "NtQueryKey", APICAT_REGISTRY, 0 },
  292. { "NtQueryValueKey", APICAT_REGISTRY, 0 },
  293. { "NtQueryMultipleValueKey",APICAT_REGISTRY, 0 },
  294. { "NtReplaceKey", APICAT_REGISTRY, 0 },
  295. { "NtRenameKey", APICAT_REGISTRY, 0 },
  296. { "NtCompactKeys", APICAT_REGISTRY, 0 },
  297. { "NtCompressKey", APICAT_REGISTRY, 0 },
  298. { "NtRestoreKey", APICAT_REGISTRY, 0 },
  299. { "NtSaveKey", APICAT_REGISTRY, 0 },
  300. { "NtSaveKeyEx", APICAT_REGISTRY, 0 },
  301. { "NtSaveMergedKeys", APICAT_REGISTRY, 0 },
  302. { "NtSetValueKey", APICAT_REGISTRY, 0 },
  303. { "NtUnloadKey", APICAT_REGISTRY, 0 },
  304. { "NtUnloadKeyEx", APICAT_REGISTRY, 0 },
  305. { "NtSetInformationKey", APICAT_REGISTRY, 0 },
  306. { "NtQueryOpenSubKeys", APICAT_REGISTRY, 0 },
  307. { "NtLockRegistryKey", APICAT_REGISTRY, 0 },
  308. { "NtLockProductActivationKeys", APICAT_REGISTRY, 0 },
  309. // NT Security APIs (ntseapi.h)
  310. { "NtAccessCheck", APICAT_SECURITY, 0 },
  311. { "NtAccessCheckByType", APICAT_SECURITY, 0 },
  312. { "NtAccessCheckByTypeResultList", APICAT_SECURITY, 0 },
  313. { "NtCreateToken", APICAT_SECURITY, 0 },
  314. { "NtCompareTokens", APICAT_SECURITY, 0 },
  315. { "NtOpenThreadToken", APICAT_SECURITY, 0 },
  316. { "NtOpenThreadTokenEx", APICAT_SECURITY, 0 },
  317. { "NtOpenProcessToken", APICAT_SECURITY, 0 },
  318. { "NtOpenProcessTokenEx", APICAT_SECURITY, 0 },
  319. { "NtOpenJobObjectToken", APICAT_SECURITY, 0 },
  320. { "NtDuplicateToken", APICAT_SECURITY, 0 },
  321. { "NtFilterToken", APICAT_SECURITY, 0 },
  322. { "NtImpersonateAnonymousToken", APICAT_SECURITY, 0 },
  323. { "NtQueryInformationToken", APICAT_SECURITY, 0 },
  324. { "NtSetInformationToken", APICAT_SECURITY, 0 },
  325. { "NtAdjustPrivilegesToken", APICAT_SECURITY, 0 },
  326. { "NtAdjustGroupsToken", APICAT_SECURITY, 0 },
  327. { "NtPrivilegeCheck", APICAT_SECURITY, 0 },
  328. { "NtAccessCheckAndAuditAlarm", APICAT_SECURITY, 0 },
  329. { "NtAccessCheckByTypeAndAuditAlarm", APICAT_SECURITY, 0 },
  330. { "NtAccessCheckByTypeResultListAndAuditAlarm", APICAT_SECURITY, 0 },
  331. { "NtAccessCheckByTypeResultListAndAuditAlarmByHandle", APICAT_SECURITY, 0 },
  332. { "NtOpenObjectAuditAlarm", APICAT_SECURITY, 0 },
  333. { "NtPrivilegeObjectAuditAlarm", APICAT_SECURITY, 0 },
  334. { "NtCloseObjectAuditAlarm", APICAT_SECURITY, 0 },
  335. { "NtDeleteObjectAuditAlarm", APICAT_SECURITY, 0 },
  336. { "NtPrivilegedServiceAuditAlarm", APICAT_SECURITY, 0 },
  337. // NT Exception APIs (ntxcapi.h)
  338. { "NtContinue", APICAT_XCEPT, 0 },
  339. { "NtRaiseException", APICAT_XCEPT, 0 },
  340. // NT WOW64 CSR APIs
  341. { "NtWow64CsrClientConnectToServer", APICAT_NTWOW64, 0 },
  342. { "NtWow64CsrNewThread", APICAT_NTWOW64, 0 },
  343. { "NtWow64CsrIdentifyAlertableThread", APICAT_NTWOW64, 0 },
  344. { "NtWow64CsrClientCallServer", APICAT_NTWOW64, 0 },
  345. { "NtWow64CsrAllocateCaptureBuffer", APICAT_NTWOW64, 0 },
  346. { "NtWow64CsrFreeCaptureBuffer", APICAT_NTWOW64, 0 },
  347. { "NtWow64CsrAllocateMessagePointer", APICAT_NTWOW64, 0 },
  348. { "NtWow64CsrCaptureMessageBuffer", APICAT_NTWOW64, 0 },
  349. { "NtWow64CsrCaptureMessageString", APICAT_NTWOW64, 0 },
  350. { "NtWow64CsrSetPriorityClass", APICAT_NTWOW64, 0 },
  351. { "NtWow64CsrGetProcessId", APICAT_NTWOW64, 0 },
  352. { "NtWow64DebuggerCall", APICAT_NTWOW64, 0 },
  353. // BASE WOW64 CSR APIs
  354. { "NtWow64CsrBasepSoundSentryNotification", APICAT_BASEWOW64, 0 },
  355. { "NtWow64CsrBasepRefreshIniFileMapping", APICAT_BASEWOW64, 0 },
  356. { "NtWow64CsrBasepDefineDosDevice", APICAT_BASEWOW64, 0 },
  357. { "NtWow64CsrBasepGetTempFile", APICAT_BASEWOW64, 0 },
  358. { "NtWow64CsrBasepCreateProcess", APICAT_BASEWOW64, 0 },
  359. { "NtWow64CsrBasepExitProcess", APICAT_BASEWOW64, 0 },
  360. { "NtWow64CsrBasepSetProcessShutdownParam", APICAT_BASEWOW64, 0 },
  361. { "NtWow64CsrBasepGetProcessShutdownParam", APICAT_BASEWOW64, 0 },
  362. { "NtWow64CsrBasepSetTermsrvAppInstallMode", APICAT_BASEWOW64, 0 },
  363. { "NtWow64CsrBasepSetClientTimeZoneInformation", APICAT_BASEWOW64, 0 },
  364. { "NtWow64CsrBasepCreateThread", APICAT_BASEWOW64, 0 },
  365. { "NtWow64CsrBaseClientConnectToServer", APICAT_BASEWOW64, 0 },
  366. { "NtWow64CsrBasepNlsSetUserInfo", APICAT_BASEWOW64, 0 },
  367. { "NtWow64CsrBasepNlsSetMultipleUserInfo", APICAT_BASEWOW64, 0 },
  368. { "NtWow64CsrBasepNlsCreateSection", APICAT_BASEWOW64, 0 },
  369. { "NtWow64CsrBasepCreateActCtx", APICAT_BASEWOW64, 0 },
  370. { "NtWow64CsrBasepNlsUpdateCacheCount", APICAT_BASEWOW64, 0 },
  371. { "NtWow64CsrBasepNlsGetUserInfo", APICAT_BASEWOW64, 0 },
  372. // null terminating entry
  373. { NULL, 0, 0 }
  374. };