Differences From Artifact [217222ad3190ccc6]:
- File
src/win32/winnt.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
To Artifact [0db4dca1f0f739a5]:
- File
src/win32/winnt.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
40 alias long* PLONGLONG; 40 alias long* PLONGLONG;
41 alias ulong* PDWORDLONG, PULONGLONG; 41 alias ulong* PDWORDLONG, PULONGLONG;
42 42
43 // FIXME(MinGW) for __WIN64 43 // FIXME(MinGW) for __WIN64
44 alias void* PVOID64; 44 alias void* PVOID64;
45 45
46 // const versions 46 // const versions
47 alias CPtr!(char) LPCCH, PCSTR, LPCSTR; | 47 alias const(char)* LPCCH, PCSTR, LPCSTR;
48 alias CPtr!(wchar) LPCWCH, PCWCH, LPCWSTR, PCWSTR; | 48 alias const(wchar)* LPCWCH, PCWCH, LPCWSTR, PCWSTR;
49 49
50 version (Unicode) { 50 version (Unicode) {
51 alias WCHAR TCHAR, _TCHAR; 51 alias WCHAR TCHAR, _TCHAR;
52 } else { 52 } else {
53 alias CHAR TCHAR, _TCHAR; 53 alias CHAR TCHAR, _TCHAR;
54 } 54 }
55 55
56 alias TCHAR TBYTE; | 56 alias TCHAR TBYTE;
57 alias TCHAR* PTCH, PTBYTE, LPTCH, PTSTR, LPTSTR, LP, PTCHAR; | 57 alias TCHAR* PTCH, PTBYTE, LPTCH, PTSTR, LPTSTR, LP, PTCHAR;
58 alias CPtr!(TCHAR) LPCTSTR; | 58 alias const(TCHAR)* LPCTSTR;
59 59
60 const char ANSI_NULL = '\0'; 60 const char ANSI_NULL = '\0';
61 const wchar UNICODE_NULL = '\0'; 61 const wchar UNICODE_NULL = '\0';
62 62
63 const APPLICATION_ERROR_MASK = 0x20000000; 63 const APPLICATION_ERROR_MASK = 0x20000000;
64 const ERROR_SEVERITY_SUCCESS = 0x00000000; 64 const ERROR_SEVERITY_SUCCESS = 0x00000000;
65 const ERROR_SEVERITY_INFORMATIONAL = 0x40000000; 65 const ERROR_SEVERITY_INFORMATIONAL = 0x40000000;
................................................................................................................................................................................
982 KEY_NOTIFY = 0x000010, 982 KEY_NOTIFY = 0x000010,
983 KEY_CREATE_LINK = 0x000020, 983 KEY_CREATE_LINK = 0x000020,
984 KEY_WRITE = 0x020006, 984 KEY_WRITE = 0x020006,
985 KEY_EXECUTE = 0x020019, 985 KEY_EXECUTE = 0x020019,
986 KEY_READ = 0x020019, 986 KEY_READ = 0x020019,
987 KEY_ALL_ACCESS = 0x0F003F; 987 KEY_ALL_ACCESS = 0x0F003F;
988 988
989 static if (WINVER >= 0x502) { | 989 static if (_WIN32_WINNT >= 0x502) {
990 const ACCESS_MASK 990 const ACCESS_MASK
991 KEY_WOW64_64KEY = 0x000100, 991 KEY_WOW64_64KEY = 0x000100,
992 KEY_WOW64_32KEY = 0x000200; 992 KEY_WOW64_32KEY = 0x000200;
993 } 993 }
994 994
995 const DWORD 995 const DWORD
996 REG_WHOLE_HIVE_VOLATILE = 1, 996 REG_WHOLE_HIVE_VOLATILE = 1,
................................................................................................................................................................................
1871 WT_EXECUTEINWAITTHREAD = 0x00000004, 1871 WT_EXECUTEINWAITTHREAD = 0x00000004,
1872 WT_EXECUTEONLYONCE = 0x00000008, 1872 WT_EXECUTEONLYONCE = 0x00000008,
1873 WT_EXECUTELONGFUNCTION = 0x00000010, 1873 WT_EXECUTELONGFUNCTION = 0x00000010,
1874 WT_EXECUTEINTIMERTHREAD = 0x00000020, 1874 WT_EXECUTEINTIMERTHREAD = 0x00000020,
1875 WT_EXECUTEINPERSISTENTTHREAD = 0x00000080, 1875 WT_EXECUTEINPERSISTENTTHREAD = 0x00000080,
1876 WT_TRANSFER_IMPERSONATION = 0x00000100; 1876 WT_TRANSFER_IMPERSONATION = 0x00000100;
1877 1877
1878 static if (_WIN32_WINNT_ONLY) { <
1879 static if (_WIN32_WINNT >= 0x500) { | 1878 static if (_WIN32_WINNT >= 0x500) {
1880 const DWORD | 1879 const DWORD
1881 VER_MINORVERSION = 0x01, | 1880 VER_MINORVERSION = 0x01,
1882 VER_MAJORVERSION = 0x02, | 1881 VER_MAJORVERSION = 0x02,
1883 VER_BUILDNUMBER = 0x04, | 1882 VER_BUILDNUMBER = 0x04,
1884 VER_PLATFORMID = 0x08, | 1883 VER_PLATFORMID = 0x08,
1885 VER_SERVICEPACKMINOR = 0x10, | 1884 VER_SERVICEPACKMINOR = 0x10,
1886 VER_SERVICEPACKMAJOR = 0x20, | 1885 VER_SERVICEPACKMAJOR = 0x20,
1887 VER_SUITENAME = 0x40, | 1886 VER_SUITENAME = 0x40,
1888 VER_PRODUCT_TYPE = 0x80; | 1887 VER_PRODUCT_TYPE = 0x80;
1889 | 1888
1890 enum : DWORD { | 1889 enum : DWORD {
1891 VER_EQUAL = 1, | 1890 VER_EQUAL = 1,
1892 VER_GREATER, | 1891 VER_GREATER,
1893 VER_GREATER_EQUAL, | 1892 VER_GREATER_EQUAL,
1894 VER_LESS, | 1893 VER_LESS,
1895 VER_LESS_EQUAL, | 1894 VER_LESS_EQUAL,
1896 VER_AND, | 1895 VER_AND,
1897 VER_OR // = 7 | 1896 VER_OR // = 7
1898 } | 1897 }
1899 } | 1898 }
1900 | 1899
1901 static if (_WIN32_WINNT >= 0x501) { | 1900 static if (_WIN32_WINNT >= 0x501) {
1902 enum : ULONG { | 1901 enum : ULONG {
1903 ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = | 1902 ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = 1,
1904 ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION, | 1903 ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION,
1905 ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION, | 1904 ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION,
1906 ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION, | 1905 ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION,
1907 ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION, | 1906 ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION,
1908 ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION, | 1907 ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION,
1909 ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION, // = | 1908 ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION, // = 7
1910 ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES = | 1909 ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES = 9
1911 } <
1912 } 1910 }
1913 } 1911 }
1914 1912
1915 // Macros 1913 // Macros
1916 BYTE BTYPE(BYTE x) { return cast(BYTE) (x & N_BTMASK); } 1914 BYTE BTYPE(BYTE x) { return cast(BYTE) (x & N_BTMASK); }
1917 bool ISPTR(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHF 1915 bool ISPTR(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHF
1918 bool ISFCN(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSH 1916 bool ISFCN(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSH
................................................................................................................................................................................
2117 DWORD Eip; 2115 DWORD Eip;
2118 DWORD SegCs; 2116 DWORD SegCs;
2119 DWORD EFlags; 2117 DWORD EFlags;
2120 DWORD Esp; 2118 DWORD Esp;
2121 DWORD SegSs; 2119 DWORD SegSs;
2122 BYTE[MAXIMUM_SUPPORTED_EXTENSION] ExtendedRegisters; 2120 BYTE[MAXIMUM_SUPPORTED_EXTENSION] ExtendedRegisters;
2123 } 2121 }
> 2122
> 2123 } else version(X86_64)
> 2124 {
> 2125 const CONTEXT_AMD64 = 0x100000;
> 2126
> 2127 const CONTEXT_CONTROL = (CONTEXT_AMD64 | 0x1L);
> 2128 const CONTEXT_INTEGER = (CONTEXT_AMD64 | 0x2L);
> 2129 const CONTEXT_SEGMENTS = (CONTEXT_AMD64 | 0x4L);
> 2130 const CONTEXT_FLOATING_POINT = (CONTEXT_AMD64 | 0x8L);
> 2131 const CONTEXT_DEBUG_REGISTERS = (CONTEXT_AMD64 | 0x10L);
> 2132
> 2133 const CONTEXT_FULL = (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATI
> 2134 const CONTEXT_ALL = (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMEN
> 2135
> 2136 const CONTEXT_EXCEPTION_ACTIVE = 0x8000000;
> 2137 const CONTEXT_SERVICE_ACTIVE = 0x10000000;
> 2138 const CONTEXT_EXCEPTION_REQUEST = 0x40000000;
> 2139 const CONTEXT_EXCEPTION_REPORTING = 0x80000000;
> 2140
> 2141 const INITIAL_MXCSR = 0x1f80;
> 2142 const INITIAL_FPCSR = 0x027f;
> 2143
> 2144 align(16) struct M128A
> 2145 {
> 2146 ULONGLONG Low;
> 2147 LONGLONG High;
> 2148 }
> 2149 alias M128A* PM128A;
> 2150
> 2151 struct XMM_SAVE_AREA32
> 2152 {
> 2153 WORD ControlWord;
> 2154 WORD StatusWord;
> 2155 BYTE TagWord;
> 2156 BYTE Reserved1;
> 2157 WORD ErrorOpcode;
> 2158 DWORD ErrorOffset;
> 2159 WORD ErrorSelector;
> 2160 WORD Reserved2;
> 2161 DWORD DataOffset;
> 2162 WORD DataSelector;
> 2163 WORD Reserved3;
> 2164 DWORD MxCsr;
> 2165 DWORD MxCsr_Mask;
> 2166 M128A[8] FloatRegisters;
> 2167 M128A[16] XmmRegisters;
> 2168 BYTE[96] Reserved4;
> 2169 }
> 2170 alias XMM_SAVE_AREA32 PXMM_SAVE_AREA32;
> 2171 const LEGACY_SAVE_AREA_LENGTH = XMM_SAVE_AREA32.sizeof;
> 2172
> 2173 align(16) struct CONTEXT
> 2174 {
> 2175 DWORD64 P1Home;
> 2176 DWORD64 P2Home;
> 2177 DWORD64 P3Home;
> 2178 DWORD64 P4Home;
> 2179 DWORD64 P5Home;
> 2180 DWORD64 P6Home;
> 2181 DWORD ContextFlags;
> 2182 DWORD MxCsr;
> 2183 WORD SegCs;
> 2184 WORD SegDs;
> 2185 WORD SegEs;
> 2186 WORD SegFs;
> 2187 WORD SegGs;
> 2188 WORD SegSs;
> 2189 DWORD EFlags;
> 2190 DWORD64 Dr0;
> 2191 DWORD64 Dr1;
> 2192 DWORD64 Dr2;
> 2193 DWORD64 Dr3;
> 2194 DWORD64 Dr6;
> 2195 DWORD64 Dr7;
> 2196 DWORD64 Rax;
> 2197 DWORD64 Rcx;
> 2198 DWORD64 Rdx;
> 2199 DWORD64 Rbx;
> 2200 DWORD64 Rsp;
> 2201 DWORD64 Rbp;
> 2202 DWORD64 Rsi;
> 2203 DWORD64 Rdi;
> 2204 DWORD64 R8;
> 2205 DWORD64 R9;
> 2206 DWORD64 R10;
> 2207 DWORD64 R11;
> 2208 DWORD64 R12;
> 2209 DWORD64 R13;
> 2210 DWORD64 R14;
> 2211 DWORD64 R15;
> 2212 DWORD64 Rip;
> 2213 union
> 2214 {
> 2215 XMM_SAVE_AREA32 FltSave;
> 2216 XMM_SAVE_AREA32 FloatSave;
> 2217 struct
> 2218 {
> 2219 M128A[2] Header;
> 2220 M128A[8] Legacy;
> 2221 M128A Xmm0;
> 2222 M128A Xmm1;
> 2223 M128A Xmm2;
> 2224 M128A Xmm3;
> 2225 M128A Xmm4;
> 2226 M128A Xmm5;
> 2227 M128A Xmm6;
> 2228 M128A Xmm7;
> 2229 M128A Xmm8;
> 2230 M128A Xmm9;
> 2231 M128A Xmm10;
> 2232 M128A Xmm11;
> 2233 M128A Xmm12;
> 2234 M128A Xmm13;
> 2235 M128A Xmm14;
> 2236 M128A Xmm15;
> 2237 };
> 2238 };
> 2239 M128A[26] VectorRegister;
> 2240 DWORD64 VectorControl;
> 2241 DWORD64 DebugControl;
> 2242 DWORD64 LastBranchToRip;
> 2243 DWORD64 LastBranchFromRip;
> 2244 DWORD64 LastExceptionToRip;
> 2245 DWORD64 LastExceptionFromRip;
> 2246 }
2124 2247
2125 } else { 2248 } else {
2126 static assert(false, "Unsupported CPU"); 2249 static assert(false, "Unsupported CPU");
2127 // Versions for PowerPC, Alpha, SHX, and MIPS removed. 2250 // Versions for PowerPC, Alpha, SHX, and MIPS removed.
2128 } 2251 }
2129 2252
2130 alias CONTEXT* PCONTEXT, LPCONTEXT; 2253 alias CONTEXT* PCONTEXT, LPCONTEXT;
................................................................................................................................................................................
3568 alias JOBOBJECT_EXTENDED_LIMIT_INFORMATION* PJOBOBJECT_EXTENDED_LIMIT_INFORMATIO 3691 alias JOBOBJECT_EXTENDED_LIMIT_INFORMATION* PJOBOBJECT_EXTENDED_LIMIT_INFORMATIO
3569 3692
3570 struct JOBOBJECT_JOBSET_INFORMATION { 3693 struct JOBOBJECT_JOBSET_INFORMATION {
3571 DWORD MemberLevel; 3694 DWORD MemberLevel;
3572 } 3695 }
3573 alias JOBOBJECT_JOBSET_INFORMATION* PJOBOBJECT_JOBSET_INFORMATION; 3696 alias JOBOBJECT_JOBSET_INFORMATION* PJOBOBJECT_JOBSET_INFORMATION;
3574 3697
3575 // MinGW: Making these defines conditional on WINVER will break ddk includes | 3698 // MinGW: Making these defines conditional on _WIN32_WINNT will break ddk includ
3576 //static if (WINVER >= 0x0500) { | 3699 //static if (_WIN32_WINNT >= 0x500) {
3577 3700
3578 const DWORD 3701 const DWORD
3579 ES_SYSTEM_REQUIRED = 0x00000001, 3702 ES_SYSTEM_REQUIRED = 0x00000001,
3580 ES_DISPLAY_REQUIRED = 0x00000002, 3703 ES_DISPLAY_REQUIRED = 0x00000002,
3581 ES_USER_PRESENT = 0x00000004, 3704 ES_USER_PRESENT = 0x00000004,
3582 ES_CONTINUOUS = 0x80000000; 3705 ES_CONTINUOUS = 0x80000000;
3583 3706
................................................................................................................................................................................
3609 PowerActionShutdown, 3732 PowerActionShutdown,
3610 PowerActionShutdownReset, 3733 PowerActionShutdownReset,
3611 PowerActionShutdownOff, 3734 PowerActionShutdownOff,
3612 PowerActionWarmEject 3735 PowerActionWarmEject
3613 } 3736 }
3614 alias POWER_ACTION* PPOWER_ACTION; 3737 alias POWER_ACTION* PPOWER_ACTION;
3615 3738
3616 static if (WINVER >= 0x600) { | 3739 static if (_WIN32_WINNT >= 0x600) {
3617 enum SYSTEM_POWER_CONDITION { 3740 enum SYSTEM_POWER_CONDITION {
3618 PoAc, 3741 PoAc,
3619 PoDc, 3742 PoDc,
3620 PoHot, 3743 PoHot,
3621 PoConditionMaximum 3744 PoConditionMaximum
3622 } 3745 }
3623 alias SYSTEM_POWER_CONDITION* PSYSTEM_POWER_CONDITION; 3746 alias SYSTEM_POWER_CONDITION* PSYSTEM_POWER_CONDITION;
................................................................................................................................................................................
3841 ULONG MinVideoTimeout; 3964 ULONG MinVideoTimeout;
3842 ULONG MaxVideoTimeout; 3965 ULONG MaxVideoTimeout;
3843 ULONG MinSpindownTimeout; 3966 ULONG MinSpindownTimeout;
3844 ULONG MaxSpindownTimeout; 3967 ULONG MaxSpindownTimeout;
3845 } 3968 }
3846 alias ADMINISTRATOR_POWER_POLICY* PADMINISTRATOR_POWER_POLICY; 3969 alias ADMINISTRATOR_POWER_POLICY* PADMINISTRATOR_POWER_POLICY;
3847 3970
3848 //}//#endif /* WINVER >= 0x0500 */ | 3971 //}//#endif /* _WIN32_WINNT >= 0x500 */
3849 3972
3850 extern (Windows) { 3973 extern (Windows) {
3851 alias void function(PVOID, DWORD, PVOID) PIMAGE_TLS_CALLBACK; 3974 alias void function(PVOID, DWORD, PVOID) PIMAGE_TLS_CALLBACK;
3852 3975
3853 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 3976 static if (_WIN32_WINNT >= 0x500) {
3854 alias LONG function(PEXCEPTION_POINTERS) PVECTORED_EXCEPTION_HAN 3977 alias LONG function(PEXCEPTION_POINTERS) PVECTORED_EXCEPTION_HAN
3855 alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACKFUNC; 3978 alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACKFUNC;
3856 } 3979 }
3857 } 3980 }
3858 3981
3859 static if (WINVER >= 0x501) { | 3982 static if (_WIN32_WINNT >= 0x501) {
3860 enum HEAP_INFORMATION_CLASS { 3983 enum HEAP_INFORMATION_CLASS {
3861 HeapCompatibilityInformation 3984 HeapCompatibilityInformation
3862 } 3985 }
3863 3986
3864 enum ACTIVATION_CONTEXT_INFO_CLASS { 3987 enum ACTIVATION_CONTEXT_INFO_CLASS {
3865 ActivationContextBasicInformation = 1, 3988 ActivationContextBasicInformation = 1,
3866 ActivationContextDetailedInformation, 3989 ActivationContextDetailedInformation,
................................................................................................................................................................................
3886 PCWSTR lpAssemblyEncodedAssemblyIdentity; 4009 PCWSTR lpAssemblyEncodedAssemblyIdentity;
3887 PCWSTR lpAssemblyManifestPath; 4010 PCWSTR lpAssemblyManifestPath;
3888 PCWSTR lpAssemblyPolicyPath; 4011 PCWSTR lpAssemblyPolicyPath;
3889 PCWSTR lpAssemblyDirectoryName; 4012 PCWSTR lpAssemblyDirectoryName;
3890 } 4013 }
3891 alias ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* 4014 alias ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION*
3892 PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 4015 PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
3893 alias CPtr!(ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION) | 4016 alias const(ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION)*
3894 PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 4017 PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
3895 4018
3896 struct ACTIVATION_CONTEXT_DETAILED_INFORMATION { 4019 struct ACTIVATION_CONTEXT_DETAILED_INFORMATION {
3897 DWORD dwFlags; 4020 DWORD dwFlags;
3898 DWORD ulFormatVersion; 4021 DWORD ulFormatVersion;
3899 DWORD ulAssemblyCount; 4022 DWORD ulAssemblyCount;
3900 DWORD ulRootManifestPathType; 4023 DWORD ulRootManifestPathType;
................................................................................................................................................................................
3905 DWORD ulAppDirPathChars; 4028 DWORD ulAppDirPathChars;
3906 PCWSTR lpRootManifestPath; 4029 PCWSTR lpRootManifestPath;
3907 PCWSTR lpRootConfigurationPath; 4030 PCWSTR lpRootConfigurationPath;
3908 PCWSTR lpAppDirPath; 4031 PCWSTR lpAppDirPath;
3909 } 4032 }
3910 alias ACTIVATION_CONTEXT_DETAILED_INFORMATION* 4033 alias ACTIVATION_CONTEXT_DETAILED_INFORMATION*
3911 PACTIVATION_CONTEXT_DETAILED_INFORMATION; 4034 PACTIVATION_CONTEXT_DETAILED_INFORMATION;
3912 alias CPtr!(ACTIVATION_CONTEXT_DETAILED_INFORMATION) | 4035 alias const(ACTIVATION_CONTEXT_DETAILED_INFORMATION)*
3913 PCACTIVATION_CONTEXT_DETAILED_INFORMATION; 4036 PCACTIVATION_CONTEXT_DETAILED_INFORMATION;
3914 4037
3915 struct ACTIVATION_CONTEXT_QUERY_INDEX { 4038 struct ACTIVATION_CONTEXT_QUERY_INDEX {
3916 ULONG ulAssemblyIndex; 4039 ULONG ulAssemblyIndex;
3917 ULONG ulFileIndexInAssembly; 4040 ULONG ulFileIndexInAssembly;
3918 } 4041 }
3919 alias ACTIVATION_CONTEXT_QUERY_INDEX* PACTIVATION_CONTEXT_QUERY_IN | 4042 alias ACTIVATION_CONTEXT_QUERY_INDEX* PACTIVATION_CONTEXT_QUERY_I
3920 alias CPtr!(ACTIVATION_CONTEXT_QUERY_INDEX) PCACTIVATION_CONTEXT_QUERY_I | 4043 alias const(ACTIVATION_CONTEXT_QUERY_INDEX)* PCACTIVATION_CONTEXT_QUERY_
3921 4044
3922 struct ASSEMBLY_FILE_DETAILED_INFORMATION { 4045 struct ASSEMBLY_FILE_DETAILED_INFORMATION {
3923 DWORD ulFlags; 4046 DWORD ulFlags;
3924 DWORD ulFilenameLength; 4047 DWORD ulFilenameLength;
3925 DWORD ulPathLength; 4048 DWORD ulPathLength;
3926 PCWSTR lpFileName; 4049 PCWSTR lpFileName;
3927 PCWSTR lpFilePath; 4050 PCWSTR lpFilePath;
3928 } 4051 }
3929 alias ASSEMBLY_FILE_DETAILED_INFORMATION* 4052 alias ASSEMBLY_FILE_DETAILED_INFORMATION*
3930 PASSEMBLY_FILE_DETAILED_INFORMATION; 4053 PASSEMBLY_FILE_DETAILED_INFORMATION;
3931 alias CPtr!(ASSEMBLY_FILE_DETAILED_INFORMATION) | 4054 alias const(ASSEMBLY_FILE_DETAILED_INFORMATION)*
3932 PCASSEMBLY_FILE_DETAILED_INFORMATION; 4055 PCASSEMBLY_FILE_DETAILED_INFORMATION;
3933 } 4056 }
3934 4057
3935 version (Unicode) { 4058 version (Unicode) {
3936 alias OSVERSIONINFOW OSVERSIONINFO; 4059 alias OSVERSIONINFOW OSVERSIONINFO;
3937 alias OSVERSIONINFOEXW OSVERSIONINFOEX; 4060 alias OSVERSIONINFOEXW OSVERSIONINFOEX;
3938 } else { 4061 } else {
................................................................................................................................................................................
3940 alias OSVERSIONINFOEXA OSVERSIONINFOEX; 4063 alias OSVERSIONINFOEXA OSVERSIONINFOEX;
3941 } 4064 }
3942 4065
3943 alias OSVERSIONINFO* POSVERSIONINFO, LPOSVERSIONINFO; 4066 alias OSVERSIONINFO* POSVERSIONINFO, LPOSVERSIONINFO;
3944 alias OSVERSIONINFOEX* POSVERSIONINFOEX, LPOSVERSIONINFOEX; 4067 alias OSVERSIONINFOEX* POSVERSIONINFOEX, LPOSVERSIONINFOEX;
3945 4068
3946 4069
3947 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { | 4070 static if (_WIN32_WINNT >= 0x500) {
3948 extern (Windows) ULONGLONG VerSetConditionMask(ULONGLONG, DWORD, BYTE); 4071 extern (Windows) ULONGLONG VerSetConditionMask(ULONGLONG, DWORD, BYTE);
3949 } 4072 }
3950 4073
3951 version (Win64) { 4074 version (Win64) {
3952 const WORD IMAGE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR64_MAGIC; 4075 const WORD IMAGE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR64_MAGIC;
3953 4076
3954 alias IMAGE_ORDINAL_FLAG64 IMAGE_ORDINAL_FLAG; 4077 alias IMAGE_ORDINAL_FLAG64 IMAGE_ORDINAL_FLAG;