Reactos

[INCLUDE/WINE] Update winternl.h. CORE-14434

+78 -26
+78 -26
sdk/include/reactos/wine/winternl.h
··· 246 246 LIST_ENTRY FrameListCache; 247 247 } ACTIVATION_CONTEXT_STACK, *PACTIVATION_CONTEXT_STACK; 248 248 249 + typedef struct _TEB_ACTIVE_FRAME_CONTEXT 250 + { 251 + ULONG Flags; 252 + const char *FrameName; 253 + } TEB_ACTIVE_FRAME_CONTEXT, *PTEB_ACTIVE_FRAME_CONTEXT; 254 + 255 + typedef struct _TEB_ACTIVE_FRAME_CONTEXT_EX 256 + { 257 + TEB_ACTIVE_FRAME_CONTEXT BasicContext; 258 + const char *SourceLocation; 259 + } TEB_ACTIVE_FRAME_CONTEXT_EX, *PTEB_ACTIVE_FRAME_CONTEXT_EX; 260 + 261 + typedef struct _TEB_ACTIVE_FRAME 262 + { 263 + ULONG Flags; 264 + struct _TEB_ACTIVE_FRAME *Previous; 265 + TEB_ACTIVE_FRAME_CONTEXT *Context; 266 + } TEB_ACTIVE_FRAME, *PTEB_ACTIVE_FRAME; 267 + 268 + typedef struct _TEB_ACTIVE_FRAME_EX 269 + { 270 + TEB_ACTIVE_FRAME BasicFrame; 271 + void *ExtensionIdentifier; 272 + } TEB_ACTIVE_FRAME_EX, *PTEB_ACTIVE_FRAME_EX; 273 + 274 + #define TEB_ACTIVE_FRAME_CONTEXT_FLAG_EXTENDED 0x00000001 275 + #define TEB_ACTIVE_FRAME_FLAG_EXTENDED 0x00000001 276 + 249 277 /*********************************************************************** 250 278 * PEB data structure 251 279 */ ··· 338 366 PVOID CsrClientThread; /* 03c/0070 */ 339 367 PVOID Win32ThreadInfo; /* 040/0078 */ 340 368 ULONG Win32ClientInfo[31]; /* 044/0080 used for user32 private data in Wine */ 341 - PVOID WOW32Reserved; /* 0c0/0100 */ 369 + PVOID WOW32Reserved; /* 0c0/0100 used for ntdll syscall thunks */ 342 370 ULONG CurrentLocale; /* 0c4/0108 */ 343 371 ULONG FpSoftwareStatusRegister; /* 0c8/010c */ 344 - PVOID SystemReserved1[54]; /* 0cc/0110 used for kernel32 private data in Wine */ 372 + PVOID SystemReserved1[54]; /* 0cc/0110 used for krnl386.exe16 private data in Wine */ 345 373 LONG ExceptionCode; /* 1a4/02c0 */ 346 374 ACTIVATION_CONTEXT_STACK ActivationContextStack; /* 1a8/02c8 */ 347 - BYTE SpareBytes1[24]; /* 1bc/02e8 used for ntdll private data in Wine */ 348 - PVOID SystemReserved2[10]; /* 1d4/0300 used for ntdll private data in Wine */ 349 - GDI_TEB_BATCH GdiTebBatch; /* 1fc/0350 used for vm86 private data in Wine */ 375 + BYTE SpareBytes1[24]; /* 1bc/02e8 */ 376 + PVOID SystemReserved2[10]; /* 1d4/0300 used for ntdll platform-specific private data in Wine */ 377 + GDI_TEB_BATCH GdiTebBatch; /* 1fc/0350 used for ntdll private data in Wine */ 350 378 HANDLE gdiRgn; /* 6dc/0838 */ 351 379 HANDLE gdiPen; /* 6e0/0840 */ 352 380 HANDLE gdiBrush; /* 6e4/0848 */ ··· 378 406 PVOID WinSockData; /* f6c/1738 */ 379 407 ULONG GdiBatchCount; /* f70/1740 */ 380 408 ULONG Spare2; /* f74/1744 */ 381 - PVOID Spare3; /* f78/1748 */ 409 + PVOID Spare3; /* f78/1748 used for fakedll thunks */ 382 410 PVOID Spare4; /* f7c/1750 */ 383 411 PVOID ReservedForOle; /* f80/1758 */ 384 412 ULONG WaitingOnLoaderLock; /* f84/1760 */ 385 413 PVOID Reserved5[3]; /* f88/1768 used for x86_64 OSX and wineserver shared memory */ 386 414 PVOID *TlsExpansionSlots; /* f94/1780 */ 387 - ULONG ImpersonationLocale; /* f98/1788 */ 388 - ULONG IsImpersonating; /* f9c/178c */ 389 - PVOID NlsCache; /* fa0/1790 */ 390 - PVOID ShimData; /* fa4/1798 */ 391 - ULONG HeapVirtualAffinity; /* fa8/17a0 */ 392 - PVOID CurrentTransactionHandle; /* fac/17a8 */ 393 - PVOID ActiveFrame; /* fb0/17b0 */ 394 415 #ifdef _WIN64 395 - PVOID unknown[2]; /* 17b8 */ 416 + PVOID DeallocationBStore; /* /1788 */ 417 + PVOID BStoreLimit; /* /1790 */ 396 418 #endif 419 + ULONG ImpersonationLocale; /* f98/1798 */ 420 + ULONG IsImpersonating; /* f9c/179c */ 421 + PVOID NlsCache; /* fa0/17a0 */ 422 + PVOID ShimData; /* fa4/17a8 */ 423 + ULONG HeapVirtualAffinity; /* fa8/17b0 */ 424 + PVOID CurrentTransactionHandle; /* fac/17b8 */ 425 + TEB_ACTIVE_FRAME *ActiveFrame; /* fb0/17c0 */ 397 426 PVOID *FlsSlots; /* fb4/17c8 */ 398 427 } TEB, *PTEB; 399 428 ··· 1807 1836 #define FILE_MAXIMUM_DISPOSITION 5 1808 1837 1809 1838 /* Characteristics of a File System */ 1810 - #define FILE_REMOVABLE_MEDIA 0x00000001 1811 - #define FILE_READ_ONLY_DEVICE 0x00000002 1812 - #define FILE_FLOPPY_DISKETTE 0x00000004 1813 - #define FILE_WRITE_ONE_MEDIA 0x00000008 1814 - #define FILE_REMOTE_DEVICE 0x00000010 1815 - #define FILE_DEVICE_IS_MOUNTED 0x00000020 1816 - #define FILE_VIRTUAL_VOLUME 0x00000040 1817 - #define FILE_AUTOGENERATED_DEVICE_NAME 0x00000080 1818 - #define FILE_DEVICE_SECURE_OPEN 0x00000100 1839 + #define FILE_REMOVABLE_MEDIA 0x00000001 1840 + #define FILE_READ_ONLY_DEVICE 0x00000002 1841 + #define FILE_FLOPPY_DISKETTE 0x00000004 1842 + #define FILE_WRITE_ONE_MEDIA 0x00000008 1843 + #define FILE_REMOTE_DEVICE 0x00000010 1844 + #define FILE_DEVICE_IS_MOUNTED 0x00000020 1845 + #define FILE_VIRTUAL_VOLUME 0x00000040 1846 + #define FILE_AUTOGENERATED_DEVICE_NAME 0x00000080 1847 + #define FILE_DEVICE_SECURE_OPEN 0x00000100 1848 + #define FILE_CHARACTERISTIC_PNP_DEVICE 0x00000800 1849 + #define FILE_CHARACTERISTIC_TS_DEVICE 0x00001000 1850 + #define FILE_CHARACTERISTIC_WEBDAV_DEVICE 0x00002000 1851 + #define FILE_CHARACTERISTIC_CSV 0x00010000 1852 + #define FILE_DEVICE_ALLOW_APPCONTAINER_TRAVERSAL 0x00020000 1853 + #define FILE_PORTABLE_DEVICE 0x00040000 1819 1854 1820 1855 /* options for NtCreateNamedPipeFile */ 1821 1856 #define FILE_PIPE_INBOUND 0x00000000 ··· 2023 2058 USHORT DllCharacteristics; 2024 2059 USHORT Machine; 2025 2060 BOOLEAN ImageContainsCode; 2026 - UCHAR ImageFlags; 2061 + union 2062 + { 2063 + UCHAR ImageFlags; 2064 + struct 2065 + { 2066 + UCHAR ComPlusNativeReady : 1; 2067 + UCHAR ComPlusILOnly : 1; 2068 + UCHAR ImageDynamicallyRelocated : 1; 2069 + UCHAR ImageMappedFlat : 1; 2070 + UCHAR BaseBelow4gb : 1; 2071 + UCHAR Reserved : 3; 2072 + } DUMMYSTRUCTNAME; 2073 + } DUMMYUNIONNAME; 2027 2074 ULONG LoaderFlags; 2028 2075 ULONG ImageFileSize; 2029 2076 ULONG CheckSum; ··· 2371 2418 NTSYSAPI NTSTATUS WINAPI NtEnumerateKey(HANDLE,ULONG,KEY_INFORMATION_CLASS,void *,DWORD,DWORD *); 2372 2419 NTSYSAPI NTSTATUS WINAPI NtEnumerateValueKey(HANDLE,ULONG,KEY_VALUE_INFORMATION_CLASS,PVOID,ULONG,PULONG); 2373 2420 NTSYSAPI NTSTATUS WINAPI NtExtendSection(HANDLE,PLARGE_INTEGER); 2421 + NTSYSAPI NTSTATUS WINAPI NtFilterToken(HANDLE,ULONG,TOKEN_GROUPS*,TOKEN_PRIVILEGES*,TOKEN_GROUPS*,HANDLE*); 2374 2422 NTSYSAPI NTSTATUS WINAPI NtFindAtom(const WCHAR*,ULONG,RTL_ATOM*); 2375 2423 NTSYSAPI NTSTATUS WINAPI NtFlushBuffersFile(HANDLE,IO_STATUS_BLOCK*); 2376 2424 NTSYSAPI NTSTATUS WINAPI NtFlushInstructionCache(HANDLE,LPCVOID,SIZE_T); ··· 2455 2503 NTSYSAPI NTSTATUS WINAPI NtQueryOpenSubKeys(POBJECT_ATTRIBUTES,PULONG); 2456 2504 NTSYSAPI NTSTATUS WINAPI NtQueryPerformanceCounter(PLARGE_INTEGER, PLARGE_INTEGER); 2457 2505 NTSYSAPI NTSTATUS WINAPI NtQuerySecurityObject(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,ULONG,PULONG); 2458 - NTSYSAPI NTSTATUS WINAPI NtQuerySection(HANDLE,SECTION_INFORMATION_CLASS,PVOID,ULONG,PULONG); 2506 + NTSYSAPI NTSTATUS WINAPI NtQuerySection(HANDLE,SECTION_INFORMATION_CLASS,PVOID,SIZE_T,SIZE_T*); 2459 2507 NTSYSAPI NTSTATUS WINAPI NtQuerySemaphore(HANDLE,SEMAPHORE_INFORMATION_CLASS,PVOID,ULONG,PULONG); 2460 2508 NTSYSAPI NTSTATUS WINAPI NtQuerySymbolicLinkObject(HANDLE,PUNICODE_STRING,PULONG); 2461 2509 NTSYSAPI NTSTATUS WINAPI NtQuerySystemEnvironmentValue(PUNICODE_STRING,PWCHAR,ULONG,PULONG); ··· 2642 2690 NTSYSAPI BOOLEAN WINAPI RtlDllShutdownInProgress(void); 2643 2691 NTSYSAPI BOOLEAN WINAPI RtlDoesFileExists_U(LPCWSTR); 2644 2692 NTSYSAPI BOOLEAN WINAPI RtlDosPathNameToNtPathName_U(PCWSTR,PUNICODE_STRING,PWSTR*,CURDIR*); 2693 + NTSYSAPI NTSTATUS WINAPI RtlDosPathNameToNtPathName_U_WithStatus(PCWSTR,PUNICODE_STRING,PWSTR*,CURDIR*); 2645 2694 NTSYSAPI ULONG WINAPI RtlDosSearchPath_U(LPCWSTR, LPCWSTR, LPCWSTR, ULONG, LPWSTR, LPWSTR*); 2646 2695 NTSYSAPI WCHAR WINAPI RtlDowncaseUnicodeChar(WCHAR); 2647 2696 NTSYSAPI NTSTATUS WINAPI RtlDowncaseUnicodeString(UNICODE_STRING*,const UNICODE_STRING*,BOOLEAN); ··· 2693 2742 NTSYSAPI NTSTATUS WINAPI RtlGetActiveActivationContext(HANDLE*); 2694 2743 NTSYSAPI NTSTATUS WINAPI RtlGetCompressionWorkSpaceSize(USHORT,PULONG,PULONG); 2695 2744 NTSYSAPI NTSTATUS WINAPI RtlGetControlSecurityDescriptor(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR_CONTROL,LPDWORD); 2696 - NTSYSAPI NTSTATUS WINAPI RtlGetCurrentDirectory_U(ULONG, LPWSTR); 2745 + NTSYSAPI ULONG WINAPI RtlGetCurrentDirectory_U(ULONG, LPWSTR); 2697 2746 NTSYSAPI PEB * WINAPI RtlGetCurrentPeb(void); 2698 2747 NTSYSAPI NTSTATUS WINAPI RtlGetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR,PBOOLEAN,PACL *,PBOOLEAN); 2748 + NTSYSAPI TEB_ACTIVE_FRAME * WINAPI RtlGetFrame(void); 2699 2749 NTSYSAPI ULONG WINAPI RtlGetFullPathName_U(PCWSTR,ULONG,PWSTR,PWSTR*); 2700 2750 NTSYSAPI NTSTATUS WINAPI RtlGetGroupSecurityDescriptor(PSECURITY_DESCRIPTOR,PSID *,PBOOLEAN); 2701 2751 NTSYSAPI NTSTATUS WINAPI RtlGetLastNtStatus(void); ··· 2763 2813 NTSYSAPI NTSTATUS WINAPI RtlOpenCurrentUser(ACCESS_MASK,PHANDLE); 2764 2814 NTSYSAPI PVOID WINAPI RtlPcToFileHeader(PVOID,PVOID*); 2765 2815 NTSYSAPI NTSTATUS WINAPI RtlPinAtomInAtomTable(RTL_ATOM_TABLE,RTL_ATOM); 2816 + NTSYSAPI void WINAPI RtlPopFrame(TEB_ACTIVE_FRAME*); 2766 2817 NTSYSAPI BOOLEAN WINAPI RtlPrefixString(const STRING*,const STRING*,BOOLEAN); 2767 2818 NTSYSAPI BOOLEAN WINAPI RtlPrefixUnicodeString(const UNICODE_STRING*,const UNICODE_STRING*,BOOLEAN); 2819 + NTSYSAPI void WINAPI RtlPushFrame(TEB_ACTIVE_FRAME*); 2768 2820 NTSYSAPI NTSTATUS WINAPI RtlQueryAtomInAtomTable(RTL_ATOM_TABLE,RTL_ATOM,ULONG*,ULONG*,WCHAR*,ULONG*); 2769 2821 NTSYSAPI NTSTATUS WINAPI RtlQueryDynamicTimeZoneInformation(RTL_DYNAMIC_TIME_ZONE_INFORMATION*); 2770 2822 NTSYSAPI NTSTATUS WINAPI RtlQueryEnvironmentVariable_U(PWSTR,PUNICODE_STRING,PUNICODE_STRING);