Diff

Not logged in

Differences From Artifact [217222ad3190ccc6]:

To Artifact [0db4dca1f0f739a5]:


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;