Public paste
Precompiled bcc32c
By: Guest | Date: May 5 2020 05:45 | Format: None | Expires: never | Size: 2.7 MB | Hits: 108

  1. # 1 "proxy.c"
  2. # 1 "<built-in>" 1
  3. # 1 "<built-in>" 3
  4. # 316 "<built-in>" 3
  5. # 1 "<command line>" 1
  6. # 1 "<built-in>" 2
  7. # 1 "proxy.c" 2
  8. # 22 "proxy.c"
  9. #pragma warning(disable: 4049)
  10.  
  11.  
  12.  
  13.  
  14. #pragma warning(disable: 4211)
  15. #pragma warning(disable: 4232)
  16. #pragma warning(disable: 4024)
  17. #pragma warning(disable: 4152)
  18. #pragma warning(disable: 4100)
  19.  
  20. #pragma optimize("", off )
  21. # 44 "proxy.c"
  22. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\rpcproxy.h" 1 3
  23. #pragma option push -b -a8 -pc -A- -w-pun
  24. # 44 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\rpcproxy.h" 3
  25. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winapifamily.h" 1 3
  26. # 16 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winapifamily.h" 3
  27. #pragma option push -b -a8 -pc -A- -w-pun
  28. # 27 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winapifamily.h" 3
  29. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winpackagefamily.h" 1 3
  30. # 16 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winpackagefamily.h" 3
  31. #pragma option push -b -a8 -pc -A- -w-pun
  32. # 92 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winpackagefamily.h" 3
  33. #pragma option pop
  34. # 27 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winapifamily.h" 2 3
  35. # 241 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winapifamily.h" 3
  36. #pragma option pop
  37. # 44 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\rpcproxy.h" 2 3
  38. # 67 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\rpcproxy.h" 3
  39. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\basetsd.h" 1 3
  40. # 20 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\basetsd.h" 3
  41. #pragma option push -b -a8 -pc -A- -w-pun
  42. # 46 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\basetsd.h" 3
  43.  typedef unsigned long POINTER_64_INT;
  44. # 76 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\basetsd.h" 3
  45. typedef signed char INT8, *PINT8;
  46. typedef signed short INT16, *PINT16;
  47. typedef signed int INT32, *PINT32;
  48. typedef signed __int64 INT64, *PINT64;
  49. typedef unsigned char UINT8, *PUINT8;
  50. typedef unsigned short UINT16, *PUINT16;
  51. typedef unsigned int UINT32, *PUINT32;
  52. typedef unsigned __int64 UINT64, *PUINT64;
  53.  
  54.  
  55.  
  56.  
  57.  
  58. typedef signed int LONG32, *PLONG32;
  59.  
  60.  
  61.  
  62.  
  63.  
  64. typedef unsigned int ULONG32, *PULONG32;
  65. typedef unsigned int DWORD32, *PDWORD32;
  66. # 135 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\basetsd.h" 3
  67.     typedef int INT_PTR, *PINT_PTR;
  68.     typedef unsigned int UINT_PTR, *PUINT_PTR;
  69.  
  70.     typedef long LONG_PTR, *PLONG_PTR;
  71.     typedef unsigned long ULONG_PTR, *PULONG_PTR;
  72. # 336 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\basetsd.h" 3
  73. typedef unsigned short UHALF_PTR, *PUHALF_PTR;
  74. typedef short HALF_PTR, *PHALF_PTR;
  75. typedef long SHANDLE_PTR;
  76. typedef unsigned long HANDLE_PTR;
  77. # 357 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\basetsd.h" 3
  78. __inline
  79. void *
  80. PtrToPtr64(
  81.     const void *p
  82.     )
  83. {
  84.     return((void * ) (unsigned __int64) (ULONG_PTR)p );
  85. }
  86.  
  87. __inline
  88. void *
  89. Ptr64ToPtr(
  90.     const void * p
  91.     )
  92. {
  93.     return((void *) (ULONG_PTR) (unsigned __int64) p);
  94. }
  95.  
  96. __inline
  97. void *
  98. HandleToHandle64(
  99.     const void *h
  100.     )
  101. {
  102.     return((void * )(__int64)(LONG_PTR)h );
  103. }
  104.  
  105. __inline
  106. void *
  107. Handle64ToHandle(
  108.     const void * h
  109.     )
  110. {
  111.     return((void *) (ULONG_PTR) (unsigned __int64) h );
  112. }
  113. # 423 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\basetsd.h" 3
  114. typedef ULONG_PTR SIZE_T, *PSIZE_T;
  115. typedef LONG_PTR SSIZE_T, *PSSIZE_T;
  116. # 472 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\basetsd.h" 3
  117. typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
  118.  
  119.  
  120.  
  121.  
  122.  
  123. typedef __int64 LONG64, *PLONG64;
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130. typedef unsigned __int64 ULONG64, *PULONG64;
  131. typedef unsigned __int64 DWORD64, *PDWORD64;
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. typedef ULONG_PTR KAFFINITY;
  140. typedef KAFFINITY *PKAFFINITY;
  141. # 507 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\basetsd.h" 3
  142. #pragma option pop
  143. # 67 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\rpcproxy.h" 2 3
  144. # 78 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\rpcproxy.h" 3
  145. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\guiddef.h" 1 3
  146. #pragma option push -b -a8 -pc -A- -w-pun
  147. # 23 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\guiddef.h" 3
  148. typedef struct _GUID {
  149.     unsigned long Data1;
  150.     unsigned short Data2;
  151.     unsigned short Data3;
  152.     unsigned char Data4[ 8 ];
  153. } GUID;
  154. # 76 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\guiddef.h" 3
  155. typedef GUID *LPGUID;
  156.  
  157.  
  158.  
  159.  
  160. typedef const GUID *LPCGUID;
  161.  
  162.  
  163.  
  164.  
  165.  
  166. typedef GUID IID;
  167. typedef IID *LPIID;
  168.  
  169.  
  170. typedef GUID CLSID;
  171. typedef CLSID *LPCLSID;
  172.  
  173.  
  174. typedef GUID FMTID;
  175. typedef FMTID *LPFMTID;
  176. # 147 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\guiddef.h" 3
  177. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\string.h" 1 3
  178. # 13 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\string.h" 3
  179. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_str.h" 1 3
  180. # 21 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_str.h" 3
  181. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 1 3
  182. # 21 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 3
  183. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_defs.h" 1 3
  184. # 21 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 2 3
  185.  
  186.  
  187.  
  188.  
  189. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_null.h" 1 3
  190. # 25 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 2 3
  191. # 45 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 3
  192. typedef int ssize_t;
  193. # 80 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 3
  194.    typedef unsigned int size_t;
  195. # 95 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 3
  196. typedef size_t rsize_t;
  197.  
  198.  
  199.  
  200.  
  201. typedef int errno_t;
  202. # 116 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 3
  203. typedef int ptrdiff_t;
  204. # 130 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 3
  205. typedef unsigned short wchar_t;
  206. # 140 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 3
  207. typedef wchar_t wint_t;
  208. # 149 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 3
  209. typedef wchar_t wctype_t;
  210.  
  211.  
  212.  
  213.  
  214. typedef double max_align_t;
  215. # 165 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 3
  216. extern unsigned long __cdecl __threadid(void);
  217. # 21 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_str.h" 2 3
  218.  
  219.  
  220.  
  221.  
  222.  
  223. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\locale.h" 1 3
  224. # 13 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\locale.h" 3
  225. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_loc.h" 1 3
  226. # 19 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_loc.h" 3
  227. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 1 3
  228. # 19 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_loc.h" 2 3
  229. # 54 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_loc.h" 3
  230. struct lconv {
  231.  
  232.    char *decimal_point;
  233.    char *thousands_sep;
  234.    char *grouping;
  235.    char *int_curr_symbol;
  236.    char *currency_symbol;
  237.    char *mon_decimal_point;
  238.    char *mon_thousands_sep;
  239.    char *mon_grouping;
  240.    char *positive_sign;
  241.    char *negative_sign;
  242.    char int_frac_digits;
  243.    char frac_digits;
  244.    char p_cs_precedes;
  245.    char p_sep_by_space;
  246.    char n_cs_precedes;
  247.    char n_sep_by_space;
  248.    char p_sign_posn;
  249.    char n_sign_posn;
  250. };
  251.  
  252.  
  253. #pragma pack(push, 1)
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262. char * __cdecl setlocale( int __category, const char *__locale );
  263. wchar_t * __cdecl _wsetlocale( int __category, const wchar_t *__locale );
  264.  
  265. char * __cdecl _lsetlocale( int __category, const char *__locale );
  266. struct lconv * __cdecl localeconv( void );
  267. struct lconv * __cdecl _llocaleconv( void );
  268. wchar_t * __cdecl _lwsetlocale( int __category, const wchar_t *__locale );
  269.  
  270.  
  271.  
  272.  
  273. #pragma pack(pop)
  274. # 13 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\locale.h" 2 3
  275. # 26 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_str.h" 2 3
  276. # 53 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_str.h" 3
  277. size_t __cdecl strnlen_s(const char *__s, size_t __maxlen);
  278. size_t __cdecl wcsnlen_s(const wchar_t *__s, size_t __maxlen);
  279. errno_t __cdecl strerror_s(char *__s, rsize_t __maxsize, errno_t __errnum);
  280. errno_t __cdecl _wcserror_s(wchar_t *__s, rsize_t __maxsize, errno_t __errnum);
  281. size_t __cdecl strerrorlen_s(errno_t errnum);
  282. errno_t __cdecl strncpy_s(char * dest, rsize_t destmax,
  283.         const char * src, rsize_t n);
  284. errno_t __cdecl wcsncpy_s(wchar_t * dest, rsize_t destmax,
  285.         const wchar_t * src, rsize_t n);
  286. errno_t __cdecl strcpy_s(char * dest, rsize_t destmax,
  287.        const char * src);
  288. errno_t __cdecl wcscpy_s(wchar_t * dest, rsize_t destmax,
  289.        const wchar_t * src);
  290. errno_t __cdecl strncat_s(char * dest, rsize_t destmax,
  291.         const char * src, rsize_t n);
  292. errno_t __cdecl wcsncat_s(wchar_t * dest, rsize_t destmax,
  293.         const wchar_t * src, rsize_t n);
  294. errno_t __cdecl strcat_s(char * dest, rsize_t destmax,
  295.        const char * src);
  296. errno_t __cdecl wcscat_s(wchar_t * dest, rsize_t destmax,
  297.        const wchar_t * src);
  298. char * __cdecl strtok_s(char * __s1, rsize_t * __s1max,
  299.        const char * __s2, char ** __ptr);
  300. wchar_t * __cdecl wcstok_s(wchar_t * __s1, rsize_t * __s1max,
  301.        const wchar_t * __s2, wchar_t ** __ptr);
  302.  
  303.  
  304. size_t __cdecl wcslen(const wchar_t *__s);
  305. wchar_t * __cdecl wcscpy(wchar_t *__dst, const wchar_t *__src);
  306. wchar_t * __cdecl wcscat(wchar_t *__dest, const wchar_t *__src);
  307. int __cdecl wcscmp(const wchar_t *__s1, const wchar_t *__s2);
  308. int __cdecl wcscoll(const wchar_t * __s1, const wchar_t * __s2);
  309. size_t __cdecl wcscspn(const wchar_t *__s1, const wchar_t *__s2);
  310. wchar_t * __cdecl _wcsdup(const wchar_t *__s);
  311. int __cdecl wcsncmp(const wchar_t *__s1, const wchar_t *__s2, size_t __maxlen);
  312. wchar_t * __cdecl wcsncpy(wchar_t *__dest, const wchar_t *__src, size_t __maxlen);
  313. wchar_t * __cdecl _wcsnset(wchar_t *__s, wchar_t __ch, size_t __n);
  314. wchar_t * __cdecl wcspbrk(const wchar_t *__s1, const wchar_t *__s2);
  315. wchar_t * __cdecl wcsrchr(const wchar_t *__s, wchar_t __c);
  316. wchar_t * __cdecl _wcsrev(wchar_t *__s);
  317. wchar_t * __cdecl _wcsset(wchar_t*__s, wchar_t __ch);
  318. size_t __cdecl wcsspn(const wchar_t *__s1, const wchar_t *__s2);
  319. wchar_t * __cdecl wcsstr(const wchar_t *__s1, const wchar_t *__s2);
  320. wchar_t * __cdecl wcstok(wchar_t *__s1, const wchar_t *__s2);
  321. wchar_t * __cdecl wcsncat(wchar_t *__dest, const wchar_t *__src, size_t __maxlen);
  322. wchar_t * __cdecl wcspcpy(wchar_t *__dest, const wchar_t *__src);
  323. wchar_t * __cdecl _wcspcpy(wchar_t *__dest, const wchar_t *__src);
  324. int __cdecl _wcsicmp(const wchar_t *__s1, const wchar_t *__s2);
  325. int __cdecl _wcsnicmp(const wchar_t *__s1, const wchar_t *__s2, size_t __maxlen);
  326. wchar_t * __cdecl _wcslwr(wchar_t *__s);
  327. wchar_t * __cdecl _wcsupr(wchar_t *__s);
  328. wchar_t * __cdecl _lwcslwr(wchar_t *__s);
  329. wchar_t * __cdecl _lwcsupr(wchar_t *__s);
  330. wchar_t * __cdecl __wcserror(const wchar_t *__s);
  331. wchar_t * __cdecl _wcserror(int __errnum);
  332.  
  333.  
  334. wchar_t * __cdecl wcschr(const wchar_t *__s, wchar_t __c);
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342. char * __cdecl strcat(char *__dest, const char *__src);
  343. int __cdecl strcmp(const char *__s1, const char *__s2);
  344. char * __cdecl strcpy(char *__dest, const char *__src);
  345. size_t __cdecl strlen(const char *__s);
  346. char * __cdecl strncat(char *__dest, const char *__src,
  347.                                         size_t __maxlen);
  348. int __cdecl strncmp(const char *__s1, const char *__s2,
  349.                                         size_t __maxlen);
  350. char * __cdecl strncpy(char *__dest, const char *__src,
  351.                                         size_t __maxlen);
  352. size_t __cdecl strcspn(const char *__s1, const char *__s2);
  353. char * __cdecl strerror(int __errnum);
  354. size_t __cdecl strspn(const char *__s1, const char *__s2);
  355. char * __cdecl strtok(char *__s1, const char *__s2);
  356. char * __cdecl _strerror(const char *__s);
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363. char * __cdecl _lstrlwr(char *__s);
  364. char * __cdecl _lstrupr(char *__s);
  365. char * __cdecl stpcpy(char *__dest, const char *__src);
  366. char * __cdecl _stpcpy(char *__dest, const char *__src);
  367. char * __cdecl strdup(const char *__s);
  368. int __cdecl stricmp(const char *__s1, const char *__s2);
  369. char * __cdecl strlwr(char *__s);
  370. int __cdecl strnicmp(const char *__s1, const char *__s2,
  371.                                            size_t __maxlen);
  372. char * __cdecl strnset(char *__s, int __ch, size_t __n);
  373. char * __cdecl strrev(char *__s);
  374. char * __cdecl strset(char *__s, int __ch);
  375. char * __cdecl strupr(char *__s);
  376. # 171 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_str.h" 3
  377.           char * __cdecl strchr(const char * __s, int __c);
  378.           char * __cdecl strrchr(const char *__s, int __c);
  379.           char * __cdecl strpbrk(const char *__s1, const char *__s2);
  380.           char * __cdecl strstr(const char *__s1, const char *__s2);
  381. # 350 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_str.h" 3
  382. int __cdecl _lstrcoll(const char * __s1, const char * __s2);
  383. int __cdecl _lstricoll(const char * __s1, const char * __s2);
  384. int __cdecl _lstrncoll(const char * __s1, const char * __s2, const int __len);
  385. int __cdecl _lstrnicoll(const char * __s1, const char * __s2, int __len);
  386. size_t __cdecl _lstrxfrm(char * __s1, const char * __s2,size_t __n );
  387. int __cdecl _stricoll(const char * __s1, const char * __s2);
  388. int __cdecl _strncoll(const char * __s1, const char * __s2, size_t __n);
  389. int __cdecl _strnicoll(const char * __s1, const char * __s2, int __len);
  390.  
  391.  
  392.  
  393.  
  394.  
  395. int __cdecl strcoll(const char * __s1, const char * __s2);
  396. size_t __cdecl strxfrm(char * __s1, const char * __s2,size_t __n );
  397.  
  398.  
  399.  
  400.  
  401.  
  402. int __cdecl _lwcscoll(const wchar_t * __s1, const wchar_t * __s2);
  403. int __cdecl _lwcsicoll(const wchar_t * __s1, const wchar_t * __s2);
  404. int __cdecl _lwcsncoll(const wchar_t * __s1, const wchar_t * __s2, const int __len);
  405. int __cdecl _lwcsnicoll(const wchar_t * __s1, const wchar_t * __s2, int __len);
  406. size_t __cdecl _lwcsxfrm(wchar_t * __s1, const wchar_t * __s2,size_t __n );
  407. int __cdecl wcscoll(const wchar_t * __s1, const wchar_t * __s2);
  408. int __cdecl _wcsicoll(const wchar_t * __s1, const wchar_t * __s2);
  409. int __cdecl _wcsncoll(const wchar_t * __s1, const wchar_t * __s2, size_t __n);
  410. int __cdecl _wcsnicoll(const wchar_t * __s1, const wchar_t * __s2, int __len);
  411. size_t __cdecl wcsxfrm(wchar_t * __s1, const wchar_t * __s2, size_t __n );
  412. # 454 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_str.h" 3
  413. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\mem.h" 1 3
  414. # 20 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\mem.h" 3
  415. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 1 3
  416. # 20 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\mem.h" 2 3
  417. # 40 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\mem.h" 3
  418. errno_t __cdecl memcpy_s(void * __dest, rsize_t __destmax,
  419.          const void * __src, rsize_t __n);
  420. errno_t __cdecl memmove_s(void * __dest, rsize_t __destmax,
  421.           const void * __src, rsize_t __n);
  422. errno_t __cdecl memset_s(void * __dest, rsize_t __destmax,
  423.          int __c, rsize_t __n);
  424. errno_t __cdecl wmemcpy_s(wchar_t * __dest, rsize_t __destmax,
  425.           const wchar_t * __src, rsize_t __n);
  426. errno_t __cdecl wmemmove_s(wchar_t * __dest, rsize_t __destmax,
  427.            const wchar_t * __src, rsize_t __n);
  428. errno_t __cdecl wmemset_s(wchar_t * __dest, rsize_t __destmax,
  429.          wchar_t __c, rsize_t __n);
  430.  
  431.  
  432. void * __cdecl memccpy(void *__dest, const void *__src,
  433.                                         int __c, size_t __n);
  434. int __cdecl memcmp(const void *__s1, const void *__s2,
  435.                                        size_t __n);
  436. void * __cdecl memcpy(void *__dest, const void *__src,
  437.                                        size_t __n);
  438. int __cdecl memicmp(const void *__s1, const void *__s2,
  439.                                         size_t __n);
  440. void * __cdecl memmove(void *__dest, const void *__src,
  441.                                         size_t __n);
  442. void * __cdecl memset(void *__s, int __c, size_t __n);
  443.  
  444. wchar_t * __cdecl wmemset(wchar_t *__s, int __c, size_t __n);
  445. wchar_t * __cdecl wmemcpy(wchar_t *__dest, const wchar_t *__src, size_t __n);
  446. wchar_t * __cdecl wmemmove(wchar_t *__dest, const wchar_t *__src, size_t __n);
  447. wchar_t * __cdecl wmemchr(const wchar_t *__s, wchar_t __c, size_t __n);
  448. int __cdecl wmemcmp(const wchar_t *__s1, const wchar_t *__s2, size_t __n);
  449.  
  450.  
  451. wchar_t * __cdecl _wmemset(wchar_t *__s, int __c, size_t __n);
  452. wchar_t * __cdecl _wmemcpy(wchar_t *__dest, const wchar_t *__src, size_t __n);
  453. # 85 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\mem.h" 3
  454.           void * __cdecl memchr(const void *__s, int __c, size_t __n);
  455.           wchar_t * __cdecl _wmemchr(const wchar_t *__s, int __c, size_t __n);
  456. # 454 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_str.h" 2 3
  457. # 13 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\string.h" 2 3
  458. # 147 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\guiddef.h" 2 3
  459. # 217 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\guiddef.h" 3
  460. #pragma option pop
  461. # 78 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\rpcproxy.h" 2 3
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470. #pragma region Application or OneCore Family
  471.  
  472.  
  473.  
  474. struct tagCInterfaceStubVtbl;
  475. struct tagCInterfaceProxyVtbl;
  476.  
  477. typedef struct tagCInterfaceStubVtbl * PCInterfaceStubVtblList;
  478. typedef struct tagCInterfaceProxyVtbl * PCInterfaceProxyVtblList;
  479. typedef const char * PCInterfaceName;
  480. typedef int __stdcall IIDLookupRtn( const IID * pIID, int * pIndex );
  481. typedef IIDLookupRtn * PIIDLookup;
  482. # 107 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\rpcproxy.h" 3
  483. typedef struct tagProxyFileInfo
  484. {
  485.     const PCInterfaceProxyVtblList *pProxyVtblList;
  486.     const PCInterfaceStubVtblList *pStubVtblList;
  487.     const PCInterfaceName * pNamesArray;
  488.     const IID ** pDelegatedIIDs;
  489.     const PIIDLookup pIIDLookupRtn;
  490.     unsigned short TableSize;
  491.     unsigned short TableVersion;
  492.     const IID ** pAsyncIIDLookup;
  493.     LONG_PTR Filler2;
  494.     LONG_PTR Filler3;
  495.     LONG_PTR Filler4;
  496. }ProxyFileInfo;
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503. typedef ProxyFileInfo ExtendedProxyFileInfo;
  504.  
  505.  
  506. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\rpc.h" 1 3
  507. #pragma option push -b -a8 -pc -A- -w-pun
  508. # 21 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\rpc.h" 3
  509. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\windows.h" 1 3
  510. # 22 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\windows.h" 3
  511. #pragma defineonoption __BOROPT_A -A
  512. #pragma defineonoption __BOROPT_H -H
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520. #pragma option push -b -a8 -pc -A- -w-pun
  521.  
  522.  
  523. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\sdkddkver.h" 1 3
  524. # 16 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\sdkddkver.h" 3
  525. #pragma option push -b -a8 -pc -A- -w-pun
  526. # 307 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\sdkddkver.h" 3
  527. #pragma option pop
  528. # 33 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\windows.h" 2 3
  529. # 42 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\windows.h" 3
  530. #pragma region Application Family or OneCore Family
  531. # 187 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\windows.h" 3
  532. #pragma warning(disable: 4514)
  533.  
  534. #pragma warning(disable: 4103)
  535.  
  536.  
  537.  
  538.  
  539. #pragma warning(disable: 4001)
  540. #pragma warning(disable: 4201)
  541. #pragma warning(disable: 4214)
  542.  
  543.  
  544. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\excpt.h" 1 3
  545. # 12 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\excpt.h" 3
  546. #pragma option push -b -a8 -pc -A-
  547. # 50 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\excpt.h" 3
  548. typedef enum _EXCEPTION_DISPOSITION {
  549.     ExceptionContinueExecution,
  550.     ExceptionContinueSearch,
  551.     ExceptionNestedException,
  552.     ExceptionCollidedUnwind
  553. } EXCEPTION_DISPOSITION;
  554. # 67 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\excpt.h" 3
  555. struct _EXCEPTION_RECORD;
  556. struct _CONTEXT;
  557.  
  558. EXCEPTION_DISPOSITION __cdecl _except_handler (
  559.         struct _EXCEPTION_RECORD *ExceptionRecord,
  560.         void *EstablisherFrame,
  561.         struct _CONTEXT *ContextRecord,
  562.         void *DispatcherContext
  563.         );
  564. # 117 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\excpt.h" 3
  565. int __exception_code();
  566. struct _EXCEPTION_RECORD * __exception_info();
  567.  
  568.  
  569.  
  570. int AbnormalTermination(void);
  571. # 187 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\excpt.h" 3
  572. #pragma option pop
  573. # 198 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\windows.h" 2 3
  574.  
  575. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\DE\\stdarg.h" 1 3
  576. # 26 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\DE\\stdarg.h" 3
  577. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 1 3
  578. # 26 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\DE\\stdarg.h" 2 3
  579. # 35 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\DE\\stdarg.h" 3
  580. typedef __builtin_va_list va_list;
  581. # 199 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\windows.h" 2 3
  582.  
  583.  
  584.  
  585. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\windef.h" 1 3
  586. # 13 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\windef.h" 3
  587. #pragma option push -b -a8 -pc -A- -w-pun
  588. # 25 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\windef.h" 3
  589. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\minwindef.h" 1 3
  590. # 11 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\minwindef.h" 3
  591. #pragma option push -b -a8 -pc -A- -w-pun
  592.  
  593.  
  594.  
  595.  
  596. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\specstrings.h" 1 3
  597.  
  598. #pragma option push -b -a8 -pc -A- -w-pun
  599. # 62 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\specstrings.h" 3
  600. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\sal.h" 1 3
  601. #pragma option push -b -a8 -pc -A- -w-pun
  602. # 718 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\sal.h" 3
  603. #pragma region Input Buffer SAL 1 compatibility macros
  604. # 1482 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\sal.h" 3
  605. #pragma endregion Input Buffer SAL 1 compatibility macros
  606. # 2995 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\sal.h" 3
  607. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\ConcurrencySal.h" 1 3
  608. # 17 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\ConcurrencySal.h" 3
  609. #pragma option push -b -a8 -pc -A- -w-pun
  610. # 358 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\ConcurrencySal.h" 3
  611. #pragma option pop
  612. # 2995 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\sal.h" 2 3
  613.  
  614.  
  615. #pragma option pop
  616. # 62 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\specstrings.h" 2 3
  617. # 675 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\specstrings.h" 3
  618. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\specstrings_strict.h" 1 3
  619. #pragma option push -b -a8 -pc -A- -w-pun
  620. # 1192 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\specstrings_strict.h" 3
  621. #pragma option pop
  622. # 675 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\specstrings.h" 2 3
  623. # 696 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\specstrings.h" 3
  624. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\driverspecs.h" 1 3
  625. # 118 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\driverspecs.h" 3
  626. #pragma option push -b -a8 -pc -A- -w-pun
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk/sdv_driverspecs.h" 1 3
  636. #pragma option push -b -a8 -pc -A- -w-pun
  637. # 24 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk/sdv_driverspecs.h" 3
  638. #pragma option pop
  639. # 126 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\driverspecs.h" 2 3
  640. # 901 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\driverspecs.h" 3
  641. #pragma option pop
  642. # 696 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\specstrings.h" 2 3
  643. # 708 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\specstrings.h" 3
  644. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\no_sal2.h" 1 3
  645. # 19 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\no_sal2.h" 3
  646. #pragma option push -b -a8 -pc -A- -w-pun
  647. # 1043 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\no_sal2.h" 3
  648. #pragma option pop
  649. # 708 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\specstrings.h" 2 3
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657. #pragma option pop
  658. # 15 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\minwindef.h" 2 3
  659.  
  660.  
  661.  
  662.  
  663. #pragma region Application Family or OneCore Family
  664. # 52 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\minwindef.h" 3
  665. typedef unsigned long ULONG;
  666. typedef ULONG *PULONG;
  667. typedef unsigned short USHORT;
  668. typedef USHORT *PUSHORT;
  669. typedef unsigned char UCHAR;
  670. typedef UCHAR *PUCHAR;
  671. typedef char *PSZ;
  672. # 157 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\minwindef.h" 3
  673. typedef unsigned long DWORD;
  674. typedef int BOOL;
  675. typedef unsigned char BYTE;
  676. typedef unsigned short WORD;
  677. typedef float FLOAT;
  678. typedef FLOAT *PFLOAT;
  679. typedef BOOL *PBOOL;
  680. typedef BOOL *LPBOOL;
  681. typedef BYTE *PBYTE;
  682. typedef BYTE *LPBYTE;
  683. typedef int *PINT;
  684. typedef int *LPINT;
  685. typedef WORD *PWORD;
  686. typedef WORD *LPWORD;
  687. typedef long *LPLONG;
  688. typedef DWORD *PDWORD;
  689. typedef DWORD *LPDWORD;
  690. typedef void *LPVOID;
  691. typedef const void *LPCVOID;
  692.  
  693. typedef int INT;
  694. typedef unsigned int UINT;
  695. typedef unsigned int *PUINT;
  696.  
  697.  
  698.  
  699.  
  700. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 1 3
  701. # 19 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  702. #pragma option push -b -a8 -pc -A- -w-pun -w-inl
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710. #pragma warning(disable: 4200)
  711. #pragma warning(disable: 4201)
  712. #pragma warning(disable: 4214)
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\ctype.h" 1 3
  720. # 22 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\ctype.h" 3
  721. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 1 3
  722. # 22 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\ctype.h" 2 3
  723.  
  724.  
  725.  
  726.  
  727. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\mbctype.h" 1 3
  728. # 21 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\mbctype.h" 3
  729. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\_stddef.h" 1 3
  730. # 21 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\mbctype.h" 2 3
  731. # 32 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\mbctype.h" 3
  732. extern unsigned char __cdecl _mbctype[];
  733. # 53 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\mbctype.h" 3
  734. int __cdecl _setmbcp(int newCodePage);
  735. int __cdecl _getmbcp(void);
  736.  
  737. int __cdecl _ismbbkalpha(unsigned int __c);
  738. int __cdecl _ismbbkpunct(unsigned int __c);
  739. int __cdecl _ismbbkana (unsigned int __c);
  740. int __cdecl _ismbbalpha (unsigned int __c);
  741. int __cdecl _ismbbpunct (unsigned int __c);
  742. int __cdecl _ismbbalnum (unsigned int __c);
  743. int __cdecl _ismbbprint (unsigned int __c);
  744. int __cdecl _ismbbgraph (unsigned int __c);
  745.  
  746.  
  747.  
  748. int __cdecl _ismbblead (unsigned int __c);
  749. int __cdecl _ismbbtrail (unsigned int __c);
  750. int __cdecl _ismbslead (const unsigned char *__s1, const unsigned char *__s2);
  751. int __cdecl _ismbstrail (const unsigned char *__s1, const unsigned char *__s2);
  752. # 26 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\ctype.h" 2 3
  753. # 47 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\ctype.h" 3
  754. extern unsigned short __cdecl _chartype[ 257 ];
  755. extern unsigned char __cdecl _lower[ 256 ];
  756. extern unsigned char __cdecl _upper[ 256 ];
  757.  
  758. int __cdecl isalnum (int __c);
  759. int __cdecl isalpha (int __c);
  760. int __cdecl isblank (int __c);
  761. int __cdecl iscntrl (int __c);
  762. int __cdecl isdigit (int __c);
  763. int __cdecl isgraph (int __c);
  764. int __cdecl islower (int __c);
  765. int __cdecl isprint (int __c);
  766. int __cdecl ispunct (int __c);
  767. int __cdecl isspace (int __c);
  768. int __cdecl isupper (int __c);
  769. int __cdecl isxdigit(int __c);
  770. int __cdecl isascii (int __c);
  771.  
  772. int __cdecl iswalnum (wint_t __c);
  773. int __cdecl iswalpha (wint_t __c);
  774. int __cdecl iswblank (wint_t __c);
  775. int __cdecl iswcntrl (wint_t __c);
  776. int __cdecl iswdigit (wint_t __c);
  777. int __cdecl iswgraph (wint_t __c);
  778. int __cdecl iswlower (wint_t __c);
  779. int __cdecl iswprint (wint_t __c);
  780. int __cdecl iswpunct (wint_t __c);
  781. int __cdecl iswspace (wint_t __c);
  782. int __cdecl iswupper (wint_t __c);
  783. int __cdecl iswxdigit(wint_t __c);
  784. int __cdecl iswascii (wint_t __c);
  785. # 148 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\ctype.h" 3
  786. int __cdecl _ltolower(int __ch);
  787. int __cdecl _ltolower_lcid(int __ch, unsigned long __handle);
  788. int __cdecl _ltoupper(int __ch);
  789. int __cdecl _ltoupper_lcid(int __ch, unsigned long __handle);
  790. wchar_t __cdecl _ltowupper(wchar_t __ch);
  791. wchar_t __cdecl _ltowlower(wchar_t __ch);
  792. # 175 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\crtl\\ctype.h" 3
  793. #pragma option push -vi
  794.  
  795.  
  796. __inline
  797.  
  798. int __cdecl tolower(int __ch) { return _ltolower(__ch); }
  799.  
  800.  
  801. __inline
  802.  
  803. int __cdecl toupper(int __ch) { return _ltoupper(__ch); }
  804.  
  805.  
  806. __inline
  807.  
  808. wint_t __cdecl towlower(wint_t __ch) { return _ltowlower(__ch); }
  809.  
  810.  
  811. __inline
  812.  
  813. wint_t __cdecl towupper(wint_t __ch) { return _ltowupper(__ch); }
  814.  
  815. #pragma option pop
  816. # 35 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 2 3
  817. # 87 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  818. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\kernelspecs.h" 1 3
  819. # 34 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\kernelspecs.h" 3
  820. #pragma option push -b -a8 -pc -A- -w-pun
  821. # 263 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\kernelspecs.h" 3
  822. #pragma option pop
  823. # 87 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 2 3
  824. # 396 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  825. typedef void *PVOID;
  826. typedef void * PVOID64;
  827. # 438 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  828. typedef char CHAR;
  829. typedef short SHORT;
  830. typedef long LONG;
  831.  
  832. typedef int INT;
  833. # 451 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  834. typedef wchar_t WCHAR;
  835.  
  836.  
  837.  
  838.  
  839.  
  840. typedef WCHAR *PWCHAR, *LPWCH, *PWCH;
  841. typedef const WCHAR *LPCWCH, *PCWCH;
  842.  
  843. typedef WCHAR *NWPSTR, *LPWSTR, *PWSTR;
  844. typedef PWSTR *PZPWSTR;
  845. typedef const PWSTR *PCZPWSTR;
  846. typedef WCHAR *LPUWSTR, *PUWSTR;
  847. typedef const WCHAR *LPCWSTR, *PCWSTR;
  848. typedef PCWSTR *PZPCWSTR;
  849. typedef const PCWSTR *PCZPCWSTR;
  850. typedef const WCHAR *LPCUWSTR, *PCUWSTR;
  851.  
  852. typedef WCHAR *PZZWSTR;
  853. typedef const WCHAR *PCZZWSTR;
  854. typedef WCHAR *PUZZWSTR;
  855. typedef const WCHAR *PCUZZWSTR;
  856.  
  857. typedef WCHAR *PNZWCH;
  858. typedef const WCHAR *PCNZWCH;
  859. typedef WCHAR *PUNZWCH;
  860. typedef const WCHAR *PCUNZWCH;
  861.  
  862.  
  863.  
  864. typedef const WCHAR *LPCWCHAR, *PCWCHAR;
  865. typedef const WCHAR *LPCUWCHAR, *PCUWCHAR;
  866.  
  867.  
  868.  
  869.  
  870.  
  871. typedef unsigned long UCSCHAR;
  872. # 508 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  873. typedef UCSCHAR *PUCSCHAR;
  874. typedef const UCSCHAR *PCUCSCHAR;
  875.  
  876. typedef UCSCHAR *PUCSSTR;
  877. typedef UCSCHAR *PUUCSSTR;
  878.  
  879. typedef const UCSCHAR *PCUCSSTR;
  880. typedef const UCSCHAR *PCUUCSSTR;
  881.  
  882. typedef UCSCHAR *PUUCSCHAR;
  883. typedef const UCSCHAR *PCUUCSCHAR;
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891. typedef CHAR *PCHAR, *LPCH, *PCH;
  892. typedef const CHAR *LPCCH, *PCCH;
  893.  
  894. typedef CHAR *NPSTR, *LPSTR, *PSTR;
  895. typedef PSTR *PZPSTR;
  896. typedef const PSTR *PCZPSTR;
  897. typedef const CHAR *LPCSTR, *PCSTR;
  898. typedef PCSTR *PZPCSTR;
  899. typedef const PCSTR *PCZPCSTR;
  900.  
  901. typedef CHAR *PZZSTR;
  902. typedef const CHAR *PCZZSTR;
  903.  
  904. typedef CHAR *PNZCH;
  905. typedef const CHAR *PCNZCH;
  906. # 574 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  907. typedef char TCHAR, *PTCHAR;
  908. typedef unsigned char TBYTE , *PTBYTE ;
  909.  
  910.  
  911.  
  912. typedef LPCH LPTCH, PTCH;
  913. typedef LPCCH LPCTCH, PCTCH;
  914. typedef LPSTR PTSTR, LPTSTR, PUTSTR, LPUTSTR;
  915. typedef LPCSTR PCTSTR, LPCTSTR, PCUTSTR, LPCUTSTR;
  916. typedef PZZSTR PZZTSTR, PUZZTSTR;
  917. typedef PCZZSTR PCZZTSTR, PCUZZTSTR;
  918. typedef PZPSTR PZPTSTR;
  919. typedef PNZCH PNZTCH, PUNZTCH;
  920. typedef PCNZCH PCNZTCH, PCUNZTCH;
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927. typedef SHORT *PSHORT;
  928. typedef LONG *PLONG;
  929. # 604 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  930. typedef struct _PROCESSOR_NUMBER {
  931.     WORD Group;
  932.     BYTE Number;
  933.     BYTE Reserved;
  934. } PROCESSOR_NUMBER, *PPROCESSOR_NUMBER;
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941. typedef struct _GROUP_AFFINITY {
  942.     KAFFINITY Mask;
  943.     WORD Group;
  944.     WORD Reserved[3];
  945. } GROUP_AFFINITY, *PGROUP_AFFINITY;
  946. # 640 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  947. typedef void *HANDLE;
  948. # 650 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  949. typedef HANDLE *PHANDLE;
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957. typedef BYTE FCHAR;
  958. typedef WORD FSHORT;
  959. typedef DWORD FLONG;
  960. # 671 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  961. typedef long HRESULT;
  962. # 738 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  963. typedef char CCHAR;
  964. typedef DWORD LCID;
  965. typedef PDWORD PLCID;
  966. typedef WORD LANGID;
  967. # 750 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  968. typedef enum {
  969.     UNSPECIFIED_COMPARTMENT_ID = 0,
  970.     DEFAULT_COMPARTMENT_ID
  971. } COMPARTMENT_ID, *PCOMPARTMENT_ID;
  972. # 781 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  973. typedef struct _FLOAT128 {
  974.     __int64 LowPart;
  975.     __int64 HighPart;
  976. } FLOAT128;
  977.  
  978. typedef FLOAT128 *PFLOAT128;
  979. # 796 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  980. typedef __int64 LONGLONG;
  981. typedef unsigned __int64 ULONGLONG;
  982. # 818 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  983. typedef LONGLONG *PLONGLONG;
  984. typedef ULONGLONG *PULONGLONG;
  985.  
  986.  
  987.  
  988. typedef LONGLONG USN;
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995. typedef union _LARGE_INTEGER {
  996.     struct {
  997.         DWORD LowPart;
  998.         LONG HighPart;
  999.     } ;
  1000.     struct {
  1001.         DWORD LowPart;
  1002.         LONG HighPart;
  1003.     } u;
  1004.     LONGLONG QuadPart;
  1005. } LARGE_INTEGER;
  1006.  
  1007.  
  1008. typedef LARGE_INTEGER *PLARGE_INTEGER;
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015. typedef union _ULARGE_INTEGER {
  1016.     struct {
  1017.         DWORD LowPart;
  1018.         DWORD HighPart;
  1019.     } ;
  1020.     struct {
  1021.         DWORD LowPart;
  1022.         DWORD HighPart;
  1023.     } u;
  1024.     ULONGLONG QuadPart;
  1025. } ULARGE_INTEGER;
  1026.  
  1027.  
  1028. typedef ULARGE_INTEGER *PULARGE_INTEGER;
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034. typedef LONG_PTR RTL_REFERENCE_COUNT, *PRTL_REFERENCE_COUNT;
  1035. typedef LONG RTL_REFERENCE_COUNT32, *PRTL_REFERENCE_COUNT32;
  1036. # 880 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1037. typedef struct _LUID {
  1038.     DWORD LowPart;
  1039.     LONG HighPart;
  1040. } LUID, *PLUID;
  1041.  
  1042.  
  1043. typedef ULONGLONG DWORDLONG;
  1044. typedef DWORDLONG *PDWORDLONG;
  1045. # 1130 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1046. typedef BYTE BOOLEAN;
  1047. typedef BOOLEAN *PBOOLEAN;
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053. typedef struct _LIST_ENTRY {
  1054.    struct _LIST_ENTRY *Flink;
  1055.    struct _LIST_ENTRY *Blink;
  1056. } LIST_ENTRY, *PLIST_ENTRY, * PRLIST_ENTRY;
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063. typedef struct _SINGLE_LIST_ENTRY {
  1064.     struct _SINGLE_LIST_ENTRY *Next;
  1065. } SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;
  1066. # 1158 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1067. typedef struct LIST_ENTRY32 {
  1068.     DWORD Flink;
  1069.     DWORD Blink;
  1070. } LIST_ENTRY32;
  1071. typedef LIST_ENTRY32 *PLIST_ENTRY32;
  1072.  
  1073. typedef struct LIST_ENTRY64 {
  1074.     ULONGLONG Flink;
  1075.     ULONGLONG Blink;
  1076. } LIST_ENTRY64;
  1077. typedef LIST_ENTRY64 *PLIST_ENTRY64;
  1078.  
  1079.  
  1080.  
  1081. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\guiddef.h" 1 3
  1082. #pragma option push -b -a8 -pc -A- -w-pun
  1083. # 217 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\guiddef.h" 3
  1084. #pragma option pop
  1085. # 1171 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 2 3
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091. typedef struct _OBJECTID {
  1092.     GUID Lineage;
  1093.     DWORD Uniquifier;
  1094. } OBJECTID;
  1095. # 1401 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1096. typedef
  1097.  
  1098.  
  1099. EXCEPTION_DISPOSITION
  1100. __stdcall
  1101. EXCEPTION_ROUTINE (
  1102.             struct _EXCEPTION_RECORD *ExceptionRecord,
  1103.          PVOID EstablisherFrame,
  1104.             struct _CONTEXT *ContextRecord,
  1105.          PVOID DispatcherContext
  1106.     );
  1107.  
  1108. typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE;
  1109. # 2540 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1110. typedef ULONG_PTR KSPIN_LOCK;
  1111. typedef KSPIN_LOCK *PKSPIN_LOCK;
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119. typedef struct __attribute__((aligned(16))) _M128A {
  1120.     ULONGLONG Low;
  1121.     LONGLONG High;
  1122. } M128A, *PM128A;
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128. typedef struct __attribute__((aligned(16))) _XSAVE_FORMAT {
  1129.     WORD ControlWord;
  1130.     WORD StatusWord;
  1131.     BYTE TagWord;
  1132.     BYTE Reserved1;
  1133.     WORD ErrorOpcode;
  1134.     DWORD ErrorOffset;
  1135.     WORD ErrorSelector;
  1136.     WORD Reserved2;
  1137.     DWORD DataOffset;
  1138.     WORD DataSelector;
  1139.     WORD Reserved3;
  1140.     DWORD MxCsr;
  1141.     DWORD MxCsr_Mask;
  1142.     M128A FloatRegisters[8];
  1143. # 2581 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1144.     M128A XmmRegisters[8];
  1145.     BYTE Reserved4[224];
  1146.  
  1147.  
  1148.  
  1149. } XSAVE_FORMAT, *PXSAVE_FORMAT;
  1150.  
  1151.  
  1152.  
  1153. typedef struct __attribute__((aligned(8))) _XSAVE_AREA_HEADER {
  1154.     DWORD64 Mask;
  1155.     DWORD64 CompactionMask;
  1156.     DWORD64 Reserved2[6];
  1157. } XSAVE_AREA_HEADER, *PXSAVE_AREA_HEADER;
  1158.  
  1159. typedef struct __attribute__((aligned(16))) _XSAVE_AREA {
  1160.     XSAVE_FORMAT LegacyState;
  1161.     XSAVE_AREA_HEADER Header;
  1162. } XSAVE_AREA, *PXSAVE_AREA;
  1163.  
  1164. typedef struct _XSTATE_CONTEXT {
  1165.     DWORD64 Mask;
  1166.     DWORD Length;
  1167.     DWORD Reserved1;
  1168.                                    PXSAVE_AREA Area;
  1169.  
  1170.  
  1171.     DWORD Reserved2;
  1172.  
  1173.  
  1174.     PVOID Buffer;
  1175.  
  1176.  
  1177.     DWORD Reserved3;
  1178.  
  1179.  
  1180. } XSTATE_CONTEXT, *PXSTATE_CONTEXT;
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186. typedef struct _SCOPE_TABLE_AMD64 {
  1187.     DWORD Count;
  1188.     struct {
  1189.         DWORD BeginAddress;
  1190.         DWORD EndAddress;
  1191.         DWORD HandlerAddress;
  1192.         DWORD JumpTarget;
  1193.     } ScopeRecord[1];
  1194. } SCOPE_TABLE_AMD64, *PSCOPE_TABLE_AMD64;
  1195. # 4230 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1196. typedef struct _SCOPE_TABLE_ARM {
  1197.     DWORD Count;
  1198.     struct
  1199.     {
  1200.         DWORD BeginAddress;
  1201.         DWORD EndAddress;
  1202.         DWORD HandlerAddress;
  1203.         DWORD JumpTarget;
  1204.     } ScopeRecord[1];
  1205. } SCOPE_TABLE_ARM, *PSCOPE_TABLE_ARM;
  1206. # 5202 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1207. typedef struct _SCOPE_TABLE_ARM64 {
  1208.     DWORD Count;
  1209.     struct
  1210.     {
  1211.         DWORD BeginAddress;
  1212.         DWORD EndAddress;
  1213.         DWORD HandlerAddress;
  1214.         DWORD JumpTarget;
  1215.     } ScopeRecord[1];
  1216. } SCOPE_TABLE_ARM64, *PSCOPE_TABLE_ARM64;
  1217. # 6389 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1218. typedef struct _KNONVOLATILE_CONTEXT_POINTERS_ARM64 {
  1219.  
  1220.     PDWORD64 X19;
  1221.     PDWORD64 X20;
  1222.     PDWORD64 X21;
  1223.     PDWORD64 X22;
  1224.     PDWORD64 X23;
  1225.     PDWORD64 X24;
  1226.     PDWORD64 X25;
  1227.     PDWORD64 X26;
  1228.     PDWORD64 X27;
  1229.     PDWORD64 X28;
  1230.     PDWORD64 Fp;
  1231.     PDWORD64 Lr;
  1232.  
  1233.     PDWORD64 D8;
  1234.     PDWORD64 D9;
  1235.     PDWORD64 D10;
  1236.     PDWORD64 D11;
  1237.     PDWORD64 D12;
  1238.     PDWORD64 D13;
  1239.     PDWORD64 D14;
  1240.     PDWORD64 D15;
  1241.  
  1242. } KNONVOLATILE_CONTEXT_POINTERS_ARM64, *PKNONVOLATILE_CONTEXT_POINTERS_ARM64;
  1243. # 6499 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1244. #pragma warning(push)
  1245. #pragma warning(disable: 4793)
  1246. # 6519 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1247. #pragma warning(pop)
  1248. # 6629 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1249. #pragma warning(default: 4164)
  1250. # 6752 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1251. BOOLEAN
  1252. _BitScanForward (
  1253.           DWORD *Index,
  1254.          DWORD Mask
  1255.     );
  1256.  
  1257.  
  1258. BOOLEAN
  1259. _BitScanReverse (
  1260.           DWORD *Index,
  1261.          DWORD Mask
  1262.     );
  1263. # 7105 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1264. CHAR
  1265. _InterlockedExchange8 (
  1266.                                   CHAR volatile *Target,
  1267.          CHAR Value
  1268.     );
  1269.  
  1270. SHORT
  1271. _InterlockedExchange16 (
  1272.                                   SHORT volatile *Destination,
  1273.          SHORT ExChange
  1274.     );
  1275. # 7147 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1276. char
  1277. _InterlockedExchangeAdd8 (
  1278.                                   char volatile * _Addend,
  1279.          char _Value
  1280.     );
  1281.  
  1282. char
  1283. _InterlockedAnd8 (
  1284.                                   char volatile *Destination,
  1285.          char Value
  1286.     );
  1287.  
  1288. char
  1289. _InterlockedOr8 (
  1290.                                   char volatile *Destination,
  1291.          char Value
  1292.     );
  1293.  
  1294. char
  1295. _InterlockedXor8 (
  1296.                                   char volatile *Destination,
  1297.          char Value
  1298.     );
  1299.  
  1300. SHORT
  1301. _InterlockedAnd16 (
  1302.                                   SHORT volatile *Destination,
  1303.          SHORT Value
  1304.     );
  1305.  
  1306. SHORT
  1307. _InterlockedXor16(
  1308.                                   SHORT volatile *Destination,
  1309.          SHORT Value
  1310.     );
  1311.  
  1312. SHORT
  1313. _InterlockedCompareExchange16 (
  1314.                                   SHORT volatile *Destination,
  1315.          SHORT ExChange,
  1316.          SHORT Comperand
  1317.     );
  1318.  
  1319. SHORT
  1320. _InterlockedOr16 (
  1321.                                   SHORT volatile *Destination,
  1322.          SHORT Value
  1323.     );
  1324.  
  1325. SHORT
  1326. _InterlockedIncrement16 (
  1327.                                   SHORT volatile *Destination
  1328.     );
  1329.  
  1330. SHORT
  1331. _InterlockedDecrement16 (
  1332.                                   SHORT volatile *Destination
  1333.     );
  1334. # 7228 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1335. __inline
  1336. LONG64
  1337. _InlineInterlockedAnd64 (
  1338.                                   LONG64 volatile *Destination,
  1339.          LONG64 Value
  1340.     )
  1341. {
  1342.     LONG64 Old;
  1343.  
  1344.     do {
  1345.         Old = *Destination;
  1346.     } while (_InterlockedCompareExchange64(Destination,
  1347.                                           Old & Value,
  1348.                                           Old) != Old);
  1349.  
  1350.     return Old;
  1351. }
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358. __inline
  1359. LONG64
  1360. _InlineInterlockedAdd64 (
  1361.                                   LONG64 volatile *Addend,
  1362.          LONG64 Value
  1363.     )
  1364. {
  1365.     LONG64 Old;
  1366.  
  1367.     do {
  1368.         Old = *Addend;
  1369.     } while (_InterlockedCompareExchange64(Addend,
  1370.                                           Old + Value,
  1371.                                           Old) != Old);
  1372.  
  1373.     return Old + Value;
  1374. }
  1375. # 7303 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1376. LONGLONG
  1377. __inline
  1378. _InlineInterlockedOr64 (
  1379.                                   LONGLONG volatile *Destination,
  1380.          LONGLONG Value
  1381.     )
  1382. {
  1383.     LONGLONG Old;
  1384.  
  1385.     do {
  1386.         Old = *Destination;
  1387.     } while (_InterlockedCompareExchange64(Destination,
  1388.                                           Old | Value,
  1389.                                           Old) != Old);
  1390.  
  1391.     return Old;
  1392. }
  1393.  
  1394.  
  1395.  
  1396. __inline
  1397. LONG64
  1398. _InlineInterlockedXor64 (
  1399.                                   LONG64 volatile *Destination,
  1400.          LONG64 Value
  1401.     )
  1402. {
  1403.     LONG64 Old;
  1404.  
  1405.     do {
  1406.         Old = *Destination;
  1407.     } while (_InterlockedCompareExchange64(Destination,
  1408.                                           Old ^ Value,
  1409.                                           Old) != Old);
  1410.  
  1411.     return Old;
  1412. }
  1413.  
  1414.  
  1415.  
  1416. LONGLONG
  1417. __inline
  1418. _InlineInterlockedIncrement64 (
  1419.                                   LONGLONG volatile *Addend
  1420.     )
  1421. {
  1422.     LONGLONG Old;
  1423.  
  1424.     do {
  1425.         Old = *Addend;
  1426.     } while (_InterlockedCompareExchange64(Addend,
  1427.                                           Old + 1,
  1428.                                           Old) != Old);
  1429.  
  1430.     return Old + 1;
  1431. }
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438. __inline
  1439. LONGLONG
  1440. _InlineInterlockedDecrement64 (
  1441.                                   LONGLONG volatile *Addend
  1442.     )
  1443. {
  1444.     LONGLONG Old;
  1445.  
  1446.     do {
  1447.         Old = *Addend;
  1448.     } while (_InterlockedCompareExchange64(Addend,
  1449.                                           Old - 1,
  1450.                                           Old) != Old);
  1451.  
  1452.     return Old - 1;
  1453. }
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460. __inline
  1461. LONGLONG
  1462. _InlineInterlockedExchange64 (
  1463.                                   LONGLONG volatile *Target,
  1464.          LONGLONG Value
  1465.     )
  1466. {
  1467.     LONGLONG Old;
  1468.  
  1469.     do {
  1470.         Old = *Target;
  1471.     } while (_InterlockedCompareExchange64(Target,
  1472.                                           Value,
  1473.                                           Old) != Old);
  1474.  
  1475.     return Old;
  1476. }
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483. __inline
  1484. LONGLONG
  1485. _InlineInterlockedExchangeAdd64 (
  1486.                                   LONGLONG volatile *Addend,
  1487.          LONGLONG Value
  1488.     )
  1489. {
  1490.     LONGLONG Old;
  1491.  
  1492.     do {
  1493.         Old = *Addend;
  1494.     } while (_InterlockedCompareExchange64(Addend,
  1495.                                           Old + Value,
  1496.                                           Old) != Old);
  1497.  
  1498.     return Old;
  1499. }
  1500. # 7676 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1501. PVOID GetFiberData( void );
  1502. PVOID GetCurrentFiber( void );
  1503. # 7747 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1504. typedef struct _FLOATING_SAVE_AREA {
  1505.     DWORD ControlWord;
  1506.     DWORD StatusWord;
  1507.     DWORD TagWord;
  1508.     DWORD ErrorOffset;
  1509.     DWORD ErrorSelector;
  1510.     DWORD DataOffset;
  1511.     DWORD DataSelector;
  1512.     BYTE RegisterArea[80];
  1513.     DWORD Spare0;
  1514. } FLOATING_SAVE_AREA;
  1515.  
  1516. typedef FLOATING_SAVE_AREA *PFLOATING_SAVE_AREA;
  1517. # 7769 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1518. typedef char __C_ASSERT__[(sizeof(XSAVE_FORMAT) == 512)?1:-1];
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk/pshpack4.h" 1 3
  1527. # 24 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk/pshpack4.h" 3
  1528. #pragma warning(disable: 4103)
  1529.  
  1530. #pragma pack(push,4)
  1531. # 7776 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 2 3
  1532. # 7788 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1533. typedef struct _CONTEXT {
  1534. # 7808 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1535.     DWORD ContextFlags;
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.     DWORD Dr0;
  1544.     DWORD Dr1;
  1545.     DWORD Dr2;
  1546.     DWORD Dr3;
  1547.     DWORD Dr6;
  1548.     DWORD Dr7;
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.     FLOATING_SAVE_AREA FloatSave;
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.     DWORD SegGs;
  1563.     DWORD SegFs;
  1564.     DWORD SegEs;
  1565.     DWORD SegDs;
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.     DWORD Edi;
  1573.     DWORD Esi;
  1574.     DWORD Ebx;
  1575.     DWORD Edx;
  1576.     DWORD Ecx;
  1577.     DWORD Eax;
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.     DWORD Ebp;
  1585.     DWORD Eip;
  1586.     DWORD SegCs;
  1587.     DWORD EFlags;
  1588.     DWORD Esp;
  1589.     DWORD SegSs;
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.     BYTE ExtendedRegisters[512];
  1598.  
  1599. } CONTEXT;
  1600.  
  1601. typedef CONTEXT *PCONTEXT;
  1602.  
  1603.  
  1604. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk/poppack.h" 1 3
  1605. # 27 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk/poppack.h" 3
  1606. #pragma warning(disable: 4103)
  1607.  
  1608. #pragma pack(pop)
  1609. # 7876 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 2 3
  1610. # 7886 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1611. typedef struct _LDT_ENTRY {
  1612.     WORD LimitLow;
  1613.     WORD BaseLow;
  1614.     union {
  1615.         struct {
  1616.             BYTE BaseMid;
  1617.             BYTE Flags1;
  1618.             BYTE Flags2;
  1619.             BYTE BaseHi;
  1620.         } Bytes;
  1621.         struct {
  1622.             DWORD BaseMid : 8;
  1623.             DWORD Type : 5;
  1624.             DWORD Dpl : 2;
  1625.             DWORD Pres : 1;
  1626.             DWORD LimitHi : 4;
  1627.             DWORD Sys : 1;
  1628.             DWORD Reserved_0 : 1;
  1629.             DWORD Default_Big : 1;
  1630.             DWORD Granularity : 1;
  1631.             DWORD BaseHi : 8;
  1632.         } Bits;
  1633.     } HighWord;
  1634. } LDT_ENTRY, *PLDT_ENTRY;
  1635. # 7923 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1636. __inline
  1637. CHAR
  1638. ReadAcquire8 (
  1639.                                CHAR const volatile *Source
  1640.     )
  1641.  
  1642. {
  1643.  
  1644.     CHAR Value;
  1645.  
  1646.     Value = *Source;
  1647.     return Value;
  1648. }
  1649.  
  1650. __inline
  1651. CHAR
  1652. ReadNoFence8 (
  1653.                                CHAR const volatile *Source
  1654.     )
  1655.  
  1656. {
  1657.  
  1658.     CHAR Value;
  1659.  
  1660.     Value = *Source;
  1661.     return Value;
  1662. }
  1663.  
  1664. __inline
  1665. void
  1666. WriteRelease8 (
  1667.                                 CHAR volatile *Destination,
  1668.          CHAR Value
  1669.     )
  1670.  
  1671. {
  1672.  
  1673.     *Destination = Value;
  1674.     return;
  1675. }
  1676.  
  1677. __inline
  1678. void
  1679. WriteNoFence8 (
  1680.                                 CHAR volatile *Destination,
  1681.          CHAR Value
  1682.     )
  1683.  
  1684. {
  1685.  
  1686.     *Destination = Value;
  1687.     return;
  1688. }
  1689.  
  1690. __inline
  1691. SHORT
  1692. ReadAcquire16 (
  1693.                                SHORT const volatile *Source
  1694.     )
  1695.  
  1696. {
  1697.  
  1698.     SHORT Value;
  1699.  
  1700.     Value = *Source;
  1701.     return Value;
  1702. }
  1703.  
  1704. __inline
  1705. SHORT
  1706. ReadNoFence16 (
  1707.                                SHORT const volatile *Source
  1708.     )
  1709.  
  1710. {
  1711.  
  1712.     SHORT Value;
  1713.  
  1714.     Value = *Source;
  1715.     return Value;
  1716. }
  1717.  
  1718. __inline
  1719. void
  1720. WriteRelease16 (
  1721.                                 SHORT volatile *Destination,
  1722.          SHORT Value
  1723.     )
  1724.  
  1725. {
  1726.  
  1727.     *Destination = Value;
  1728.     return;
  1729. }
  1730.  
  1731. __inline
  1732. void
  1733. WriteNoFence16 (
  1734.                                 SHORT volatile *Destination,
  1735.          SHORT Value
  1736.     )
  1737.  
  1738. {
  1739.  
  1740.     *Destination = Value;
  1741.     return;
  1742. }
  1743.  
  1744. __inline
  1745. LONG
  1746. ReadAcquire (
  1747.                                LONG const volatile *Source
  1748.     )
  1749.  
  1750. {
  1751.  
  1752.     LONG Value;
  1753.  
  1754.     Value = *Source;
  1755.     return Value;
  1756. }
  1757.  
  1758. __inline
  1759. LONG
  1760. ReadNoFence (
  1761.                                LONG const volatile *Source
  1762.     )
  1763.  
  1764. {
  1765.  
  1766.     LONG Value;
  1767.  
  1768.     Value = *Source;
  1769.     return Value;
  1770. }
  1771.  
  1772. __inline
  1773. void
  1774. WriteRelease (
  1775.                                 LONG volatile *Destination,
  1776.          LONG Value
  1777.     )
  1778.  
  1779. {
  1780.  
  1781.     *Destination = Value;
  1782.     return;
  1783. }
  1784.  
  1785. __inline
  1786. void
  1787. WriteNoFence (
  1788.                                 LONG volatile *Destination,
  1789.          LONG Value
  1790.     )
  1791.  
  1792. {
  1793.  
  1794.     *Destination = Value;
  1795.     return;
  1796. }
  1797.  
  1798. __inline
  1799. LONG64
  1800. ReadAcquire64 (
  1801.                                LONG64 const volatile *Source
  1802.     )
  1803.  
  1804. {
  1805.  
  1806.     LONG64 Value;
  1807.  
  1808.     Value = *Source;
  1809.     return Value;
  1810. }
  1811.  
  1812. __inline
  1813. LONG64
  1814. ReadNoFence64 (
  1815.                                LONG64 const volatile *Source
  1816.     )
  1817.  
  1818. {
  1819.  
  1820.     LONG64 Value;
  1821.  
  1822.     Value = *Source;
  1823.     return Value;
  1824. }
  1825.  
  1826. __inline
  1827. void
  1828. WriteRelease64 (
  1829.                                 LONG64 volatile *Destination,
  1830.          LONG64 Value
  1831.     )
  1832.  
  1833. {
  1834.  
  1835.     *Destination = Value;
  1836.     return;
  1837. }
  1838.  
  1839. __inline
  1840. void
  1841. WriteNoFence64 (
  1842.                                 LONG64 volatile *Destination,
  1843.          LONG64 Value
  1844.     )
  1845.  
  1846. {
  1847.  
  1848.     *Destination = Value;
  1849.     return;
  1850. }
  1851. # 8149 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  1852. __inline
  1853. CHAR
  1854. ReadRaw8 (
  1855.                                CHAR const volatile *Source
  1856.     )
  1857.  
  1858. {
  1859.  
  1860.     CHAR Value;
  1861.  
  1862.     Value = *(CHAR *)Source;
  1863.     return Value;
  1864. }
  1865.  
  1866. __inline
  1867. void
  1868. WriteRaw8 (
  1869.                                 CHAR volatile *Destination,
  1870.          CHAR Value
  1871.     )
  1872.  
  1873. {
  1874.  
  1875.     *(CHAR *)Destination = Value;
  1876.     return;
  1877. }
  1878.  
  1879. __inline
  1880. SHORT
  1881. ReadRaw16 (
  1882.                                SHORT const volatile *Source
  1883.     )
  1884.  
  1885. {
  1886.  
  1887.     SHORT Value;
  1888.  
  1889.     Value = *(SHORT *)Source;
  1890.     return Value;
  1891. }
  1892.  
  1893. __inline
  1894. void
  1895. WriteRaw16 (
  1896.                                 SHORT volatile *Destination,
  1897.          SHORT Value
  1898.     )
  1899.  
  1900. {
  1901.  
  1902.     *(SHORT *)Destination = Value;
  1903.     return;
  1904. }
  1905.  
  1906. __inline
  1907. LONG
  1908. ReadRaw (
  1909.                                LONG const volatile *Source
  1910.     )
  1911.  
  1912. {
  1913.  
  1914.     LONG Value;
  1915.  
  1916.     Value = *(LONG *)Source;
  1917.     return Value;
  1918. }
  1919.  
  1920. __inline
  1921. void
  1922. WriteRaw (
  1923.                                 LONG volatile *Destination,
  1924.          LONG Value
  1925.     )
  1926.  
  1927. {
  1928.  
  1929.     *(LONG *)Destination = Value;
  1930.     return;
  1931. }
  1932.  
  1933. __inline
  1934. LONG64
  1935. ReadRaw64 (
  1936.                                LONG64 const volatile *Source
  1937.     )
  1938.  
  1939. {
  1940.  
  1941.     LONG64 Value;
  1942.  
  1943.     Value = *(LONG64 *)Source;
  1944.     return Value;
  1945. }
  1946.  
  1947. __inline
  1948. void
  1949. WriteRaw64 (
  1950.                                 LONG64 volatile *Destination,
  1951.          LONG64 Value
  1952.     )
  1953.  
  1954. {
  1955.  
  1956.     *(LONG64 *)Destination = Value;
  1957.     return;
  1958. }
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964. __inline
  1965. BYTE
  1966. ReadUCharAcquire (
  1967.                                BYTE const volatile *Source
  1968.     )
  1969.  
  1970. {
  1971.  
  1972.     return (BYTE )ReadAcquire8((PCHAR)Source);
  1973. }
  1974.  
  1975. __inline
  1976. BYTE
  1977. ReadUCharNoFence (
  1978.                                BYTE const volatile *Source
  1979.     )
  1980.  
  1981. {
  1982.  
  1983.     return (BYTE )ReadNoFence8((PCHAR)Source);
  1984. }
  1985.  
  1986. __inline
  1987. BYTE
  1988. ReadBooleanAcquire (
  1989.                                BOOLEAN const volatile *Source
  1990.     )
  1991.  
  1992. {
  1993.  
  1994.     return (BOOLEAN)ReadAcquire8((PCHAR)Source);
  1995. }
  1996.  
  1997. __inline
  1998. BYTE
  1999. ReadBooleanNoFence (
  2000.                                BOOLEAN const volatile *Source
  2001.     )
  2002.  
  2003. {
  2004.  
  2005.     return (BOOLEAN)ReadNoFence8((PCHAR)Source);
  2006. }
  2007.  
  2008. __inline
  2009. BYTE
  2010. ReadUCharRaw (
  2011.                                BYTE const volatile *Source
  2012.     )
  2013.  
  2014. {
  2015.  
  2016.     return (BYTE )ReadRaw8((PCHAR)Source);
  2017. }
  2018.  
  2019. __inline
  2020. void
  2021. WriteUCharRelease (
  2022.                                 BYTE volatile *Destination,
  2023.          BYTE Value
  2024.     )
  2025.  
  2026. {
  2027.  
  2028.     WriteRelease8((PCHAR)Destination, (CHAR)Value);
  2029.     return;
  2030. }
  2031.  
  2032. __inline
  2033. void
  2034. WriteUCharNoFence (
  2035.                                 BYTE volatile *Destination,
  2036.          BYTE Value
  2037.     )
  2038.  
  2039. {
  2040.  
  2041.     WriteNoFence8((PCHAR)Destination, (CHAR)Value);
  2042.     return;
  2043. }
  2044.  
  2045. __inline
  2046. void
  2047. WriteBooleanRelease (
  2048.                                 BOOLEAN volatile *Destination,
  2049.          BOOLEAN Value
  2050.     )
  2051.  
  2052. {
  2053.  
  2054.     WriteRelease8((PCHAR)Destination, (CHAR)Value);
  2055.     return;
  2056. }
  2057.  
  2058. __inline
  2059. void
  2060. WriteBooleanNoFence (
  2061.                                 BOOLEAN volatile *Destination,
  2062.          BOOLEAN Value
  2063.     )
  2064.  
  2065. {
  2066.  
  2067.     WriteNoFence8((PCHAR)Destination, (CHAR)Value);
  2068.     return;
  2069. }
  2070.  
  2071. __inline
  2072. void
  2073. WriteUCharRaw (
  2074.                                 BYTE volatile *Destination,
  2075.          BYTE Value
  2076.     )
  2077.  
  2078. {
  2079.  
  2080.     WriteRaw8((PCHAR)Destination, (CHAR)Value);
  2081.     return;
  2082. }
  2083.  
  2084. __inline
  2085. WORD
  2086. ReadUShortAcquire (
  2087.                                WORD const volatile *Source
  2088.     )
  2089.  
  2090. {
  2091.  
  2092.     return (WORD )ReadAcquire16((PSHORT)Source);
  2093. }
  2094.  
  2095. __inline
  2096. WORD
  2097. ReadUShortNoFence (
  2098.                                WORD const volatile *Source
  2099.     )
  2100.  
  2101. {
  2102.  
  2103.     return (WORD )ReadNoFence16((PSHORT)Source);
  2104. }
  2105.  
  2106. __inline
  2107. WORD
  2108. ReadUShortRaw (
  2109.                                WORD const volatile *Source
  2110.     )
  2111.  
  2112. {
  2113.  
  2114.     return (WORD )ReadRaw16((PSHORT)Source);
  2115. }
  2116.  
  2117. __inline
  2118. void
  2119. WriteUShortRelease (
  2120.                                 WORD volatile *Destination,
  2121.          WORD Value
  2122.     )
  2123.  
  2124. {
  2125.  
  2126.     WriteRelease16((PSHORT)Destination, (SHORT)Value);
  2127.     return;
  2128. }
  2129.  
  2130. __inline
  2131. void
  2132. WriteUShortNoFence (
  2133.                                 WORD volatile *Destination,
  2134.          WORD Value
  2135.     )
  2136.  
  2137. {
  2138.  
  2139.     WriteNoFence16((PSHORT)Destination, (SHORT)Value);
  2140.     return;
  2141. }
  2142.  
  2143. __inline
  2144. void
  2145. WriteUShortRaw (
  2146.                                 WORD volatile *Destination,
  2147.          WORD Value
  2148.     )
  2149.  
  2150. {
  2151.  
  2152.     WriteRaw16((PSHORT)Destination, (SHORT)Value);
  2153.     return;
  2154. }
  2155.  
  2156. __inline
  2157. DWORD
  2158. ReadULongAcquire (
  2159.                                DWORD const volatile *Source
  2160.     )
  2161.  
  2162. {
  2163.  
  2164.     return (DWORD)ReadAcquire((PLONG)Source);
  2165. }
  2166.  
  2167. __inline
  2168. DWORD
  2169. ReadULongNoFence (
  2170.                                DWORD const volatile *Source
  2171.     )
  2172.  
  2173. {
  2174.  
  2175.     return (DWORD)ReadNoFence((PLONG)Source);
  2176. }
  2177.  
  2178. __inline
  2179. DWORD
  2180. ReadULongRaw (
  2181.                                DWORD const volatile *Source
  2182.     )
  2183.  
  2184. {
  2185.  
  2186.     return (DWORD)ReadRaw((PLONG)Source);
  2187. }
  2188.  
  2189. __inline
  2190. void
  2191. WriteULongRelease (
  2192.                                 DWORD volatile *Destination,
  2193.          DWORD Value
  2194.     )
  2195.  
  2196. {
  2197.  
  2198.     WriteRelease((PLONG)Destination, (LONG)Value);
  2199.     return;
  2200. }
  2201.  
  2202. __inline
  2203. void
  2204. WriteULongNoFence (
  2205.                                 DWORD volatile *Destination,
  2206.          DWORD Value
  2207.     )
  2208.  
  2209. {
  2210.  
  2211.     WriteNoFence((PLONG)Destination, (LONG)Value);
  2212.     return;
  2213. }
  2214.  
  2215. __inline
  2216. void
  2217. WriteULongRaw (
  2218.                                 DWORD volatile *Destination,
  2219.          DWORD Value
  2220.     )
  2221.  
  2222. {
  2223.  
  2224.     WriteRaw((PLONG)Destination, (LONG)Value);
  2225.     return;
  2226. }
  2227.  
  2228. __inline
  2229. DWORD64
  2230. ReadULong64Acquire (
  2231.                                DWORD64 const volatile *Source
  2232.     )
  2233.  
  2234. {
  2235.  
  2236.     return (DWORD64)ReadAcquire64((PLONG64)Source);
  2237. }
  2238.  
  2239. __inline
  2240. DWORD64
  2241. ReadULong64NoFence (
  2242.                                DWORD64 const volatile *Source
  2243.     )
  2244.  
  2245. {
  2246.  
  2247.     return (DWORD64)ReadNoFence64((PLONG64)Source);
  2248. }
  2249.  
  2250. __inline
  2251. DWORD64
  2252. ReadULong64Raw (
  2253.                                DWORD64 const volatile *Source
  2254.     )
  2255.  
  2256. {
  2257.  
  2258.     return (DWORD64)ReadRaw64((PLONG64)Source);
  2259. }
  2260.  
  2261. __inline
  2262. void
  2263. WriteULong64Release (
  2264.                                 DWORD64 volatile *Destination,
  2265.          DWORD64 Value
  2266.     )
  2267.  
  2268. {
  2269.  
  2270.     WriteRelease64((PLONG64)Destination, (LONG64)Value);
  2271.     return;
  2272. }
  2273.  
  2274. __inline
  2275. void
  2276. WriteULong64NoFence (
  2277.                                 DWORD64 volatile *Destination,
  2278.          DWORD64 Value
  2279.     )
  2280.  
  2281. {
  2282.  
  2283.     WriteNoFence64((PLONG64)Destination, (LONG64)Value);
  2284.     return;
  2285. }
  2286.  
  2287. __inline
  2288. void
  2289. WriteULong64Raw (
  2290.                                 DWORD64 volatile *Destination,
  2291.          DWORD64 Value
  2292.     )
  2293.  
  2294. {
  2295.  
  2296.     WriteRaw64((PLONG64)Destination, (LONG64)Value);
  2297.     return;
  2298. }
  2299. # 8611 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2300. __inline
  2301. PVOID
  2302. ReadPointerAcquire (
  2303.                                PVOID const volatile *Source
  2304.     )
  2305.  
  2306. {
  2307.  
  2308.     return (PVOID)ReadAcquire((PLONG)Source);
  2309. }
  2310.  
  2311. __inline
  2312. PVOID
  2313. ReadPointerNoFence (
  2314.                                PVOID const volatile *Source
  2315.     )
  2316.  
  2317. {
  2318.  
  2319.     return (PVOID)ReadNoFence((PLONG)Source);
  2320. }
  2321.  
  2322. __inline
  2323. PVOID
  2324. ReadPointerRaw (
  2325.                                PVOID const volatile *Source
  2326.     )
  2327.  
  2328. {
  2329.  
  2330.     return (PVOID)ReadRaw((PLONG)Source);
  2331. }
  2332.  
  2333. __inline
  2334. void
  2335. WritePointerRelease (
  2336.                                 PVOID volatile *Destination,
  2337.          PVOID Value
  2338.     )
  2339.  
  2340. {
  2341.  
  2342.     WriteRelease((PLONG)Destination, (LONG)Value);
  2343.     return;
  2344. }
  2345.  
  2346. __inline
  2347. void
  2348. WritePointerNoFence (
  2349.                                 PVOID volatile *Destination,
  2350.              PVOID Value
  2351.     )
  2352.  
  2353. {
  2354.  
  2355.     WriteNoFence((PLONG)Destination, (LONG)Value);
  2356.     return;
  2357. }
  2358.  
  2359. __inline
  2360. void
  2361. WritePointerRaw (
  2362.                                 PVOID volatile *Destination,
  2363.              PVOID Value
  2364.     )
  2365.  
  2366. {
  2367.  
  2368.     WriteRaw((PLONG)Destination, (LONG)Value);
  2369.     return;
  2370. }
  2371. # 8847 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2372. typedef struct _WOW64_FLOATING_SAVE_AREA {
  2373.     DWORD ControlWord;
  2374.     DWORD StatusWord;
  2375.     DWORD TagWord;
  2376.     DWORD ErrorOffset;
  2377.     DWORD ErrorSelector;
  2378.     DWORD DataOffset;
  2379.     DWORD DataSelector;
  2380.     BYTE RegisterArea[80];
  2381.     DWORD Cr0NpxState;
  2382. } WOW64_FLOATING_SAVE_AREA;
  2383.  
  2384. typedef WOW64_FLOATING_SAVE_AREA *PWOW64_FLOATING_SAVE_AREA;
  2385.  
  2386.  
  2387. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk/pshpack4.h" 1 3
  2388. # 24 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk/pshpack4.h" 3
  2389. #pragma warning(disable: 4103)
  2390.  
  2391. #pragma pack(push,4)
  2392. # 8861 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 2 3
  2393. # 8873 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2394. typedef struct _WOW64_CONTEXT {
  2395. # 8893 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2396.     DWORD ContextFlags;
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404.     DWORD Dr0;
  2405.     DWORD Dr1;
  2406.     DWORD Dr2;
  2407.     DWORD Dr3;
  2408.     DWORD Dr6;
  2409.     DWORD Dr7;
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.     WOW64_FLOATING_SAVE_AREA FloatSave;
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.     DWORD SegGs;
  2424.     DWORD SegFs;
  2425.     DWORD SegEs;
  2426.     DWORD SegDs;
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.     DWORD Edi;
  2434.     DWORD Esi;
  2435.     DWORD Ebx;
  2436.     DWORD Edx;
  2437.     DWORD Ecx;
  2438.     DWORD Eax;
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.     DWORD Ebp;
  2446.     DWORD Eip;
  2447.     DWORD SegCs;
  2448.     DWORD EFlags;
  2449.     DWORD Esp;
  2450.     DWORD SegSs;
  2451.  
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.     BYTE ExtendedRegisters[512];
  2459.  
  2460. } WOW64_CONTEXT;
  2461.  
  2462. typedef WOW64_CONTEXT *PWOW64_CONTEXT;
  2463.  
  2464.  
  2465. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk/poppack.h" 1 3
  2466. # 27 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk/poppack.h" 3
  2467. #pragma warning(disable: 4103)
  2468.  
  2469. #pragma pack(pop)
  2470. # 8961 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 2 3
  2471.  
  2472.  
  2473.  
  2474. typedef struct _WOW64_LDT_ENTRY {
  2475.     WORD LimitLow;
  2476.     WORD BaseLow;
  2477.     union {
  2478.         struct {
  2479.             BYTE BaseMid;
  2480.             BYTE Flags1;
  2481.             BYTE Flags2;
  2482.             BYTE BaseHi;
  2483.         } Bytes;
  2484.         struct {
  2485.             DWORD BaseMid : 8;
  2486.             DWORD Type : 5;
  2487.             DWORD Dpl : 2;
  2488.             DWORD Pres : 1;
  2489.             DWORD LimitHi : 4;
  2490.             DWORD Sys : 1;
  2491.             DWORD Reserved_0 : 1;
  2492.             DWORD Default_Big : 1;
  2493.             DWORD Granularity : 1;
  2494.             DWORD BaseHi : 8;
  2495.         } Bits;
  2496.     } HighWord;
  2497. } WOW64_LDT_ENTRY, *PWOW64_LDT_ENTRY;
  2498.  
  2499. typedef struct _WOW64_DESCRIPTOR_TABLE_ENTRY {
  2500.     DWORD Selector;
  2501.     WOW64_LDT_ENTRY Descriptor;
  2502. } WOW64_DESCRIPTOR_TABLE_ENTRY, *PWOW64_DESCRIPTOR_TABLE_ENTRY;
  2503. # 9015 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2504. typedef struct _EXCEPTION_RECORD {
  2505.     DWORD ExceptionCode;
  2506.     DWORD ExceptionFlags;
  2507.     struct _EXCEPTION_RECORD *ExceptionRecord;
  2508.     PVOID ExceptionAddress;
  2509.     DWORD NumberParameters;
  2510.     ULONG_PTR ExceptionInformation[15];
  2511.     } EXCEPTION_RECORD;
  2512.  
  2513. typedef EXCEPTION_RECORD *PEXCEPTION_RECORD;
  2514.  
  2515. typedef struct _EXCEPTION_RECORD32 {
  2516.     DWORD ExceptionCode;
  2517.     DWORD ExceptionFlags;
  2518.     DWORD ExceptionRecord;
  2519.     DWORD ExceptionAddress;
  2520.     DWORD NumberParameters;
  2521.     DWORD ExceptionInformation[15];
  2522. } EXCEPTION_RECORD32, *PEXCEPTION_RECORD32;
  2523.  
  2524. typedef struct _EXCEPTION_RECORD64 {
  2525.     DWORD ExceptionCode;
  2526.     DWORD ExceptionFlags;
  2527.     DWORD64 ExceptionRecord;
  2528.     DWORD64 ExceptionAddress;
  2529.     DWORD NumberParameters;
  2530.     DWORD __unusedAlignment;
  2531.     DWORD64 ExceptionInformation[15];
  2532. } EXCEPTION_RECORD64, *PEXCEPTION_RECORD64;
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538. typedef struct _EXCEPTION_POINTERS {
  2539.     PEXCEPTION_RECORD ExceptionRecord;
  2540.     PCONTEXT ContextRecord;
  2541. } EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;
  2542. # 9073 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2543. typedef PVOID PACCESS_TOKEN;
  2544. typedef PVOID PSECURITY_DESCRIPTOR;
  2545. typedef PVOID PSID;
  2546. typedef PVOID PCLAIMS_BLOB;
  2547. # 9117 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2548. typedef DWORD ACCESS_MASK;
  2549. typedef ACCESS_MASK *PACCESS_MASK;
  2550. # 9176 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2551. typedef struct _GENERIC_MAPPING {
  2552.     ACCESS_MASK GenericRead;
  2553.     ACCESS_MASK GenericWrite;
  2554.     ACCESS_MASK GenericExecute;
  2555.     ACCESS_MASK GenericAll;
  2556. } GENERIC_MAPPING;
  2557. typedef GENERIC_MAPPING *PGENERIC_MAPPING;
  2558. # 9195 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2559. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\pshpack4.h" 1 3
  2560. # 24 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\pshpack4.h" 3
  2561. #pragma warning(disable: 4103)
  2562.  
  2563. #pragma pack(push,4)
  2564. # 9195 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 2 3
  2565.  
  2566.  
  2567. typedef struct _LUID_AND_ATTRIBUTES {
  2568.     LUID Luid;
  2569.     DWORD Attributes;
  2570.     } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;
  2571. typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[1];
  2572. typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
  2573.  
  2574.  
  2575. # 1 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\poppack.h" 1 3
  2576. # 27 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\poppack.h" 3
  2577. #pragma warning(disable: 4103)
  2578.  
  2579. #pragma pack(pop)
  2580. # 9204 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 2 3
  2581. # 9239 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2582. typedef struct _SID_IDENTIFIER_AUTHORITY {
  2583.     BYTE Value[6];
  2584. } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590. typedef struct _SID {
  2591.    BYTE Revision;
  2592.    BYTE SubAuthorityCount;
  2593.    SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
  2594.  
  2595.  
  2596.  
  2597.    DWORD SubAuthority[1];
  2598.  
  2599. } SID, *PISID;
  2600. # 9287 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2601. typedef union _SE_SID {
  2602.     SID Sid;
  2603.     BYTE Buffer[(sizeof(SID) - sizeof(DWORD) + ((15) * sizeof(DWORD)))];
  2604. } SE_SID, *PSE_SID;
  2605.  
  2606.  
  2607.  
  2608.  
  2609. typedef enum _SID_NAME_USE {
  2610.     SidTypeUser = 1,
  2611.     SidTypeGroup,
  2612.     SidTypeDomain,
  2613.     SidTypeAlias,
  2614.     SidTypeWellKnownGroup,
  2615.     SidTypeDeletedAccount,
  2616.     SidTypeInvalid,
  2617.     SidTypeUnknown,
  2618.     SidTypeComputer,
  2619.     SidTypeLabel,
  2620.     SidTypeLogonSession
  2621. } SID_NAME_USE, *PSID_NAME_USE;
  2622.  
  2623. typedef struct _SID_AND_ATTRIBUTES {
  2624.  
  2625.  
  2626.  
  2627.     PSID Sid;
  2628.  
  2629.     DWORD Attributes;
  2630.     } SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES;
  2631.  
  2632. typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[1];
  2633. typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
  2634.  
  2635.  
  2636. typedef ULONG_PTR SID_HASH_ENTRY, *PSID_HASH_ENTRY;
  2637.  
  2638. typedef struct _SID_AND_ATTRIBUTES_HASH {
  2639.     DWORD SidCount;
  2640.     PSID_AND_ATTRIBUTES SidAttr;
  2641.     SID_HASH_ENTRY Hash[32];
  2642. } SID_AND_ATTRIBUTES_HASH, *PSID_AND_ATTRIBUTES_HASH;
  2643. # 9729 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2644. typedef enum {
  2645.  
  2646.     WinNullSid = 0,
  2647.     WinWorldSid = 1,
  2648.     WinLocalSid = 2,
  2649.     WinCreatorOwnerSid = 3,
  2650.     WinCreatorGroupSid = 4,
  2651.     WinCreatorOwnerServerSid = 5,
  2652.     WinCreatorGroupServerSid = 6,
  2653.     WinNtAuthoritySid = 7,
  2654.     WinDialupSid = 8,
  2655.     WinNetworkSid = 9,
  2656.     WinBatchSid = 10,
  2657.     WinInteractiveSid = 11,
  2658.     WinServiceSid = 12,
  2659.     WinAnonymousSid = 13,
  2660.     WinProxySid = 14,
  2661.     WinEnterpriseControllersSid = 15,
  2662.     WinSelfSid = 16,
  2663.     WinAuthenticatedUserSid = 17,
  2664.     WinRestrictedCodeSid = 18,
  2665.     WinTerminalServerSid = 19,
  2666.     WinRemoteLogonIdSid = 20,
  2667.     WinLogonIdsSid = 21,
  2668.     WinLocalSystemSid = 22,
  2669.     WinLocalServiceSid = 23,
  2670.     WinNetworkServiceSid = 24,
  2671.     WinBuiltinDomainSid = 25,
  2672.     WinBuiltinAdministratorsSid = 26,
  2673.     WinBuiltinUsersSid = 27,
  2674.     WinBuiltinGuestsSid = 28,
  2675.     WinBuiltinPowerUsersSid = 29,
  2676.     WinBuiltinAccountOperatorsSid = 30,
  2677.     WinBuiltinSystemOperatorsSid = 31,
  2678.     WinBuiltinPrintOperatorsSid = 32,
  2679.     WinBuiltinBackupOperatorsSid = 33,
  2680.     WinBuiltinReplicatorSid = 34,
  2681.     WinBuiltinPreWindows2000CompatibleAccessSid = 35,
  2682.     WinBuiltinRemoteDesktopUsersSid = 36,
  2683.     WinBuiltinNetworkConfigurationOperatorsSid = 37,
  2684.     WinAccountAdministratorSid = 38,
  2685.     WinAccountGuestSid = 39,
  2686.     WinAccountKrbtgtSid = 40,
  2687.     WinAccountDomainAdminsSid = 41,
  2688.     WinAccountDomainUsersSid = 42,
  2689.     WinAccountDomainGuestsSid = 43,
  2690.     WinAccountComputersSid = 44,
  2691.     WinAccountControllersSid = 45,
  2692.     WinAccountCertAdminsSid = 46,
  2693.     WinAccountSchemaAdminsSid = 47,
  2694.     WinAccountEnterpriseAdminsSid = 48,
  2695.     WinAccountPolicyAdminsSid = 49,
  2696.     WinAccountRasAndIasServersSid = 50,
  2697.     WinNTLMAuthenticationSid = 51,
  2698.     WinDigestAuthenticationSid = 52,
  2699.     WinSChannelAuthenticationSid = 53,
  2700.     WinThisOrganizationSid = 54,
  2701.     WinOtherOrganizationSid = 55,
  2702.     WinBuiltinIncomingForestTrustBuildersSid = 56,
  2703.     WinBuiltinPerfMonitoringUsersSid = 57,
  2704.     WinBuiltinPerfLoggingUsersSid = 58,
  2705.     WinBuiltinAuthorizationAccessSid = 59,
  2706.     WinBuiltinTerminalServerLicenseServersSid = 60,
  2707.     WinBuiltinDCOMUsersSid = 61,
  2708.     WinBuiltinIUsersSid = 62,
  2709.     WinIUserSid = 63,
  2710.     WinBuiltinCryptoOperatorsSid = 64,
  2711.     WinUntrustedLabelSid = 65,
  2712.     WinLowLabelSid = 66,
  2713.     WinMediumLabelSid = 67,
  2714.     WinHighLabelSid = 68,
  2715.     WinSystemLabelSid = 69,
  2716.     WinWriteRestrictedCodeSid = 70,
  2717.     WinCreatorOwnerRightsSid = 71,
  2718.     WinCacheablePrincipalsGroupSid = 72,
  2719.     WinNonCacheablePrincipalsGroupSid = 73,
  2720.     WinEnterpriseReadonlyControllersSid = 74,
  2721.     WinAccountReadonlyControllersSid = 75,
  2722.     WinBuiltinEventLogReadersGroup = 76,
  2723.     WinNewEnterpriseReadonlyControllersSid = 77,
  2724.     WinBuiltinCertSvcDComAccessGroup = 78,
  2725.     WinMediumPlusLabelSid = 79,
  2726.     WinLocalLogonSid = 80,
  2727.     WinConsoleLogonSid = 81,
  2728.     WinThisOrganizationCertificateSid = 82,
  2729.     WinApplicationPackageAuthoritySid = 83,
  2730.     WinBuiltinAnyPackageSid = 84,
  2731.     WinCapabilityInternetClientSid = 85,
  2732.     WinCapabilityInternetClientServerSid = 86,
  2733.     WinCapabilityPrivateNetworkClientServerSid = 87,
  2734.     WinCapabilityPicturesLibrarySid = 88,
  2735.     WinCapabilityVideosLibrarySid = 89,
  2736.     WinCapabilityMusicLibrarySid = 90,
  2737.     WinCapabilityDocumentsLibrarySid = 91,
  2738.     WinCapabilitySharedUserCertificatesSid = 92,
  2739.     WinCapabilityEnterpriseAuthenticationSid = 93,
  2740.     WinCapabilityRemovableStorageSid = 94,
  2741.     WinBuiltinRDSRemoteAccessServersSid = 95,
  2742.     WinBuiltinRDSEndpointServersSid = 96,
  2743.     WinBuiltinRDSManagementServersSid = 97,
  2744.     WinUserModeDriversSid = 98,
  2745.     WinBuiltinHyperVAdminsSid = 99,
  2746.     WinAccountCloneableControllersSid = 100,
  2747.     WinBuiltinAccessControlAssistanceOperatorsSid = 101,
  2748.     WinBuiltinRemoteManagementUsersSid = 102,
  2749.     WinAuthenticationAuthorityAssertedSid = 103,
  2750.     WinAuthenticationServiceAssertedSid = 104,
  2751.     WinLocalAccountSid = 105,
  2752.     WinLocalAccountAndAdministratorSid = 106,
  2753.     WinAccountProtectedUsersSid = 107,
  2754.     WinCapabilityAppointmentsSid = 108,
  2755.     WinCapabilityContactsSid = 109,
  2756.     WinAccountDefaultSystemManagedSid = 110,
  2757.     WinBuiltinDefaultSystemManagedGroupSid = 111,
  2758.     WinBuiltinStorageReplicaAdminsSid = 112,
  2759.     WinAccountKeyAdminsSid = 113,
  2760.     WinAccountEnterpriseKeyAdminsSid = 114,
  2761.     WinAuthenticationKeyTrustSid = 115,
  2762.     WinAuthenticationKeyPropertyMFASid = 116,
  2763.     WinAuthenticationKeyPropertyAttestationSid = 117,
  2764.     WinAuthenticationFreshKeyAuthSid = 118,
  2765.     WinBuiltinDeviceOwnersSid = 119,
  2766. } WELL_KNOWN_SID_TYPE;
  2767. # 9948 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2768. typedef struct _ACL {
  2769.     BYTE AclRevision;
  2770.     BYTE Sbz1;
  2771.     WORD AclSize;
  2772.     WORD AceCount;
  2773.     WORD Sbz2;
  2774. } ACL;
  2775. typedef ACL *PACL;
  2776. # 9978 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2777. typedef struct _ACE_HEADER {
  2778.     BYTE AceType;
  2779.     BYTE AceFlags;
  2780.     WORD AceSize;
  2781. } ACE_HEADER;
  2782. typedef ACE_HEADER *PACE_HEADER;
  2783. # 10107 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2784. typedef struct _ACCESS_ALLOWED_ACE {
  2785.     ACE_HEADER Header;
  2786.     ACCESS_MASK Mask;
  2787.     DWORD SidStart;
  2788. } ACCESS_ALLOWED_ACE;
  2789.  
  2790. typedef ACCESS_ALLOWED_ACE *PACCESS_ALLOWED_ACE;
  2791.  
  2792. typedef struct _ACCESS_DENIED_ACE {
  2793.     ACE_HEADER Header;
  2794.     ACCESS_MASK Mask;
  2795.     DWORD SidStart;
  2796. } ACCESS_DENIED_ACE;
  2797. typedef ACCESS_DENIED_ACE *PACCESS_DENIED_ACE;
  2798.  
  2799. typedef struct _SYSTEM_AUDIT_ACE {
  2800.     ACE_HEADER Header;
  2801.     ACCESS_MASK Mask;
  2802.     DWORD SidStart;
  2803. } SYSTEM_AUDIT_ACE;
  2804. typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE;
  2805.  
  2806. typedef struct _SYSTEM_ALARM_ACE {
  2807.     ACE_HEADER Header;
  2808.     ACCESS_MASK Mask;
  2809.     DWORD SidStart;
  2810. } SYSTEM_ALARM_ACE;
  2811. typedef SYSTEM_ALARM_ACE *PSYSTEM_ALARM_ACE;
  2812.  
  2813. typedef struct _SYSTEM_RESOURCE_ATTRIBUTE_ACE {
  2814.     ACE_HEADER Header;
  2815.     ACCESS_MASK Mask;
  2816.     DWORD SidStart;
  2817.  
  2818. } SYSTEM_RESOURCE_ATTRIBUTE_ACE, *PSYSTEM_RESOURCE_ATTRIBUTE_ACE;
  2819.  
  2820. typedef struct _SYSTEM_SCOPED_POLICY_ID_ACE {
  2821.     ACE_HEADER Header;
  2822.     ACCESS_MASK Mask;
  2823.     DWORD SidStart;
  2824. } SYSTEM_SCOPED_POLICY_ID_ACE, *PSYSTEM_SCOPED_POLICY_ID_ACE;
  2825.  
  2826. typedef struct _SYSTEM_MANDATORY_LABEL_ACE {
  2827.     ACE_HEADER Header;
  2828.     ACCESS_MASK Mask;
  2829.     DWORD SidStart;
  2830. } SYSTEM_MANDATORY_LABEL_ACE, *PSYSTEM_MANDATORY_LABEL_ACE;
  2831.  
  2832. typedef struct _SYSTEM_PROCESS_TRUST_LABEL_ACE {
  2833.     ACE_HEADER Header;
  2834.     ACCESS_MASK Mask;
  2835.     DWORD SidStart;
  2836. } SYSTEM_PROCESS_TRUST_LABEL_ACE, *PSYSTEM_PROCESS_TRUST_LABEL_ACE;
  2837.  
  2838. typedef struct _SYSTEM_ACCESS_FILTER_ACE {
  2839.     ACE_HEADER Header;
  2840.     ACCESS_MASK Mask;
  2841.     DWORD SidStart;
  2842.  
  2843. } SYSTEM_ACCESS_FILTER_ACE, *PSYSTEM_ACCESS_FILTER_ACE;
  2844. # 10184 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2845. typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
  2846.     ACE_HEADER Header;
  2847.     ACCESS_MASK Mask;
  2848.     DWORD Flags;
  2849.     GUID ObjectType;
  2850.     GUID InheritedObjectType;
  2851.     DWORD SidStart;
  2852. } ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE;
  2853.  
  2854. typedef struct _ACCESS_DENIED_OBJECT_ACE {
  2855.     ACE_HEADER Header;
  2856.     ACCESS_MASK Mask;
  2857.     DWORD Flags;
  2858.     GUID ObjectType;
  2859.     GUID InheritedObjectType;
  2860.     DWORD SidStart;
  2861. } ACCESS_DENIED_OBJECT_ACE, *PACCESS_DENIED_OBJECT_ACE;
  2862.  
  2863. typedef struct _SYSTEM_AUDIT_OBJECT_ACE {
  2864.     ACE_HEADER Header;
  2865.     ACCESS_MASK Mask;
  2866.     DWORD Flags;
  2867.     GUID ObjectType;
  2868.     GUID InheritedObjectType;
  2869.     DWORD SidStart;
  2870. } SYSTEM_AUDIT_OBJECT_ACE, *PSYSTEM_AUDIT_OBJECT_ACE;
  2871.  
  2872. typedef struct _SYSTEM_ALARM_OBJECT_ACE {
  2873.     ACE_HEADER Header;
  2874.     ACCESS_MASK Mask;
  2875.     DWORD Flags;
  2876.     GUID ObjectType;
  2877.     GUID InheritedObjectType;
  2878.     DWORD SidStart;
  2879. } SYSTEM_ALARM_OBJECT_ACE, *PSYSTEM_ALARM_OBJECT_ACE;
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886. typedef struct _ACCESS_ALLOWED_CALLBACK_ACE {
  2887.     ACE_HEADER Header;
  2888.     ACCESS_MASK Mask;
  2889.     DWORD SidStart;
  2890.  
  2891. } ACCESS_ALLOWED_CALLBACK_ACE, *PACCESS_ALLOWED_CALLBACK_ACE;
  2892.  
  2893. typedef struct _ACCESS_DENIED_CALLBACK_ACE {
  2894.     ACE_HEADER Header;
  2895.     ACCESS_MASK Mask;
  2896.     DWORD SidStart;
  2897.  
  2898. } ACCESS_DENIED_CALLBACK_ACE, *PACCESS_DENIED_CALLBACK_ACE;
  2899.  
  2900. typedef struct _SYSTEM_AUDIT_CALLBACK_ACE {
  2901.     ACE_HEADER Header;
  2902.     ACCESS_MASK Mask;
  2903.     DWORD SidStart;
  2904.  
  2905. } SYSTEM_AUDIT_CALLBACK_ACE, *PSYSTEM_AUDIT_CALLBACK_ACE;
  2906.  
  2907. typedef struct _SYSTEM_ALARM_CALLBACK_ACE {
  2908.     ACE_HEADER Header;
  2909.     ACCESS_MASK Mask;
  2910.     DWORD SidStart;
  2911.  
  2912. } SYSTEM_ALARM_CALLBACK_ACE, *PSYSTEM_ALARM_CALLBACK_ACE;
  2913.  
  2914. typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
  2915.     ACE_HEADER Header;
  2916.     ACCESS_MASK Mask;
  2917.     DWORD Flags;
  2918.     GUID ObjectType;
  2919.     GUID InheritedObjectType;
  2920.     DWORD SidStart;
  2921.  
  2922. } ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, *PACCESS_ALLOWED_CALLBACK_OBJECT_ACE;
  2923.  
  2924. typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE {
  2925.     ACE_HEADER Header;
  2926.     ACCESS_MASK Mask;
  2927.     DWORD Flags;
  2928.     GUID ObjectType;
  2929.     GUID InheritedObjectType;
  2930.     DWORD SidStart;
  2931.  
  2932. } ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE;
  2933.  
  2934. typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
  2935.     ACE_HEADER Header;
  2936.     ACCESS_MASK Mask;
  2937.     DWORD Flags;
  2938.     GUID ObjectType;
  2939.     GUID InheritedObjectType;
  2940.     DWORD SidStart;
  2941.  
  2942. } SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, *PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE;
  2943.  
  2944. typedef struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE {
  2945.     ACE_HEADER Header;
  2946.     ACCESS_MASK Mask;
  2947.     DWORD Flags;
  2948.     GUID ObjectType;
  2949.     GUID InheritedObjectType;
  2950.     DWORD SidStart;
  2951.  
  2952. } SYSTEM_ALARM_CALLBACK_OBJECT_ACE, *PSYSTEM_ALARM_CALLBACK_OBJECT_ACE;
  2953. # 10307 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2954. typedef enum _ACL_INFORMATION_CLASS {
  2955.     AclRevisionInformation = 1,
  2956.     AclSizeInformation
  2957. } ACL_INFORMATION_CLASS;
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964. typedef struct _ACL_REVISION_INFORMATION {
  2965.     DWORD AclRevision;
  2966. } ACL_REVISION_INFORMATION;
  2967. typedef ACL_REVISION_INFORMATION *PACL_REVISION_INFORMATION;
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973. typedef struct _ACL_SIZE_INFORMATION {
  2974.     DWORD AceCount;
  2975.     DWORD AclBytesInUse;
  2976.     DWORD AclBytesFree;
  2977. } ACL_SIZE_INFORMATION;
  2978. typedef ACL_SIZE_INFORMATION *PACL_SIZE_INFORMATION;
  2979. # 10358 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2980. typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
  2981. # 10448 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  2982. typedef struct _SECURITY_DESCRIPTOR_RELATIVE {
  2983.     BYTE Revision;
  2984.     BYTE Sbz1;
  2985.     SECURITY_DESCRIPTOR_CONTROL Control;
  2986.     DWORD Owner;
  2987.     DWORD Group;
  2988.     DWORD Sacl;
  2989.     DWORD Dacl;
  2990.     } SECURITY_DESCRIPTOR_RELATIVE, *PISECURITY_DESCRIPTOR_RELATIVE;
  2991.  
  2992. typedef struct _SECURITY_DESCRIPTOR {
  2993.    BYTE Revision;
  2994.    BYTE Sbz1;
  2995.    SECURITY_DESCRIPTOR_CONTROL Control;
  2996.    PSID Owner;
  2997.    PSID Group;
  2998.    PACL Sacl;
  2999.    PACL Dacl;
  3000.  
  3001.    } SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
  3002.  
  3003.  
  3004. typedef struct _SECURITY_OBJECT_AI_PARAMS {
  3005.     DWORD Size;
  3006.     DWORD ConstraintMask;
  3007. } SECURITY_OBJECT_AI_PARAMS, *PSECURITY_OBJECT_AI_PARAMS;
  3008. # 10525 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3009. typedef struct _OBJECT_TYPE_LIST {
  3010.     WORD Level;
  3011.     WORD Sbz;
  3012.     GUID *ObjectType;
  3013. } OBJECT_TYPE_LIST, *POBJECT_TYPE_LIST;
  3014. # 10545 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3015. typedef enum _AUDIT_EVENT_TYPE {
  3016.     AuditEventObjectAccess,
  3017.     AuditEventDirectoryServiceAccess
  3018. } AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE;
  3019. # 10599 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3020. typedef struct _PRIVILEGE_SET {
  3021.     DWORD PrivilegeCount;
  3022.     DWORD Control;
  3023.     LUID_AND_ATTRIBUTES Privilege[1];
  3024.     } PRIVILEGE_SET, * PPRIVILEGE_SET;
  3025. # 10620 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3026. typedef enum _ACCESS_REASON_TYPE{
  3027.  
  3028.     AccessReasonNone = 0x00000000,
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.     AccessReasonAllowedAce = 0x00010000,
  3036.     AccessReasonDeniedAce = 0x00020000,
  3037.  
  3038.     AccessReasonAllowedParentAce = 0x00030000,
  3039.     AccessReasonDeniedParentAce = 0x00040000,
  3040.  
  3041.     AccessReasonNotGrantedByCape = 0x00050000,
  3042.     AccessReasonNotGrantedByParentCape = 0x00060000,
  3043.  
  3044.     AccessReasonNotGrantedToAppContainer = 0x00070000,
  3045.  
  3046.     AccessReasonMissingPrivilege = 0x00100000,
  3047.     AccessReasonFromPrivilege = 0x00200000,
  3048.  
  3049.  
  3050.     AccessReasonIntegrityLevel = 0x00300000,
  3051.  
  3052.     AccessReasonOwnership = 0x00400000,
  3053.  
  3054.     AccessReasonNullDacl = 0x00500000,
  3055.     AccessReasonEmptyDacl = 0x00600000,
  3056.  
  3057.     AccessReasonNoSD = 0x00700000,
  3058.     AccessReasonNoGrant = 0x00800000,
  3059.  
  3060.     AccessReasonTrustLabel = 0x00900000,
  3061.  
  3062.     AccessReasonFilterAce = 0x00a00000
  3063. }
  3064. ACCESS_REASON_TYPE;
  3065. # 10673 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3066. typedef DWORD ACCESS_REASON;
  3067.  
  3068. typedef struct _ACCESS_REASONS{
  3069.         ACCESS_REASON Data[32];
  3070. } ACCESS_REASONS, *PACCESS_REASONS;
  3071. # 10704 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3072. typedef struct _SE_SECURITY_DESCRIPTOR
  3073. {
  3074.     DWORD Size;
  3075.     DWORD Flags;
  3076.     PSECURITY_DESCRIPTOR SecurityDescriptor;
  3077. } SE_SECURITY_DESCRIPTOR, *PSE_SECURITY_DESCRIPTOR;
  3078.  
  3079. typedef struct _SE_ACCESS_REQUEST
  3080. {
  3081.     DWORD Size;
  3082.     PSE_SECURITY_DESCRIPTOR SeSecurityDescriptor;
  3083.     ACCESS_MASK DesiredAccess;
  3084.     ACCESS_MASK PreviouslyGrantedAccess;
  3085.     PSID PrincipalSelfSid;
  3086.     PGENERIC_MAPPING GenericMapping;
  3087.     DWORD ObjectTypeListCount;
  3088.     POBJECT_TYPE_LIST ObjectTypeList;
  3089. } SE_ACCESS_REQUEST, *PSE_ACCESS_REQUEST;
  3090.  
  3091.  
  3092. typedef struct _SE_ACCESS_REPLY
  3093. {
  3094.     DWORD Size;
  3095.     DWORD ResultListCount;
  3096.     PACCESS_MASK GrantedAccess;
  3097.     PDWORD AccessStatus;
  3098.     PACCESS_REASONS AccessReason;
  3099.     PPRIVILEGE_SET* Privileges;
  3100. } SE_ACCESS_REPLY, *PSE_ACCESS_REPLY;
  3101. # 10809 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3102. typedef enum _SECURITY_IMPERSONATION_LEVEL {
  3103.     SecurityAnonymous,
  3104.     SecurityIdentification,
  3105.     SecurityImpersonation,
  3106.     SecurityDelegation
  3107.     } SECURITY_IMPERSONATION_LEVEL, * PSECURITY_IMPERSONATION_LEVEL;
  3108. # 10891 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3109. typedef enum _TOKEN_TYPE {
  3110.     TokenPrimary = 1,
  3111.     TokenImpersonation
  3112.     } TOKEN_TYPE;
  3113. typedef TOKEN_TYPE *PTOKEN_TYPE;
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121. typedef enum _TOKEN_ELEVATION_TYPE {
  3122.     TokenElevationTypeDefault = 1,
  3123.     TokenElevationTypeFull,
  3124.     TokenElevationTypeLimited,
  3125. } TOKEN_ELEVATION_TYPE, *PTOKEN_ELEVATION_TYPE;
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132. typedef enum _TOKEN_INFORMATION_CLASS {
  3133.     TokenUser = 1,
  3134.     TokenGroups,
  3135.     TokenPrivileges,
  3136.     TokenOwner,
  3137.     TokenPrimaryGroup,
  3138.     TokenDefaultDacl,
  3139.     TokenSource,
  3140.     TokenType,
  3141.     TokenImpersonationLevel,
  3142.     TokenStatistics,
  3143.     TokenRestrictedSids,
  3144.     TokenSessionId,
  3145.     TokenGroupsAndPrivileges,
  3146.     TokenSessionReference,
  3147.     TokenSandBoxInert,
  3148.     TokenAuditPolicy,
  3149.     TokenOrigin,
  3150.     TokenElevationType,
  3151.     TokenLinkedToken,
  3152.     TokenElevation,
  3153.     TokenHasRestrictions,
  3154.     TokenAccessInformation,
  3155.     TokenVirtualizationAllowed,
  3156.     TokenVirtualizationEnabled,
  3157.     TokenIntegrityLevel,
  3158.     TokenUIAccess,
  3159.     TokenMandatoryPolicy,
  3160.     TokenLogonSid,
  3161.     TokenIsAppContainer,
  3162.     TokenCapabilities,
  3163.     TokenAppContainerSid,
  3164.     TokenAppContainerNumber,
  3165.     TokenUserClaimAttributes,
  3166.     TokenDeviceClaimAttributes,
  3167.     TokenRestrictedUserClaimAttributes,
  3168.     TokenRestrictedDeviceClaimAttributes,
  3169.     TokenDeviceGroups,
  3170.     TokenRestrictedDeviceGroups,
  3171.     TokenSecurityAttributes,
  3172.     TokenIsRestricted,
  3173.     TokenProcessTrustLevel,
  3174.     TokenPrivateNameSpace,
  3175.     TokenSingletonAttributes,
  3176.     TokenBnoIsolation,
  3177.     TokenChildProcessFlags,
  3178.     MaxTokenInfoClass
  3179. } TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185. typedef struct _TOKEN_USER {
  3186.     SID_AND_ATTRIBUTES User;
  3187. } TOKEN_USER, *PTOKEN_USER;
  3188.  
  3189.  
  3190.  
  3191. typedef struct _SE_TOKEN_USER {
  3192.     union {
  3193.         TOKEN_USER TokenUser;
  3194.         SID_AND_ATTRIBUTES User;
  3195.     } ;
  3196.  
  3197.     union {
  3198.         SID Sid;
  3199.         BYTE Buffer[(sizeof(SID) - sizeof(DWORD) + ((15) * sizeof(DWORD)))];
  3200.     } ;
  3201.  
  3202. } SE_TOKEN_USER , PSE_TOKEN_USER;
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209. typedef struct _TOKEN_GROUPS {
  3210.     DWORD GroupCount;
  3211.  
  3212.  
  3213.  
  3214.     SID_AND_ATTRIBUTES Groups[1];
  3215.  
  3216. } TOKEN_GROUPS, *PTOKEN_GROUPS;
  3217.  
  3218. typedef struct _TOKEN_PRIVILEGES {
  3219.     DWORD PrivilegeCount;
  3220.     LUID_AND_ATTRIBUTES Privileges[1];
  3221. } TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
  3222.  
  3223.  
  3224. typedef struct _TOKEN_OWNER {
  3225.     PSID Owner;
  3226. } TOKEN_OWNER, *PTOKEN_OWNER;
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232. typedef struct _TOKEN_PRIMARY_GROUP {
  3233.     PSID PrimaryGroup;
  3234. } TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;
  3235.  
  3236.  
  3237. typedef struct _TOKEN_DEFAULT_DACL {
  3238.     PACL DefaultDacl;
  3239. } TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;
  3240.  
  3241. typedef struct _TOKEN_USER_CLAIMS {
  3242.     PCLAIMS_BLOB UserClaims;
  3243. } TOKEN_USER_CLAIMS, *PTOKEN_USER_CLAIMS;
  3244.  
  3245. typedef struct _TOKEN_DEVICE_CLAIMS {
  3246.     PCLAIMS_BLOB DeviceClaims;
  3247. } TOKEN_DEVICE_CLAIMS, *PTOKEN_DEVICE_CLAIMS;
  3248.  
  3249. typedef struct _TOKEN_GROUPS_AND_PRIVILEGES {
  3250.     DWORD SidCount;
  3251.     DWORD SidLength;
  3252.     PSID_AND_ATTRIBUTES Sids;
  3253.     DWORD RestrictedSidCount;
  3254.     DWORD RestrictedSidLength;
  3255.     PSID_AND_ATTRIBUTES RestrictedSids;
  3256.     DWORD PrivilegeCount;
  3257.     DWORD PrivilegeLength;
  3258.     PLUID_AND_ATTRIBUTES Privileges;
  3259.     LUID AuthenticationId;
  3260. } TOKEN_GROUPS_AND_PRIVILEGES, *PTOKEN_GROUPS_AND_PRIVILEGES;
  3261.  
  3262. typedef struct _TOKEN_LINKED_TOKEN {
  3263.     HANDLE LinkedToken;
  3264. } TOKEN_LINKED_TOKEN, *PTOKEN_LINKED_TOKEN;
  3265.  
  3266. typedef struct _TOKEN_ELEVATION {
  3267.     DWORD TokenIsElevated;
  3268. } TOKEN_ELEVATION, *PTOKEN_ELEVATION;
  3269.  
  3270. typedef struct _TOKEN_MANDATORY_LABEL {
  3271.     SID_AND_ATTRIBUTES Label;
  3272. } TOKEN_MANDATORY_LABEL, *PTOKEN_MANDATORY_LABEL;
  3273. # 11067 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3274. typedef struct _TOKEN_MANDATORY_POLICY {
  3275.     DWORD Policy;
  3276. } TOKEN_MANDATORY_POLICY, *PTOKEN_MANDATORY_POLICY;
  3277.  
  3278. typedef PVOID PSECURITY_ATTRIBUTES_OPAQUE;
  3279.  
  3280. typedef struct _TOKEN_ACCESS_INFORMATION {
  3281.     PSID_AND_ATTRIBUTES_HASH SidHash;
  3282.     PSID_AND_ATTRIBUTES_HASH RestrictedSidHash;
  3283.     PTOKEN_PRIVILEGES Privileges;
  3284.     LUID AuthenticationId;
  3285.     TOKEN_TYPE TokenType;
  3286.     SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
  3287.     TOKEN_MANDATORY_POLICY MandatoryPolicy;
  3288.     DWORD Flags;
  3289.     DWORD AppContainerNumber;
  3290.     PSID PackageSid;
  3291.     PSID_AND_ATTRIBUTES_HASH CapabilitiesHash;
  3292.     PSID TrustLevelSid;
  3293.     PSECURITY_ATTRIBUTES_OPAQUE SecurityAttributes;
  3294. } TOKEN_ACCESS_INFORMATION, *PTOKEN_ACCESS_INFORMATION;
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302. typedef struct _TOKEN_AUDIT_POLICY {
  3303.     BYTE PerUserPolicy[(((59)) >> 1) + 1];
  3304. } TOKEN_AUDIT_POLICY, *PTOKEN_AUDIT_POLICY;
  3305.  
  3306.  
  3307.  
  3308. typedef struct _TOKEN_SOURCE {
  3309.     CHAR SourceName[8];
  3310.     LUID SourceIdentifier;
  3311. } TOKEN_SOURCE, *PTOKEN_SOURCE;
  3312.  
  3313.  
  3314. typedef struct _TOKEN_STATISTICS {
  3315.     LUID TokenId;
  3316.     LUID AuthenticationId;
  3317.     LARGE_INTEGER ExpirationTime;
  3318.     TOKEN_TYPE TokenType;
  3319.     SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
  3320.     DWORD DynamicCharged;
  3321.     DWORD DynamicAvailable;
  3322.     DWORD GroupCount;
  3323.     DWORD PrivilegeCount;
  3324.     LUID ModifiedId;
  3325. } TOKEN_STATISTICS, *PTOKEN_STATISTICS;
  3326.  
  3327.  
  3328.  
  3329. typedef struct _TOKEN_CONTROL {
  3330.     LUID TokenId;
  3331.     LUID AuthenticationId;
  3332.     LUID ModifiedId;
  3333.     TOKEN_SOURCE TokenSource;
  3334. } TOKEN_CONTROL, *PTOKEN_CONTROL;
  3335.  
  3336. typedef struct _TOKEN_ORIGIN {
  3337.     LUID OriginatingLogonSession ;
  3338. } TOKEN_ORIGIN, * PTOKEN_ORIGIN ;
  3339.  
  3340.  
  3341. typedef enum _MANDATORY_LEVEL {
  3342.     MandatoryLevelUntrusted = 0,
  3343.     MandatoryLevelLow,
  3344.     MandatoryLevelMedium,
  3345.     MandatoryLevelHigh,
  3346.     MandatoryLevelSystem,
  3347.     MandatoryLevelSecureProcess,
  3348.     MandatoryLevelCount
  3349. } MANDATORY_LEVEL, *PMANDATORY_LEVEL;
  3350.  
  3351. typedef struct _TOKEN_APPCONTAINER_INFORMATION {
  3352.     PSID TokenAppContainer;
  3353. } TOKEN_APPCONTAINER_INFORMATION, *PTOKEN_APPCONTAINER_INFORMATION;
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359. typedef struct _TOKEN_SID_INFORMATION {
  3360.     PSID Sid;
  3361. } TOKEN_SID_INFORMATION, *PTOKEN_SID_INFORMATION;
  3362.  
  3363. typedef struct _TOKEN_BNO_ISOLATION_INFORMATION {
  3364.     PWSTR IsolationPrefix;
  3365.     BOOLEAN IsolationEnabled;
  3366. } TOKEN_BNO_ISOLATION_INFORMATION, *PTOKEN_BNO_ISOLATION_INFORMATION;
  3367. # 11190 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3368. typedef struct _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {
  3369.     DWORD64 Version;
  3370.     PWSTR Name;
  3371. } CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE, *PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE;
  3372. # 11202 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3373. typedef struct _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {
  3374.     PVOID pValue;
  3375.     DWORD ValueLength;
  3376. } CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE,
  3377.     *PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE;
  3378. # 11274 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3379. typedef struct _CLAIM_SECURITY_ATTRIBUTE_V1 {
  3380.  
  3381.  
  3382.  
  3383.  
  3384.  
  3385.  
  3386.     PWSTR Name;
  3387.  
  3388.  
  3389.  
  3390.  
  3391.  
  3392.     WORD ValueType;
  3393.  
  3394.  
  3395.  
  3396.  
  3397.  
  3398.  
  3399.     WORD Reserved;
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.     DWORD Flags;
  3406.  
  3407.  
  3408.  
  3409.  
  3410.  
  3411.     DWORD ValueCount;
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.     union {
  3418.         PLONG64 pInt64;
  3419.         PDWORD64 pUint64;
  3420.         PWSTR *ppString;
  3421.         PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE pFqbn;
  3422.         PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE pOctetString;
  3423.     } Values;
  3424. } CLAIM_SECURITY_ATTRIBUTE_V1, *PCLAIM_SECURITY_ATTRIBUTE_V1;
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430.  
  3431. typedef struct _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 {
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.     DWORD Name;
  3439.  
  3440.  
  3441.  
  3442.  
  3443.  
  3444.     WORD ValueType;
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.     WORD Reserved;
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.     DWORD Flags;
  3458.  
  3459.  
  3460.  
  3461.  
  3462.  
  3463.     DWORD ValueCount;
  3464.  
  3465.  
  3466.  
  3467.  
  3468.  
  3469.     union {
  3470.         DWORD pInt64[1];
  3471.         DWORD pUint64[1];
  3472.         DWORD ppString[1];
  3473.         DWORD pFqbn[1];
  3474.         DWORD pOctetString[1];
  3475.     } Values;
  3476. } CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1, *PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1;
  3477. # 11393 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3478. typedef struct _CLAIM_SECURITY_ATTRIBUTES_INFORMATION {
  3479.  
  3480.  
  3481.  
  3482.  
  3483.  
  3484.     WORD Version;
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.     WORD Reserved;
  3491.  
  3492.     DWORD AttributeCount;
  3493.     union {
  3494.         PCLAIM_SECURITY_ATTRIBUTE_V1 pAttributeV1;
  3495.     } Attribute;
  3496. } CLAIM_SECURITY_ATTRIBUTES_INFORMATION, *PCLAIM_SECURITY_ATTRIBUTES_INFORMATION;
  3497. # 11420 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3498. typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,
  3499.                     * PSECURITY_CONTEXT_TRACKING_MODE;
  3500.  
  3501.  
  3502.  
  3503.  
  3504.  
  3505.  
  3506.  
  3507. typedef struct _SECURITY_QUALITY_OF_SERVICE {
  3508.     DWORD Length;
  3509.     SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
  3510.     SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;
  3511.     BOOLEAN EffectiveOnly;
  3512.     } SECURITY_QUALITY_OF_SERVICE, * PSECURITY_QUALITY_OF_SERVICE;
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519. typedef struct _SE_IMPERSONATION_STATE {
  3520.     PACCESS_TOKEN Token;
  3521.     BOOLEAN CopyOnOpen;
  3522.     BOOLEAN EffectiveOnly;
  3523.     SECURITY_IMPERSONATION_LEVEL Level;
  3524. } SE_IMPERSONATION_STATE, *PSE_IMPERSONATION_STATE;
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531. typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
  3532. # 11476 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3533. typedef BYTE SE_SIGNING_LEVEL, *PSE_SIGNING_LEVEL;
  3534. # 11500 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3535. typedef enum _SE_IMAGE_SIGNATURE_TYPE
  3536. {
  3537.     SeImageSignatureNone = 0,
  3538.     SeImageSignatureEmbedded,
  3539.     SeImageSignatureCache,
  3540.     SeImageSignatureCatalogCached,
  3541.     SeImageSignatureCatalogNotCached,
  3542.     SeImageSignatureCatalogHint,
  3543.     SeImageSignaturePackageCatalog,
  3544. } SE_IMAGE_SIGNATURE_TYPE, *PSE_IMAGE_SIGNATURE_TYPE;
  3545.  
  3546.  
  3547.  
  3548.  
  3549.  
  3550.  
  3551. typedef enum _SE_LEARNING_MODE_DATA_TYPE {
  3552.     SeLearningModeInvalidType = 0,
  3553.     SeLearningModeSettings,
  3554.     SeLearningModeMax
  3555. } SE_LEARNING_MODE_DATA_TYPE;
  3556.  
  3557.  
  3558.  
  3559. typedef struct _SECURITY_CAPABILITIES {
  3560.  
  3561.  
  3562.  
  3563.  
  3564.     PSID AppContainerSid;
  3565.     PSID_AND_ATTRIBUTES Capabilities;
  3566.  
  3567.     DWORD CapabilityCount;
  3568.     DWORD Reserved;
  3569. } SECURITY_CAPABILITIES, *PSECURITY_CAPABILITIES, *LPSECURITY_CAPABILITIES;
  3570. # 11590 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3571. typedef struct _JOB_SET_ARRAY {
  3572.     HANDLE JobHandle;
  3573.     DWORD MemberLevel;
  3574.     DWORD Flags;
  3575. } JOB_SET_ARRAY, *PJOB_SET_ARRAY;
  3576.  
  3577.  
  3578.  
  3579.  
  3580. typedef struct _EXCEPTION_REGISTRATION_RECORD {
  3581.     struct _EXCEPTION_REGISTRATION_RECORD *Next;
  3582.     PEXCEPTION_ROUTINE Handler;
  3583. } EXCEPTION_REGISTRATION_RECORD;
  3584.  
  3585. typedef EXCEPTION_REGISTRATION_RECORD *PEXCEPTION_REGISTRATION_RECORD;
  3586.  
  3587. typedef struct _NT_TIB {
  3588.     struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
  3589.     PVOID StackBase;
  3590.     PVOID StackLimit;
  3591.     PVOID SubSystemTib;
  3592.  
  3593.  
  3594.  
  3595.  
  3596.  
  3597.  
  3598.     PVOID FiberData;
  3599.  
  3600.     PVOID ArbitraryUserPointer;
  3601.     struct _NT_TIB *Self;
  3602. } NT_TIB;
  3603. typedef NT_TIB *PNT_TIB;
  3604.  
  3605.  
  3606.  
  3607.  
  3608. typedef struct _NT_TIB32 {
  3609.     DWORD ExceptionList;
  3610.     DWORD StackBase;
  3611.     DWORD StackLimit;
  3612.     DWORD SubSystemTib;
  3613.  
  3614.  
  3615.  
  3616.  
  3617.  
  3618.  
  3619.  
  3620.     DWORD FiberData;
  3621.  
  3622.  
  3623.     DWORD ArbitraryUserPointer;
  3624.     DWORD Self;
  3625. } NT_TIB32, *PNT_TIB32;
  3626.  
  3627. typedef struct _NT_TIB64 {
  3628.     DWORD64 ExceptionList;
  3629.     DWORD64 StackBase;
  3630.     DWORD64 StackLimit;
  3631.     DWORD64 SubSystemTib;
  3632. # 11659 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3633.     DWORD64 FiberData;
  3634.  
  3635.  
  3636.     DWORD64 ArbitraryUserPointer;
  3637.     DWORD64 Self;
  3638. } NT_TIB64, *PNT_TIB64;
  3639. # 11675 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3640. typedef struct _UMS_CREATE_THREAD_ATTRIBUTES {
  3641.     DWORD UmsVersion;
  3642.         PVOID UmsContext;
  3643.         PVOID UmsCompletionList;
  3644. } UMS_CREATE_THREAD_ATTRIBUTES, *PUMS_CREATE_THREAD_ATTRIBUTES;
  3645.  
  3646. typedef struct _WOW64_ARCHITECTURE_INFORMATION {
  3647.     DWORD Machine : 16;
  3648.     DWORD KernelMode : 1;
  3649.     DWORD UserMode : 1;
  3650.     DWORD Native : 1;
  3651.     DWORD Process : 1;
  3652.     DWORD ReservedZero0 : 12;
  3653. } WOW64_ARCHITECTURE_INFORMATION;
  3654. # 11703 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  3655. typedef struct _QUOTA_LIMITS {
  3656.     SIZE_T PagedPoolLimit;
  3657.     SIZE_T NonPagedPoolLimit;
  3658.     SIZE_T MinimumWorkingSetSize;
  3659.     SIZE_T MaximumWorkingSetSize;
  3660.     SIZE_T PagefileLimit;
  3661.     LARGE_INTEGER TimeLimit;
  3662. } QUOTA_LIMITS, *PQUOTA_LIMITS;
  3663.  
  3664.  
  3665.  
  3666.  
  3667.  
  3668.  
  3669.  
  3670. typedef union _RATE_QUOTA_LIMIT {
  3671.     DWORD RateData;
  3672.     struct {
  3673.         DWORD RatePercent : 7;
  3674.         DWORD Reserved0 : 25;
  3675.     } ;
  3676. } RATE_QUOTA_LIMIT, *PRATE_QUOTA_LIMIT;
  3677.  
  3678. typedef struct _QUOTA_LIMITS_EX {
  3679.     SIZE_T PagedPoolLimit;
  3680.     SIZE_T NonPagedPoolLimit;
  3681.     SIZE_T MinimumWorkingSetSize;
  3682.     SIZE_T MaximumWorkingSetSize;
  3683.     SIZE_T PagefileLimit;
  3684.     LARGE_INTEGER TimeLimit;
  3685.     SIZE_T WorkingSetLimit;
  3686.     SIZE_T Reserved2;
  3687.     SIZE_T Reserved3;
  3688.     SIZE_T Reserved4;
  3689.     DWORD Flags;
  3690.     RATE_QUOTA_LIMIT CpuRateLimit;
  3691. } QUOTA_LIMITS_EX, *PQUOTA_LIMITS_EX;
  3692.  
  3693. typedef struct _IO_COUNTERS {
  3694.     ULONGLONG ReadOperationCount;
  3695.     ULONGLONG WriteOperationCount;
  3696.     ULONGLONG OtherOperationCount;
  3697.     ULONGLONG ReadTransferCount;
  3698.     ULONGLONG WriteTransferCount;
  3699.     ULONGLONG OtherTransferCount;
  3700. } IO_COUNTERS;
  3701. typedef IO_COUNTERS *PIO_COUNTERS;
  3702.  
  3703.  
  3704.  
  3705.  
  3706. typedef enum _HARDWARE_COUNTER_TYPE {
  3707.     PMCCounter,
  3708.     MaxHardwareCounterType
  3709. } HARDWARE_COUNTER_TYPE, *PHARDWARE_COUNTER_TYPE;
  3710. typedef enum _PROCESS_MITIGATION_POLICY {
  3711.     ProcessDEPPolicy,
  3712.     ProcessASLRPolicy,
  3713.     ProcessDynamicCodePolicy,
  3714.     ProcessStrictHandleCheckPolicy,
  3715.     ProcessSystemCallDisablePolicy,
  3716.     ProcessMitigationOptionsMask,
  3717.     ProcessExtensionPointDisablePolicy,
  3718.     ProcessControlFlowGuardPolicy,
  3719.     ProcessSignaturePolicy,
  3720.     ProcessFontDisablePolicy,
  3721.     ProcessImageLoadPolicy,
  3722.     ProcessSystemCallFilterPolicy,
  3723.     ProcessPayloadRestrictionPolicy,
  3724.     ProcessChildProcessPolicy,
  3725.     MaxProcessMitigationPolicy
  3726. } PROCESS_MITIGATION_POLICY, *PPROCESS_MITIGATION_POLICY;
  3727.  
  3728.  
  3729.  
  3730.  
  3731.  
  3732.  
  3733. typedef struct _PROCESS_MITIGATION_ASLR_POLICY {
  3734.     union {
  3735.         DWORD Flags;
  3736.         struct {
  3737.             DWORD EnableBottomUpRandomization : 1;
  3738.             DWORD EnableForceRelocateImages : 1;
  3739.             DWORD EnableHighEntropy : 1;
  3740.             DWORD DisallowStrippedImages : 1;
  3741.             DWORD ReservedFlags : 28;
  3742.         } ;
  3743.     } ;
  3744. } PROCESS_MITIGATION_ASLR_POLICY, *PPROCESS_MITIGATION_ASLR_POLICY;
  3745.  
  3746. typedef struct _PROCESS_MITIGATION_DEP_POLICY {
  3747.     union {
  3748.         DWORD Flags;
  3749.         struct {
  3750.             DWORD Enable : 1;
  3751.             DWORD DisableAtlThunkEmulation : 1;
  3752.             DWORD ReservedFlags : 30;
  3753.         } ;
  3754.     } ;
  3755.     BOOLEAN Permanent;
  3756. } PROCESS_MITIGATION_DEP_POLICY, *PPROCESS_MITIGATION_DEP_POLICY;
  3757.  
  3758. typedef struct _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY {
  3759.     union {
  3760.         DWORD Flags;
  3761.         struct {
  3762.             DWORD RaiseExceptionOnInvalidHandleReference : 1;
  3763.             DWORD HandleExceptionsPermanentlyEnabled : 1;
  3764.             DWORD ReservedFlags : 30;
  3765.         } ;
  3766.     } ;
  3767. } PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY, *PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY;
  3768.  
  3769. typedef struct _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY {
  3770.     union {
  3771.         DWORD Flags;
  3772.         struct {
  3773.             DWORD DisallowWin32kSystemCalls : 1;
  3774.             DWORD AuditDisallowWin32kSystemCalls : 1;
  3775.             DWORD ReservedFlags : 30;
  3776.         } ;
  3777.     } ;
  3778. } PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY, *PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY;
  3779.  
  3780. typedef struct _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY {
  3781.     union {
  3782.         DWORD Flags;
  3783.         struct {
  3784.             DWORD DisableExtensionPoints : 1;
  3785.             DWORD ReservedFlags : 31;
  3786.         } ;
  3787.     } ;
  3788. } PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY, *PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY;
  3789.  
  3790. typedef struct _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY {
  3791.     union {
  3792.         DWORD Flags;
  3793.         struct {
  3794.             DWORD ProhibitDynamicCode : 1;
  3795.             DWORD AllowThreadOptOut : 1;
  3796.             DWORD AllowRemoteDowngrade : 1;
  3797.             DWORD AuditProhibitDynamicCode : 1;
  3798.             DWORD ReservedFlags : 28;
  3799.         } ;
  3800.     } ;
  3801. } PROCESS_MITIGATION_DYNAMIC_CODE_POLICY, *PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY;
  3802.  
  3803. typedef struct _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY {
  3804.     union {
  3805.         DWORD Flags;
  3806.         struct {
  3807.             DWORD EnableControlFlowGuard : 1;
  3808.             DWORD EnableExportSuppression : 1;
  3809.             DWORD StrictMode : 1;
  3810.             DWORD ReservedFlags : 29;
  3811.         } ;
  3812.     } ;
  3813. } PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY, *PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY;
  3814.  
  3815. typedef struct _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY {
  3816.     union {
  3817.         DWORD Flags;
  3818.         struct {
  3819.             DWORD MicrosoftSignedOnly : 1;
  3820.             DWORD StoreSignedOnly : 1;
  3821.             DWORD MitigationOptIn : 1;
  3822.             DWORD AuditMicrosoftSignedOnly : 1;
  3823.             DWORD AuditStoreSignedOnly : 1;
  3824.             DWORD ReservedFlags : 27;
  3825.         } ;
  3826.     } ;
  3827. } PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY, *PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY;
  3828.  
  3829. typedef struct _PROCESS_MITIGATION_FONT_DISABLE_POLICY {
  3830.     union {
  3831.         DWORD Flags;
  3832.         struct {
  3833.             DWORD DisableNonSystemFonts : 1;
  3834.             DWORD AuditNonSystemFontLoading : 1;
  3835.             DWORD ReservedFlags : 30;
  3836.         } ;
  3837.     } ;
  3838. } PROCESS_MITIGATION_FONT_DISABLE_POLICY, *PPROCESS_MITIGATION_FONT_DISABLE_POLICY;
  3839.  
  3840. typedef struct _PROCESS_MITIGATION_IMAGE_LOAD_POLICY {
  3841.     union {
  3842.         DWORD Flags;
  3843.         struct {
  3844.             DWORD NoRemoteImages : 1;
  3845.             DWORD NoLowMandatoryLabelImages : 1;
  3846.             DWORD PreferSystem32Images : 1;
  3847.             DWORD AuditNoRemoteImages : 1;
  3848.             DWORD AuditNoLowMandatoryLabelImages : 1;
  3849.             DWORD ReservedFlags : 27;
  3850.         } ;
  3851.     } ;
  3852. } PROCESS_MITIGATION_IMAGE_LOAD_POLICY, *PPROCESS_MITIGATION_IMAGE_LOAD_POLICY;
  3853.  
  3854. typedef struct _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY {
  3855.     union {
  3856.         DWORD Flags;
  3857.         struct {
  3858.             DWORD FilterId: 4;
  3859.             DWORD ReservedFlags : 28;
  3860.         } ;
  3861.     } ;
  3862. } PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY, *PPROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY;
  3863.  
  3864. typedef struct _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY {
  3865.     union {
  3866.         DWORD Flags;
  3867.         struct {
  3868.             DWORD EnableExportAddressFilter : 1;
  3869.             DWORD AuditExportAddressFilter : 1;
  3870.  
  3871.             DWORD EnableExportAddressFilterPlus : 1;
  3872.             DWORD AuditExportAddressFilterPlus : 1;
  3873.  
  3874.             DWORD EnableImportAddressFilter : 1;
  3875.             DWORD AuditImportAddressFilter : 1;
  3876.  
  3877.             DWORD EnableRopStackPivot : 1;
  3878.             DWORD AuditRopStackPivot : 1;
  3879.  
  3880.             DWORD EnableRopCallerCheck : 1;
  3881.             DWORD AuditRopCallerCheck : 1;
  3882.  
  3883.             DWORD EnableRopSimExec : 1;
  3884.             DWORD AuditRopSimExec : 1;
  3885.  
  3886.             DWORD ReservedFlags : 20;
  3887.         } ;
  3888.     } ;
  3889. } PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY, *PPROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY;
  3890.  
  3891. typedef struct _PROCESS_MITIGATION_CHILD_PROCESS_POLICY {
  3892.     union {
  3893.         DWORD Flags;
  3894.         struct {
  3895.             DWORD NoChildProcessCreation : 1;
  3896.             DWORD AuditNoChildProcessCreation : 1;
  3897.             DWORD AllowSecureProcessCreation : 1;
  3898.             DWORD ReservedFlags : 29;
  3899.         } ;
  3900.     } ;
  3901. } PROCESS_MITIGATION_CHILD_PROCESS_POLICY, *PPROCESS_MITIGATION_CHILD_PROCESS_POLICY;
  3902.  
  3903.  
  3904. typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {
  3905.     LARGE_INTEGER TotalUserTime;
  3906.     LARGE_INTEGER TotalKernelTime;
  3907.     LARGE_INTEGER ThisPeriodTotalUserTime;
  3908.     LARGE_INTEGER ThisPeriodTotalKernelTime;
  3909.     DWORD TotalPageFaultCount;
  3910.     DWORD TotalProcesses;
  3911.     DWORD ActiveProcesses;
  3912.     DWORD TotalTerminatedProcesses;
  3913. } JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION;
  3914.  
  3915. typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION {
  3916.     LARGE_INTEGER PerProcessUserTimeLimit;
  3917.     LARGE_INTEGER PerJobUserTimeLimit;
  3918.     DWORD LimitFlags;
  3919.     SIZE_T MinimumWorkingSetSize;
  3920.     SIZE_T MaximumWorkingSetSize;
  3921.     DWORD ActiveProcessLimit;
  3922.     ULONG_PTR Affinity;
  3923.     DWORD PriorityClass;
  3924.     DWORD SchedulingClass;
  3925. } JOBOBJECT_BASIC_LIMIT_INFORMATION, *PJOBOBJECT_BASIC_LIMIT_INFORMATION;
  3926.  
  3927. typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION {
  3928.     JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation;
  3929.     IO_COUNTERS IoInfo;
  3930.     SIZE_T ProcessMemoryLimit;
  3931.     SIZE_T JobMemoryLimit;
  3932.     SIZE_T PeakProcessMemoryUsed;
  3933.     SIZE_T PeakJobMemoryUsed;
  3934. } JOBOBJECT_EXTENDED_LIMIT_INFORMATION, *PJOBOBJECT_EXTENDED_LIMIT_INFORMATION;
  3935.  
  3936.  
  3937. typedef struct _JOBOBJECT_BASIC_PROCESS_ID_LIST {
  3938.     DWORD NumberOfAssignedProcesses;
  3939.     DWORD NumberOfProcessIdsInList;
  3940.     ULONG_PTR ProcessIdList[1];
  3941. } JOBOBJECT_BASIC_PROCESS_ID_LIST, *PJOBOBJECT_BASIC_PROCESS_ID_LIST;
  3942.  
  3943. typedef struct _JOBOBJECT_BASIC_UI_RESTRICTIONS {
  3944.     DWORD UIRestrictionsClass;
  3945. } JOBOBJECT_BASIC_UI_RESTRICTIONS, *PJOBOBJECT_BASIC_UI_RESTRICTIONS;
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951. typedef struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION {
  3952.     DWORD SecurityLimitFlags ;
  3953.     HANDLE JobToken ;
  3954.     PTOKEN_GROUPS SidsToDisable ;
  3955.     PTOKEN_PRIVILEGES PrivilegesToDelete ;
  3956.     PTOKEN_GROUPS RestrictedSids ;
  3957. } JOBOBJECT_SECURITY_LIMIT_INFORMATION, *PJOBOBJECT_SECURITY_LIMIT_INFORMATION ;
  3958.  
  3959. typedef struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION {
  3960.     DWORD EndOfJobTimeAction;
  3961. } JOBOBJECT_END_OF_JOB_TIME_INFORMATION, *PJOBOBJECT_END_OF_JOB_TIME_INFORMATION;
  3962.  
  3963. typedef struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT {
  3964.     PVOID CompletionKey;
  3965.     HANDLE CompletionPort;
  3966. } JOBOBJECT_ASSOCIATE_COMPLETION_PORT, *PJOBOBJECT_ASSOCIATE_COMPLETION_PORT;
  3967.  
  3968. typedef struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION {
  3969.     JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo;
  3970.     IO_COUNTERS IoInfo;
  3971. } JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION;
  3972.  
  3973. typedef struct _JOBOBJECT_JOBSET_INFORMATION {
  3974.     DWORD MemberLevel;
  3975. } JOBOBJECT_JOBSET_INFORMATION, *PJOBOBJECT_JOBSET_INFORMATION;
  3976.  
  3977. typedef enum _JOBOBJECT_RATE_CONTROL_TOLERANCE {
  3978.     ToleranceLow = 1,
  3979.     ToleranceMedium,
  3980.     ToleranceHigh
  3981. } JOBOBJECT_RATE_CONTROL_TOLERANCE, *PJOBOBJECT_RATE_CONTROL_TOLERANCE;
  3982.  
  3983. typedef enum _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL {
  3984.     ToleranceIntervalShort = 1,
  3985.     ToleranceIntervalMedium,
  3986.     ToleranceIntervalLong
  3987. } JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL,
  3988.   *PJOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL;
  3989.  
  3990. typedef struct _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION {
  3991.     DWORD64 IoReadBytesLimit;
  3992.     DWORD64 IoWriteBytesLimit;
  3993.     LARGE_INTEGER PerJobUserTimeLimit;
  3994.     DWORD64 JobMemoryLimit;
  3995.     JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance;
  3996.     JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL RateControlToleranceInterval;
  3997.     DWORD LimitFlags;
  3998. } JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION, *PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION;
  3999.  
  4000. typedef struct JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 {
  4001.     DWORD64 IoReadBytesLimit;
  4002.     DWORD64 IoWriteBytesLimit;
  4003.     LARGE_INTEGER PerJobUserTimeLimit;
  4004.     union {
  4005.         DWORD64 JobHighMemoryLimit;
  4006.         DWORD64 JobMemoryLimit;
  4007.     } ;
  4008.  
  4009.     union {
  4010.         JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance;
  4011.         JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlTolerance;
  4012.     } ;
  4013.  
  4014.     union {
  4015.         JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL RateControlToleranceInterval;
  4016.         JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL
  4017.             CpuRateControlToleranceInterval;
  4018.     } ;
  4019.  
  4020.     DWORD LimitFlags;
  4021.     JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlTolerance;
  4022.     DWORD64 JobLowMemoryLimit;
  4023.     JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL IoRateControlToleranceInterval;
  4024.     JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlTolerance;
  4025.     JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL NetRateControlToleranceInterval;
  4026. } JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2;
  4027.  
  4028.  
  4029. typedef struct _JOBOBJECT_LIMIT_VIOLATION_INFORMATION {
  4030.     DWORD LimitFlags;
  4031.     DWORD ViolationLimitFlags;
  4032.     DWORD64 IoReadBytes;
  4033.     DWORD64 IoReadBytesLimit;
  4034.     DWORD64 IoWriteBytes;
  4035.     DWORD64 IoWriteBytesLimit;
  4036.     LARGE_INTEGER PerJobUserTime;
  4037.     LARGE_INTEGER PerJobUserTimeLimit;
  4038.     DWORD64 JobMemory;
  4039.     DWORD64 JobMemoryLimit;
  4040.     JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance;
  4041.     JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlToleranceLimit;
  4042. } JOBOBJECT_LIMIT_VIOLATION_INFORMATION, *PJOBOBJECT_LIMIT_VIOLATION_INFORMATION;
  4043.  
  4044. typedef struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 {
  4045.     DWORD LimitFlags;
  4046.     DWORD ViolationLimitFlags;
  4047.     DWORD64 IoReadBytes;
  4048.     DWORD64 IoReadBytesLimit;
  4049.     DWORD64 IoWriteBytes;
  4050.     DWORD64 IoWriteBytesLimit;
  4051.     LARGE_INTEGER PerJobUserTime;
  4052.     LARGE_INTEGER PerJobUserTimeLimit;
  4053.     DWORD64 JobMemory;
  4054.     union {
  4055.         DWORD64 JobHighMemoryLimit;
  4056.         DWORD64 JobMemoryLimit;
  4057.     } ;
  4058.  
  4059.     union {
  4060.         JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance;
  4061.         JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlTolerance;
  4062.     } ;
  4063.  
  4064.     union {
  4065.         JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlToleranceLimit;
  4066.         JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlToleranceLimit;
  4067.     } ;
  4068.  
  4069.     DWORD64 JobLowMemoryLimit;
  4070.     JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlTolerance;
  4071.     JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlToleranceLimit;
  4072.     JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlTolerance;
  4073.     JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlToleranceLimit;
  4074. } JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2;
  4075.  
  4076.  
  4077. typedef struct _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION {
  4078.     DWORD ControlFlags;
  4079.     union {
  4080.         DWORD CpuRate;
  4081.         DWORD Weight;
  4082.         struct {
  4083.             WORD MinRate;
  4084.             WORD MaxRate;
  4085.         } ;
  4086.     } ;
  4087. } JOBOBJECT_CPU_RATE_CONTROL_INFORMATION, *PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION;
  4088.  
  4089.  
  4090.  
  4091.  
  4092.  
  4093. typedef enum JOB_OBJECT_NET_RATE_CONTROL_FLAGS {
  4094.     JOB_OBJECT_NET_RATE_CONTROL_ENABLE = 0x1,
  4095.     JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH = 0x2,
  4096.     JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG = 0x4,
  4097.     JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS = 0x7
  4098. } JOB_OBJECT_NET_RATE_CONTROL_FLAGS;
  4099.  
  4100.  
  4101.  
  4102.  
  4103. typedef char __C_ASSERT__[(JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS == (JOB_OBJECT_NET_RATE_CONTROL_ENABLE + JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH + JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG))?1:-1];
  4104. # 12160 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4105. typedef struct JOBOBJECT_NET_RATE_CONTROL_INFORMATION {
  4106.     DWORD64 MaxBandwidth;
  4107.     JOB_OBJECT_NET_RATE_CONTROL_FLAGS ControlFlags;
  4108.     BYTE DscpTag;
  4109. } JOBOBJECT_NET_RATE_CONTROL_INFORMATION;
  4110. # 12173 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4111. typedef enum JOB_OBJECT_IO_RATE_CONTROL_FLAGS {
  4112.     JOB_OBJECT_IO_RATE_CONTROL_ENABLE = 0x1,
  4113.     JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME = 0x2,
  4114.     JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL = 0x4,
  4115.     JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP = 0x8,
  4116.     JOB_OBJECT_IO_RATE_CONTROL_VALID_FLAGS = JOB_OBJECT_IO_RATE_CONTROL_ENABLE |
  4117.                                              JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME |
  4118.                                              JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL |
  4119.                                              JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP
  4120. } JOB_OBJECT_IO_RATE_CONTROL_FLAGS;
  4121.  
  4122.  
  4123.  
  4124.  
  4125.  
  4126.  
  4127.  
  4128. typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE {
  4129.     LONG64 MaxIops;
  4130.     LONG64 MaxBandwidth;
  4131.     LONG64 ReservationIops;
  4132.     PWSTR VolumeName;
  4133.     DWORD BaseIoSize;
  4134.     JOB_OBJECT_IO_RATE_CONTROL_FLAGS ControlFlags;
  4135.     WORD VolumeNameLength;
  4136. } JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE;
  4137.  
  4138. typedef JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE
  4139.     JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V1;
  4140.  
  4141. typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 {
  4142.     LONG64 MaxIops;
  4143.     LONG64 MaxBandwidth;
  4144.     LONG64 ReservationIops;
  4145.     PWSTR VolumeName;
  4146.     DWORD BaseIoSize;
  4147.     JOB_OBJECT_IO_RATE_CONTROL_FLAGS ControlFlags;
  4148.     WORD VolumeNameLength;
  4149.     LONG64 CriticalReservationIops;
  4150.     LONG64 ReservationBandwidth;
  4151.     LONG64 CriticalReservationBandwidth;
  4152.     LONG64 MaxTimePercent;
  4153.     LONG64 ReservationTimePercent;
  4154.     LONG64 CriticalReservationTimePercent;
  4155. } JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2;
  4156.  
  4157. typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 {
  4158.     LONG64 MaxIops;
  4159.     LONG64 MaxBandwidth;
  4160.     LONG64 ReservationIops;
  4161.     PWSTR VolumeName;
  4162.     DWORD BaseIoSize;
  4163.     JOB_OBJECT_IO_RATE_CONTROL_FLAGS ControlFlags;
  4164.     WORD VolumeNameLength;
  4165.     LONG64 CriticalReservationIops;
  4166.     LONG64 ReservationBandwidth;
  4167.     LONG64 CriticalReservationBandwidth;
  4168.     LONG64 MaxTimePercent;
  4169.     LONG64 ReservationTimePercent;
  4170.     LONG64 CriticalReservationTimePercent;
  4171.     LONG64 SoftMaxIops;
  4172.     LONG64 SoftMaxBandwidth;
  4173.     LONG64 SoftMaxTimePercent;
  4174.     LONG64 LimitExcessNotifyIops;
  4175.     LONG64 LimitExcessNotifyBandwidth;
  4176.     LONG64 LimitExcessNotifyTimePercent;
  4177. } JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3;
  4178.  
  4179.  
  4180.  
  4181. typedef enum JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS {
  4182.     JOBOBJECT_IO_ATTRIBUTION_CONTROL_ENABLE = 0x1,
  4183.     JOBOBJECT_IO_ATTRIBUTION_CONTROL_DISABLE = 0x2,
  4184.     JOBOBJECT_IO_ATTRIBUTION_CONTROL_VALID_FLAGS = 0x3
  4185. } JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS;
  4186.  
  4187. typedef struct _JOBOBJECT_IO_ATTRIBUTION_STATS {
  4188.  
  4189.     ULONG_PTR IoCount;
  4190.     ULONGLONG TotalNonOverlappedQueueTime;
  4191.     ULONGLONG TotalNonOverlappedServiceTime;
  4192.     ULONGLONG TotalSize;
  4193.  
  4194. } JOBOBJECT_IO_ATTRIBUTION_STATS, *PJOBOBJECT_IO_ATTRIBUTION_STATS;
  4195.  
  4196. typedef struct _JOBOBJECT_IO_ATTRIBUTION_INFORMATION {
  4197.     DWORD ControlFlags;
  4198.  
  4199.     JOBOBJECT_IO_ATTRIBUTION_STATS ReadStats;
  4200.     JOBOBJECT_IO_ATTRIBUTION_STATS WriteStats;
  4201.  
  4202. } JOBOBJECT_IO_ATTRIBUTION_INFORMATION, *PJOBOBJECT_IO_ATTRIBUTION_INFORMATION;
  4203. # 12393 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4204. typedef enum _JOBOBJECTINFOCLASS {
  4205.     JobObjectBasicAccountingInformation = 1,
  4206.     JobObjectBasicLimitInformation,
  4207.     JobObjectBasicProcessIdList,
  4208.     JobObjectBasicUIRestrictions,
  4209.     JobObjectSecurityLimitInformation,
  4210.     JobObjectEndOfJobTimeInformation,
  4211.     JobObjectAssociateCompletionPortInformation,
  4212.     JobObjectBasicAndIoAccountingInformation,
  4213.     JobObjectExtendedLimitInformation,
  4214.     JobObjectJobSetInformation,
  4215.     JobObjectGroupInformation,
  4216.     JobObjectNotificationLimitInformation,
  4217.     JobObjectLimitViolationInformation,
  4218.     JobObjectGroupInformationEx,
  4219.     JobObjectCpuRateControlInformation,
  4220.     JobObjectCompletionFilter,
  4221.     JobObjectCompletionCounter,
  4222.     JobObjectReserved1Information = 18,
  4223.     JobObjectReserved2Information,
  4224.     JobObjectReserved3Information,
  4225.     JobObjectReserved4Information,
  4226.     JobObjectReserved5Information,
  4227.     JobObjectReserved6Information,
  4228.     JobObjectReserved7Information,
  4229.     JobObjectReserved8Information,
  4230.     JobObjectReserved9Information,
  4231.     JobObjectReserved10Information,
  4232.     JobObjectReserved11Information,
  4233.     JobObjectReserved12Information,
  4234.     JobObjectReserved13Information,
  4235.     JobObjectReserved14Information = 31,
  4236.     JobObjectNetRateControlInformation,
  4237.     JobObjectNotificationLimitInformation2,
  4238.     JobObjectLimitViolationInformation2,
  4239.     JobObjectCreateSilo,
  4240.     JobObjectSiloBasicInformation,
  4241.     JobObjectReserved15Information = 37,
  4242.     JobObjectReserved16Information = 38,
  4243.     JobObjectReserved17Information = 39,
  4244.     JobObjectReserved18Information = 40,
  4245.     JobObjectReserved19Information = 41,
  4246.     JobObjectReserved20Information = 42,
  4247.     JobObjectReserved21Information = 43,
  4248.     JobObjectReserved22Information = 44,
  4249.     JobObjectReserved23Information = 45,
  4250.     JobObjectReserved24Information = 46,
  4251.     JobObjectReserved25Information = 47,
  4252.     MaxJobObjectInfoClass
  4253. } JOBOBJECTINFOCLASS;
  4254.  
  4255.  
  4256.  
  4257. typedef struct _SILOOBJECT_BASIC_INFORMATION {
  4258.     DWORD SiloId;
  4259.     DWORD SiloParentId;
  4260.     DWORD NumberOfProcesses;
  4261.     BOOLEAN IsInServerSilo;
  4262.     BYTE Reserved[3];
  4263. } SILOOBJECT_BASIC_INFORMATION, *PSILOOBJECT_BASIC_INFORMATION;
  4264.  
  4265. typedef enum _SERVERSILO_STATE {
  4266.     SERVERSILO_INITING = 0,
  4267.     SERVERSILO_STARTED,
  4268.     SERVERSILO_SHUTTING_DOWN,
  4269.     SERVERSILO_TERMINATING,
  4270.     SERVERSILO_TERMINATED,
  4271. } SERVERSILO_STATE, *PSERVERSILO_STATE;
  4272.  
  4273. typedef struct _SERVERSILO_BASIC_INFORMATION {
  4274.     DWORD ServiceSessionId;
  4275.     SERVERSILO_STATE State;
  4276.     DWORD ExitStatus;
  4277. } SERVERSILO_BASIC_INFORMATION, *PSERVERSILO_BASIC_INFORMATION;
  4278.  
  4279.  
  4280. typedef enum _FIRMWARE_TYPE {
  4281.     FirmwareTypeUnknown,
  4282.     FirmwareTypeBios,
  4283.     FirmwareTypeUefi,
  4284.     FirmwareTypeMax
  4285. } FIRMWARE_TYPE, *PFIRMWARE_TYPE;
  4286. # 12508 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4287. typedef enum _LOGICAL_PROCESSOR_RELATIONSHIP {
  4288.     RelationProcessorCore,
  4289.     RelationNumaNode,
  4290.     RelationCache,
  4291.     RelationProcessorPackage,
  4292.     RelationGroup,
  4293.     RelationAll = 0xffff
  4294. } LOGICAL_PROCESSOR_RELATIONSHIP;
  4295.  
  4296.  
  4297.  
  4298. typedef enum _PROCESSOR_CACHE_TYPE {
  4299.     CacheUnified,
  4300.     CacheInstruction,
  4301.     CacheData,
  4302.     CacheTrace
  4303. } PROCESSOR_CACHE_TYPE;
  4304.  
  4305.  
  4306.  
  4307. typedef struct _CACHE_DESCRIPTOR {
  4308.     BYTE Level;
  4309.     BYTE Associativity;
  4310.     WORD LineSize;
  4311.     DWORD Size;
  4312.     PROCESSOR_CACHE_TYPE Type;
  4313. } CACHE_DESCRIPTOR, *PCACHE_DESCRIPTOR;
  4314.  
  4315. typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
  4316.     ULONG_PTR ProcessorMask;
  4317.     LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
  4318.     union {
  4319.         struct {
  4320.             BYTE Flags;
  4321.         } ProcessorCore;
  4322.         struct {
  4323.             DWORD NodeNumber;
  4324.         } NumaNode;
  4325.         CACHE_DESCRIPTOR Cache;
  4326.         ULONGLONG Reserved[2];
  4327.     } ;
  4328. } SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;
  4329.  
  4330. typedef struct _PROCESSOR_RELATIONSHIP {
  4331.     BYTE Flags;
  4332.     BYTE EfficiencyClass;
  4333.     BYTE Reserved[20];
  4334.     WORD GroupCount;
  4335.                              GROUP_AFFINITY GroupMask[1];
  4336. } PROCESSOR_RELATIONSHIP, *PPROCESSOR_RELATIONSHIP;
  4337.  
  4338. typedef struct _NUMA_NODE_RELATIONSHIP {
  4339.     DWORD NodeNumber;
  4340.     BYTE Reserved[20];
  4341.     GROUP_AFFINITY GroupMask;
  4342. } NUMA_NODE_RELATIONSHIP, *PNUMA_NODE_RELATIONSHIP;
  4343.  
  4344. typedef struct _CACHE_RELATIONSHIP {
  4345.     BYTE Level;
  4346.     BYTE Associativity;
  4347.     WORD LineSize;
  4348.     DWORD CacheSize;
  4349.     PROCESSOR_CACHE_TYPE Type;
  4350.     BYTE Reserved[20];
  4351.     GROUP_AFFINITY GroupMask;
  4352. } CACHE_RELATIONSHIP, *PCACHE_RELATIONSHIP;
  4353.  
  4354. typedef struct _PROCESSOR_GROUP_INFO {
  4355.     BYTE MaximumProcessorCount;
  4356.     BYTE ActiveProcessorCount;
  4357.     BYTE Reserved[38];
  4358.     KAFFINITY ActiveProcessorMask;
  4359. } PROCESSOR_GROUP_INFO, *PPROCESSOR_GROUP_INFO;
  4360.  
  4361. typedef struct _GROUP_RELATIONSHIP {
  4362.     WORD MaximumGroupCount;
  4363.     WORD ActiveGroupCount;
  4364.     BYTE Reserved[20];
  4365.     PROCESSOR_GROUP_INFO GroupInfo[1];
  4366. } GROUP_RELATIONSHIP, *PGROUP_RELATIONSHIP;
  4367.  
  4368.                           struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX {
  4369.     LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
  4370.     DWORD Size;
  4371.     union {
  4372.         PROCESSOR_RELATIONSHIP Processor;
  4373.         NUMA_NODE_RELATIONSHIP NumaNode;
  4374.         CACHE_RELATIONSHIP Cache;
  4375.         GROUP_RELATIONSHIP Group;
  4376.     } ;
  4377. };
  4378.  
  4379. typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX;
  4380.  
  4381. typedef enum _CPU_SET_INFORMATION_TYPE {
  4382.     CpuSetInformation
  4383. } CPU_SET_INFORMATION_TYPE, *PCPU_SET_INFORMATION_TYPE;
  4384.  
  4385.                           struct _SYSTEM_CPU_SET_INFORMATION {
  4386.     DWORD Size;
  4387.     CPU_SET_INFORMATION_TYPE Type;
  4388.     union {
  4389.         struct {
  4390.             DWORD Id;
  4391.             WORD Group;
  4392.             BYTE LogicalProcessorIndex;
  4393.             BYTE CoreIndex;
  4394.             BYTE LastLevelCacheIndex;
  4395.             BYTE NumaNodeIndex;
  4396.             BYTE EfficiencyClass;
  4397.             union {
  4398.  
  4399.  
  4400.  
  4401.  
  4402.  
  4403.  
  4404.                 BYTE AllFlags;
  4405.                 struct {
  4406.                     BYTE Parked : 1;
  4407.                     BYTE Allocated : 1;
  4408.                     BYTE AllocatedToTargetProcess : 1;
  4409.                     BYTE RealTime : 1;
  4410.                     BYTE ReservedFlags : 4;
  4411.                 } ;
  4412.             } ;
  4413.  
  4414.             union {
  4415.                 DWORD Reserved;
  4416.                 BYTE SchedulingClass;
  4417.             };
  4418.  
  4419.             DWORD64 AllocationTag;
  4420.         } CpuSet;
  4421.     } ;
  4422. };
  4423.  
  4424. typedef struct _SYSTEM_CPU_SET_INFORMATION SYSTEM_CPU_SET_INFORMATION, *PSYSTEM_CPU_SET_INFORMATION;
  4425.  
  4426.  
  4427.  
  4428. typedef struct _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION {
  4429.     DWORD64 CycleTime;
  4430. } SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION, *PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION;
  4431. # 12810 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4432. typedef struct _XSTATE_FEATURE {
  4433.     DWORD Offset;
  4434.     DWORD Size;
  4435. } XSTATE_FEATURE, *PXSTATE_FEATURE;
  4436.  
  4437. typedef struct _XSTATE_CONFIGURATION {
  4438.  
  4439.     DWORD64 EnabledFeatures;
  4440.  
  4441.  
  4442.     DWORD64 EnabledVolatileFeatures;
  4443.  
  4444.  
  4445.     DWORD Size;
  4446.  
  4447.  
  4448.     union {
  4449.         DWORD ControlFlags;
  4450.         struct
  4451.         {
  4452.             DWORD OptimizedSave : 1;
  4453.             DWORD CompactionEnabled : 1;
  4454.         };
  4455.     };
  4456.  
  4457.  
  4458.     XSTATE_FEATURE Features[(64)];
  4459.  
  4460.  
  4461.     DWORD64 EnabledSupervisorFeatures;
  4462.  
  4463.  
  4464.     DWORD64 AlignedFeatures;
  4465.  
  4466.  
  4467.     DWORD AllFeatureSize;
  4468.  
  4469.  
  4470.     DWORD AllFeatures[(64)];
  4471.  
  4472. } XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION;
  4473.  
  4474.  
  4475.  
  4476. typedef struct _MEMORY_BASIC_INFORMATION {
  4477.     PVOID BaseAddress;
  4478.     PVOID AllocationBase;
  4479.     DWORD AllocationProtect;
  4480.     SIZE_T RegionSize;
  4481.     DWORD State;
  4482.     DWORD Protect;
  4483.     DWORD Type;
  4484. } MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;
  4485.  
  4486.  
  4487.  
  4488. typedef struct _MEMORY_BASIC_INFORMATION32 {
  4489.     DWORD BaseAddress;
  4490.     DWORD AllocationBase;
  4491.     DWORD AllocationProtect;
  4492.     DWORD RegionSize;
  4493.     DWORD State;
  4494.     DWORD Protect;
  4495.     DWORD Type;
  4496. } MEMORY_BASIC_INFORMATION32, *PMEMORY_BASIC_INFORMATION32;
  4497.  
  4498. typedef struct __attribute__((aligned(16))) _MEMORY_BASIC_INFORMATION64 {
  4499.     ULONGLONG BaseAddress;
  4500.     ULONGLONG AllocationBase;
  4501.     DWORD AllocationProtect;
  4502.     DWORD __alignment1;
  4503.     ULONGLONG RegionSize;
  4504.     DWORD State;
  4505.     DWORD Protect;
  4506.     DWORD Type;
  4507.     DWORD __alignment2;
  4508. } MEMORY_BASIC_INFORMATION64, *PMEMORY_BASIC_INFORMATION64;
  4509. # 12916 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4510. typedef struct _CFG_CALL_TARGET_INFO {
  4511.     ULONG_PTR Offset;
  4512.     ULONG_PTR Flags;
  4513. } CFG_CALL_TARGET_INFO, *PCFG_CALL_TARGET_INFO;
  4514. # 12984 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4515. typedef struct MEM_ADDRESS_REQUIREMENTS {
  4516.     PVOID LowestStartingAddress;
  4517.     PVOID HighestEndingAddress;
  4518.     SIZE_T Alignment;
  4519. } MEM_ADDRESS_REQUIREMENTS, *PMEM_ADDRESS_REQUIREMENTS;
  4520.  
  4521. typedef enum MEM_EXTENDED_PARAMETER_TYPE {
  4522.     MemExtendedParameterInvalidType = 0,
  4523.     MemExtendedParameterAddressRequirements,
  4524.     MemExtendedParameterNumaNode,
  4525.     MemExtendedParameterPartitionHandle,
  4526.     MemExtendedParameterMax
  4527. } MEM_EXTENDED_PARAMETER_TYPE, *PMEM_EXTENDED_PARAMETER_TYPE;
  4528.  
  4529.  
  4530.  
  4531. typedef struct __attribute__((aligned(8))) MEM_EXTENDED_PARAMETER {
  4532.  
  4533.     struct {
  4534.         DWORD64 Type : 8;
  4535.         DWORD64 Reserved : 64 - 8;
  4536.     } ;
  4537.  
  4538.     union {
  4539.         DWORD64 ULong64;
  4540.         PVOID Pointer;
  4541.         SIZE_T Size;
  4542.         HANDLE Handle;
  4543.         DWORD ULong;
  4544.     } ;
  4545.  
  4546. } MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER;
  4547. # 13036 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4548. typedef struct _ENCLAVE_CREATE_INFO_SGX {
  4549.     BYTE Secs[4096];
  4550. } ENCLAVE_CREATE_INFO_SGX, *PENCLAVE_CREATE_INFO_SGX;
  4551.  
  4552. typedef struct _ENCLAVE_INIT_INFO_SGX {
  4553.     BYTE SigStruct[1808];
  4554.     BYTE Reserved1[240];
  4555.     BYTE EInitToken[304];
  4556.     BYTE Reserved2[1744];
  4557. } ENCLAVE_INIT_INFO_SGX, *PENCLAVE_INIT_INFO_SGX;
  4558.  
  4559.  
  4560.  
  4561. typedef struct _ENCLAVE_CREATE_INFO_VBS {
  4562.     DWORD Flags;
  4563.     BYTE OwnerID[32];
  4564. } ENCLAVE_CREATE_INFO_VBS, *PENCLAVE_CREATE_INFO_VBS;
  4565.  
  4566.  
  4567.  
  4568.  
  4569. typedef struct _ENCLAVE_INIT_INFO_VBS {
  4570.     DWORD Length;
  4571.     DWORD ThreadCount;
  4572. } ENCLAVE_INIT_INFO_VBS, *PENCLAVE_INIT_INFO_VBS;
  4573.  
  4574.  
  4575.  
  4576. typedef PVOID (ENCLAVE_TARGET_FUNCTION)(PVOID);
  4577. typedef ENCLAVE_TARGET_FUNCTION (*PENCLAVE_TARGET_FUNCTION);
  4578. typedef PENCLAVE_TARGET_FUNCTION LPENCLAVE_TARGET_FUNCTION;
  4579. # 13208 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4580. typedef struct _FILE_ID_128 {
  4581.     BYTE Identifier[16];
  4582. } FILE_ID_128, *PFILE_ID_128;
  4583.  
  4584.  
  4585.  
  4586.  
  4587.  
  4588. typedef struct _FILE_NOTIFY_INFORMATION {
  4589.     DWORD NextEntryOffset;
  4590.     DWORD Action;
  4591.     DWORD FileNameLength;
  4592.     WCHAR FileName[1];
  4593. } FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION;
  4594.  
  4595.  
  4596. typedef struct _FILE_NOTIFY_EXTENDED_INFORMATION {
  4597.     DWORD NextEntryOffset;
  4598.     DWORD Action;
  4599.     LARGE_INTEGER CreationTime;
  4600.     LARGE_INTEGER LastModificationTime;
  4601.     LARGE_INTEGER LastChangeTime;
  4602.     LARGE_INTEGER LastAccessTime;
  4603.     LARGE_INTEGER AllocatedLength;
  4604.     LARGE_INTEGER FileSize;
  4605.     DWORD FileAttributes;
  4606.     DWORD ReparsePointTag;
  4607.     LARGE_INTEGER FileId;
  4608.     LARGE_INTEGER ParentFileId;
  4609.     DWORD FileNameLength;
  4610.     WCHAR FileName[1];
  4611. } FILE_NOTIFY_EXTENDED_INFORMATION, *PFILE_NOTIFY_EXTENDED_INFORMATION;
  4612.  
  4613.  
  4614.  
  4615.  
  4616.  
  4617.  
  4618.  
  4619. typedef union _FILE_SEGMENT_ELEMENT {
  4620.     PVOID64 Buffer;
  4621.     ULONGLONG Alignment;
  4622. }FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;
  4623. # 13321 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4624. typedef struct _REPARSE_GUID_DATA_BUFFER {
  4625.     DWORD ReparseTag;
  4626.     WORD ReparseDataLength;
  4627.     WORD Reserved;
  4628.     GUID ReparseGuid;
  4629.     struct {
  4630.         BYTE DataBuffer[1];
  4631.     } GenericReparseBuffer;
  4632. } REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER;
  4633. # 13470 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4634. typedef struct _SCRUB_DATA_INPUT {
  4635.  
  4636.  
  4637.  
  4638.  
  4639.  
  4640.     DWORD Size;
  4641. # 13485 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4642.     DWORD Flags;
  4643.  
  4644.  
  4645.  
  4646.  
  4647.  
  4648.  
  4649.  
  4650.     DWORD MaximumIos;
  4651.  
  4652.  
  4653.  
  4654.  
  4655.  
  4656.  
  4657.  
  4658.     DWORD ObjectId[4];
  4659.  
  4660.  
  4661.  
  4662.  
  4663.  
  4664.     DWORD Reserved[13];
  4665.  
  4666.  
  4667.  
  4668.  
  4669.  
  4670.  
  4671.  
  4672.     BYTE ResumeContext[816];
  4673.  
  4674. } SCRUB_DATA_INPUT, *PSCRUB_DATA_INPUT;
  4675.  
  4676.  
  4677.  
  4678. typedef struct _SCRUB_PARITY_EXTENT {
  4679.  
  4680.     LONGLONG Offset;
  4681.  
  4682.     ULONGLONG Length;
  4683.  
  4684. } SCRUB_PARITY_EXTENT, *PSCRUB_PARITY_EXTENT;
  4685.  
  4686. typedef struct _SCRUB_PARITY_EXTENT_DATA {
  4687.  
  4688.  
  4689.  
  4690.  
  4691.  
  4692.     WORD Size;
  4693.  
  4694.  
  4695.  
  4696.  
  4697.  
  4698.     WORD Flags;
  4699.  
  4700.  
  4701.  
  4702.  
  4703.  
  4704.     WORD NumberOfParityExtents;
  4705.  
  4706.  
  4707.  
  4708.  
  4709.  
  4710.     WORD MaximumNumberOfParityExtents;
  4711.  
  4712.  
  4713.  
  4714.  
  4715.  
  4716.     SCRUB_PARITY_EXTENT ParityExtents[1];
  4717.  
  4718. } SCRUB_PARITY_EXTENT_DATA, *PSCRUB_PARITY_EXTENT_DATA;
  4719.  
  4720.  
  4721.  
  4722. typedef struct _SCRUB_DATA_OUTPUT {
  4723.  
  4724.  
  4725.  
  4726.  
  4727.  
  4728.     DWORD Size;
  4729. # 13581 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4730.     DWORD Flags;
  4731.  
  4732.  
  4733.  
  4734.  
  4735.  
  4736.     DWORD Status;
  4737.  
  4738.  
  4739.  
  4740.  
  4741.  
  4742.  
  4743.     ULONGLONG ErrorFileOffset;
  4744.  
  4745.  
  4746.  
  4747.  
  4748.  
  4749.  
  4750.     ULONGLONG ErrorLength;
  4751.  
  4752.  
  4753.  
  4754.  
  4755.  
  4756.     ULONGLONG NumberOfBytesRepaired;
  4757.  
  4758.  
  4759.  
  4760.  
  4761.  
  4762.     ULONGLONG NumberOfBytesFailed;
  4763.  
  4764.  
  4765.  
  4766.  
  4767.  
  4768.     ULONGLONG InternalFileReference;
  4769. # 13630 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4770.     WORD ResumeContextLength;
  4771.  
  4772.  
  4773.  
  4774.  
  4775.  
  4776.  
  4777.  
  4778.     WORD ParityExtentDataOffset;
  4779.  
  4780.  
  4781.  
  4782.  
  4783.  
  4784.     DWORD Reserved[5];
  4785. # 13669 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4786.     BYTE ResumeContext[816];
  4787.  
  4788. } SCRUB_DATA_OUTPUT, *PSCRUB_DATA_OUTPUT;
  4789. # 13683 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4790. typedef enum _SharedVirtualDiskSupportType
  4791. {
  4792.  
  4793.  
  4794.  
  4795.     SharedVirtualDisksUnsupported = 0,
  4796.  
  4797.  
  4798.  
  4799.  
  4800.     SharedVirtualDisksSupported = 1,
  4801.  
  4802.  
  4803.  
  4804.  
  4805.  
  4806.     SharedVirtualDiskSnapshotsSupported = 3,
  4807.  
  4808.  
  4809.  
  4810.  
  4811.  
  4812.     SharedVirtualDiskCDPSnapshotsSupported = 7
  4813. } SharedVirtualDiskSupportType;
  4814.  
  4815. typedef enum _SharedVirtualDiskHandleState
  4816. {
  4817.  
  4818.  
  4819.  
  4820.     SharedVirtualDiskHandleStateNone = 0,
  4821.  
  4822.  
  4823.  
  4824.  
  4825.  
  4826.     SharedVirtualDiskHandleStateFileShared = 1,
  4827.  
  4828.  
  4829.  
  4830.  
  4831.  
  4832.     SharedVirtualDiskHandleStateHandleShared = 3
  4833. } SharedVirtualDiskHandleState;
  4834.  
  4835.  
  4836.  
  4837.  
  4838.  
  4839. typedef struct _SHARED_VIRTUAL_DISK_SUPPORT {
  4840.  
  4841.  
  4842.  
  4843.  
  4844.     SharedVirtualDiskSupportType SharedVirtualDiskSupport;
  4845.  
  4846.  
  4847.  
  4848.  
  4849.  
  4850.     SharedVirtualDiskHandleState HandleState;
  4851. } SHARED_VIRTUAL_DISK_SUPPORT, *PSHARED_VIRTUAL_DISK_SUPPORT;
  4852. # 13796 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4853. typedef struct _NETWORK_APP_INSTANCE_EA {
  4854.  
  4855.  
  4856.  
  4857.  
  4858.  
  4859.  
  4860.     GUID AppInstanceID;
  4861.  
  4862.  
  4863.  
  4864.  
  4865.  
  4866.     DWORD CsvFlags;
  4867.  
  4868. } NETWORK_APP_INSTANCE_EA, *PNETWORK_APP_INSTANCE_EA;
  4869. # 13838 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4870. extern const GUID GUID_MAX_POWER_SAVINGS;
  4871.  
  4872.  
  4873.  
  4874.  
  4875.  
  4876.  
  4877. extern const GUID GUID_MIN_POWER_SAVINGS;
  4878.  
  4879.  
  4880.  
  4881.  
  4882.  
  4883.  
  4884. extern const GUID GUID_TYPICAL_POWER_SAVINGS;
  4885.  
  4886.  
  4887.  
  4888.  
  4889.  
  4890.  
  4891.  
  4892. extern const GUID NO_SUBGROUP_GUID;
  4893.  
  4894.  
  4895.  
  4896.  
  4897.  
  4898.  
  4899.  
  4900. extern const GUID ALL_POWERSCHEMES_GUID;
  4901. # 13905 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4902. extern const GUID GUID_POWERSCHEME_PERSONALITY;
  4903. # 13914 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4904. extern const GUID GUID_ACTIVE_POWERSCHEME;
  4905. # 13929 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4906. extern const GUID GUID_IDLE_RESILIENCY_SUBGROUP;
  4907.  
  4908.  
  4909.  
  4910.  
  4911.  
  4912.  
  4913.  
  4914. extern const GUID GUID_IDLE_RESILIENCY_PERIOD;
  4915.  
  4916.  
  4917.  
  4918.  
  4919.  
  4920. extern const GUID GUID_DEEP_SLEEP_ENABLED;
  4921. # 13952 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4922. extern const GUID GUID_DEEP_SLEEP_PLATFORM_STATE;
  4923.  
  4924.  
  4925.  
  4926.  
  4927.  
  4928.  
  4929. extern const GUID GUID_DISK_COALESCING_POWERDOWN_TIMEOUT;
  4930. # 13972 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4931. extern const GUID GUID_EXECUTION_REQUIRED_REQUEST_TIMEOUT;
  4932. # 13983 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4933. extern const GUID GUID_VIDEO_SUBGROUP;
  4934.  
  4935.  
  4936.  
  4937.  
  4938.  
  4939.  
  4940.  
  4941. extern const GUID GUID_VIDEO_POWERDOWN_TIMEOUT;
  4942. # 14000 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4943. extern const GUID GUID_VIDEO_ANNOYANCE_TIMEOUT;
  4944. # 14009 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  4945. extern const GUID GUID_VIDEO_ADAPTIVE_PERCENT_INCREASE;
  4946.  
  4947.  
  4948.  
  4949.  
  4950.  
  4951.  
  4952.  
  4953. extern const GUID GUID_VIDEO_DIM_TIMEOUT;
  4954.  
  4955.  
  4956.  
  4957.  
  4958.  
  4959.  
  4960.  
  4961. extern const GUID GUID_VIDEO_ADAPTIVE_POWERDOWN;
  4962.  
  4963.  
  4964.  
  4965.  
  4966.  
  4967.  
  4968. extern const GUID GUID_MONITOR_POWER_ON;
  4969.  
  4970.  
  4971.  
  4972.  
  4973.  
  4974.  
  4975. extern const GUID GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS;
  4976.  
  4977.  
  4978.  
  4979.  
  4980.  
  4981.  
  4982. extern const GUID GUID_DEVICE_POWER_POLICY_VIDEO_DIM_BRIGHTNESS;
  4983.  
  4984.  
  4985.  
  4986.  
  4987.  
  4988.  
  4989. extern const GUID GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS;
  4990.  
  4991.  
  4992.  
  4993.  
  4994.  
  4995.  
  4996.  
  4997. extern const GUID GUID_VIDEO_ADAPTIVE_DISPLAY_BRIGHTNESS;
  4998.  
  4999.  
  5000.  
  5001.  
  5002.  
  5003.  
  5004. extern const GUID GUID_CONSOLE_DISPLAY_STATE;
  5005.  
  5006.  
  5007.  
  5008.  
  5009.  
  5010.  
  5011.  
  5012. extern const GUID GUID_ALLOW_DISPLAY_REQUIRED;
  5013. # 14085 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5014. extern const GUID GUID_VIDEO_CONSOLE_LOCK_TIMEOUT;
  5015.  
  5016.  
  5017.  
  5018.  
  5019.  
  5020.  
  5021. extern const GUID GUID_ADAPTIVE_POWER_BEHAVIOR_SUBGROUP;
  5022.  
  5023.  
  5024.  
  5025.  
  5026.  
  5027.  
  5028. extern const GUID GUID_NON_ADAPTIVE_INPUT_TIMEOUT;
  5029.  
  5030.  
  5031.  
  5032.  
  5033.  
  5034.  
  5035. extern const GUID GUID_ADAPTIVE_INPUT_CONTROLLER_STATE;
  5036.  
  5037.  
  5038.  
  5039.  
  5040.  
  5041.  
  5042.  
  5043. extern const GUID GUID_DISK_SUBGROUP;
  5044.  
  5045.  
  5046.  
  5047.  
  5048. extern const GUID GUID_DISK_MAX_POWER;
  5049.  
  5050.  
  5051.  
  5052.  
  5053.  
  5054. extern const GUID GUID_DISK_POWERDOWN_TIMEOUT;
  5055.  
  5056.  
  5057.  
  5058.  
  5059.  
  5060.  
  5061. extern const GUID GUID_DISK_IDLE_TIMEOUT;
  5062. # 14141 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5063. extern const GUID GUID_DISK_BURST_IGNORE_THRESHOLD;
  5064.  
  5065.  
  5066.  
  5067.  
  5068.  
  5069. extern const GUID GUID_DISK_ADAPTIVE_POWERDOWN;
  5070. # 14156 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5071. extern const GUID GUID_SLEEP_SUBGROUP;
  5072.  
  5073.  
  5074.  
  5075.  
  5076.  
  5077.  
  5078.  
  5079. extern const GUID GUID_SLEEP_IDLE_THRESHOLD;
  5080.  
  5081.  
  5082.  
  5083.  
  5084.  
  5085. extern const GUID GUID_STANDBY_TIMEOUT;
  5086. # 14179 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5087. extern const GUID GUID_UNATTEND_SLEEP_TIMEOUT;
  5088.  
  5089.  
  5090.  
  5091.  
  5092.  
  5093. extern const GUID GUID_HIBERNATE_TIMEOUT;
  5094.  
  5095.  
  5096.  
  5097.  
  5098.  
  5099. extern const GUID GUID_HIBERNATE_FASTS4_POLICY;
  5100. # 14200 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5101. extern const GUID GUID_CRITICAL_POWER_TRANSITION;
  5102.  
  5103.  
  5104.  
  5105.  
  5106.  
  5107. extern const GUID GUID_SYSTEM_AWAYMODE;
  5108.  
  5109.  
  5110.  
  5111.  
  5112.  
  5113.  
  5114. extern const GUID GUID_ALLOW_AWAYMODE;
  5115.  
  5116.  
  5117.  
  5118.  
  5119.  
  5120.  
  5121. extern const GUID GUID_USER_PRESENCE_PREDICTION;
  5122.  
  5123.  
  5124.  
  5125.  
  5126.  
  5127.  
  5128. extern const GUID GUID_STANDBY_BUDGET_GRACE_PERIOD;
  5129.  
  5130.  
  5131.  
  5132.  
  5133.  
  5134.  
  5135. extern const GUID GUID_STANDBY_BUDGET_PERCENT;
  5136.  
  5137.  
  5138.  
  5139.  
  5140.  
  5141.  
  5142. extern const GUID GUID_STANDBY_RESERVE_GRACE_PERIOD;
  5143.  
  5144.  
  5145.  
  5146.  
  5147.  
  5148.  
  5149. extern const GUID GUID_STANDBY_RESERVE_TIME;
  5150.  
  5151.  
  5152.  
  5153.  
  5154.  
  5155.  
  5156. extern const GUID GUID_STANDBY_RESET_PERCENT;
  5157.  
  5158.  
  5159.  
  5160.  
  5161.  
  5162.  
  5163.  
  5164. extern const GUID GUID_ALLOW_STANDBY_STATES;
  5165.  
  5166.  
  5167.  
  5168.  
  5169.  
  5170.  
  5171. extern const GUID GUID_ALLOW_RTC_WAKE;
  5172.  
  5173.  
  5174.  
  5175.  
  5176.  
  5177.  
  5178. extern const GUID GUID_LEGACY_RTC_MITIGATION;
  5179.  
  5180.  
  5181.  
  5182.  
  5183.  
  5184.  
  5185.  
  5186. extern const GUID GUID_ALLOW_SYSTEM_REQUIRED;
  5187. # 14294 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5188. extern const GUID GUID_POWER_SAVING_STATUS;
  5189.  
  5190.  
  5191.  
  5192.  
  5193.  
  5194.  
  5195.  
  5196. extern const GUID GUID_ENERGY_SAVER_SUBGROUP;
  5197.  
  5198.  
  5199.  
  5200.  
  5201.  
  5202.  
  5203. extern const GUID GUID_ENERGY_SAVER_BATTERY_THRESHOLD;
  5204.  
  5205.  
  5206.  
  5207.  
  5208.  
  5209.  
  5210. extern const GUID GUID_ENERGY_SAVER_BRIGHTNESS;
  5211.  
  5212.  
  5213.  
  5214.  
  5215.  
  5216.  
  5217. extern const GUID GUID_ENERGY_SAVER_POLICY;
  5218. # 14332 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5219. extern const GUID GUID_SYSTEM_BUTTON_SUBGROUP;
  5220. # 14353 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5221. extern const GUID GUID_POWERBUTTON_ACTION;
  5222.  
  5223.  
  5224.  
  5225.  
  5226.  
  5227. extern const GUID GUID_SLEEPBUTTON_ACTION;
  5228.  
  5229.  
  5230.  
  5231.  
  5232.  
  5233.  
  5234. extern const GUID GUID_USERINTERFACEBUTTON_ACTION;
  5235.  
  5236.  
  5237.  
  5238.  
  5239.  
  5240. extern const GUID GUID_LIDCLOSE_ACTION;
  5241. extern const GUID GUID_LIDOPEN_POWERSTATE;
  5242. # 14382 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5243. extern const GUID GUID_BATTERY_SUBGROUP;
  5244. # 14394 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5245. extern const GUID GUID_BATTERY_DISCHARGE_ACTION_0;
  5246. extern const GUID GUID_BATTERY_DISCHARGE_LEVEL_0;
  5247. extern const GUID GUID_BATTERY_DISCHARGE_FLAGS_0;
  5248.  
  5249. extern const GUID GUID_BATTERY_DISCHARGE_ACTION_1;
  5250. extern const GUID GUID_BATTERY_DISCHARGE_LEVEL_1;
  5251. extern const GUID GUID_BATTERY_DISCHARGE_FLAGS_1;
  5252.  
  5253. extern const GUID GUID_BATTERY_DISCHARGE_ACTION_2;
  5254. extern const GUID GUID_BATTERY_DISCHARGE_LEVEL_2;
  5255. extern const GUID GUID_BATTERY_DISCHARGE_FLAGS_2;
  5256.  
  5257. extern const GUID GUID_BATTERY_DISCHARGE_ACTION_3;
  5258. extern const GUID GUID_BATTERY_DISCHARGE_LEVEL_3;
  5259. extern const GUID GUID_BATTERY_DISCHARGE_FLAGS_3;
  5260. # 14419 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5261. extern const GUID GUID_PROCESSOR_SETTINGS_SUBGROUP;
  5262.  
  5263.  
  5264.  
  5265.  
  5266.  
  5267. extern const GUID GUID_PROCESSOR_THROTTLE_POLICY;
  5268. # 14443 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5269. extern const GUID GUID_PROCESSOR_THROTTLE_MAXIMUM;
  5270. # 14453 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5271. extern const GUID GUID_PROCESSOR_THROTTLE_MAXIMUM_1;
  5272. # 14463 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5273. extern const GUID GUID_PROCESSOR_THROTTLE_MINIMUM;
  5274. # 14473 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5275. extern const GUID GUID_PROCESSOR_THROTTLE_MINIMUM_1;
  5276.  
  5277.  
  5278.  
  5279.  
  5280.  
  5281.  
  5282. extern const GUID GUID_PROCESSOR_FREQUENCY_LIMIT;
  5283.  
  5284.  
  5285.  
  5286. extern const GUID GUID_PROCESSOR_FREQUENCY_LIMIT_1;
  5287. # 14493 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5288. extern const GUID GUID_PROCESSOR_ALLOW_THROTTLING;
  5289. # 14503 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5290. extern const GUID GUID_PROCESSOR_IDLESTATE_POLICY;
  5291.  
  5292.  
  5293.  
  5294.  
  5295.  
  5296. extern const GUID GUID_PROCESSOR_PERFSTATE_POLICY;
  5297.  
  5298.  
  5299.  
  5300.  
  5301.  
  5302.  
  5303.  
  5304. extern const GUID GUID_PROCESSOR_PERF_INCREASE_THRESHOLD;
  5305. # 14526 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5306. extern const GUID GUID_PROCESSOR_PERF_INCREASE_THRESHOLD_1;
  5307.  
  5308.  
  5309.  
  5310.  
  5311.  
  5312.  
  5313.  
  5314. extern const GUID GUID_PROCESSOR_PERF_DECREASE_THRESHOLD;
  5315. # 14543 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5316. extern const GUID GUID_PROCESSOR_PERF_DECREASE_THRESHOLD_1;
  5317.  
  5318.  
  5319.  
  5320.  
  5321.  
  5322.  
  5323.  
  5324. extern const GUID GUID_PROCESSOR_PERF_INCREASE_POLICY;
  5325. # 14560 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5326. extern const GUID GUID_PROCESSOR_PERF_INCREASE_POLICY_1;
  5327.  
  5328.  
  5329.  
  5330.  
  5331.  
  5332.  
  5333.  
  5334. extern const GUID GUID_PROCESSOR_PERF_DECREASE_POLICY;
  5335. # 14577 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5336. extern const GUID GUID_PROCESSOR_PERF_DECREASE_POLICY_1;
  5337. # 14586 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5338. extern const GUID GUID_PROCESSOR_PERF_INCREASE_TIME;
  5339. # 14595 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5340. extern const GUID GUID_PROCESSOR_PERF_INCREASE_TIME_1;
  5341. # 14604 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5342. extern const GUID GUID_PROCESSOR_PERF_DECREASE_TIME;
  5343. # 14613 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5344. extern const GUID GUID_PROCESSOR_PERF_DECREASE_TIME_1;
  5345.  
  5346.  
  5347.  
  5348.  
  5349.  
  5350.  
  5351.  
  5352. extern const GUID GUID_PROCESSOR_PERF_TIME_CHECK;
  5353.  
  5354.  
  5355.  
  5356.  
  5357.  
  5358.  
  5359.  
  5360. extern const GUID GUID_PROCESSOR_PERF_BOOST_POLICY;
  5361. # 14641 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5362. extern const GUID GUID_PROCESSOR_PERF_BOOST_MODE;
  5363. # 14659 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5364. extern const GUID GUID_PROCESSOR_PERF_AUTONOMOUS_MODE;
  5365. # 14670 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5366. extern const GUID GUID_PROCESSOR_PERF_ENERGY_PERFORMANCE_PREFERENCE;
  5367. # 14681 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5368. extern const GUID GUID_PROCESSOR_PERF_AUTONOMOUS_ACTIVITY_WINDOW;
  5369. # 14691 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5370. extern const GUID GUID_PROCESSOR_DUTY_CYCLING;
  5371. # 14703 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5372. extern const GUID GUID_PROCESSOR_IDLE_ALLOW_SCALING;
  5373.  
  5374.  
  5375.  
  5376.  
  5377.  
  5378.  
  5379. extern const GUID GUID_PROCESSOR_IDLE_DISABLE;
  5380. # 14719 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5381. extern const GUID GUID_PROCESSOR_IDLE_STATE_MAXIMUM;
  5382. # 14728 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5383. extern const GUID GUID_PROCESSOR_IDLE_TIME_CHECK;
  5384. # 14737 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5385. extern const GUID GUID_PROCESSOR_IDLE_DEMOTE_THRESHOLD;
  5386.  
  5387.  
  5388.  
  5389.  
  5390.  
  5391.  
  5392.  
  5393. extern const GUID GUID_PROCESSOR_IDLE_PROMOTE_THRESHOLD;
  5394. # 14754 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5395. extern const GUID GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD;
  5396. # 14763 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5397. extern const GUID GUID_PROCESSOR_CORE_PARKING_DECREASE_THRESHOLD;
  5398.  
  5399.  
  5400.  
  5401.  
  5402.  
  5403.  
  5404. extern const GUID GUID_PROCESSOR_CORE_PARKING_INCREASE_POLICY;
  5405. # 14783 "c:\\program files (x86)\\embarcadero\\studio\\20.0\\include\\windows\\sdk\\winnt.h" 3
  5406. extern const GUID GUID_PROCESSOR_CORE_PARKING_DECREASE_POLICY;
  5407.  
  5408.  
  5409.  
  5410.  
  5411.  
  5412.  
  5413. extern const GUID GUID_PROCESSOR_CORE_PARKING_MAX_CORES;
  5414.  
  5415.  
  5416.  
  5417.  
  5418.  
  5419.  
  5420.  
  5421. extern const GUID GUID_PROCESSOR_CORE_PARKING_MAX_CORES_1;
  5422.  
  5423.  
  5424.  
  5425.  
  5426.  
  5427.  
  5428. extern const GUID GUID_PROCESSOR_CORE_PARKING_MIN_CORES;
  5429.  
  5430.  
  5431.  
  5432.  
  5433.  
  5434.  
  5435.  
  5436. extern const GUID GUID_PROCESSOR_CORE_PARKING_MIN_CORES_1;
  5437.  
  5438.  
  5439.  
  5440.  
  5441.  
  5442.  
  5443. extern const GUID GUID_PROCESSOR_CORE_PARKING_INCREASE_TIME;
  5444.  
  5445.  
  5446.  
  5447.  
  5448.  
  5449.  
  5450. extern const GUID GUID_PROCESSOR_CORE_PARKING_DECREASE_TIME;
  5451.  
  5452.  
  5453.  
  5454.  
  5455.  
  5456.  
  5457. extern const GUID GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_DECREASE_FACTOR;
  5458.  
  5459.  
  5460.  
  5461.  
  5462.  
  5463.  
  5464. extern const GUID GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_THRESHOLD;
  5465.  
  5466.  
  5467.  
  5468.  
  5469.  
  5470.  
  5471. extern const GUID GUID_PROCESSOR_CORE_PARKING_AFFINITY_WEIGHTING;
  5472.  
  5473.  
  5474.  
  5475.  
  5476.  
  5477.  
  5478. extern const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_DECREASE_FACTOR;
  5479.  
  5480.  
  5481.  
  5482.  
  5483.  
  5484.  
  5485. extern const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_THRESHOLD;
  5486.  
  5487.  
  5488.  
  5489.  
  5490.  
  5491.  
  5492. extern const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_WEIGHTING;
  5493.  
  5494.  
  5495.  
  5496.  
  5497.  
  5498.  
  5499. extern const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_THRESHOLD;
  5500.  
  5501.  
  5502.  
  5503.  
  5504.  
  5505.  
  5506.  
  5507. extern const GUID GUID_PROCESSOR_PARKING_CORE_OVERRIDE;
  5508.  
  5509.  
  5510.  
  5511.  
  5512.  
  5513.  
  5514.  
  5515. extern const GUID GUID_PROCESSOR_PARKING_PERF_STATE;
  5516.  
  5517.  
  5518.  
  5519.  
  5520.  
  5521.  
  5522.  
  5523. extern const GUID GUID_PROCESSOR_PARKING_PERF_STATE_1;
  5524.  
  5525.  
  5526.  
  5527.  
  5528.  
  5529.  
  5530.  
  5531. extern const GUID GUID_PROCESSOR_PARKING_CONCURRENCY_THRESHOLD;
  5532.  
  5533.  
  5534.  
  5535.  
  5536.  
  5537.