Created
July 29, 2019 19:10
-
-
Save terickson001/56bfae5e87aadd9ebc3c1a65b50b5f4b to your computer and use it in GitHub Desktop.
Odin bindings for `Windows.h`
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package win32 | |
| foreign import win32 "system:kernel32.lib"; | |
| uintptr_t :: u32; | |
| va_list :: cstring; | |
| size_t :: u32; | |
| ptrdiff_t :: i32; | |
| intptr_t :: i32; | |
| __vcrt_bool :: _Bool; | |
| wchar_t :: u16; | |
| EXCEPTION_DISPOSITION :: enum { | |
| ExceptionContinueExecution, | |
| ExceptionContinueSearch, | |
| ExceptionNestedException, | |
| ExceptionCollidedUnwind, | |
| }; | |
| ULONG :: u64; | |
| PULONG :: ^ULONG; | |
| USHORT :: u16; | |
| PUSHORT :: ^USHORT; | |
| UCHAR :: u8; | |
| PUCHAR :: ^UCHAR; | |
| PSZ :: cstring; | |
| DWORD :: u64; | |
| BOOL :: i32; | |
| BYTE :: u8; | |
| WORD :: u16; | |
| FLOAT :: f32; | |
| PFLOAT :: ^FLOAT; | |
| PBOOL :: ^BOOL; | |
| LPBOOL :: ^BOOL; | |
| PBYTE :: ^BYTE; | |
| LPBYTE :: ^BYTE; | |
| PINT :: ^i32; | |
| LPINT :: ^i32; | |
| PWORD :: ^u16; | |
| LPWORD :: ^u16; | |
| LPLONG :: ^i64; | |
| PDWORD :: ^u32; | |
| LPDWORD :: ^u32; | |
| LPVOID :: rawptr; | |
| LPCVOID :: rawptr; | |
| INT :: i32; | |
| UINT :: u32; | |
| PUINT :: ^u32; | |
| __crt_bool :: _Bool; | |
| errno_t :: i32; | |
| wint_t :: u16; | |
| wctype_t :: u16; | |
| __time32_t :: i64; | |
| __time64_t :: i64; | |
| __crt_locale_data_public :: struct { | |
| _locale_pctype : ^u16, | |
| _locale_mb_cur_max : i32, | |
| _locale_lc_codepage : u32, | |
| }; | |
| __crt_locale_pointers :: struct { | |
| locinfo : ^__crt_locale_data, | |
| mbcinfo : ^__crt_multibyte_data, | |
| }; | |
| _locale_t :: ^__crt_locale_pointers; | |
| _Mbstatet :: struct { | |
| _Wchar : u64, | |
| _Byte : u16, | |
| _State : u16, | |
| }; | |
| mbstate_t :: _Mbstatet; | |
| time_t :: __time64_t; | |
| rsize_t :: uint; | |
| POINTER_64_INT :: u64; | |
| INT8 :: i8; | |
| PINT8 :: ^i8; | |
| INT16 :: i16; | |
| PINT16 :: ^i16; | |
| INT32 :: i32; | |
| PINT32 :: ^i32; | |
| INT64 :: i64; | |
| PINT64 :: ^i64; | |
| UINT8 :: u8; | |
| PUINT8 :: cstring; | |
| UINT16 :: u16; | |
| PUINT16 :: ^u16; | |
| UINT32 :: u32; | |
| PUINT32 :: ^u32; | |
| UINT64 :: u64; | |
| PUINT64 :: ^u64; | |
| LONG32 :: i32; | |
| PLONG32 :: ^i32; | |
| ULONG32 :: u32; | |
| PULONG32 :: ^u32; | |
| DWORD32 :: u32; | |
| PDWORD32 :: ^u32; | |
| INT_PTR :: i32; | |
| PINT_PTR :: ^i32; | |
| UINT_PTR :: u32; | |
| PUINT_PTR :: ^u32; | |
| LONG_PTR :: i64; | |
| PLONG_PTR :: ^i64; | |
| ULONG_PTR :: u64; | |
| PULONG_PTR :: ^u64; | |
| UHALF_PTR :: u16; | |
| PUHALF_PTR :: ^u16; | |
| HALF_PTR :: i16; | |
| PHALF_PTR :: ^i16; | |
| SHANDLE_PTR :: i64; | |
| HANDLE_PTR :: u64; | |
| SIZE_T :: ULONG_PTR; | |
| PSIZE_T :: ^ULONG_PTR; | |
| SSIZE_T :: LONG_PTR; | |
| PSSIZE_T :: ^LONG_PTR; | |
| DWORD_PTR :: ULONG_PTR; | |
| PDWORD_PTR :: ^ULONG_PTR; | |
| LONG64 :: i64; | |
| PLONG64 :: ^i64; | |
| ULONG64 :: u64; | |
| PULONG64 :: ^u64; | |
| DWORD64 :: u64; | |
| PDWORD64 :: ^u64; | |
| KAFFINITY :: ULONG_PTR; | |
| PKAFFINITY :: ^KAFFINITY; | |
| PVOID :: rawptr; | |
| PVOID64 :: rawptr; | |
| CHAR :: u8; | |
| SHORT :: i16; | |
| LONG :: i64; | |
| INT :: i32; | |
| WCHAR :: u16; | |
| PWCHAR :: ^WCHAR; | |
| LPWCH :: ^WCHAR; | |
| PWCH :: ^WCHAR; | |
| LPCWCH :: ^WCHAR; | |
| PCWCH :: ^WCHAR; | |
| NWPSTR :: ^WCHAR; | |
| LPWSTR :: ^WCHAR; | |
| PWSTR :: ^WCHAR; | |
| PZPWSTR :: ^PWSTR; | |
| PCZPWSTR :: ^PWSTR; | |
| LPUWSTR :: ^WCHAR; | |
| PUWSTR :: ^WCHAR; | |
| LPCWSTR :: ^WCHAR; | |
| PCWSTR :: ^WCHAR; | |
| PZPCWSTR :: ^PCWSTR; | |
| PCZPCWSTR :: ^PCWSTR; | |
| LPCUWSTR :: ^WCHAR; | |
| PCUWSTR :: ^WCHAR; | |
| PZZWSTR :: ^WCHAR; | |
| PCZZWSTR :: ^WCHAR; | |
| PUZZWSTR :: ^WCHAR; | |
| PCUZZWSTR :: ^WCHAR; | |
| PNZWCH :: ^WCHAR; | |
| PCNZWCH :: ^WCHAR; | |
| PUNZWCH :: ^WCHAR; | |
| PCUNZWCH :: ^WCHAR; | |
| LPCWCHAR :: ^WCHAR; | |
| PCWCHAR :: ^WCHAR; | |
| LPCUWCHAR :: ^WCHAR; | |
| PCUWCHAR :: ^WCHAR; | |
| UCSCHAR :: u64; | |
| PUCSCHAR :: ^UCSCHAR; | |
| PCUCSCHAR :: ^UCSCHAR; | |
| PUCSSTR :: ^UCSCHAR; | |
| PUUCSSTR :: ^UCSCHAR; | |
| PCUCSSTR :: ^UCSCHAR; | |
| PCUUCSSTR :: ^UCSCHAR; | |
| PUUCSCHAR :: ^UCSCHAR; | |
| PCUUCSCHAR :: ^UCSCHAR; | |
| PCHAR :: ^CHAR; | |
| LPCH :: ^CHAR; | |
| PCH :: ^CHAR; | |
| LPCCH :: ^CHAR; | |
| PCCH :: ^CHAR; | |
| NPSTR :: ^CHAR; | |
| LPSTR :: ^CHAR; | |
| PSTR :: ^CHAR; | |
| PZPSTR :: ^PSTR; | |
| PCZPSTR :: ^PSTR; | |
| LPCSTR :: ^CHAR; | |
| PCSTR :: ^CHAR; | |
| PZPCSTR :: ^PCSTR; | |
| PCZPCSTR :: ^PCSTR; | |
| PZZSTR :: ^CHAR; | |
| PCZZSTR :: ^CHAR; | |
| PNZCH :: ^CHAR; | |
| PCNZCH :: ^CHAR; | |
| TCHAR :: u8; | |
| PTCHAR :: cstring; | |
| TBYTE :: u8; | |
| PTBYTE :: cstring; | |
| LPTCH :: LPCH; | |
| PTCH :: LPCH; | |
| LPCTCH :: LPCCH; | |
| PCTCH :: LPCCH; | |
| PTSTR :: LPSTR; | |
| LPTSTR :: LPSTR; | |
| PUTSTR :: LPSTR; | |
| LPUTSTR :: LPSTR; | |
| PCTSTR :: LPCSTR; | |
| LPCTSTR :: LPCSTR; | |
| PCUTSTR :: LPCSTR; | |
| LPCUTSTR :: LPCSTR; | |
| PZZTSTR :: PZZSTR; | |
| PUZZTSTR :: PZZSTR; | |
| PCZZTSTR :: PCZZSTR; | |
| PCUZZTSTR :: PCZZSTR; | |
| PZPTSTR :: PZPSTR; | |
| PNZTCH :: PNZCH; | |
| PUNZTCH :: PNZCH; | |
| PCNZTCH :: PCNZCH; | |
| PCUNZTCH :: PCNZCH; | |
| PSHORT :: ^SHORT; | |
| PLONG :: ^LONG; | |
| PROCESSOR_NUMBER :: struct { | |
| Group : u16, | |
| Number : BYTE, | |
| Reserved : BYTE, | |
| }; | |
| PPROCESSOR_NUMBER :: ^struct { | |
| Group : u16, | |
| Number : BYTE, | |
| Reserved : BYTE, | |
| }; | |
| GROUP_AFFINITY :: struct { | |
| Mask : KAFFINITY, | |
| Group : u16, | |
| Reserved : [3]u16, | |
| }; | |
| PGROUP_AFFINITY :: ^struct { | |
| Mask : KAFFINITY, | |
| Group : u16, | |
| Reserved : [3]u16, | |
| }; | |
| HANDLE :: rawptr; | |
| PHANDLE :: ^HANDLE; | |
| FCHAR :: BYTE; | |
| FSHORT :: u16; | |
| FLONG :: u32; | |
| HRESULT :: i64; | |
| CCHAR :: u8; | |
| LCID :: u32; | |
| PLCID :: PDWORD; | |
| LANGID :: u16; | |
| COMPARTMENT_ID :: enum { | |
| UNSPECIFIED_COMPARTMENT_ID = 0, | |
| DEFAULT_COMPARTMENT_ID, | |
| }; | |
| PCOMPARTMENT_ID :: ^enum { | |
| UNSPECIFIED_COMPARTMENT_ID = 0, | |
| DEFAULT_COMPARTMENT_ID, | |
| }; | |
| FLOAT128 :: struct { | |
| LowPart : i64, | |
| HighPart : i64, | |
| }; | |
| PFLOAT128 :: ^FLOAT128; | |
| LONGLONG :: f64; | |
| ULONGLONG :: f64; | |
| PLONGLONG :: ^LONGLONG; | |
| PULONGLONG :: ^ULONGLONG; | |
| USN :: LONGLONG; | |
| LARGE_INTEGER :: struct #raw_union { | |
| s : struct { | |
| LowPart : u32, | |
| HighPart : LONG, | |
| }, | |
| u : struct { | |
| LowPart : u32, | |
| HighPart : LONG, | |
| }, | |
| QuadPart : LONGLONG, | |
| }; | |
| PLARGE_INTEGER :: ^LARGE_INTEGER; | |
| ULARGE_INTEGER :: struct #raw_union { | |
| s : struct { | |
| LowPart : u32, | |
| HighPart : u32, | |
| }, | |
| u : struct { | |
| LowPart : u32, | |
| HighPart : u32, | |
| }, | |
| QuadPart : ULONGLONG, | |
| }; | |
| PULARGE_INTEGER :: ^ULARGE_INTEGER; | |
| RTL_REFERENCE_COUNT :: LONG_PTR; | |
| PRTL_REFERENCE_COUNT :: ^LONG_PTR; | |
| RTL_REFERENCE_COUNT32 :: LONG; | |
| PRTL_REFERENCE_COUNT32 :: ^LONG; | |
| LUID :: struct { | |
| LowPart : u32, | |
| HighPart : LONG, | |
| }; | |
| PLUID :: ^struct { | |
| LowPart : u32, | |
| HighPart : LONG, | |
| }; | |
| DWORDLONG :: ULONGLONG; | |
| PDWORDLONG :: ^DWORDLONG; | |
| BOOLEAN :: BYTE; | |
| PBOOLEAN :: ^BOOLEAN; | |
| LIST_ENTRY :: struct { | |
| Flink : ^LIST_ENTRY, | |
| Blink : ^LIST_ENTRY, | |
| }; | |
| PLIST_ENTRY :: ^struct { | |
| Flink : ^LIST_ENTRY, | |
| Blink : ^LIST_ENTRY, | |
| }; | |
| PRLIST_ENTRY :: ^struct { | |
| Flink : ^LIST_ENTRY, | |
| Blink : ^LIST_ENTRY, | |
| }; | |
| SINGLE_LIST_ENTRY :: struct { | |
| Next : ^SLIST_ENTRY, | |
| }; | |
| PSINGLE_LIST_ENTRY :: ^struct { | |
| Next : ^SLIST_ENTRY, | |
| }; | |
| LIST_ENTRY32 :: struct { | |
| Flink : u32, | |
| Blink : u32, | |
| }; | |
| PLIST_ENTRY32 :: ^LIST_ENTRY32; | |
| LIST_ENTRY64 :: struct { | |
| Flink : ULONGLONG, | |
| Blink : ULONGLONG, | |
| }; | |
| PLIST_ENTRY64 :: ^LIST_ENTRY64; | |
| GUID :: struct { | |
| Data1 : u64, | |
| Data2 : u16, | |
| Data3 : u16, | |
| Data4 : [8]u8, | |
| }; | |
| LPGUID :: ^GUID; | |
| LPCGUID :: ^GUID; | |
| IID :: GUID; | |
| LPIID :: ^IID; | |
| CLSID :: GUID; | |
| LPCLSID :: ^CLSID; | |
| FMTID :: GUID; | |
| LPFMTID :: ^FMTID; | |
| OBJECTID :: struct { | |
| Lineage : GUID, | |
| Uniquifier : u32, | |
| }; | |
| EXCEPTION_ROUTINE :: #type (proc(ExceptionRecord : ^EXCEPTION_RECORD, EstablisherFrame : PVOID, ContextRecord : ^CONTEXT, DispatcherContext : PVOID) -> EXCEPTION_DISPOSITION); | |
| PEXCEPTION_ROUTINE :: ^EXCEPTION_ROUTINE; | |
| __C_ASSERT__ :: [(((LONG)((LONG_PTR)(&(((^struct { | |
| x : u8, | |
| test : LARGE_INTEGER, | |
| })(0)) - > test)))) == 8) ? 1 : -1]u8; | |
| KSPIN_LOCK :: ULONG_PTR; | |
| PKSPIN_LOCK :: ^KSPIN_LOCK; | |
| M128A :: struct { | |
| Low : ULONGLONG, | |
| High : LONGLONG, | |
| }; | |
| PM128A :: ^struct { | |
| Low : ULONGLONG, | |
| High : LONGLONG, | |
| }; | |
| XSAVE_FORMAT :: struct { | |
| ControlWord : u16, | |
| StatusWord : u16, | |
| TagWord : BYTE, | |
| Reserved1 : BYTE, | |
| ErrorOpcode : u16, | |
| ErrorOffset : u32, | |
| ErrorSelector : u16, | |
| Reserved2 : u16, | |
| DataOffset : u32, | |
| DataSelector : u16, | |
| Reserved3 : u16, | |
| MxCsr : u32, | |
| MxCsr_Mask : u32, | |
| FloatRegisters : [8]M128A, | |
| XmmRegisters : [8]M128A, | |
| Reserved4 : [224]BYTE, | |
| }; | |
| PXSAVE_FORMAT :: ^struct { | |
| ControlWord : u16, | |
| StatusWord : u16, | |
| TagWord : BYTE, | |
| Reserved1 : BYTE, | |
| ErrorOpcode : u16, | |
| ErrorOffset : u32, | |
| ErrorSelector : u16, | |
| Reserved2 : u16, | |
| DataOffset : u32, | |
| DataSelector : u16, | |
| Reserved3 : u16, | |
| MxCsr : u32, | |
| MxCsr_Mask : u32, | |
| FloatRegisters : [8]M128A, | |
| XmmRegisters : [8]M128A, | |
| Reserved4 : [224]BYTE, | |
| }; | |
| XSAVE_CET_U_FORMAT :: struct { | |
| Ia32CetUMsr : DWORD64, | |
| Ia32Pl3SspMsr : DWORD64, | |
| }; | |
| PXSAVE_CET_U_FORMAT :: ^struct { | |
| Ia32CetUMsr : DWORD64, | |
| Ia32Pl3SspMsr : DWORD64, | |
| }; | |
| XSAVE_AREA_HEADER :: struct { | |
| Mask : DWORD64, | |
| CompactionMask : DWORD64, | |
| Reserved2 : [6]DWORD64, | |
| }; | |
| PXSAVE_AREA_HEADER :: ^struct { | |
| Mask : DWORD64, | |
| CompactionMask : DWORD64, | |
| Reserved2 : [6]DWORD64, | |
| }; | |
| XSAVE_AREA :: struct { | |
| LegacyState : XSAVE_FORMAT, | |
| Header : XSAVE_AREA_HEADER, | |
| }; | |
| PXSAVE_AREA :: ^struct { | |
| LegacyState : XSAVE_FORMAT, | |
| Header : XSAVE_AREA_HEADER, | |
| }; | |
| XSTATE_CONTEXT :: struct { | |
| Mask : DWORD64, | |
| Length : u32, | |
| Reserved1 : u32, | |
| Area : PXSAVE_AREA, | |
| Reserved2 : u32, | |
| Buffer : PVOID, | |
| Reserved3 : u32, | |
| }; | |
| PXSTATE_CONTEXT :: ^struct { | |
| Mask : DWORD64, | |
| Length : u32, | |
| Reserved1 : u32, | |
| Area : PXSAVE_AREA, | |
| Reserved2 : u32, | |
| Buffer : PVOID, | |
| Reserved3 : u32, | |
| }; | |
| SCOPE_TABLE_AMD64 :: struct { | |
| Count : u32, | |
| ScopeRecord : [1]struct { | |
| BeginAddress : u32, | |
| EndAddress : u32, | |
| HandlerAddress : u32, | |
| JumpTarget : u32, | |
| }, | |
| }; | |
| PSCOPE_TABLE_AMD64 :: ^struct { | |
| Count : u32, | |
| ScopeRecord : [1]struct { | |
| BeginAddress : u32, | |
| EndAddress : u32, | |
| HandlerAddress : u32, | |
| JumpTarget : u32, | |
| }, | |
| }; | |
| SCOPE_TABLE_ARM :: struct { | |
| Count : u32, | |
| ScopeRecord : [1]struct { | |
| BeginAddress : u32, | |
| EndAddress : u32, | |
| HandlerAddress : u32, | |
| JumpTarget : u32, | |
| }, | |
| }; | |
| PSCOPE_TABLE_ARM :: ^struct { | |
| Count : u32, | |
| ScopeRecord : [1]struct { | |
| BeginAddress : u32, | |
| EndAddress : u32, | |
| HandlerAddress : u32, | |
| JumpTarget : u32, | |
| }, | |
| }; | |
| SCOPE_TABLE_ARM64 :: struct { | |
| Count : u32, | |
| ScopeRecord : [1]struct { | |
| BeginAddress : u32, | |
| EndAddress : u32, | |
| HandlerAddress : u32, | |
| JumpTarget : u32, | |
| }, | |
| }; | |
| PSCOPE_TABLE_ARM64 :: ^struct { | |
| Count : u32, | |
| ScopeRecord : [1]struct { | |
| BeginAddress : u32, | |
| EndAddress : u32, | |
| HandlerAddress : u32, | |
| JumpTarget : u32, | |
| }, | |
| }; | |
| KNONVOLATILE_CONTEXT_POINTERS_ARM64 :: struct { | |
| X19 : PDWORD64, | |
| X20 : PDWORD64, | |
| X21 : PDWORD64, | |
| X22 : PDWORD64, | |
| X23 : PDWORD64, | |
| X24 : PDWORD64, | |
| X25 : PDWORD64, | |
| X26 : PDWORD64, | |
| X27 : PDWORD64, | |
| X28 : PDWORD64, | |
| Fp : PDWORD64, | |
| Lr : PDWORD64, | |
| D8 : PDWORD64, | |
| D9 : PDWORD64, | |
| D10 : PDWORD64, | |
| D11 : PDWORD64, | |
| D12 : PDWORD64, | |
| D13 : PDWORD64, | |
| D14 : PDWORD64, | |
| D15 : PDWORD64, | |
| }; | |
| PKNONVOLATILE_CONTEXT_POINTERS_ARM64 :: ^struct { | |
| X19 : PDWORD64, | |
| X20 : PDWORD64, | |
| X21 : PDWORD64, | |
| X22 : PDWORD64, | |
| X23 : PDWORD64, | |
| X24 : PDWORD64, | |
| X25 : PDWORD64, | |
| X26 : PDWORD64, | |
| X27 : PDWORD64, | |
| X28 : PDWORD64, | |
| Fp : PDWORD64, | |
| Lr : PDWORD64, | |
| D8 : PDWORD64, | |
| D9 : PDWORD64, | |
| D10 : PDWORD64, | |
| D11 : PDWORD64, | |
| D12 : PDWORD64, | |
| D13 : PDWORD64, | |
| D14 : PDWORD64, | |
| D15 : PDWORD64, | |
| }; | |
| FLOATING_SAVE_AREA :: struct { | |
| ControlWord : u32, | |
| StatusWord : u32, | |
| TagWord : u32, | |
| ErrorOffset : u32, | |
| ErrorSelector : u32, | |
| DataOffset : u32, | |
| DataSelector : u32, | |
| RegisterArea : [80]BYTE, | |
| Spare0 : u32, | |
| }; | |
| PFLOATING_SAVE_AREA :: ^FLOATING_SAVE_AREA; | |
| __C_ASSERT__ :: [(size_of(XSAVE_FORMAT) == 512) ? 1 : -1]u8; | |
| CONTEXT :: struct { | |
| ContextFlags : u32, | |
| Dr0 : u32, | |
| Dr1 : u32, | |
| Dr2 : u32, | |
| Dr3 : u32, | |
| Dr6 : u32, | |
| Dr7 : u32, | |
| FloatSave : FLOATING_SAVE_AREA, | |
| SegGs : u32, | |
| SegFs : u32, | |
| SegEs : u32, | |
| SegDs : u32, | |
| Edi : u32, | |
| Esi : u32, | |
| Ebx : u32, | |
| Edx : u32, | |
| Ecx : u32, | |
| Eax : u32, | |
| Ebp : u32, | |
| Eip : u32, | |
| SegCs : u32, | |
| EFlags : u32, | |
| Esp : u32, | |
| SegSs : u32, | |
| ExtendedRegisters : [512]BYTE, | |
| }; | |
| PCONTEXT :: ^CONTEXT; | |
| LDT_ENTRY :: struct { | |
| LimitLow : u16, | |
| BaseLow : u16, | |
| HighWord : struct #raw_union { | |
| Bytes : struct { | |
| BaseMid : BYTE, | |
| Flags1 : BYTE, | |
| Flags2 : BYTE, | |
| BaseHi : BYTE, | |
| }, | |
| Bits : struct { | |
| BaseMid : , | |
| Type : , | |
| Dpl : , | |
| Pres : , | |
| LimitHi : , | |
| Sys : , | |
| Reserved_0 : , | |
| Default_Big : , | |
| Granularity : , | |
| BaseHi : , | |
| }, | |
| }, | |
| }; | |
| PLDT_ENTRY :: ^struct { | |
| LimitLow : u16, | |
| BaseLow : u16, | |
| HighWord : struct #raw_union { | |
| Bytes : struct { | |
| BaseMid : BYTE, | |
| Flags1 : BYTE, | |
| Flags2 : BYTE, | |
| BaseHi : BYTE, | |
| }, | |
| Bits : struct { | |
| BaseMid : , | |
| Type : , | |
| Dpl : , | |
| Pres : , | |
| LimitHi : , | |
| Sys : , | |
| Reserved_0 : , | |
| Default_Big : , | |
| Granularity : , | |
| BaseHi : , | |
| }, | |
| }, | |
| }; | |
| WOW64_FLOATING_SAVE_AREA :: struct { | |
| ControlWord : u32, | |
| StatusWord : u32, | |
| TagWord : u32, | |
| ErrorOffset : u32, | |
| ErrorSelector : u32, | |
| DataOffset : u32, | |
| DataSelector : u32, | |
| RegisterArea : [80]BYTE, | |
| Cr0NpxState : u32, | |
| }; | |
| PWOW64_FLOATING_SAVE_AREA :: ^WOW64_FLOATING_SAVE_AREA; | |
| WOW64_CONTEXT :: struct { | |
| ContextFlags : u32, | |
| Dr0 : u32, | |
| Dr1 : u32, | |
| Dr2 : u32, | |
| Dr3 : u32, | |
| Dr6 : u32, | |
| Dr7 : u32, | |
| FloatSave : WOW64_FLOATING_SAVE_AREA, | |
| SegGs : u32, | |
| SegFs : u32, | |
| SegEs : u32, | |
| SegDs : u32, | |
| Edi : u32, | |
| Esi : u32, | |
| Ebx : u32, | |
| Edx : u32, | |
| Ecx : u32, | |
| Eax : u32, | |
| Ebp : u32, | |
| Eip : u32, | |
| SegCs : u32, | |
| EFlags : u32, | |
| Esp : u32, | |
| SegSs : u32, | |
| ExtendedRegisters : [512]BYTE, | |
| }; | |
| PWOW64_CONTEXT :: ^WOW64_CONTEXT; | |
| WOW64_LDT_ENTRY :: struct { | |
| LimitLow : u16, | |
| BaseLow : u16, | |
| HighWord : struct #raw_union { | |
| Bytes : struct { | |
| BaseMid : BYTE, | |
| Flags1 : BYTE, | |
| Flags2 : BYTE, | |
| BaseHi : BYTE, | |
| }, | |
| Bits : struct { | |
| BaseMid : , | |
| Type : , | |
| Dpl : , | |
| Pres : , | |
| LimitHi : , | |
| Sys : , | |
| Reserved_0 : , | |
| Default_Big : , | |
| Granularity : , | |
| BaseHi : , | |
| }, | |
| }, | |
| }; | |
| PWOW64_LDT_ENTRY :: ^struct { | |
| LimitLow : u16, | |
| BaseLow : u16, | |
| HighWord : struct #raw_union { | |
| Bytes : struct { | |
| BaseMid : BYTE, | |
| Flags1 : BYTE, | |
| Flags2 : BYTE, | |
| BaseHi : BYTE, | |
| }, | |
| Bits : struct { | |
| BaseMid : , | |
| Type : , | |
| Dpl : , | |
| Pres : , | |
| LimitHi : , | |
| Sys : , | |
| Reserved_0 : , | |
| Default_Big : , | |
| Granularity : , | |
| BaseHi : , | |
| }, | |
| }, | |
| }; | |
| WOW64_DESCRIPTOR_TABLE_ENTRY :: struct { | |
| Selector : u32, | |
| Descriptor : WOW64_LDT_ENTRY, | |
| }; | |
| PWOW64_DESCRIPTOR_TABLE_ENTRY :: ^struct { | |
| Selector : u32, | |
| Descriptor : WOW64_LDT_ENTRY, | |
| }; | |
| EXCEPTION_RECORD :: struct { | |
| ExceptionCode : u32, | |
| ExceptionFlags : u32, | |
| ExceptionRecord : ^EXCEPTION_RECORD, | |
| ExceptionAddress : PVOID, | |
| NumberParameters : u32, | |
| ExceptionInformation : [15]ULONG_PTR, | |
| }; | |
| PEXCEPTION_RECORD :: ^EXCEPTION_RECORD; | |
| EXCEPTION_RECORD32 :: struct { | |
| ExceptionCode : u32, | |
| ExceptionFlags : u32, | |
| ExceptionRecord : u32, | |
| ExceptionAddress : u32, | |
| NumberParameters : u32, | |
| ExceptionInformation : [15]u32, | |
| }; | |
| PEXCEPTION_RECORD32 :: ^struct { | |
| ExceptionCode : u32, | |
| ExceptionFlags : u32, | |
| ExceptionRecord : u32, | |
| ExceptionAddress : u32, | |
| NumberParameters : u32, | |
| ExceptionInformation : [15]u32, | |
| }; | |
| EXCEPTION_RECORD64 :: struct { | |
| ExceptionCode : u32, | |
| ExceptionFlags : u32, | |
| ExceptionRecord : DWORD64, | |
| ExceptionAddress : DWORD64, | |
| NumberParameters : u32, | |
| __unusedAlignment : u32, | |
| ExceptionInformation : [15]DWORD64, | |
| }; | |
| PEXCEPTION_RECORD64 :: ^struct { | |
| ExceptionCode : u32, | |
| ExceptionFlags : u32, | |
| ExceptionRecord : DWORD64, | |
| ExceptionAddress : DWORD64, | |
| NumberParameters : u32, | |
| __unusedAlignment : u32, | |
| ExceptionInformation : [15]DWORD64, | |
| }; | |
| EXCEPTION_POINTERS :: struct { | |
| ExceptionRecord : PEXCEPTION_RECORD, | |
| ContextRecord : PCONTEXT, | |
| }; | |
| PEXCEPTION_POINTERS :: ^struct { | |
| ExceptionRecord : PEXCEPTION_RECORD, | |
| ContextRecord : PCONTEXT, | |
| }; | |
| PACCESS_TOKEN :: PVOID; | |
| PSECURITY_DESCRIPTOR :: PVOID; | |
| PSID :: PVOID; | |
| PCLAIMS_BLOB :: PVOID; | |
| ACCESS_MASK :: u32; | |
| PACCESS_MASK :: ^ACCESS_MASK; | |
| GENERIC_MAPPING :: struct { | |
| GenericRead : ACCESS_MASK, | |
| GenericWrite : ACCESS_MASK, | |
| GenericExecute : ACCESS_MASK, | |
| GenericAll : ACCESS_MASK, | |
| }; | |
| PGENERIC_MAPPING :: ^GENERIC_MAPPING; | |
| LUID_AND_ATTRIBUTES :: struct { | |
| Luid : LUID, | |
| Attributes : u32, | |
| }; | |
| PLUID_AND_ATTRIBUTES :: ^struct { | |
| Luid : LUID, | |
| Attributes : u32, | |
| }; | |
| LUID_AND_ATTRIBUTES_ARRAY :: [1]LUID_AND_ATTRIBUTES; | |
| PLUID_AND_ATTRIBUTES_ARRAY :: ^LUID_AND_ATTRIBUTES_ARRAY; | |
| SID_IDENTIFIER_AUTHORITY :: struct { | |
| Value : [6]BYTE, | |
| }; | |
| PSID_IDENTIFIER_AUTHORITY :: ^struct { | |
| Value : [6]BYTE, | |
| }; | |
| SID :: struct { | |
| Revision : BYTE, | |
| SubAuthorityCount : BYTE, | |
| IdentifierAuthority : SID_IDENTIFIER_AUTHORITY, | |
| SubAuthority : [1]u32, | |
| }; | |
| PISID :: ^struct { | |
| Revision : BYTE, | |
| SubAuthorityCount : BYTE, | |
| IdentifierAuthority : SID_IDENTIFIER_AUTHORITY, | |
| SubAuthority : [1]u32, | |
| }; | |
| SE_SID :: struct #raw_union { | |
| Sid : SID, | |
| Buffer : [(size_of(SID) - size_of(DWORD) + ((15) * size_of(DWORD)))]BYTE, | |
| }; | |
| PSE_SID :: ^struct #raw_union { | |
| Sid : SID, | |
| Buffer : [(size_of(SID) - size_of(DWORD) + ((15) * size_of(DWORD)))]BYTE, | |
| }; | |
| SID_NAME_USE :: enum { | |
| SidTypeUser = 1, | |
| SidTypeGroup, | |
| SidTypeDomain, | |
| SidTypeAlias, | |
| SidTypeWellKnownGroup, | |
| SidTypeDeletedAccount, | |
| SidTypeInvalid, | |
| SidTypeUnknown, | |
| SidTypeComputer, | |
| SidTypeLabel, | |
| SidTypeLogonSession, | |
| }; | |
| PSID_NAME_USE :: ^enum { | |
| SidTypeUser = 1, | |
| SidTypeGroup, | |
| SidTypeDomain, | |
| SidTypeAlias, | |
| SidTypeWellKnownGroup, | |
| SidTypeDeletedAccount, | |
| SidTypeInvalid, | |
| SidTypeUnknown, | |
| SidTypeComputer, | |
| SidTypeLabel, | |
| SidTypeLogonSession, | |
| }; | |
| SID_AND_ATTRIBUTES :: struct { | |
| Sid : PSID, | |
| Attributes : u32, | |
| }; | |
| PSID_AND_ATTRIBUTES :: ^struct { | |
| Sid : PSID, | |
| Attributes : u32, | |
| }; | |
| SID_AND_ATTRIBUTES_ARRAY :: [1]SID_AND_ATTRIBUTES; | |
| PSID_AND_ATTRIBUTES_ARRAY :: ^SID_AND_ATTRIBUTES_ARRAY; | |
| SID_HASH_ENTRY :: ULONG_PTR; | |
| PSID_HASH_ENTRY :: ^ULONG_PTR; | |
| SID_AND_ATTRIBUTES_HASH :: struct { | |
| SidCount : u32, | |
| SidAttr : PSID_AND_ATTRIBUTES, | |
| Hash : [32]SID_HASH_ENTRY, | |
| }; | |
| PSID_AND_ATTRIBUTES_HASH :: ^struct { | |
| SidCount : u32, | |
| SidAttr : PSID_AND_ATTRIBUTES, | |
| Hash : [32]SID_HASH_ENTRY, | |
| }; | |
| WELL_KNOWN_SID_TYPE :: enum { | |
| WinNullSid = 0, | |
| WinWorldSid = 1, | |
| WinLocalSid = 2, | |
| WinCreatorOwnerSid = 3, | |
| WinCreatorGroupSid = 4, | |
| WinCreatorOwnerServerSid = 5, | |
| WinCreatorGroupServerSid = 6, | |
| WinNtAuthoritySid = 7, | |
| WinDialupSid = 8, | |
| WinNetworkSid = 9, | |
| WinBatchSid = 10, | |
| WinInteractiveSid = 11, | |
| WinServiceSid = 12, | |
| WinAnonymousSid = 13, | |
| WinProxySid = 14, | |
| WinEnterpriseControllersSid = 15, | |
| WinSelfSid = 16, | |
| WinAuthenticatedUserSid = 17, | |
| WinRestrictedCodeSid = 18, | |
| WinTerminalServerSid = 19, | |
| WinRemoteLogonIdSid = 20, | |
| WinLogonIdsSid = 21, | |
| WinLocalSystemSid = 22, | |
| WinLocalServiceSid = 23, | |
| WinNetworkServiceSid = 24, | |
| WinBuiltinDomainSid = 25, | |
| WinBuiltinAdministratorsSid = 26, | |
| WinBuiltinUsersSid = 27, | |
| WinBuiltinGuestsSid = 28, | |
| WinBuiltinPowerUsersSid = 29, | |
| WinBuiltinAccountOperatorsSid = 30, | |
| WinBuiltinSystemOperatorsSid = 31, | |
| WinBuiltinPrintOperatorsSid = 32, | |
| WinBuiltinBackupOperatorsSid = 33, | |
| WinBuiltinReplicatorSid = 34, | |
| WinBuiltinPreWindows2000CompatibleAccessSid = 35, | |
| WinBuiltinRemoteDesktopUsersSid = 36, | |
| WinBuiltinNetworkConfigurationOperatorsSid = 37, | |
| WinAccountAdministratorSid = 38, | |
| WinAccountGuestSid = 39, | |
| WinAccountKrbtgtSid = 40, | |
| WinAccountDomainAdminsSid = 41, | |
| WinAccountDomainUsersSid = 42, | |
| WinAccountDomainGuestsSid = 43, | |
| WinAccountComputersSid = 44, | |
| WinAccountControllersSid = 45, | |
| WinAccountCertAdminsSid = 46, | |
| WinAccountSchemaAdminsSid = 47, | |
| WinAccountEnterpriseAdminsSid = 48, | |
| WinAccountPolicyAdminsSid = 49, | |
| WinAccountRasAndIasServersSid = 50, | |
| WinNTLMAuthenticationSid = 51, | |
| WinDigestAuthenticationSid = 52, | |
| WinSChannelAuthenticationSid = 53, | |
| WinThisOrganizationSid = 54, | |
| WinOtherOrganizationSid = 55, | |
| WinBuiltinIncomingForestTrustBuildersSid = 56, | |
| WinBuiltinPerfMonitoringUsersSid = 57, | |
| WinBuiltinPerfLoggingUsersSid = 58, | |
| WinBuiltinAuthorizationAccessSid = 59, | |
| WinBuiltinTerminalServerLicenseServersSid = 60, | |
| WinBuiltinDCOMUsersSid = 61, | |
| WinBuiltinIUsersSid = 62, | |
| WinIUserSid = 63, | |
| WinBuiltinCryptoOperatorsSid = 64, | |
| WinUntrustedLabelSid = 65, | |
| WinLowLabelSid = 66, | |
| WinMediumLabelSid = 67, | |
| WinHighLabelSid = 68, | |
| WinSystemLabelSid = 69, | |
| WinWriteRestrictedCodeSid = 70, | |
| WinCreatorOwnerRightsSid = 71, | |
| WinCacheablePrincipalsGroupSid = 72, | |
| WinNonCacheablePrincipalsGroupSid = 73, | |
| WinEnterpriseReadonlyControllersSid = 74, | |
| WinAccountReadonlyControllersSid = 75, | |
| WinBuiltinEventLogReadersGroup = 76, | |
| WinNewEnterpriseReadonlyControllersSid = 77, | |
| WinBuiltinCertSvcDComAccessGroup = 78, | |
| WinMediumPlusLabelSid = 79, | |
| WinLocalLogonSid = 80, | |
| WinConsoleLogonSid = 81, | |
| WinThisOrganizationCertificateSid = 82, | |
| WinApplicationPackageAuthoritySid = 83, | |
| WinBuiltinAnyPackageSid = 84, | |
| WinCapabilityInternetClientSid = 85, | |
| WinCapabilityInternetClientServerSid = 86, | |
| WinCapabilityPrivateNetworkClientServerSid = 87, | |
| WinCapabilityPicturesLibrarySid = 88, | |
| WinCapabilityVideosLibrarySid = 89, | |
| WinCapabilityMusicLibrarySid = 90, | |
| WinCapabilityDocumentsLibrarySid = 91, | |
| WinCapabilitySharedUserCertificatesSid = 92, | |
| WinCapabilityEnterpriseAuthenticationSid = 93, | |
| WinCapabilityRemovableStorageSid = 94, | |
| WinBuiltinRDSRemoteAccessServersSid = 95, | |
| WinBuiltinRDSEndpointServersSid = 96, | |
| WinBuiltinRDSManagementServersSid = 97, | |
| WinUserModeDriversSid = 98, | |
| WinBuiltinHyperVAdminsSid = 99, | |
| WinAccountCloneableControllersSid = 100, | |
| WinBuiltinAccessControlAssistanceOperatorsSid = 101, | |
| WinBuiltinRemoteManagementUsersSid = 102, | |
| WinAuthenticationAuthorityAssertedSid = 103, | |
| WinAuthenticationServiceAssertedSid = 104, | |
| WinLocalAccountSid = 105, | |
| WinLocalAccountAndAdministratorSid = 106, | |
| WinAccountProtectedUsersSid = 107, | |
| WinCapabilityAppointmentsSid = 108, | |
| WinCapabilityContactsSid = 109, | |
| WinAccountDefaultSystemManagedSid = 110, | |
| WinBuiltinDefaultSystemManagedGroupSid = 111, | |
| WinBuiltinStorageReplicaAdminsSid = 112, | |
| WinAccountKeyAdminsSid = 113, | |
| WinAccountEnterpriseKeyAdminsSid = 114, | |
| WinAuthenticationKeyTrustSid = 115, | |
| WinAuthenticationKeyPropertyMFASid = 116, | |
| WinAuthenticationKeyPropertyAttestationSid = 117, | |
| WinAuthenticationFreshKeyAuthSid = 118, | |
| WinBuiltinDeviceOwnersSid = 119, | |
| }; | |
| ACL :: struct { | |
| AclRevision : BYTE, | |
| Sbz1 : BYTE, | |
| AclSize : u16, | |
| AceCount : u16, | |
| Sbz2 : u16, | |
| }; | |
| PACL :: ^ACL; | |
| ACE_HEADER :: struct { | |
| AceType : BYTE, | |
| AceFlags : BYTE, | |
| AceSize : u16, | |
| }; | |
| PACE_HEADER :: ^ACE_HEADER; | |
| ACCESS_ALLOWED_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PACCESS_ALLOWED_ACE :: ^ACCESS_ALLOWED_ACE; | |
| ACCESS_DENIED_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PACCESS_DENIED_ACE :: ^ACCESS_DENIED_ACE; | |
| SYSTEM_AUDIT_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_AUDIT_ACE :: ^SYSTEM_AUDIT_ACE; | |
| SYSTEM_ALARM_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_ALARM_ACE :: ^SYSTEM_ALARM_ACE; | |
| SYSTEM_RESOURCE_ATTRIBUTE_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_RESOURCE_ATTRIBUTE_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| SYSTEM_SCOPED_POLICY_ID_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_SCOPED_POLICY_ID_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| SYSTEM_MANDATORY_LABEL_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_MANDATORY_LABEL_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| SYSTEM_PROCESS_TRUST_LABEL_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_PROCESS_TRUST_LABEL_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| SYSTEM_ACCESS_FILTER_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_ACCESS_FILTER_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| ACCESS_ALLOWED_OBJECT_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| PACCESS_ALLOWED_OBJECT_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| ACCESS_DENIED_OBJECT_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| PACCESS_DENIED_OBJECT_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| SYSTEM_AUDIT_OBJECT_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_AUDIT_OBJECT_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| SYSTEM_ALARM_OBJECT_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_ALARM_OBJECT_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| ACCESS_ALLOWED_CALLBACK_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PACCESS_ALLOWED_CALLBACK_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| ACCESS_DENIED_CALLBACK_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PACCESS_DENIED_CALLBACK_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| SYSTEM_AUDIT_CALLBACK_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_AUDIT_CALLBACK_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| SYSTEM_ALARM_CALLBACK_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_ALARM_CALLBACK_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| SidStart : u32, | |
| }; | |
| ACCESS_ALLOWED_CALLBACK_OBJECT_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| PACCESS_ALLOWED_CALLBACK_OBJECT_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| ACCESS_DENIED_CALLBACK_OBJECT_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| PACCESS_DENIED_CALLBACK_OBJECT_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| SYSTEM_AUDIT_CALLBACK_OBJECT_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| SYSTEM_ALARM_CALLBACK_OBJECT_ACE :: struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| PSYSTEM_ALARM_CALLBACK_OBJECT_ACE :: ^struct { | |
| Header : ACE_HEADER, | |
| Mask : ACCESS_MASK, | |
| Flags : u32, | |
| ObjectType : GUID, | |
| InheritedObjectType : GUID, | |
| SidStart : u32, | |
| }; | |
| ACL_INFORMATION_CLASS :: enum { | |
| AclRevisionInformation = 1, | |
| AclSizeInformation, | |
| }; | |
| ACL_REVISION_INFORMATION :: struct { | |
| AclRevision : u32, | |
| }; | |
| PACL_REVISION_INFORMATION :: ^ACL_REVISION_INFORMATION; | |
| ACL_SIZE_INFORMATION :: struct { | |
| AceCount : u32, | |
| AclBytesInUse : u32, | |
| AclBytesFree : u32, | |
| }; | |
| PACL_SIZE_INFORMATION :: ^ACL_SIZE_INFORMATION; | |
| SECURITY_DESCRIPTOR_CONTROL :: u16; | |
| PSECURITY_DESCRIPTOR_CONTROL :: ^u16; | |
| SECURITY_DESCRIPTOR_RELATIVE :: struct { | |
| Revision : BYTE, | |
| Sbz1 : BYTE, | |
| Control : SECURITY_DESCRIPTOR_CONTROL, | |
| Owner : u32, | |
| Group : u32, | |
| Sacl : u32, | |
| Dacl : u32, | |
| }; | |
| PISECURITY_DESCRIPTOR_RELATIVE :: ^struct { | |
| Revision : BYTE, | |
| Sbz1 : BYTE, | |
| Control : SECURITY_DESCRIPTOR_CONTROL, | |
| Owner : u32, | |
| Group : u32, | |
| Sacl : u32, | |
| Dacl : u32, | |
| }; | |
| SECURITY_DESCRIPTOR :: struct { | |
| Revision : BYTE, | |
| Sbz1 : BYTE, | |
| Control : SECURITY_DESCRIPTOR_CONTROL, | |
| Owner : PSID, | |
| Group : PSID, | |
| Sacl : PACL, | |
| Dacl : PACL, | |
| }; | |
| PISECURITY_DESCRIPTOR :: ^struct { | |
| Revision : BYTE, | |
| Sbz1 : BYTE, | |
| Control : SECURITY_DESCRIPTOR_CONTROL, | |
| Owner : PSID, | |
| Group : PSID, | |
| Sacl : PACL, | |
| Dacl : PACL, | |
| }; | |
| SECURITY_OBJECT_AI_PARAMS :: struct { | |
| Size : u32, | |
| ConstraintMask : u32, | |
| }; | |
| PSECURITY_OBJECT_AI_PARAMS :: ^struct { | |
| Size : u32, | |
| ConstraintMask : u32, | |
| }; | |
| OBJECT_TYPE_LIST :: struct { | |
| Level : u16, | |
| Sbz : u16, | |
| ObjectType : ^GUID, | |
| }; | |
| POBJECT_TYPE_LIST :: ^struct { | |
| Level : u16, | |
| Sbz : u16, | |
| ObjectType : ^GUID, | |
| }; | |
| AUDIT_EVENT_TYPE :: enum { | |
| AuditEventObjectAccess, | |
| AuditEventDirectoryServiceAccess, | |
| }; | |
| PAUDIT_EVENT_TYPE :: ^enum { | |
| AuditEventObjectAccess, | |
| AuditEventDirectoryServiceAccess, | |
| }; | |
| PRIVILEGE_SET :: struct { | |
| PrivilegeCount : u32, | |
| Control : u32, | |
| Privilege : [1]LUID_AND_ATTRIBUTES, | |
| }; | |
| PPRIVILEGE_SET :: ^struct { | |
| PrivilegeCount : u32, | |
| Control : u32, | |
| Privilege : [1]LUID_AND_ATTRIBUTES, | |
| }; | |
| ACCESS_REASON_TYPE :: enum { | |
| AccessReasonNone = 0x00000000, | |
| AccessReasonAllowedAce = 0x00010000, | |
| AccessReasonDeniedAce = 0x00020000, | |
| AccessReasonAllowedParentAce = 0x00030000, | |
| AccessReasonDeniedParentAce = 0x00040000, | |
| AccessReasonNotGrantedByCape = 0x00050000, | |
| AccessReasonNotGrantedByParentCape = 0x00060000, | |
| AccessReasonNotGrantedToAppContainer = 0x00070000, | |
| AccessReasonMissingPrivilege = 0x00100000, | |
| AccessReasonFromPrivilege = 0x00200000, | |
| AccessReasonIntegrityLevel = 0x00300000, | |
| AccessReasonOwnership = 0x00400000, | |
| AccessReasonNullDacl = 0x00500000, | |
| AccessReasonEmptyDacl = 0x00600000, | |
| AccessReasonNoSD = 0x00700000, | |
| AccessReasonNoGrant = 0x00800000, | |
| AccessReasonTrustLabel = 0x00900000, | |
| AccessReasonFilterAce = 0x00a00000, | |
| }; | |
| ACCESS_REASON :: u32; | |
| ACCESS_REASONS :: struct { | |
| Data : [32]ACCESS_REASON, | |
| }; | |
| PACCESS_REASONS :: ^struct { | |
| Data : [32]ACCESS_REASON, | |
| }; | |
| SE_SECURITY_DESCRIPTOR :: struct { | |
| Size : u32, | |
| Flags : u32, | |
| SecurityDescriptor : PSECURITY_DESCRIPTOR, | |
| }; | |
| PSE_SECURITY_DESCRIPTOR :: ^struct { | |
| Size : u32, | |
| Flags : u32, | |
| SecurityDescriptor : PSECURITY_DESCRIPTOR, | |
| }; | |
| SE_ACCESS_REQUEST :: struct { | |
| Size : u32, | |
| SeSecurityDescriptor : PSE_SECURITY_DESCRIPTOR, | |
| DesiredAccess : ACCESS_MASK, | |
| PreviouslyGrantedAccess : ACCESS_MASK, | |
| PrincipalSelfSid : PSID, | |
| GenericMapping : PGENERIC_MAPPING, | |
| ObjectTypeListCount : u32, | |
| ObjectTypeList : POBJECT_TYPE_LIST, | |
| }; | |
| PSE_ACCESS_REQUEST :: ^struct { | |
| Size : u32, | |
| SeSecurityDescriptor : PSE_SECURITY_DESCRIPTOR, | |
| DesiredAccess : ACCESS_MASK, | |
| PreviouslyGrantedAccess : ACCESS_MASK, | |
| PrincipalSelfSid : PSID, | |
| GenericMapping : PGENERIC_MAPPING, | |
| ObjectTypeListCount : u32, | |
| ObjectTypeList : POBJECT_TYPE_LIST, | |
| }; | |
| SE_ACCESS_REPLY :: struct { | |
| Size : u32, | |
| ResultListCount : u32, | |
| GrantedAccess : PACCESS_MASK, | |
| AccessStatus : PDWORD, | |
| AccessReason : PACCESS_REASONS, | |
| Privileges : ^PPRIVILEGE_SET, | |
| }; | |
| PSE_ACCESS_REPLY :: ^struct { | |
| Size : u32, | |
| ResultListCount : u32, | |
| GrantedAccess : PACCESS_MASK, | |
| AccessStatus : PDWORD, | |
| AccessReason : PACCESS_REASONS, | |
| Privileges : ^PPRIVILEGE_SET, | |
| }; | |
| SECURITY_IMPERSONATION_LEVEL :: enum { | |
| SecurityAnonymous, | |
| SecurityIdentification, | |
| SecurityImpersonation, | |
| SecurityDelegation, | |
| }; | |
| PSECURITY_IMPERSONATION_LEVEL :: ^enum { | |
| SecurityAnonymous, | |
| SecurityIdentification, | |
| SecurityImpersonation, | |
| SecurityDelegation, | |
| }; | |
| TOKEN_TYPE :: enum { | |
| TokenPrimary = 1, | |
| TokenImpersonation, | |
| }; | |
| PTOKEN_TYPE :: ^TOKEN_TYPE; | |
| TOKEN_ELEVATION_TYPE :: enum { | |
| TokenElevationTypeDefault = 1, | |
| TokenElevationTypeFull, | |
| TokenElevationTypeLimited, | |
| }; | |
| PTOKEN_ELEVATION_TYPE :: ^enum { | |
| TokenElevationTypeDefault = 1, | |
| TokenElevationTypeFull, | |
| TokenElevationTypeLimited, | |
| }; | |
| TOKEN_INFORMATION_CLASS :: enum { | |
| TokenUser = 1, | |
| TokenGroups, | |
| TokenPrivileges, | |
| TokenOwner, | |
| TokenPrimaryGroup, | |
| TokenDefaultDacl, | |
| TokenSource, | |
| TokenType, | |
| TokenImpersonationLevel, | |
| TokenStatistics, | |
| TokenRestrictedSids, | |
| TokenSessionId, | |
| TokenGroupsAndPrivileges, | |
| TokenSessionReference, | |
| TokenSandBoxInert, | |
| TokenAuditPolicy, | |
| TokenOrigin, | |
| TokenElevationType, | |
| TokenLinkedToken, | |
| TokenElevation, | |
| TokenHasRestrictions, | |
| TokenAccessInformation, | |
| TokenVirtualizationAllowed, | |
| TokenVirtualizationEnabled, | |
| TokenIntegrityLevel, | |
| TokenUIAccess, | |
| TokenMandatoryPolicy, | |
| TokenLogonSid, | |
| TokenIsAppContainer, | |
| TokenCapabilities, | |
| TokenAppContainerSid, | |
| TokenAppContainerNumber, | |
| TokenUserClaimAttributes, | |
| TokenDeviceClaimAttributes, | |
| TokenRestrictedUserClaimAttributes, | |
| TokenRestrictedDeviceClaimAttributes, | |
| TokenDeviceGroups, | |
| TokenRestrictedDeviceGroups, | |
| TokenSecurityAttributes, | |
| TokenIsRestricted, | |
| TokenProcessTrustLevel, | |
| TokenPrivateNameSpace, | |
| TokenSingletonAttributes, | |
| TokenBnoIsolation, | |
| TokenChildProcessFlags, | |
| TokenIsLessPrivilegedAppContainer, | |
| TokenIsSandboxed, | |
| TokenOriginatingProcessTrustLevel, | |
| MaxTokenInfoClass, | |
| }; | |
| PTOKEN_INFORMATION_CLASS :: ^enum { | |
| TokenUser = 1, | |
| TokenGroups, | |
| TokenPrivileges, | |
| TokenOwner, | |
| TokenPrimaryGroup, | |
| TokenDefaultDacl, | |
| TokenSource, | |
| TokenType, | |
| TokenImpersonationLevel, | |
| TokenStatistics, | |
| TokenRestrictedSids, | |
| TokenSessionId, | |
| TokenGroupsAndPrivileges, | |
| TokenSessionReference, | |
| TokenSandBoxInert, | |
| TokenAuditPolicy, | |
| TokenOrigin, | |
| TokenElevationType, | |
| TokenLinkedToken, | |
| TokenElevation, | |
| TokenHasRestrictions, | |
| TokenAccessInformation, | |
| TokenVirtualizationAllowed, | |
| TokenVirtualizationEnabled, | |
| TokenIntegrityLevel, | |
| TokenUIAccess, | |
| TokenMandatoryPolicy, | |
| TokenLogonSid, | |
| TokenIsAppContainer, | |
| TokenCapabilities, | |
| TokenAppContainerSid, | |
| TokenAppContainerNumber, | |
| TokenUserClaimAttributes, | |
| TokenDeviceClaimAttributes, | |
| TokenRestrictedUserClaimAttributes, | |
| TokenRestrictedDeviceClaimAttributes, | |
| TokenDeviceGroups, | |
| TokenRestrictedDeviceGroups, | |
| TokenSecurityAttributes, | |
| TokenIsRestricted, | |
| TokenProcessTrustLevel, | |
| TokenPrivateNameSpace, | |
| TokenSingletonAttributes, | |
| TokenBnoIsolation, | |
| TokenChildProcessFlags, | |
| TokenIsLessPrivilegedAppContainer, | |
| TokenIsSandboxed, | |
| TokenOriginatingProcessTrustLevel, | |
| MaxTokenInfoClass, | |
| }; | |
| TOKEN_USER :: struct { | |
| User : SID_AND_ATTRIBUTES, | |
| }; | |
| PTOKEN_USER :: ^struct { | |
| User : SID_AND_ATTRIBUTES, | |
| }; | |
| SE_TOKEN_USER :: struct { | |
| u : struct #raw_union { | |
| TokenUser : TOKEN_USER, | |
| User : SID_AND_ATTRIBUTES, | |
| }, | |
| u2 : struct #raw_union { | |
| Sid : SID, | |
| Buffer : [(size_of(SID) - size_of(DWORD) + ((15) * size_of(DWORD)))]BYTE, | |
| }, | |
| }; | |
| PSE_TOKEN_USER :: struct { | |
| u : struct #raw_union { | |
| TokenUser : TOKEN_USER, | |
| User : SID_AND_ATTRIBUTES, | |
| }, | |
| u2 : struct #raw_union { | |
| Sid : SID, | |
| Buffer : [(size_of(SID) - size_of(DWORD) + ((15) * size_of(DWORD)))]BYTE, | |
| }, | |
| }; | |
| TOKEN_GROUPS :: struct { | |
| GroupCount : u32, | |
| Groups : [1]SID_AND_ATTRIBUTES, | |
| }; | |
| PTOKEN_GROUPS :: ^struct { | |
| GroupCount : u32, | |
| Groups : [1]SID_AND_ATTRIBUTES, | |
| }; | |
| TOKEN_PRIVILEGES :: struct { | |
| PrivilegeCount : u32, | |
| Privileges : [1]LUID_AND_ATTRIBUTES, | |
| }; | |
| PTOKEN_PRIVILEGES :: ^struct { | |
| PrivilegeCount : u32, | |
| Privileges : [1]LUID_AND_ATTRIBUTES, | |
| }; | |
| TOKEN_OWNER :: struct { | |
| Owner : PSID, | |
| }; | |
| PTOKEN_OWNER :: ^struct { | |
| Owner : PSID, | |
| }; | |
| TOKEN_PRIMARY_GROUP :: struct { | |
| PrimaryGroup : PSID, | |
| }; | |
| PTOKEN_PRIMARY_GROUP :: ^struct { | |
| PrimaryGroup : PSID, | |
| }; | |
| TOKEN_DEFAULT_DACL :: struct { | |
| DefaultDacl : PACL, | |
| }; | |
| PTOKEN_DEFAULT_DACL :: ^struct { | |
| DefaultDacl : PACL, | |
| }; | |
| TOKEN_USER_CLAIMS :: struct { | |
| UserClaims : PCLAIMS_BLOB, | |
| }; | |
| PTOKEN_USER_CLAIMS :: ^struct { | |
| UserClaims : PCLAIMS_BLOB, | |
| }; | |
| TOKEN_DEVICE_CLAIMS :: struct { | |
| DeviceClaims : PCLAIMS_BLOB, | |
| }; | |
| PTOKEN_DEVICE_CLAIMS :: ^struct { | |
| DeviceClaims : PCLAIMS_BLOB, | |
| }; | |
| TOKEN_GROUPS_AND_PRIVILEGES :: struct { | |
| SidCount : u32, | |
| SidLength : u32, | |
| Sids : PSID_AND_ATTRIBUTES, | |
| RestrictedSidCount : u32, | |
| RestrictedSidLength : u32, | |
| RestrictedSids : PSID_AND_ATTRIBUTES, | |
| PrivilegeCount : u32, | |
| PrivilegeLength : u32, | |
| Privileges : PLUID_AND_ATTRIBUTES, | |
| AuthenticationId : LUID, | |
| }; | |
| PTOKEN_GROUPS_AND_PRIVILEGES :: ^struct { | |
| SidCount : u32, | |
| SidLength : u32, | |
| Sids : PSID_AND_ATTRIBUTES, | |
| RestrictedSidCount : u32, | |
| RestrictedSidLength : u32, | |
| RestrictedSids : PSID_AND_ATTRIBUTES, | |
| PrivilegeCount : u32, | |
| PrivilegeLength : u32, | |
| Privileges : PLUID_AND_ATTRIBUTES, | |
| AuthenticationId : LUID, | |
| }; | |
| TOKEN_LINKED_TOKEN :: struct { | |
| LinkedToken : HANDLE, | |
| }; | |
| PTOKEN_LINKED_TOKEN :: ^struct { | |
| LinkedToken : HANDLE, | |
| }; | |
| TOKEN_ELEVATION :: struct { | |
| TokenIsElevated : u32, | |
| }; | |
| PTOKEN_ELEVATION :: ^struct { | |
| TokenIsElevated : u32, | |
| }; | |
| TOKEN_MANDATORY_LABEL :: struct { | |
| Label : SID_AND_ATTRIBUTES, | |
| }; | |
| PTOKEN_MANDATORY_LABEL :: ^struct { | |
| Label : SID_AND_ATTRIBUTES, | |
| }; | |
| TOKEN_MANDATORY_POLICY :: struct { | |
| Policy : u32, | |
| }; | |
| PTOKEN_MANDATORY_POLICY :: ^struct { | |
| Policy : u32, | |
| }; | |
| PSECURITY_ATTRIBUTES_OPAQUE :: PVOID; | |
| TOKEN_ACCESS_INFORMATION :: struct { | |
| SidHash : PSID_AND_ATTRIBUTES_HASH, | |
| RestrictedSidHash : PSID_AND_ATTRIBUTES_HASH, | |
| Privileges : PTOKEN_PRIVILEGES, | |
| AuthenticationId : LUID, | |
| TokenType : TOKEN_TYPE, | |
| ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL, | |
| MandatoryPolicy : TOKEN_MANDATORY_POLICY, | |
| Flags : u32, | |
| AppContainerNumber : u32, | |
| PackageSid : PSID, | |
| CapabilitiesHash : PSID_AND_ATTRIBUTES_HASH, | |
| TrustLevelSid : PSID, | |
| SecurityAttributes : PSECURITY_ATTRIBUTES_OPAQUE, | |
| }; | |
| PTOKEN_ACCESS_INFORMATION :: ^struct { | |
| SidHash : PSID_AND_ATTRIBUTES_HASH, | |
| RestrictedSidHash : PSID_AND_ATTRIBUTES_HASH, | |
| Privileges : PTOKEN_PRIVILEGES, | |
| AuthenticationId : LUID, | |
| TokenType : TOKEN_TYPE, | |
| ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL, | |
| MandatoryPolicy : TOKEN_MANDATORY_POLICY, | |
| Flags : u32, | |
| AppContainerNumber : u32, | |
| PackageSid : PSID, | |
| CapabilitiesHash : PSID_AND_ATTRIBUTES_HASH, | |
| TrustLevelSid : PSID, | |
| SecurityAttributes : PSECURITY_ATTRIBUTES_OPAQUE, | |
| }; | |
| TOKEN_AUDIT_POLICY :: struct { | |
| PerUserPolicy : [(((59)) >> 1) + 1]BYTE, | |
| }; | |
| PTOKEN_AUDIT_POLICY :: ^struct { | |
| PerUserPolicy : [(((59)) >> 1) + 1]BYTE, | |
| }; | |
| TOKEN_SOURCE :: struct { | |
| SourceName : [8]CHAR, | |
| SourceIdentifier : LUID, | |
| }; | |
| PTOKEN_SOURCE :: ^struct { | |
| SourceName : [8]CHAR, | |
| SourceIdentifier : LUID, | |
| }; | |
| TOKEN_STATISTICS :: struct { | |
| TokenId : LUID, | |
| AuthenticationId : LUID, | |
| ExpirationTime : LARGE_INTEGER, | |
| TokenType : TOKEN_TYPE, | |
| ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL, | |
| DynamicCharged : u32, | |
| DynamicAvailable : u32, | |
| GroupCount : u32, | |
| PrivilegeCount : u32, | |
| ModifiedId : LUID, | |
| }; | |
| PTOKEN_STATISTICS :: ^struct { | |
| TokenId : LUID, | |
| AuthenticationId : LUID, | |
| ExpirationTime : LARGE_INTEGER, | |
| TokenType : TOKEN_TYPE, | |
| ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL, | |
| DynamicCharged : u32, | |
| DynamicAvailable : u32, | |
| GroupCount : u32, | |
| PrivilegeCount : u32, | |
| ModifiedId : LUID, | |
| }; | |
| TOKEN_CONTROL :: struct { | |
| TokenId : LUID, | |
| AuthenticationId : LUID, | |
| ModifiedId : LUID, | |
| TokenSource : TOKEN_SOURCE, | |
| }; | |
| PTOKEN_CONTROL :: ^struct { | |
| TokenId : LUID, | |
| AuthenticationId : LUID, | |
| ModifiedId : LUID, | |
| TokenSource : TOKEN_SOURCE, | |
| }; | |
| TOKEN_ORIGIN :: struct { | |
| OriginatingLogonSession : LUID, | |
| }; | |
| PTOKEN_ORIGIN :: ^struct { | |
| OriginatingLogonSession : LUID, | |
| }; | |
| MANDATORY_LEVEL :: enum { | |
| MandatoryLevelUntrusted = 0, | |
| MandatoryLevelLow, | |
| MandatoryLevelMedium, | |
| MandatoryLevelHigh, | |
| MandatoryLevelSystem, | |
| MandatoryLevelSecureProcess, | |
| MandatoryLevelCount, | |
| }; | |
| PMANDATORY_LEVEL :: ^enum { | |
| MandatoryLevelUntrusted = 0, | |
| MandatoryLevelLow, | |
| MandatoryLevelMedium, | |
| MandatoryLevelHigh, | |
| MandatoryLevelSystem, | |
| MandatoryLevelSecureProcess, | |
| MandatoryLevelCount, | |
| }; | |
| TOKEN_APPCONTAINER_INFORMATION :: struct { | |
| TokenAppContainer : PSID, | |
| }; | |
| PTOKEN_APPCONTAINER_INFORMATION :: ^struct { | |
| TokenAppContainer : PSID, | |
| }; | |
| TOKEN_SID_INFORMATION :: struct { | |
| Sid : PSID, | |
| }; | |
| PTOKEN_SID_INFORMATION :: ^struct { | |
| Sid : PSID, | |
| }; | |
| TOKEN_BNO_ISOLATION_INFORMATION :: struct { | |
| IsolationPrefix : PWSTR, | |
| IsolationEnabled : BOOLEAN, | |
| }; | |
| PTOKEN_BNO_ISOLATION_INFORMATION :: ^struct { | |
| IsolationPrefix : PWSTR, | |
| IsolationEnabled : BOOLEAN, | |
| }; | |
| CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE :: struct { | |
| Version : DWORD64, | |
| Name : PWSTR, | |
| }; | |
| PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE :: ^struct { | |
| Version : DWORD64, | |
| Name : PWSTR, | |
| }; | |
| CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE :: struct { | |
| pValue : PVOID, | |
| ValueLength : u32, | |
| }; | |
| PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE :: ^struct { | |
| pValue : PVOID, | |
| ValueLength : u32, | |
| }; | |
| CLAIM_SECURITY_ATTRIBUTE_V1 :: struct { | |
| Name : PWSTR, | |
| ValueType : u16, | |
| Reserved : u16, | |
| Flags : u32, | |
| ValueCount : u32, | |
| Values : struct #raw_union { | |
| pInt64 : PLONG64, | |
| pUint64 : PDWORD64, | |
| ppString : ^PWSTR, | |
| pFqbn : PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE, | |
| pOctetString : PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE, | |
| }, | |
| }; | |
| PCLAIM_SECURITY_ATTRIBUTE_V1 :: ^struct { | |
| Name : PWSTR, | |
| ValueType : u16, | |
| Reserved : u16, | |
| Flags : u32, | |
| ValueCount : u32, | |
| Values : struct #raw_union { | |
| pInt64 : PLONG64, | |
| pUint64 : PDWORD64, | |
| ppString : ^PWSTR, | |
| pFqbn : PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE, | |
| pOctetString : PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE, | |
| }, | |
| }; | |
| CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 :: struct { | |
| Name : u32, | |
| ValueType : u16, | |
| Reserved : u16, | |
| Flags : u32, | |
| ValueCount : u32, | |
| Values : struct #raw_union { | |
| pInt64 : [1]u32, | |
| pUint64 : [1]u32, | |
| ppString : [1]u32, | |
| pFqbn : [1]u32, | |
| pOctetString : [1]u32, | |
| }, | |
| }; | |
| PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 :: ^struct { | |
| Name : u32, | |
| ValueType : u16, | |
| Reserved : u16, | |
| Flags : u32, | |
| ValueCount : u32, | |
| Values : struct #raw_union { | |
| pInt64 : [1]u32, | |
| pUint64 : [1]u32, | |
| ppString : [1]u32, | |
| pFqbn : [1]u32, | |
| pOctetString : [1]u32, | |
| }, | |
| }; | |
| CLAIM_SECURITY_ATTRIBUTES_INFORMATION :: struct { | |
| Version : u16, | |
| Reserved : u16, | |
| AttributeCount : u32, | |
| Attribute : struct #raw_union { | |
| pAttributeV1 : PCLAIM_SECURITY_ATTRIBUTE_V1, | |
| }, | |
| }; | |
| PCLAIM_SECURITY_ATTRIBUTES_INFORMATION :: ^struct { | |
| Version : u16, | |
| Reserved : u16, | |
| AttributeCount : u32, | |
| Attribute : struct #raw_union { | |
| pAttributeV1 : PCLAIM_SECURITY_ATTRIBUTE_V1, | |
| }, | |
| }; | |
| SECURITY_CONTEXT_TRACKING_MODE :: BOOLEAN; | |
| PSECURITY_CONTEXT_TRACKING_MODE :: ^BOOLEAN; | |
| SECURITY_QUALITY_OF_SERVICE :: struct { | |
| Length : u32, | |
| ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL, | |
| ContextTrackingMode : SECURITY_CONTEXT_TRACKING_MODE, | |
| EffectiveOnly : BOOLEAN, | |
| }; | |
| PSECURITY_QUALITY_OF_SERVICE :: ^struct { | |
| Length : u32, | |
| ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL, | |
| ContextTrackingMode : SECURITY_CONTEXT_TRACKING_MODE, | |
| EffectiveOnly : BOOLEAN, | |
| }; | |
| SE_IMPERSONATION_STATE :: struct { | |
| Token : PACCESS_TOKEN, | |
| CopyOnOpen : BOOLEAN, | |
| EffectiveOnly : BOOLEAN, | |
| Level : SECURITY_IMPERSONATION_LEVEL, | |
| }; | |
| PSE_IMPERSONATION_STATE :: ^struct { | |
| Token : PACCESS_TOKEN, | |
| CopyOnOpen : BOOLEAN, | |
| EffectiveOnly : BOOLEAN, | |
| Level : SECURITY_IMPERSONATION_LEVEL, | |
| }; | |
| SECURITY_INFORMATION :: u32; | |
| PSECURITY_INFORMATION :: ^u32; | |
| SE_SIGNING_LEVEL :: BYTE; | |
| PSE_SIGNING_LEVEL :: ^BYTE; | |
| SE_IMAGE_SIGNATURE_TYPE :: enum { | |
| SeImageSignatureNone = 0, | |
| SeImageSignatureEmbedded, | |
| SeImageSignatureCache, | |
| SeImageSignatureCatalogCached, | |
| SeImageSignatureCatalogNotCached, | |
| SeImageSignatureCatalogHint, | |
| SeImageSignaturePackageCatalog, | |
| }; | |
| PSE_IMAGE_SIGNATURE_TYPE :: ^enum { | |
| SeImageSignatureNone = 0, | |
| SeImageSignatureEmbedded, | |
| SeImageSignatureCache, | |
| SeImageSignatureCatalogCached, | |
| SeImageSignatureCatalogNotCached, | |
| SeImageSignatureCatalogHint, | |
| SeImageSignaturePackageCatalog, | |
| }; | |
| SE_LEARNING_MODE_DATA_TYPE :: enum { | |
| SeLearningModeInvalidType = 0, | |
| SeLearningModeSettings, | |
| SeLearningModeMax, | |
| }; | |
| SECURITY_CAPABILITIES :: struct { | |
| AppContainerSid : PSID, | |
| Capabilities : PSID_AND_ATTRIBUTES, | |
| CapabilityCount : u32, | |
| Reserved : u32, | |
| }; | |
| PSECURITY_CAPABILITIES :: ^struct { | |
| AppContainerSid : PSID, | |
| Capabilities : PSID_AND_ATTRIBUTES, | |
| CapabilityCount : u32, | |
| Reserved : u32, | |
| }; | |
| LPSECURITY_CAPABILITIES :: ^struct { | |
| AppContainerSid : PSID, | |
| Capabilities : PSID_AND_ATTRIBUTES, | |
| CapabilityCount : u32, | |
| Reserved : u32, | |
| }; | |
| JOB_SET_ARRAY :: struct { | |
| JobHandle : HANDLE, | |
| MemberLevel : u32, | |
| Flags : u32, | |
| }; | |
| PJOB_SET_ARRAY :: ^struct { | |
| JobHandle : HANDLE, | |
| MemberLevel : u32, | |
| Flags : u32, | |
| }; | |
| EXCEPTION_REGISTRATION_RECORD :: struct { | |
| Next : ^EXCEPTION_REGISTRATION_RECORD, | |
| Handler : PEXCEPTION_ROUTINE, | |
| }; | |
| PEXCEPTION_REGISTRATION_RECORD :: ^EXCEPTION_REGISTRATION_RECORD; | |
| NT_TIB :: struct { | |
| ExceptionList : ^EXCEPTION_REGISTRATION_RECORD, | |
| StackBase : PVOID, | |
| StackLimit : PVOID, | |
| SubSystemTib : PVOID, | |
| FiberData : PVOID, | |
| ArbitraryUserPointer : PVOID, | |
| Self : ^NT_TIB, | |
| }; | |
| PNT_TIB :: ^NT_TIB; | |
| NT_TIB32 :: struct { | |
| ExceptionList : u32, | |
| StackBase : u32, | |
| StackLimit : u32, | |
| SubSystemTib : u32, | |
| FiberData : u32, | |
| ArbitraryUserPointer : u32, | |
| Self : u32, | |
| }; | |
| PNT_TIB32 :: ^struct { | |
| ExceptionList : u32, | |
| StackBase : u32, | |
| StackLimit : u32, | |
| SubSystemTib : u32, | |
| FiberData : u32, | |
| ArbitraryUserPointer : u32, | |
| Self : u32, | |
| }; | |
| NT_TIB64 :: struct { | |
| ExceptionList : DWORD64, | |
| StackBase : DWORD64, | |
| StackLimit : DWORD64, | |
| SubSystemTib : DWORD64, | |
| FiberData : DWORD64, | |
| ArbitraryUserPointer : DWORD64, | |
| Self : DWORD64, | |
| }; | |
| PNT_TIB64 :: ^struct { | |
| ExceptionList : DWORD64, | |
| StackBase : DWORD64, | |
| StackLimit : DWORD64, | |
| SubSystemTib : DWORD64, | |
| FiberData : DWORD64, | |
| ArbitraryUserPointer : DWORD64, | |
| Self : DWORD64, | |
| }; | |
| UMS_CREATE_THREAD_ATTRIBUTES :: struct { | |
| UmsVersion : u32, | |
| UmsContext : PVOID, | |
| UmsCompletionList : PVOID, | |
| }; | |
| PUMS_CREATE_THREAD_ATTRIBUTES :: ^struct { | |
| UmsVersion : u32, | |
| UmsContext : PVOID, | |
| UmsCompletionList : PVOID, | |
| }; | |
| WOW64_ARCHITECTURE_INFORMATION :: struct { | |
| Machine : , | |
| KernelMode : , | |
| UserMode : , | |
| Native : , | |
| Process : , | |
| ReservedZero0 : , | |
| }; | |
| QUOTA_LIMITS :: struct { | |
| PagedPoolLimit : SIZE_T, | |
| NonPagedPoolLimit : SIZE_T, | |
| MinimumWorkingSetSize : SIZE_T, | |
| MaximumWorkingSetSize : SIZE_T, | |
| PagefileLimit : SIZE_T, | |
| TimeLimit : LARGE_INTEGER, | |
| }; | |
| PQUOTA_LIMITS :: ^struct { | |
| PagedPoolLimit : SIZE_T, | |
| NonPagedPoolLimit : SIZE_T, | |
| MinimumWorkingSetSize : SIZE_T, | |
| MaximumWorkingSetSize : SIZE_T, | |
| PagefileLimit : SIZE_T, | |
| TimeLimit : LARGE_INTEGER, | |
| }; | |
| RATE_QUOTA_LIMIT :: struct #raw_union { | |
| RateData : u32, | |
| s : struct { | |
| RatePercent : , | |
| Reserved0 : , | |
| }, | |
| }; | |
| PRATE_QUOTA_LIMIT :: ^struct #raw_union { | |
| RateData : u32, | |
| s : struct { | |
| RatePercent : , | |
| Reserved0 : , | |
| }, | |
| }; | |
| QUOTA_LIMITS_EX :: struct { | |
| PagedPoolLimit : SIZE_T, | |
| NonPagedPoolLimit : SIZE_T, | |
| MinimumWorkingSetSize : SIZE_T, | |
| MaximumWorkingSetSize : SIZE_T, | |
| PagefileLimit : SIZE_T, | |
| TimeLimit : LARGE_INTEGER, | |
| WorkingSetLimit : SIZE_T, | |
| Reserved2 : SIZE_T, | |
| Reserved3 : SIZE_T, | |
| Reserved4 : SIZE_T, | |
| Flags : u32, | |
| CpuRateLimit : RATE_QUOTA_LIMIT, | |
| }; | |
| PQUOTA_LIMITS_EX :: ^struct { | |
| PagedPoolLimit : SIZE_T, | |
| NonPagedPoolLimit : SIZE_T, | |
| MinimumWorkingSetSize : SIZE_T, | |
| MaximumWorkingSetSize : SIZE_T, | |
| PagefileLimit : SIZE_T, | |
| TimeLimit : LARGE_INTEGER, | |
| WorkingSetLimit : SIZE_T, | |
| Reserved2 : SIZE_T, | |
| Reserved3 : SIZE_T, | |
| Reserved4 : SIZE_T, | |
| Flags : u32, | |
| CpuRateLimit : RATE_QUOTA_LIMIT, | |
| }; | |
| IO_COUNTERS :: struct { | |
| ReadOperationCount : ULONGLONG, | |
| WriteOperationCount : ULONGLONG, | |
| OtherOperationCount : ULONGLONG, | |
| ReadTransferCount : ULONGLONG, | |
| WriteTransferCount : ULONGLONG, | |
| OtherTransferCount : ULONGLONG, | |
| }; | |
| PIO_COUNTERS :: ^IO_COUNTERS; | |
| HARDWARE_COUNTER_TYPE :: enum { | |
| PMCCounter, | |
| MaxHardwareCounterType, | |
| }; | |
| PHARDWARE_COUNTER_TYPE :: ^enum { | |
| PMCCounter, | |
| MaxHardwareCounterType, | |
| }; | |
| PROCESS_MITIGATION_POLICY :: enum { | |
| ProcessDEPPolicy, | |
| ProcessASLRPolicy, | |
| ProcessDynamicCodePolicy, | |
| ProcessStrictHandleCheckPolicy, | |
| ProcessSystemCallDisablePolicy, | |
| ProcessMitigationOptionsMask, | |
| ProcessExtensionPointDisablePolicy, | |
| ProcessControlFlowGuardPolicy, | |
| ProcessSignaturePolicy, | |
| ProcessFontDisablePolicy, | |
| ProcessImageLoadPolicy, | |
| ProcessSystemCallFilterPolicy, | |
| ProcessPayloadRestrictionPolicy, | |
| ProcessChildProcessPolicy, | |
| ProcessSideChannelIsolationPolicy, | |
| MaxProcessMitigationPolicy, | |
| }; | |
| PPROCESS_MITIGATION_POLICY :: ^enum { | |
| ProcessDEPPolicy, | |
| ProcessASLRPolicy, | |
| ProcessDynamicCodePolicy, | |
| ProcessStrictHandleCheckPolicy, | |
| ProcessSystemCallDisablePolicy, | |
| ProcessMitigationOptionsMask, | |
| ProcessExtensionPointDisablePolicy, | |
| ProcessControlFlowGuardPolicy, | |
| ProcessSignaturePolicy, | |
| ProcessFontDisablePolicy, | |
| ProcessImageLoadPolicy, | |
| ProcessSystemCallFilterPolicy, | |
| ProcessPayloadRestrictionPolicy, | |
| ProcessChildProcessPolicy, | |
| ProcessSideChannelIsolationPolicy, | |
| MaxProcessMitigationPolicy, | |
| }; | |
| PROCESS_MITIGATION_ASLR_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| EnableBottomUpRandomization : , | |
| EnableForceRelocateImages : , | |
| EnableHighEntropy : , | |
| DisallowStrippedImages : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_ASLR_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| EnableBottomUpRandomization : , | |
| EnableForceRelocateImages : , | |
| EnableHighEntropy : , | |
| DisallowStrippedImages : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_DEP_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| Enable : , | |
| DisableAtlThunkEmulation : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| Permanent : BOOLEAN, | |
| }; | |
| PPROCESS_MITIGATION_DEP_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| Enable : , | |
| DisableAtlThunkEmulation : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| Permanent : BOOLEAN, | |
| }; | |
| PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| RaiseExceptionOnInvalidHandleReference : , | |
| HandleExceptionsPermanentlyEnabled : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| RaiseExceptionOnInvalidHandleReference : , | |
| HandleExceptionsPermanentlyEnabled : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| DisallowWin32kSystemCalls : , | |
| AuditDisallowWin32kSystemCalls : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| DisallowWin32kSystemCalls : , | |
| AuditDisallowWin32kSystemCalls : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| DisableExtensionPoints : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| DisableExtensionPoints : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_DYNAMIC_CODE_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| ProhibitDynamicCode : , | |
| AllowThreadOptOut : , | |
| AllowRemoteDowngrade : , | |
| AuditProhibitDynamicCode : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| ProhibitDynamicCode : , | |
| AllowThreadOptOut : , | |
| AllowRemoteDowngrade : , | |
| AuditProhibitDynamicCode : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| EnableControlFlowGuard : , | |
| EnableExportSuppression : , | |
| StrictMode : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| EnableControlFlowGuard : , | |
| EnableExportSuppression : , | |
| StrictMode : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| MicrosoftSignedOnly : , | |
| StoreSignedOnly : , | |
| MitigationOptIn : , | |
| AuditMicrosoftSignedOnly : , | |
| AuditStoreSignedOnly : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| MicrosoftSignedOnly : , | |
| StoreSignedOnly : , | |
| MitigationOptIn : , | |
| AuditMicrosoftSignedOnly : , | |
| AuditStoreSignedOnly : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_FONT_DISABLE_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| DisableNonSystemFonts : , | |
| AuditNonSystemFontLoading : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_FONT_DISABLE_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| DisableNonSystemFonts : , | |
| AuditNonSystemFontLoading : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_IMAGE_LOAD_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| NoRemoteImages : , | |
| NoLowMandatoryLabelImages : , | |
| PreferSystem32Images : , | |
| AuditNoRemoteImages : , | |
| AuditNoLowMandatoryLabelImages : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_IMAGE_LOAD_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| NoRemoteImages : , | |
| NoLowMandatoryLabelImages : , | |
| PreferSystem32Images : , | |
| AuditNoRemoteImages : , | |
| AuditNoLowMandatoryLabelImages : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| FilterId : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| FilterId : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| EnableExportAddressFilter : , | |
| AuditExportAddressFilter : , | |
| EnableExportAddressFilterPlus : , | |
| AuditExportAddressFilterPlus : , | |
| EnableImportAddressFilter : , | |
| AuditImportAddressFilter : , | |
| EnableRopStackPivot : , | |
| AuditRopStackPivot : , | |
| EnableRopCallerCheck : , | |
| AuditRopCallerCheck : , | |
| EnableRopSimExec : , | |
| AuditRopSimExec : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| EnableExportAddressFilter : , | |
| AuditExportAddressFilter : , | |
| EnableExportAddressFilterPlus : , | |
| AuditExportAddressFilterPlus : , | |
| EnableImportAddressFilter : , | |
| AuditImportAddressFilter : , | |
| EnableRopStackPivot : , | |
| AuditRopStackPivot : , | |
| EnableRopCallerCheck : , | |
| AuditRopCallerCheck : , | |
| EnableRopSimExec : , | |
| AuditRopSimExec : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_CHILD_PROCESS_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| NoChildProcessCreation : , | |
| AuditNoChildProcessCreation : , | |
| AllowSecureProcessCreation : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_CHILD_PROCESS_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| NoChildProcessCreation : , | |
| AuditNoChildProcessCreation : , | |
| AllowSecureProcessCreation : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY :: struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| SmtBranchTargetIsolation : , | |
| IsolateSecurityDomain : , | |
| DisablePageCombine : , | |
| SpeculativeStoreBypassDisable : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| PPROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY :: ^struct { | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| SmtBranchTargetIsolation : , | |
| IsolateSecurityDomain : , | |
| DisablePageCombine : , | |
| SpeculativeStoreBypassDisable : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| }; | |
| JOBOBJECT_BASIC_ACCOUNTING_INFORMATION :: struct { | |
| TotalUserTime : LARGE_INTEGER, | |
| TotalKernelTime : LARGE_INTEGER, | |
| ThisPeriodTotalUserTime : LARGE_INTEGER, | |
| ThisPeriodTotalKernelTime : LARGE_INTEGER, | |
| TotalPageFaultCount : u32, | |
| TotalProcesses : u32, | |
| ActiveProcesses : u32, | |
| TotalTerminatedProcesses : u32, | |
| }; | |
| PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION :: ^struct { | |
| TotalUserTime : LARGE_INTEGER, | |
| TotalKernelTime : LARGE_INTEGER, | |
| ThisPeriodTotalUserTime : LARGE_INTEGER, | |
| ThisPeriodTotalKernelTime : LARGE_INTEGER, | |
| TotalPageFaultCount : u32, | |
| TotalProcesses : u32, | |
| ActiveProcesses : u32, | |
| TotalTerminatedProcesses : u32, | |
| }; | |
| JOBOBJECT_BASIC_LIMIT_INFORMATION :: struct { | |
| PerProcessUserTimeLimit : LARGE_INTEGER, | |
| PerJobUserTimeLimit : LARGE_INTEGER, | |
| LimitFlags : u32, | |
| MinimumWorkingSetSize : SIZE_T, | |
| MaximumWorkingSetSize : SIZE_T, | |
| ActiveProcessLimit : u32, | |
| Affinity : ULONG_PTR, | |
| PriorityClass : u32, | |
| SchedulingClass : u32, | |
| }; | |
| PJOBOBJECT_BASIC_LIMIT_INFORMATION :: ^struct { | |
| PerProcessUserTimeLimit : LARGE_INTEGER, | |
| PerJobUserTimeLimit : LARGE_INTEGER, | |
| LimitFlags : u32, | |
| MinimumWorkingSetSize : SIZE_T, | |
| MaximumWorkingSetSize : SIZE_T, | |
| ActiveProcessLimit : u32, | |
| Affinity : ULONG_PTR, | |
| PriorityClass : u32, | |
| SchedulingClass : u32, | |
| }; | |
| JOBOBJECT_EXTENDED_LIMIT_INFORMATION :: struct { | |
| BasicLimitInformation : JOBOBJECT_BASIC_LIMIT_INFORMATION, | |
| IoInfo : IO_COUNTERS, | |
| ProcessMemoryLimit : SIZE_T, | |
| JobMemoryLimit : SIZE_T, | |
| PeakProcessMemoryUsed : SIZE_T, | |
| PeakJobMemoryUsed : SIZE_T, | |
| }; | |
| PJOBOBJECT_EXTENDED_LIMIT_INFORMATION :: ^struct { | |
| BasicLimitInformation : JOBOBJECT_BASIC_LIMIT_INFORMATION, | |
| IoInfo : IO_COUNTERS, | |
| ProcessMemoryLimit : SIZE_T, | |
| JobMemoryLimit : SIZE_T, | |
| PeakProcessMemoryUsed : SIZE_T, | |
| PeakJobMemoryUsed : SIZE_T, | |
| }; | |
| JOBOBJECT_BASIC_PROCESS_ID_LIST :: struct { | |
| NumberOfAssignedProcesses : u32, | |
| NumberOfProcessIdsInList : u32, | |
| ProcessIdList : [1]ULONG_PTR, | |
| }; | |
| PJOBOBJECT_BASIC_PROCESS_ID_LIST :: ^struct { | |
| NumberOfAssignedProcesses : u32, | |
| NumberOfProcessIdsInList : u32, | |
| ProcessIdList : [1]ULONG_PTR, | |
| }; | |
| JOBOBJECT_BASIC_UI_RESTRICTIONS :: struct { | |
| UIRestrictionsClass : u32, | |
| }; | |
| PJOBOBJECT_BASIC_UI_RESTRICTIONS :: ^struct { | |
| UIRestrictionsClass : u32, | |
| }; | |
| JOBOBJECT_SECURITY_LIMIT_INFORMATION :: struct { | |
| SecurityLimitFlags : u32, | |
| JobToken : HANDLE, | |
| SidsToDisable : PTOKEN_GROUPS, | |
| PrivilegesToDelete : PTOKEN_PRIVILEGES, | |
| RestrictedSids : PTOKEN_GROUPS, | |
| }; | |
| PJOBOBJECT_SECURITY_LIMIT_INFORMATION :: ^struct { | |
| SecurityLimitFlags : u32, | |
| JobToken : HANDLE, | |
| SidsToDisable : PTOKEN_GROUPS, | |
| PrivilegesToDelete : PTOKEN_PRIVILEGES, | |
| RestrictedSids : PTOKEN_GROUPS, | |
| }; | |
| JOBOBJECT_END_OF_JOB_TIME_INFORMATION :: struct { | |
| EndOfJobTimeAction : u32, | |
| }; | |
| PJOBOBJECT_END_OF_JOB_TIME_INFORMATION :: ^struct { | |
| EndOfJobTimeAction : u32, | |
| }; | |
| JOBOBJECT_ASSOCIATE_COMPLETION_PORT :: struct { | |
| CompletionKey : PVOID, | |
| CompletionPort : HANDLE, | |
| }; | |
| PJOBOBJECT_ASSOCIATE_COMPLETION_PORT :: ^struct { | |
| CompletionKey : PVOID, | |
| CompletionPort : HANDLE, | |
| }; | |
| JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION :: struct { | |
| BasicInfo : JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, | |
| IoInfo : IO_COUNTERS, | |
| }; | |
| PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION :: ^struct { | |
| BasicInfo : JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, | |
| IoInfo : IO_COUNTERS, | |
| }; | |
| JOBOBJECT_JOBSET_INFORMATION :: struct { | |
| MemberLevel : u32, | |
| }; | |
| PJOBOBJECT_JOBSET_INFORMATION :: ^struct { | |
| MemberLevel : u32, | |
| }; | |
| JOBOBJECT_RATE_CONTROL_TOLERANCE :: enum { | |
| ToleranceLow = 1, | |
| ToleranceMedium, | |
| ToleranceHigh, | |
| }; | |
| PJOBOBJECT_RATE_CONTROL_TOLERANCE :: ^enum { | |
| ToleranceLow = 1, | |
| ToleranceMedium, | |
| ToleranceHigh, | |
| }; | |
| JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL :: enum { | |
| ToleranceIntervalShort = 1, | |
| ToleranceIntervalMedium, | |
| ToleranceIntervalLong, | |
| }; | |
| PJOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL :: ^enum { | |
| ToleranceIntervalShort = 1, | |
| ToleranceIntervalMedium, | |
| ToleranceIntervalLong, | |
| }; | |
| JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION :: struct { | |
| IoReadBytesLimit : DWORD64, | |
| IoWriteBytesLimit : DWORD64, | |
| PerJobUserTimeLimit : LARGE_INTEGER, | |
| JobMemoryLimit : DWORD64, | |
| RateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| RateControlToleranceInterval : JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, | |
| LimitFlags : u32, | |
| }; | |
| PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION :: ^struct { | |
| IoReadBytesLimit : DWORD64, | |
| IoWriteBytesLimit : DWORD64, | |
| PerJobUserTimeLimit : LARGE_INTEGER, | |
| JobMemoryLimit : DWORD64, | |
| RateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| RateControlToleranceInterval : JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, | |
| LimitFlags : u32, | |
| }; | |
| JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 :: struct { | |
| IoReadBytesLimit : DWORD64, | |
| IoWriteBytesLimit : DWORD64, | |
| PerJobUserTimeLimit : LARGE_INTEGER, | |
| u : struct #raw_union { | |
| JobHighMemoryLimit : DWORD64, | |
| JobMemoryLimit : DWORD64, | |
| }, | |
| u2 : struct #raw_union { | |
| RateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| CpuRateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| }, | |
| u3 : struct #raw_union { | |
| RateControlToleranceInterval : JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, | |
| CpuRateControlToleranceInterval : JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, | |
| }, | |
| LimitFlags : u32, | |
| IoRateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| JobLowMemoryLimit : DWORD64, | |
| IoRateControlToleranceInterval : JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, | |
| NetRateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| NetRateControlToleranceInterval : JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, | |
| }; | |
| JOBOBJECT_LIMIT_VIOLATION_INFORMATION :: struct { | |
| LimitFlags : u32, | |
| ViolationLimitFlags : u32, | |
| IoReadBytes : DWORD64, | |
| IoReadBytesLimit : DWORD64, | |
| IoWriteBytes : DWORD64, | |
| IoWriteBytesLimit : DWORD64, | |
| PerJobUserTime : LARGE_INTEGER, | |
| PerJobUserTimeLimit : LARGE_INTEGER, | |
| JobMemory : DWORD64, | |
| JobMemoryLimit : DWORD64, | |
| RateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| RateControlToleranceLimit : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| }; | |
| PJOBOBJECT_LIMIT_VIOLATION_INFORMATION :: ^struct { | |
| LimitFlags : u32, | |
| ViolationLimitFlags : u32, | |
| IoReadBytes : DWORD64, | |
| IoReadBytesLimit : DWORD64, | |
| IoWriteBytes : DWORD64, | |
| IoWriteBytesLimit : DWORD64, | |
| PerJobUserTime : LARGE_INTEGER, | |
| PerJobUserTimeLimit : LARGE_INTEGER, | |
| JobMemory : DWORD64, | |
| JobMemoryLimit : DWORD64, | |
| RateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| RateControlToleranceLimit : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| }; | |
| JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 :: struct { | |
| LimitFlags : u32, | |
| ViolationLimitFlags : u32, | |
| IoReadBytes : DWORD64, | |
| IoReadBytesLimit : DWORD64, | |
| IoWriteBytes : DWORD64, | |
| IoWriteBytesLimit : DWORD64, | |
| PerJobUserTime : LARGE_INTEGER, | |
| PerJobUserTimeLimit : LARGE_INTEGER, | |
| JobMemory : DWORD64, | |
| u : struct #raw_union { | |
| JobHighMemoryLimit : DWORD64, | |
| JobMemoryLimit : DWORD64, | |
| }, | |
| u2 : struct #raw_union { | |
| RateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| CpuRateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| }, | |
| u3 : struct #raw_union { | |
| RateControlToleranceLimit : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| CpuRateControlToleranceLimit : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| }, | |
| JobLowMemoryLimit : DWORD64, | |
| IoRateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| IoRateControlToleranceLimit : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| NetRateControlTolerance : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| NetRateControlToleranceLimit : JOBOBJECT_RATE_CONTROL_TOLERANCE, | |
| }; | |
| JOBOBJECT_CPU_RATE_CONTROL_INFORMATION :: struct { | |
| ControlFlags : u32, | |
| u : struct #raw_union { | |
| CpuRate : u32, | |
| Weight : u32, | |
| s : struct { | |
| MinRate : u16, | |
| MaxRate : u16, | |
| }, | |
| }, | |
| }; | |
| PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION :: ^struct { | |
| ControlFlags : u32, | |
| u : struct #raw_union { | |
| CpuRate : u32, | |
| Weight : u32, | |
| s : struct { | |
| MinRate : u16, | |
| MaxRate : u16, | |
| }, | |
| }, | |
| }; | |
| JOB_OBJECT_NET_RATE_CONTROL_FLAGS :: enum { | |
| JOB_OBJECT_NET_RATE_CONTROL_ENABLE = 0x1, | |
| JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH = 0x2, | |
| JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG = 0x4, | |
| JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS = 0x7, | |
| }; | |
| __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]u8; | |
| JOBOBJECT_NET_RATE_CONTROL_INFORMATION :: struct { | |
| MaxBandwidth : DWORD64, | |
| ControlFlags : JOB_OBJECT_NET_RATE_CONTROL_FLAGS, | |
| DscpTag : BYTE, | |
| }; | |
| JOB_OBJECT_IO_RATE_CONTROL_FLAGS :: enum { | |
| JOB_OBJECT_IO_RATE_CONTROL_ENABLE = 0x1, | |
| JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME = 0x2, | |
| JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL = 0x4, | |
| JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP = 0x8, | |
| JOB_OBJECT_IO_RATE_CONTROL_VALID_FLAGS = JOB_OBJECT_IO_RATE_CONTROL_ENABLE | JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME | JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL | JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP, | |
| }; | |
| JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE :: struct { | |
| MaxIops : LONG64, | |
| MaxBandwidth : LONG64, | |
| ReservationIops : LONG64, | |
| VolumeName : PWSTR, | |
| BaseIoSize : u32, | |
| ControlFlags : JOB_OBJECT_IO_RATE_CONTROL_FLAGS, | |
| VolumeNameLength : u16, | |
| }; | |
| JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V1 :: JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE; | |
| JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 :: struct { | |
| MaxIops : LONG64, | |
| MaxBandwidth : LONG64, | |
| ReservationIops : LONG64, | |
| VolumeName : PWSTR, | |
| BaseIoSize : u32, | |
| ControlFlags : JOB_OBJECT_IO_RATE_CONTROL_FLAGS, | |
| VolumeNameLength : u16, | |
| CriticalReservationIops : LONG64, | |
| ReservationBandwidth : LONG64, | |
| CriticalReservationBandwidth : LONG64, | |
| MaxTimePercent : LONG64, | |
| ReservationTimePercent : LONG64, | |
| CriticalReservationTimePercent : LONG64, | |
| }; | |
| JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 :: struct { | |
| MaxIops : LONG64, | |
| MaxBandwidth : LONG64, | |
| ReservationIops : LONG64, | |
| VolumeName : PWSTR, | |
| BaseIoSize : u32, | |
| ControlFlags : JOB_OBJECT_IO_RATE_CONTROL_FLAGS, | |
| VolumeNameLength : u16, | |
| CriticalReservationIops : LONG64, | |
| ReservationBandwidth : LONG64, | |
| CriticalReservationBandwidth : LONG64, | |
| MaxTimePercent : LONG64, | |
| ReservationTimePercent : LONG64, | |
| CriticalReservationTimePercent : LONG64, | |
| SoftMaxIops : LONG64, | |
| SoftMaxBandwidth : LONG64, | |
| SoftMaxTimePercent : LONG64, | |
| LimitExcessNotifyIops : LONG64, | |
| LimitExcessNotifyBandwidth : LONG64, | |
| LimitExcessNotifyTimePercent : LONG64, | |
| }; | |
| JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS :: enum { | |
| JOBOBJECT_IO_ATTRIBUTION_CONTROL_ENABLE = 0x1, | |
| JOBOBJECT_IO_ATTRIBUTION_CONTROL_DISABLE = 0x2, | |
| JOBOBJECT_IO_ATTRIBUTION_CONTROL_VALID_FLAGS = 0x3, | |
| }; | |
| JOBOBJECT_IO_ATTRIBUTION_STATS :: struct { | |
| IoCount : ULONG_PTR, | |
| TotalNonOverlappedQueueTime : ULONGLONG, | |
| TotalNonOverlappedServiceTime : ULONGLONG, | |
| TotalSize : ULONGLONG, | |
| }; | |
| PJOBOBJECT_IO_ATTRIBUTION_STATS :: ^struct { | |
| IoCount : ULONG_PTR, | |
| TotalNonOverlappedQueueTime : ULONGLONG, | |
| TotalNonOverlappedServiceTime : ULONGLONG, | |
| TotalSize : ULONGLONG, | |
| }; | |
| JOBOBJECT_IO_ATTRIBUTION_INFORMATION :: struct { | |
| ControlFlags : u32, | |
| ReadStats : JOBOBJECT_IO_ATTRIBUTION_STATS, | |
| WriteStats : JOBOBJECT_IO_ATTRIBUTION_STATS, | |
| }; | |
| PJOBOBJECT_IO_ATTRIBUTION_INFORMATION :: ^struct { | |
| ControlFlags : u32, | |
| ReadStats : JOBOBJECT_IO_ATTRIBUTION_STATS, | |
| WriteStats : JOBOBJECT_IO_ATTRIBUTION_STATS, | |
| }; | |
| JOBOBJECTINFOCLASS :: enum { | |
| JobObjectBasicAccountingInformation = 1, | |
| JobObjectBasicLimitInformation, | |
| JobObjectBasicProcessIdList, | |
| JobObjectBasicUIRestrictions, | |
| JobObjectSecurityLimitInformation, | |
| JobObjectEndOfJobTimeInformation, | |
| JobObjectAssociateCompletionPortInformation, | |
| JobObjectBasicAndIoAccountingInformation, | |
| JobObjectExtendedLimitInformation, | |
| JobObjectJobSetInformation, | |
| JobObjectGroupInformation, | |
| JobObjectNotificationLimitInformation, | |
| JobObjectLimitViolationInformation, | |
| JobObjectGroupInformationEx, | |
| JobObjectCpuRateControlInformation, | |
| JobObjectCompletionFilter, | |
| JobObjectCompletionCounter, | |
| JobObjectReserved1Information = 18, | |
| JobObjectReserved2Information, | |
| JobObjectReserved3Information, | |
| JobObjectReserved4Information, | |
| JobObjectReserved5Information, | |
| JobObjectReserved6Information, | |
| JobObjectReserved7Information, | |
| JobObjectReserved8Information, | |
| JobObjectReserved9Information, | |
| JobObjectReserved10Information, | |
| JobObjectReserved11Information, | |
| JobObjectReserved12Information, | |
| JobObjectReserved13Information, | |
| JobObjectReserved14Information = 31, | |
| JobObjectNetRateControlInformation, | |
| JobObjectNotificationLimitInformation2, | |
| JobObjectLimitViolationInformation2, | |
| JobObjectCreateSilo, | |
| JobObjectSiloBasicInformation, | |
| JobObjectReserved15Information = 37, | |
| JobObjectReserved16Information = 38, | |
| JobObjectReserved17Information = 39, | |
| JobObjectReserved18Information = 40, | |
| JobObjectReserved19Information = 41, | |
| JobObjectReserved20Information = 42, | |
| JobObjectReserved21Information = 43, | |
| JobObjectReserved22Information = 44, | |
| JobObjectReserved23Information = 45, | |
| JobObjectReserved24Information = 46, | |
| JobObjectReserved25Information = 47, | |
| MaxJobObjectInfoClass, | |
| }; | |
| SILOOBJECT_BASIC_INFORMATION :: struct { | |
| SiloId : u32, | |
| SiloParentId : u32, | |
| NumberOfProcesses : u32, | |
| IsInServerSilo : BOOLEAN, | |
| Reserved : [3]BYTE, | |
| }; | |
| PSILOOBJECT_BASIC_INFORMATION :: ^struct { | |
| SiloId : u32, | |
| SiloParentId : u32, | |
| NumberOfProcesses : u32, | |
| IsInServerSilo : BOOLEAN, | |
| Reserved : [3]BYTE, | |
| }; | |
| SERVERSILO_STATE :: enum { | |
| SERVERSILO_INITING = 0, | |
| SERVERSILO_STARTED, | |
| SERVERSILO_SHUTTING_DOWN, | |
| SERVERSILO_TERMINATING, | |
| SERVERSILO_TERMINATED, | |
| }; | |
| PSERVERSILO_STATE :: ^enum { | |
| SERVERSILO_INITING = 0, | |
| SERVERSILO_STARTED, | |
| SERVERSILO_SHUTTING_DOWN, | |
| SERVERSILO_TERMINATING, | |
| SERVERSILO_TERMINATED, | |
| }; | |
| SERVERSILO_BASIC_INFORMATION :: struct { | |
| ServiceSessionId : u32, | |
| State : SERVERSILO_STATE, | |
| ExitStatus : u32, | |
| }; | |
| PSERVERSILO_BASIC_INFORMATION :: ^struct { | |
| ServiceSessionId : u32, | |
| State : SERVERSILO_STATE, | |
| ExitStatus : u32, | |
| }; | |
| FIRMWARE_TYPE :: enum { | |
| FirmwareTypeUnknown, | |
| FirmwareTypeBios, | |
| FirmwareTypeUefi, | |
| FirmwareTypeMax, | |
| }; | |
| PFIRMWARE_TYPE :: ^enum { | |
| FirmwareTypeUnknown, | |
| FirmwareTypeBios, | |
| FirmwareTypeUefi, | |
| FirmwareTypeMax, | |
| }; | |
| LOGICAL_PROCESSOR_RELATIONSHIP :: enum { | |
| RelationProcessorCore, | |
| RelationNumaNode, | |
| RelationCache, | |
| RelationProcessorPackage, | |
| RelationGroup, | |
| RelationAll = 0xffff, | |
| }; | |
| PROCESSOR_CACHE_TYPE :: enum { | |
| CacheUnified, | |
| CacheInstruction, | |
| CacheData, | |
| CacheTrace, | |
| }; | |
| CACHE_DESCRIPTOR :: struct { | |
| Level : BYTE, | |
| Associativity : BYTE, | |
| LineSize : u16, | |
| Size : u32, | |
| Type : PROCESSOR_CACHE_TYPE, | |
| }; | |
| PCACHE_DESCRIPTOR :: ^struct { | |
| Level : BYTE, | |
| Associativity : BYTE, | |
| LineSize : u16, | |
| Size : u32, | |
| Type : PROCESSOR_CACHE_TYPE, | |
| }; | |
| SYSTEM_LOGICAL_PROCESSOR_INFORMATION :: struct { | |
| ProcessorMask : ULONG_PTR, | |
| Relationship : LOGICAL_PROCESSOR_RELATIONSHIP, | |
| u : struct #raw_union { | |
| ProcessorCore : struct { | |
| Flags : BYTE, | |
| }, | |
| NumaNode : struct { | |
| NodeNumber : u32, | |
| }, | |
| Cache : CACHE_DESCRIPTOR, | |
| Reserved : [2]ULONGLONG, | |
| }, | |
| }; | |
| PSYSTEM_LOGICAL_PROCESSOR_INFORMATION :: ^struct { | |
| ProcessorMask : ULONG_PTR, | |
| Relationship : LOGICAL_PROCESSOR_RELATIONSHIP, | |
| u : struct #raw_union { | |
| ProcessorCore : struct { | |
| Flags : BYTE, | |
| }, | |
| NumaNode : struct { | |
| NodeNumber : u32, | |
| }, | |
| Cache : CACHE_DESCRIPTOR, | |
| Reserved : [2]ULONGLONG, | |
| }, | |
| }; | |
| PROCESSOR_RELATIONSHIP :: struct { | |
| Flags : BYTE, | |
| EfficiencyClass : BYTE, | |
| Reserved : [20]BYTE, | |
| GroupCount : u16, | |
| GroupMask : [1]GROUP_AFFINITY, | |
| }; | |
| PPROCESSOR_RELATIONSHIP :: ^struct { | |
| Flags : BYTE, | |
| EfficiencyClass : BYTE, | |
| Reserved : [20]BYTE, | |
| GroupCount : u16, | |
| GroupMask : [1]GROUP_AFFINITY, | |
| }; | |
| NUMA_NODE_RELATIONSHIP :: struct { | |
| NodeNumber : u32, | |
| Reserved : [20]BYTE, | |
| GroupMask : GROUP_AFFINITY, | |
| }; | |
| PNUMA_NODE_RELATIONSHIP :: ^struct { | |
| NodeNumber : u32, | |
| Reserved : [20]BYTE, | |
| GroupMask : GROUP_AFFINITY, | |
| }; | |
| CACHE_RELATIONSHIP :: struct { | |
| Level : BYTE, | |
| Associativity : BYTE, | |
| LineSize : u16, | |
| CacheSize : u32, | |
| Type : PROCESSOR_CACHE_TYPE, | |
| Reserved : [20]BYTE, | |
| GroupMask : GROUP_AFFINITY, | |
| }; | |
| PCACHE_RELATIONSHIP :: ^struct { | |
| Level : BYTE, | |
| Associativity : BYTE, | |
| LineSize : u16, | |
| CacheSize : u32, | |
| Type : PROCESSOR_CACHE_TYPE, | |
| Reserved : [20]BYTE, | |
| GroupMask : GROUP_AFFINITY, | |
| }; | |
| PROCESSOR_GROUP_INFO :: struct { | |
| MaximumProcessorCount : BYTE, | |
| ActiveProcessorCount : BYTE, | |
| Reserved : [38]BYTE, | |
| ActiveProcessorMask : KAFFINITY, | |
| }; | |
| PPROCESSOR_GROUP_INFO :: ^struct { | |
| MaximumProcessorCount : BYTE, | |
| ActiveProcessorCount : BYTE, | |
| Reserved : [38]BYTE, | |
| ActiveProcessorMask : KAFFINITY, | |
| }; | |
| GROUP_RELATIONSHIP :: struct { | |
| MaximumGroupCount : u16, | |
| ActiveGroupCount : u16, | |
| Reserved : [20]BYTE, | |
| GroupInfo : [1]PROCESSOR_GROUP_INFO, | |
| }; | |
| PGROUP_RELATIONSHIP :: ^struct { | |
| MaximumGroupCount : u16, | |
| ActiveGroupCount : u16, | |
| Reserved : [20]BYTE, | |
| GroupInfo : [1]PROCESSOR_GROUP_INFO, | |
| }; | |
| SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX :: struct { | |
| Relationship : LOGICAL_PROCESSOR_RELATIONSHIP, | |
| Size : u32, | |
| u : struct #raw_union { | |
| Processor : PROCESSOR_RELATIONSHIP, | |
| NumaNode : NUMA_NODE_RELATIONSHIP, | |
| Cache : CACHE_RELATIONSHIP, | |
| Group : GROUP_RELATIONSHIP, | |
| }, | |
| }; | |
| SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX :: struct {}; | |
| PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX :: ^SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX; | |
| CPU_SET_INFORMATION_TYPE :: enum { | |
| CpuSetInformation, | |
| }; | |
| PCPU_SET_INFORMATION_TYPE :: ^enum { | |
| CpuSetInformation, | |
| }; | |
| SYSTEM_CPU_SET_INFORMATION :: struct { | |
| Size : u32, | |
| Type : CPU_SET_INFORMATION_TYPE, | |
| u : struct #raw_union { | |
| CpuSet : struct { | |
| Id : u32, | |
| Group : u16, | |
| LogicalProcessorIndex : BYTE, | |
| CoreIndex : BYTE, | |
| LastLevelCacheIndex : BYTE, | |
| NumaNodeIndex : BYTE, | |
| EfficiencyClass : BYTE, | |
| u2 : struct #raw_union { | |
| AllFlags : BYTE, | |
| s : struct { | |
| Parked : , | |
| Allocated : , | |
| AllocatedToTargetProcess : , | |
| RealTime : , | |
| ReservedFlags : , | |
| }, | |
| }, | |
| using _ : struct #raw_union { | |
| Reserved : u32, | |
| SchedulingClass : BYTE, | |
| }, | |
| AllocationTag : DWORD64, | |
| }, | |
| }, | |
| }; | |
| SYSTEM_CPU_SET_INFORMATION :: struct {}; | |
| PSYSTEM_CPU_SET_INFORMATION :: ^SYSTEM_CPU_SET_INFORMATION; | |
| SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION :: struct { | |
| CycleTime : DWORD64, | |
| }; | |
| PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION :: ^struct { | |
| CycleTime : DWORD64, | |
| }; | |
| XSTATE_FEATURE :: struct { | |
| Offset : u32, | |
| Size : u32, | |
| }; | |
| PXSTATE_FEATURE :: ^struct { | |
| Offset : u32, | |
| Size : u32, | |
| }; | |
| XSTATE_CONFIGURATION :: struct { | |
| EnabledFeatures : DWORD64, | |
| EnabledVolatileFeatures : DWORD64, | |
| Size : u32, | |
| using _ : struct #raw_union { | |
| ControlFlags : u32, | |
| using _ : struct { | |
| OptimizedSave : , | |
| CompactionEnabled : , | |
| }, | |
| }, | |
| Features : [(64)]XSTATE_FEATURE, | |
| EnabledSupervisorFeatures : DWORD64, | |
| AlignedFeatures : DWORD64, | |
| AllFeatureSize : u32, | |
| AllFeatures : [(64)]u32, | |
| EnabledUserVisibleSupervisorFeatures : DWORD64, | |
| }; | |
| PXSTATE_CONFIGURATION :: ^struct { | |
| EnabledFeatures : DWORD64, | |
| EnabledVolatileFeatures : DWORD64, | |
| Size : u32, | |
| using _ : struct #raw_union { | |
| ControlFlags : u32, | |
| using _ : struct { | |
| OptimizedSave : , | |
| CompactionEnabled : , | |
| }, | |
| }, | |
| Features : [(64)]XSTATE_FEATURE, | |
| EnabledSupervisorFeatures : DWORD64, | |
| AlignedFeatures : DWORD64, | |
| AllFeatureSize : u32, | |
| AllFeatures : [(64)]u32, | |
| EnabledUserVisibleSupervisorFeatures : DWORD64, | |
| }; | |
| MEMORY_BASIC_INFORMATION :: struct { | |
| BaseAddress : PVOID, | |
| AllocationBase : PVOID, | |
| AllocationProtect : u32, | |
| RegionSize : SIZE_T, | |
| State : u32, | |
| Protect : u32, | |
| Type : u32, | |
| }; | |
| PMEMORY_BASIC_INFORMATION :: ^struct { | |
| BaseAddress : PVOID, | |
| AllocationBase : PVOID, | |
| AllocationProtect : u32, | |
| RegionSize : SIZE_T, | |
| State : u32, | |
| Protect : u32, | |
| Type : u32, | |
| }; | |
| MEMORY_BASIC_INFORMATION32 :: struct { | |
| BaseAddress : u32, | |
| AllocationBase : u32, | |
| AllocationProtect : u32, | |
| RegionSize : u32, | |
| State : u32, | |
| Protect : u32, | |
| Type : u32, | |
| }; | |
| PMEMORY_BASIC_INFORMATION32 :: ^struct { | |
| BaseAddress : u32, | |
| AllocationBase : u32, | |
| AllocationProtect : u32, | |
| RegionSize : u32, | |
| State : u32, | |
| Protect : u32, | |
| Type : u32, | |
| }; | |
| MEMORY_BASIC_INFORMATION64 :: struct { | |
| BaseAddress : ULONGLONG, | |
| AllocationBase : ULONGLONG, | |
| AllocationProtect : u32, | |
| __alignment1 : u32, | |
| RegionSize : ULONGLONG, | |
| State : u32, | |
| Protect : u32, | |
| Type : u32, | |
| __alignment2 : u32, | |
| }; | |
| PMEMORY_BASIC_INFORMATION64 :: ^struct { | |
| BaseAddress : ULONGLONG, | |
| AllocationBase : ULONGLONG, | |
| AllocationProtect : u32, | |
| __alignment1 : u32, | |
| RegionSize : ULONGLONG, | |
| State : u32, | |
| Protect : u32, | |
| Type : u32, | |
| __alignment2 : u32, | |
| }; | |
| CFG_CALL_TARGET_INFO :: struct { | |
| Offset : ULONG_PTR, | |
| Flags : ULONG_PTR, | |
| }; | |
| PCFG_CALL_TARGET_INFO :: ^struct { | |
| Offset : ULONG_PTR, | |
| Flags : ULONG_PTR, | |
| }; | |
| MEM_ADDRESS_REQUIREMENTS :: struct { | |
| LowestStartingAddress : PVOID, | |
| HighestEndingAddress : PVOID, | |
| Alignment : SIZE_T, | |
| }; | |
| PMEM_ADDRESS_REQUIREMENTS :: ^struct { | |
| LowestStartingAddress : PVOID, | |
| HighestEndingAddress : PVOID, | |
| Alignment : SIZE_T, | |
| }; | |
| MEM_EXTENDED_PARAMETER_TYPE :: enum { | |
| MemExtendedParameterInvalidType = 0, | |
| MemExtendedParameterAddressRequirements, | |
| MemExtendedParameterNumaNode, | |
| MemExtendedParameterPartitionHandle, | |
| MemExtendedParameterUserPhysicalHandle, | |
| MemExtendedParameterAttributeFlags, | |
| MemExtendedParameterMax, | |
| }; | |
| PMEM_EXTENDED_PARAMETER_TYPE :: ^enum { | |
| MemExtendedParameterInvalidType = 0, | |
| MemExtendedParameterAddressRequirements, | |
| MemExtendedParameterNumaNode, | |
| MemExtendedParameterPartitionHandle, | |
| MemExtendedParameterUserPhysicalHandle, | |
| MemExtendedParameterAttributeFlags, | |
| MemExtendedParameterMax, | |
| }; | |
| MEM_EXTENDED_PARAMETER :: struct { | |
| s : struct { | |
| Type : , | |
| Reserved : , | |
| }, | |
| u : struct #raw_union { | |
| ULong64 : DWORD64, | |
| Pointer : PVOID, | |
| Size : SIZE_T, | |
| Handle : HANDLE, | |
| ULong : u32, | |
| }, | |
| }; | |
| PMEM_EXTENDED_PARAMETER :: ^struct { | |
| s : struct { | |
| Type : , | |
| Reserved : , | |
| }, | |
| u : struct #raw_union { | |
| ULong64 : DWORD64, | |
| Pointer : PVOID, | |
| Size : SIZE_T, | |
| Handle : HANDLE, | |
| ULong : u32, | |
| }, | |
| }; | |
| MEM_SECTION_EXTENDED_PARAMETER_TYPE :: enum { | |
| MemSectionExtendedParameterInvalidType = 0, | |
| MemSectionExtendedParameterUserPhysicalFlags, | |
| MemSectionExtendedParameterNumaNode, | |
| MemSectionExtendedParameterMax, | |
| }; | |
| PMEM_SECTION_EXTENDED_PARAMETER_TYPE :: ^enum { | |
| MemSectionExtendedParameterInvalidType = 0, | |
| MemSectionExtendedParameterUserPhysicalFlags, | |
| MemSectionExtendedParameterNumaNode, | |
| MemSectionExtendedParameterMax, | |
| }; | |
| ENCLAVE_CREATE_INFO_SGX :: struct { | |
| Secs : [4096]BYTE, | |
| }; | |
| PENCLAVE_CREATE_INFO_SGX :: ^struct { | |
| Secs : [4096]BYTE, | |
| }; | |
| ENCLAVE_INIT_INFO_SGX :: struct { | |
| SigStruct : [1808]BYTE, | |
| Reserved1 : [240]BYTE, | |
| EInitToken : [304]BYTE, | |
| Reserved2 : [1744]BYTE, | |
| }; | |
| PENCLAVE_INIT_INFO_SGX :: ^struct { | |
| SigStruct : [1808]BYTE, | |
| Reserved1 : [240]BYTE, | |
| EInitToken : [304]BYTE, | |
| Reserved2 : [1744]BYTE, | |
| }; | |
| ENCLAVE_CREATE_INFO_VBS :: struct { | |
| Flags : u32, | |
| OwnerID : [32]BYTE, | |
| }; | |
| PENCLAVE_CREATE_INFO_VBS :: ^struct { | |
| Flags : u32, | |
| OwnerID : [32]BYTE, | |
| }; | |
| ENCLAVE_CREATE_INFO_VBS_BASIC :: struct { | |
| Flags : u32, | |
| OwnerID : [32]BYTE, | |
| }; | |
| PENCLAVE_CREATE_INFO_VBS_BASIC :: ^struct { | |
| Flags : u32, | |
| OwnerID : [32]BYTE, | |
| }; | |
| ENCLAVE_LOAD_DATA_VBS_BASIC :: struct { | |
| PageType : u32, | |
| }; | |
| PENCLAVE_LOAD_DATA_VBS_BASIC :: ^struct { | |
| PageType : u32, | |
| }; | |
| ENCLAVE_INIT_INFO_VBS_BASIC :: struct { | |
| FamilyId : [16]BYTE, | |
| ImageId : [16]BYTE, | |
| EnclaveSize : ULONGLONG, | |
| EnclaveSvn : u32, | |
| Reserved : u32, | |
| u : struct #raw_union { | |
| SignatureInfoHandle : HANDLE, | |
| Unused : ULONGLONG, | |
| }, | |
| }; | |
| PENCLAVE_INIT_INFO_VBS_BASIC :: ^struct { | |
| FamilyId : [16]BYTE, | |
| ImageId : [16]BYTE, | |
| EnclaveSize : ULONGLONG, | |
| EnclaveSvn : u32, | |
| Reserved : u32, | |
| u : struct #raw_union { | |
| SignatureInfoHandle : HANDLE, | |
| Unused : ULONGLONG, | |
| }, | |
| }; | |
| ENCLAVE_INIT_INFO_VBS :: struct { | |
| Length : u32, | |
| ThreadCount : u32, | |
| }; | |
| PENCLAVE_INIT_INFO_VBS :: ^struct { | |
| Length : u32, | |
| ThreadCount : u32, | |
| }; | |
| ENCLAVE_TARGET_FUNCTION :: #type (proc(PVOID) -> PVOID); | |
| PENCLAVE_TARGET_FUNCTION :: ^ENCLAVE_TARGET_FUNCTION; | |
| LPENCLAVE_TARGET_FUNCTION :: PENCLAVE_TARGET_FUNCTION; | |
| FILE_ID_128 :: struct { | |
| Identifier : [16]BYTE, | |
| }; | |
| PFILE_ID_128 :: ^struct { | |
| Identifier : [16]BYTE, | |
| }; | |
| FILE_NOTIFY_INFORMATION :: struct { | |
| NextEntryOffset : u32, | |
| Action : u32, | |
| FileNameLength : u32, | |
| FileName : [1]WCHAR, | |
| }; | |
| PFILE_NOTIFY_INFORMATION :: ^struct { | |
| NextEntryOffset : u32, | |
| Action : u32, | |
| FileNameLength : u32, | |
| FileName : [1]WCHAR, | |
| }; | |
| FILE_NOTIFY_EXTENDED_INFORMATION :: struct { | |
| NextEntryOffset : u32, | |
| Action : u32, | |
| CreationTime : LARGE_INTEGER, | |
| LastModificationTime : LARGE_INTEGER, | |
| LastChangeTime : LARGE_INTEGER, | |
| LastAccessTime : LARGE_INTEGER, | |
| AllocatedLength : LARGE_INTEGER, | |
| FileSize : LARGE_INTEGER, | |
| FileAttributes : u32, | |
| ReparsePointTag : u32, | |
| FileId : LARGE_INTEGER, | |
| ParentFileId : LARGE_INTEGER, | |
| FileNameLength : u32, | |
| FileName : [1]WCHAR, | |
| }; | |
| PFILE_NOTIFY_EXTENDED_INFORMATION :: ^struct { | |
| NextEntryOffset : u32, | |
| Action : u32, | |
| CreationTime : LARGE_INTEGER, | |
| LastModificationTime : LARGE_INTEGER, | |
| LastChangeTime : LARGE_INTEGER, | |
| LastAccessTime : LARGE_INTEGER, | |
| AllocatedLength : LARGE_INTEGER, | |
| FileSize : LARGE_INTEGER, | |
| FileAttributes : u32, | |
| ReparsePointTag : u32, | |
| FileId : LARGE_INTEGER, | |
| ParentFileId : LARGE_INTEGER, | |
| FileNameLength : u32, | |
| FileName : [1]WCHAR, | |
| }; | |
| FILE_SEGMENT_ELEMENT :: struct #raw_union { | |
| Buffer : PVOID64, | |
| Alignment : ULONGLONG, | |
| }; | |
| PFILE_SEGMENT_ELEMENT :: ^struct #raw_union { | |
| Buffer : PVOID64, | |
| Alignment : ULONGLONG, | |
| }; | |
| REPARSE_GUID_DATA_BUFFER :: struct { | |
| ReparseTag : u32, | |
| ReparseDataLength : u16, | |
| Reserved : u16, | |
| ReparseGuid : GUID, | |
| GenericReparseBuffer : struct { | |
| DataBuffer : [1]BYTE, | |
| }, | |
| }; | |
| PREPARSE_GUID_DATA_BUFFER :: ^struct { | |
| ReparseTag : u32, | |
| ReparseDataLength : u16, | |
| Reserved : u16, | |
| ReparseGuid : GUID, | |
| GenericReparseBuffer : struct { | |
| DataBuffer : [1]BYTE, | |
| }, | |
| }; | |
| SCRUB_DATA_INPUT :: struct { | |
| Size : u32, | |
| Flags : u32, | |
| MaximumIos : u32, | |
| ObjectId : [4]u32, | |
| Reserved : [25]u32, | |
| ResumeContext : [816]BYTE, | |
| }; | |
| PSCRUB_DATA_INPUT :: ^struct { | |
| Size : u32, | |
| Flags : u32, | |
| MaximumIos : u32, | |
| ObjectId : [4]u32, | |
| Reserved : [25]u32, | |
| ResumeContext : [816]BYTE, | |
| }; | |
| SCRUB_PARITY_EXTENT :: struct { | |
| Offset : LONGLONG, | |
| Length : ULONGLONG, | |
| }; | |
| PSCRUB_PARITY_EXTENT :: ^struct { | |
| Offset : LONGLONG, | |
| Length : ULONGLONG, | |
| }; | |
| SCRUB_PARITY_EXTENT_DATA :: struct { | |
| Size : u16, | |
| Flags : u16, | |
| NumberOfParityExtents : u16, | |
| MaximumNumberOfParityExtents : u16, | |
| ParityExtents : [1]SCRUB_PARITY_EXTENT, | |
| }; | |
| PSCRUB_PARITY_EXTENT_DATA :: ^struct { | |
| Size : u16, | |
| Flags : u16, | |
| NumberOfParityExtents : u16, | |
| MaximumNumberOfParityExtents : u16, | |
| ParityExtents : [1]SCRUB_PARITY_EXTENT, | |
| }; | |
| SCRUB_DATA_OUTPUT :: struct { | |
| Size : u32, | |
| Flags : u32, | |
| Status : u32, | |
| ErrorFileOffset : ULONGLONG, | |
| ErrorLength : ULONGLONG, | |
| NumberOfBytesRepaired : ULONGLONG, | |
| NumberOfBytesFailed : ULONGLONG, | |
| InternalFileReference : ULONGLONG, | |
| ResumeContextLength : u16, | |
| ParityExtentDataOffset : u16, | |
| Reserved : [9]u32, | |
| NumberOfMetadataBytesProcessed : ULONGLONG, | |
| NumberOfDataBytesProcessed : ULONGLONG, | |
| TotalNumberOfMetadataBytesInUse : ULONGLONG, | |
| TotalNumberOfDataBytesInUse : ULONGLONG, | |
| ResumeContext : [816]BYTE, | |
| }; | |
| PSCRUB_DATA_OUTPUT :: ^struct { | |
| Size : u32, | |
| Flags : u32, | |
| Status : u32, | |
| ErrorFileOffset : ULONGLONG, | |
| ErrorLength : ULONGLONG, | |
| NumberOfBytesRepaired : ULONGLONG, | |
| NumberOfBytesFailed : ULONGLONG, | |
| InternalFileReference : ULONGLONG, | |
| ResumeContextLength : u16, | |
| ParityExtentDataOffset : u16, | |
| Reserved : [9]u32, | |
| NumberOfMetadataBytesProcessed : ULONGLONG, | |
| NumberOfDataBytesProcessed : ULONGLONG, | |
| TotalNumberOfMetadataBytesInUse : ULONGLONG, | |
| TotalNumberOfDataBytesInUse : ULONGLONG, | |
| ResumeContext : [816]BYTE, | |
| }; | |
| SharedVirtualDiskSupportType :: enum { | |
| SharedVirtualDisksUnsupported = 0, | |
| SharedVirtualDisksSupported = 1, | |
| SharedVirtualDiskSnapshotsSupported = 3, | |
| SharedVirtualDiskCDPSnapshotsSupported = 7, | |
| }; | |
| SharedVirtualDiskHandleState :: enum { | |
| SharedVirtualDiskHandleStateNone = 0, | |
| SharedVirtualDiskHandleStateFileShared = 1, | |
| SharedVirtualDiskHandleStateHandleShared = 3, | |
| }; | |
| SHARED_VIRTUAL_DISK_SUPPORT :: struct { | |
| SharedVirtualDiskSupport : SharedVirtualDiskSupportType, | |
| HandleState : SharedVirtualDiskHandleState, | |
| }; | |
| PSHARED_VIRTUAL_DISK_SUPPORT :: ^struct { | |
| SharedVirtualDiskSupport : SharedVirtualDiskSupportType, | |
| HandleState : SharedVirtualDiskHandleState, | |
| }; | |
| REARRANGE_FILE_DATA :: struct { | |
| SourceStartingOffset : ULONGLONG, | |
| TargetOffset : ULONGLONG, | |
| SourceFileHandle : HANDLE, | |
| Length : u32, | |
| Flags : u32, | |
| }; | |
| PREARRANGE_FILE_DATA :: ^struct { | |
| SourceStartingOffset : ULONGLONG, | |
| TargetOffset : ULONGLONG, | |
| SourceFileHandle : HANDLE, | |
| Length : u32, | |
| Flags : u32, | |
| }; | |
| SHUFFLE_FILE_DATA :: struct { | |
| StartingOffset : LONGLONG, | |
| Length : LONGLONG, | |
| Flags : u32, | |
| }; | |
| PSHUFFLE_FILE_DATA :: ^struct { | |
| StartingOffset : LONGLONG, | |
| Length : LONGLONG, | |
| Flags : u32, | |
| }; | |
| NETWORK_APP_INSTANCE_EA :: struct { | |
| AppInstanceID : GUID, | |
| CsvFlags : u32, | |
| }; | |
| PNETWORK_APP_INSTANCE_EA :: ^struct { | |
| AppInstanceID : GUID, | |
| CsvFlags : u32, | |
| }; | |
| SYSTEM_POWER_STATE :: enum { | |
| PowerSystemUnspecified = 0, | |
| PowerSystemWorking = 1, | |
| PowerSystemSleeping1 = 2, | |
| PowerSystemSleeping2 = 3, | |
| PowerSystemSleeping3 = 4, | |
| PowerSystemHibernate = 5, | |
| PowerSystemShutdown = 6, | |
| PowerSystemMaximum = 7, | |
| }; | |
| PSYSTEM_POWER_STATE :: ^enum { | |
| PowerSystemUnspecified = 0, | |
| PowerSystemWorking = 1, | |
| PowerSystemSleeping1 = 2, | |
| PowerSystemSleeping2 = 3, | |
| PowerSystemSleeping3 = 4, | |
| PowerSystemHibernate = 5, | |
| PowerSystemShutdown = 6, | |
| PowerSystemMaximum = 7, | |
| }; | |
| POWER_ACTION :: enum { | |
| PowerActionNone = 0, | |
| PowerActionReserved, | |
| PowerActionSleep, | |
| PowerActionHibernate, | |
| PowerActionShutdown, | |
| PowerActionShutdownReset, | |
| PowerActionShutdownOff, | |
| PowerActionWarmEject, | |
| PowerActionDisplayOff, | |
| }; | |
| PPOWER_ACTION :: ^enum { | |
| PowerActionNone = 0, | |
| PowerActionReserved, | |
| PowerActionSleep, | |
| PowerActionHibernate, | |
| PowerActionShutdown, | |
| PowerActionShutdownReset, | |
| PowerActionShutdownOff, | |
| PowerActionWarmEject, | |
| PowerActionDisplayOff, | |
| }; | |
| DEVICE_POWER_STATE :: enum { | |
| PowerDeviceUnspecified = 0, | |
| PowerDeviceD0, | |
| PowerDeviceD1, | |
| PowerDeviceD2, | |
| PowerDeviceD3, | |
| PowerDeviceMaximum, | |
| }; | |
| PDEVICE_POWER_STATE :: ^enum { | |
| PowerDeviceUnspecified = 0, | |
| PowerDeviceD0, | |
| PowerDeviceD1, | |
| PowerDeviceD2, | |
| PowerDeviceD3, | |
| PowerDeviceMaximum, | |
| }; | |
| MONITOR_DISPLAY_STATE :: enum { | |
| PowerMonitorOff = 0, | |
| PowerMonitorOn, | |
| PowerMonitorDim, | |
| }; | |
| PMONITOR_DISPLAY_STATE :: ^enum { | |
| PowerMonitorOff = 0, | |
| PowerMonitorOn, | |
| PowerMonitorDim, | |
| }; | |
| USER_ACTIVITY_PRESENCE :: enum { | |
| PowerUserPresent = 0, | |
| PowerUserNotPresent, | |
| PowerUserInactive, | |
| PowerUserMaximum, | |
| PowerUserInvalid = PowerUserMaximum, | |
| }; | |
| PUSER_ACTIVITY_PRESENCE :: ^enum { | |
| PowerUserPresent = 0, | |
| PowerUserNotPresent, | |
| PowerUserInactive, | |
| PowerUserMaximum, | |
| PowerUserInvalid = PowerUserMaximum, | |
| }; | |
| EXECUTION_STATE :: u32; | |
| PEXECUTION_STATE :: ^u32; | |
| LATENCY_TIME :: enum { | |
| LT_DONT_CARE, | |
| LT_LOWEST_LATENCY, | |
| }; | |
| POWER_REQUEST_TYPE :: enum { | |
| PowerRequestDisplayRequired, | |
| PowerRequestSystemRequired, | |
| PowerRequestAwayModeRequired, | |
| PowerRequestExecutionRequired, | |
| }; | |
| PPOWER_REQUEST_TYPE :: ^enum { | |
| PowerRequestDisplayRequired, | |
| PowerRequestSystemRequired, | |
| PowerRequestAwayModeRequired, | |
| PowerRequestExecutionRequired, | |
| }; | |
| CM_POWER_DATA :: struct { | |
| PD_Size : u32, | |
| PD_MostRecentPowerState : DEVICE_POWER_STATE, | |
| PD_Capabilities : u32, | |
| PD_D1Latency : u32, | |
| PD_D2Latency : u32, | |
| PD_D3Latency : u32, | |
| PD_PowerStateMapping : [7]DEVICE_POWER_STATE, | |
| PD_DeepestSystemWake : SYSTEM_POWER_STATE, | |
| }; | |
| PCM_POWER_DATA :: ^struct { | |
| PD_Size : u32, | |
| PD_MostRecentPowerState : DEVICE_POWER_STATE, | |
| PD_Capabilities : u32, | |
| PD_D1Latency : u32, | |
| PD_D2Latency : u32, | |
| PD_D3Latency : u32, | |
| PD_PowerStateMapping : [7]DEVICE_POWER_STATE, | |
| PD_DeepestSystemWake : SYSTEM_POWER_STATE, | |
| }; | |
| POWER_INFORMATION_LEVEL :: enum { | |
| SystemPowerPolicyAc, | |
| SystemPowerPolicyDc, | |
| VerifySystemPolicyAc, | |
| VerifySystemPolicyDc, | |
| SystemPowerCapabilities, | |
| SystemBatteryState, | |
| SystemPowerStateHandler, | |
| ProcessorStateHandler, | |
| SystemPowerPolicyCurrent, | |
| AdministratorPowerPolicy, | |
| SystemReserveHiberFile, | |
| ProcessorInformation, | |
| SystemPowerInformation, | |
| ProcessorStateHandler2, | |
| LastWakeTime, | |
| LastSleepTime, | |
| SystemExecutionState, | |
| SystemPowerStateNotifyHandler, | |
| ProcessorPowerPolicyAc, | |
| ProcessorPowerPolicyDc, | |
| VerifyProcessorPowerPolicyAc, | |
| VerifyProcessorPowerPolicyDc, | |
| ProcessorPowerPolicyCurrent, | |
| SystemPowerStateLogging, | |
| SystemPowerLoggingEntry, | |
| SetPowerSettingValue, | |
| NotifyUserPowerSetting, | |
| PowerInformationLevelUnused0, | |
| SystemMonitorHiberBootPowerOff, | |
| SystemVideoState, | |
| TraceApplicationPowerMessage, | |
| TraceApplicationPowerMessageEnd, | |
| ProcessorPerfStates, | |
| ProcessorIdleStates, | |
| ProcessorCap, | |
| SystemWakeSource, | |
| SystemHiberFileInformation, | |
| TraceServicePowerMessage, | |
| ProcessorLoad, | |
| PowerShutdownNotification, | |
| MonitorCapabilities, | |
| SessionPowerInit, | |
| SessionDisplayState, | |
| PowerRequestCreate, | |
| PowerRequestAction, | |
| GetPowerRequestList, | |
| ProcessorInformationEx, | |
| NotifyUserModeLegacyPowerEvent, | |
| GroupPark, | |
| ProcessorIdleDomains, | |
| WakeTimerList, | |
| SystemHiberFileSize, | |
| ProcessorIdleStatesHv, | |
| ProcessorPerfStatesHv, | |
| ProcessorPerfCapHv, | |
| ProcessorSetIdle, | |
| LogicalProcessorIdling, | |
| UserPresence, | |
| PowerSettingNotificationName, | |
| GetPowerSettingValue, | |
| IdleResiliency, | |
| SessionRITState, | |
| SessionConnectNotification, | |
| SessionPowerCleanup, | |
| SessionLockState, | |
| SystemHiberbootState, | |
| PlatformInformation, | |
| PdcInvocation, | |
| MonitorInvocation, | |
| FirmwareTableInformationRegistered, | |
| SetShutdownSelectedTime, | |
| SuspendResumeInvocation, | |
| PlmPowerRequestCreate, | |
| ScreenOff, | |
| CsDeviceNotification, | |
| PlatformRole, | |
| LastResumePerformance, | |
| DisplayBurst, | |
| ExitLatencySamplingPercentage, | |
| RegisterSpmPowerSettings, | |
| PlatformIdleStates, | |
| ProcessorIdleVeto, | |
| PlatformIdleVeto, | |
| SystemBatteryStatePrecise, | |
| ThermalEvent, | |
| PowerRequestActionInternal, | |
| BatteryDeviceState, | |
| PowerInformationInternal, | |
| ThermalStandby, | |
| SystemHiberFileType, | |
| PhysicalPowerButtonPress, | |
| QueryPotentialDripsConstraint, | |
| EnergyTrackerCreate, | |
| EnergyTrackerQuery, | |
| UpdateBlackBoxRecorder, | |
| PowerInformationLevelMaximum, | |
| }; | |
| POWER_USER_PRESENCE_TYPE :: enum { | |
| UserNotPresent = 0, | |
| UserPresent = 1, | |
| UserUnknown = 0xff, | |
| }; | |
| PPOWER_USER_PRESENCE_TYPE :: ^enum { | |
| UserNotPresent = 0, | |
| UserPresent = 1, | |
| UserUnknown = 0xff, | |
| }; | |
| POWER_USER_PRESENCE :: struct { | |
| UserPresence : POWER_USER_PRESENCE_TYPE, | |
| }; | |
| PPOWER_USER_PRESENCE :: ^struct { | |
| UserPresence : POWER_USER_PRESENCE_TYPE, | |
| }; | |
| POWER_SESSION_CONNECT :: struct { | |
| Connected : BOOLEAN, | |
| Console : BOOLEAN, | |
| }; | |
| PPOWER_SESSION_CONNECT :: ^struct { | |
| Connected : BOOLEAN, | |
| Console : BOOLEAN, | |
| }; | |
| POWER_SESSION_TIMEOUTS :: struct { | |
| InputTimeout : u32, | |
| DisplayTimeout : u32, | |
| }; | |
| PPOWER_SESSION_TIMEOUTS :: ^struct { | |
| InputTimeout : u32, | |
| DisplayTimeout : u32, | |
| }; | |
| POWER_SESSION_RIT_STATE :: struct { | |
| Active : BOOLEAN, | |
| LastInputTime : u32, | |
| }; | |
| PPOWER_SESSION_RIT_STATE :: ^struct { | |
| Active : BOOLEAN, | |
| LastInputTime : u32, | |
| }; | |
| POWER_SESSION_WINLOGON :: struct { | |
| SessionId : u32, | |
| Console : BOOLEAN, | |
| Locked : BOOLEAN, | |
| }; | |
| PPOWER_SESSION_WINLOGON :: ^struct { | |
| SessionId : u32, | |
| Console : BOOLEAN, | |
| Locked : BOOLEAN, | |
| }; | |
| POWER_IDLE_RESILIENCY :: struct { | |
| CoalescingTimeout : u32, | |
| IdleResiliencyPeriod : u32, | |
| }; | |
| PPOWER_IDLE_RESILIENCY :: ^struct { | |
| CoalescingTimeout : u32, | |
| IdleResiliencyPeriod : u32, | |
| }; | |
| POWER_MONITOR_REQUEST_REASON :: enum { | |
| MonitorRequestReasonUnknown, | |
| MonitorRequestReasonPowerButton, | |
| MonitorRequestReasonRemoteConnection, | |
| MonitorRequestReasonScMonitorpower, | |
| MonitorRequestReasonUserInput, | |
| MonitorRequestReasonAcDcDisplayBurst, | |
| MonitorRequestReasonUserDisplayBurst, | |
| MonitorRequestReasonPoSetSystemState, | |
| MonitorRequestReasonSetThreadExecutionState, | |
| MonitorRequestReasonFullWake, | |
| MonitorRequestReasonSessionUnlock, | |
| MonitorRequestReasonScreenOffRequest, | |
| MonitorRequestReasonIdleTimeout, | |
| MonitorRequestReasonPolicyChange, | |
| MonitorRequestReasonSleepButton, | |
| MonitorRequestReasonLid, | |
| MonitorRequestReasonBatteryCountChange, | |
| MonitorRequestReasonGracePeriod, | |
| MonitorRequestReasonPnP, | |
| MonitorRequestReasonDP, | |
| MonitorRequestReasonSxTransition, | |
| MonitorRequestReasonSystemIdle, | |
| MonitorRequestReasonNearProximity, | |
| MonitorRequestReasonThermalStandby, | |
| MonitorRequestReasonResumePdc, | |
| MonitorRequestReasonResumeS4, | |
| MonitorRequestReasonTerminal, | |
| MonitorRequestReasonPdcSignal, | |
| MonitorRequestReasonAcDcDisplayBurstSuppressed, | |
| MonitorRequestReasonSystemStateEntered, | |
| MonitorRequestReasonWinrt, | |
| MonitorRequestReasonUserInputKeyboard, | |
| MonitorRequestReasonUserInputMouse, | |
| MonitorRequestReasonUserInputTouch, | |
| MonitorRequestReasonUserInputPen, | |
| MonitorRequestReasonUserInputAccelerometer, | |
| MonitorRequestReasonUserInputHid, | |
| MonitorRequestReasonUserInputPoUserPresent, | |
| MonitorRequestReasonUserInputSessionSwitch, | |
| MonitorRequestReasonUserInputInitialization, | |
| MonitorRequestReasonPdcSignalWindowsMobilePwrNotif, | |
| MonitorRequestReasonPdcSignalWindowsMobileShell, | |
| MonitorRequestReasonPdcSignalHeyCortana, | |
| MonitorRequestReasonPdcSignalHolographicShell, | |
| MonitorRequestReasonPdcSignalFingerprint, | |
| MonitorRequestReasonDirectedDrips, | |
| MonitorRequestReasonMax, | |
| }; | |
| POWER_MONITOR_REQUEST_TYPE :: enum { | |
| MonitorRequestTypeOff, | |
| MonitorRequestTypeOnAndPresent, | |
| MonitorRequestTypeToggleOn, | |
| }; | |
| POWER_MONITOR_INVOCATION :: struct { | |
| Console : BOOLEAN, | |
| RequestReason : POWER_MONITOR_REQUEST_REASON, | |
| }; | |
| PPOWER_MONITOR_INVOCATION :: ^struct { | |
| Console : BOOLEAN, | |
| RequestReason : POWER_MONITOR_REQUEST_REASON, | |
| }; | |
| RESUME_PERFORMANCE :: struct { | |
| PostTimeMs : u32, | |
| TotalResumeTimeMs : ULONGLONG, | |
| ResumeCompleteTimestamp : ULONGLONG, | |
| }; | |
| PRESUME_PERFORMANCE :: ^struct { | |
| PostTimeMs : u32, | |
| TotalResumeTimeMs : ULONGLONG, | |
| ResumeCompleteTimestamp : ULONGLONG, | |
| }; | |
| SYSTEM_POWER_CONDITION :: enum { | |
| PoAc, | |
| PoDc, | |
| PoHot, | |
| PoConditionMaximum, | |
| }; | |
| SET_POWER_SETTING_VALUE :: struct { | |
| Version : u32, | |
| Guid : GUID, | |
| PowerCondition : SYSTEM_POWER_CONDITION, | |
| DataLength : u32, | |
| Data : [1]BYTE, | |
| }; | |
| PSET_POWER_SETTING_VALUE :: ^struct { | |
| Version : u32, | |
| Guid : GUID, | |
| PowerCondition : SYSTEM_POWER_CONDITION, | |
| DataLength : u32, | |
| Data : [1]BYTE, | |
| }; | |
| NOTIFY_USER_POWER_SETTING :: struct { | |
| Guid : GUID, | |
| }; | |
| PNOTIFY_USER_POWER_SETTING :: ^struct { | |
| Guid : GUID, | |
| }; | |
| APPLICATIONLAUNCH_SETTING_VALUE :: struct { | |
| ActivationTime : LARGE_INTEGER, | |
| Flags : u32, | |
| ButtonInstanceID : u32, | |
| }; | |
| PAPPLICATIONLAUNCH_SETTING_VALUE :: ^struct { | |
| ActivationTime : LARGE_INTEGER, | |
| Flags : u32, | |
| ButtonInstanceID : u32, | |
| }; | |
| POWER_PLATFORM_ROLE :: enum { | |
| PlatformRoleUnspecified = 0, | |
| PlatformRoleDesktop, | |
| PlatformRoleMobile, | |
| PlatformRoleWorkstation, | |
| PlatformRoleEnterpriseServer, | |
| PlatformRoleSOHOServer, | |
| PlatformRoleAppliancePC, | |
| PlatformRolePerformanceServer, | |
| PlatformRoleSlate, | |
| PlatformRoleMaximum, | |
| }; | |
| PPOWER_PLATFORM_ROLE :: ^enum { | |
| PlatformRoleUnspecified = 0, | |
| PlatformRoleDesktop, | |
| PlatformRoleMobile, | |
| PlatformRoleWorkstation, | |
| PlatformRoleEnterpriseServer, | |
| PlatformRoleSOHOServer, | |
| PlatformRoleAppliancePC, | |
| PlatformRolePerformanceServer, | |
| PlatformRoleSlate, | |
| PlatformRoleMaximum, | |
| }; | |
| POWER_PLATFORM_INFORMATION :: struct { | |
| AoAc : BOOLEAN, | |
| }; | |
| PPOWER_PLATFORM_INFORMATION :: ^struct { | |
| AoAc : BOOLEAN, | |
| }; | |
| BATTERY_REPORTING_SCALE :: struct { | |
| Granularity : u32, | |
| Capacity : u32, | |
| }; | |
| PBATTERY_REPORTING_SCALE :: ^struct { | |
| Granularity : u32, | |
| Capacity : u32, | |
| }; | |
| PPM_WMI_LEGACY_PERFSTATE :: struct { | |
| Frequency : u32, | |
| Flags : u32, | |
| PercentFrequency : u32, | |
| }; | |
| PPPM_WMI_LEGACY_PERFSTATE :: ^struct { | |
| Frequency : u32, | |
| Flags : u32, | |
| PercentFrequency : u32, | |
| }; | |
| PPM_WMI_IDLE_STATE :: struct { | |
| Latency : u32, | |
| Power : u32, | |
| TimeCheck : u32, | |
| PromotePercent : BYTE, | |
| DemotePercent : BYTE, | |
| StateType : BYTE, | |
| Reserved : BYTE, | |
| StateFlags : u32, | |
| Context : u32, | |
| IdleHandler : u32, | |
| Reserved1 : u32, | |
| }; | |
| PPPM_WMI_IDLE_STATE :: ^struct { | |
| Latency : u32, | |
| Power : u32, | |
| TimeCheck : u32, | |
| PromotePercent : BYTE, | |
| DemotePercent : BYTE, | |
| StateType : BYTE, | |
| Reserved : BYTE, | |
| StateFlags : u32, | |
| Context : u32, | |
| IdleHandler : u32, | |
| Reserved1 : u32, | |
| }; | |
| PPM_WMI_IDLE_STATES :: struct { | |
| Type : u32, | |
| Count : u32, | |
| TargetState : u32, | |
| OldState : u32, | |
| TargetProcessors : DWORD64, | |
| State : [1]PPM_WMI_IDLE_STATE, | |
| }; | |
| PPPM_WMI_IDLE_STATES :: ^struct { | |
| Type : u32, | |
| Count : u32, | |
| TargetState : u32, | |
| OldState : u32, | |
| TargetProcessors : DWORD64, | |
| State : [1]PPM_WMI_IDLE_STATE, | |
| }; | |
| PPM_WMI_IDLE_STATES_EX :: struct { | |
| Type : u32, | |
| Count : u32, | |
| TargetState : u32, | |
| OldState : u32, | |
| TargetProcessors : PVOID, | |
| State : [1]PPM_WMI_IDLE_STATE, | |
| }; | |
| PPPM_WMI_IDLE_STATES_EX :: ^struct { | |
| Type : u32, | |
| Count : u32, | |
| TargetState : u32, | |
| OldState : u32, | |
| TargetProcessors : PVOID, | |
| State : [1]PPM_WMI_IDLE_STATE, | |
| }; | |
| PPM_WMI_PERF_STATE :: struct { | |
| Frequency : u32, | |
| Power : u32, | |
| PercentFrequency : BYTE, | |
| IncreaseLevel : BYTE, | |
| DecreaseLevel : BYTE, | |
| Type : BYTE, | |
| IncreaseTime : u32, | |
| DecreaseTime : u32, | |
| Control : DWORD64, | |
| Status : DWORD64, | |
| HitCount : u32, | |
| Reserved1 : u32, | |
| Reserved2 : DWORD64, | |
| Reserved3 : DWORD64, | |
| }; | |
| PPPM_WMI_PERF_STATE :: ^struct { | |
| Frequency : u32, | |
| Power : u32, | |
| PercentFrequency : BYTE, | |
| IncreaseLevel : BYTE, | |
| DecreaseLevel : BYTE, | |
| Type : BYTE, | |
| IncreaseTime : u32, | |
| DecreaseTime : u32, | |
| Control : DWORD64, | |
| Status : DWORD64, | |
| HitCount : u32, | |
| Reserved1 : u32, | |
| Reserved2 : DWORD64, | |
| Reserved3 : DWORD64, | |
| }; | |
| PPM_WMI_PERF_STATES :: struct { | |
| Count : u32, | |
| MaxFrequency : u32, | |
| CurrentState : u32, | |
| MaxPerfState : u32, | |
| MinPerfState : u32, | |
| LowestPerfState : u32, | |
| ThermalConstraint : u32, | |
| BusyAdjThreshold : BYTE, | |
| PolicyType : BYTE, | |
| Type : BYTE, | |
| Reserved : BYTE, | |
| TimerInterval : u32, | |
| TargetProcessors : DWORD64, | |
| PStateHandler : u32, | |
| PStateContext : u32, | |
| TStateHandler : u32, | |
| TStateContext : u32, | |
| FeedbackHandler : u32, | |
| Reserved1 : u32, | |
| Reserved2 : DWORD64, | |
| State : [1]PPM_WMI_PERF_STATE, | |
| }; | |
| PPPM_WMI_PERF_STATES :: ^struct { | |
| Count : u32, | |
| MaxFrequency : u32, | |
| CurrentState : u32, | |
| MaxPerfState : u32, | |
| MinPerfState : u32, | |
| LowestPerfState : u32, | |
| ThermalConstraint : u32, | |
| BusyAdjThreshold : BYTE, | |
| PolicyType : BYTE, | |
| Type : BYTE, | |
| Reserved : BYTE, | |
| TimerInterval : u32, | |
| TargetProcessors : DWORD64, | |
| PStateHandler : u32, | |
| PStateContext : u32, | |
| TStateHandler : u32, | |
| TStateContext : u32, | |
| FeedbackHandler : u32, | |
| Reserved1 : u32, | |
| Reserved2 : DWORD64, | |
| State : [1]PPM_WMI_PERF_STATE, | |
| }; | |
| PPM_WMI_PERF_STATES_EX :: struct { | |
| Count : u32, | |
| MaxFrequency : u32, | |
| CurrentState : u32, | |
| MaxPerfState : u32, | |
| MinPerfState : u32, | |
| LowestPerfState : u32, | |
| ThermalConstraint : u32, | |
| BusyAdjThreshold : BYTE, | |
| PolicyType : BYTE, | |
| Type : BYTE, | |
| Reserved : BYTE, | |
| TimerInterval : u32, | |
| TargetProcessors : PVOID, | |
| PStateHandler : u32, | |
| PStateContext : u32, | |
| TStateHandler : u32, | |
| TStateContext : u32, | |
| FeedbackHandler : u32, | |
| Reserved1 : u32, | |
| Reserved2 : DWORD64, | |
| State : [1]PPM_WMI_PERF_STATE, | |
| }; | |
| PPPM_WMI_PERF_STATES_EX :: ^struct { | |
| Count : u32, | |
| MaxFrequency : u32, | |
| CurrentState : u32, | |
| MaxPerfState : u32, | |
| MinPerfState : u32, | |
| LowestPerfState : u32, | |
| ThermalConstraint : u32, | |
| BusyAdjThreshold : BYTE, | |
| PolicyType : BYTE, | |
| Type : BYTE, | |
| Reserved : BYTE, | |
| TimerInterval : u32, | |
| TargetProcessors : PVOID, | |
| PStateHandler : u32, | |
| PStateContext : u32, | |
| TStateHandler : u32, | |
| TStateContext : u32, | |
| FeedbackHandler : u32, | |
| Reserved1 : u32, | |
| Reserved2 : DWORD64, | |
| State : [1]PPM_WMI_PERF_STATE, | |
| }; | |
| PPM_IDLE_STATE_ACCOUNTING :: struct { | |
| IdleTransitions : u32, | |
| FailedTransitions : u32, | |
| InvalidBucketIndex : u32, | |
| TotalTime : DWORD64, | |
| IdleTimeBuckets : [6]u32, | |
| }; | |
| PPPM_IDLE_STATE_ACCOUNTING :: ^struct { | |
| IdleTransitions : u32, | |
| FailedTransitions : u32, | |
| InvalidBucketIndex : u32, | |
| TotalTime : DWORD64, | |
| IdleTimeBuckets : [6]u32, | |
| }; | |
| PPM_IDLE_ACCOUNTING :: struct { | |
| StateCount : u32, | |
| TotalTransitions : u32, | |
| ResetCount : u32, | |
| StartTime : DWORD64, | |
| State : [1]PPM_IDLE_STATE_ACCOUNTING, | |
| }; | |
| PPPM_IDLE_ACCOUNTING :: ^struct { | |
| StateCount : u32, | |
| TotalTransitions : u32, | |
| ResetCount : u32, | |
| StartTime : DWORD64, | |
| State : [1]PPM_IDLE_STATE_ACCOUNTING, | |
| }; | |
| PPM_IDLE_STATE_BUCKET_EX :: struct { | |
| TotalTimeUs : DWORD64, | |
| MinTimeUs : u32, | |
| MaxTimeUs : u32, | |
| Count : u32, | |
| }; | |
| PPPM_IDLE_STATE_BUCKET_EX :: ^struct { | |
| TotalTimeUs : DWORD64, | |
| MinTimeUs : u32, | |
| MaxTimeUs : u32, | |
| Count : u32, | |
| }; | |
| PPM_IDLE_STATE_ACCOUNTING_EX :: struct { | |
| TotalTime : DWORD64, | |
| IdleTransitions : u32, | |
| FailedTransitions : u32, | |
| InvalidBucketIndex : u32, | |
| MinTimeUs : u32, | |
| MaxTimeUs : u32, | |
| CancelledTransitions : u32, | |
| IdleTimeBuckets : [16]PPM_IDLE_STATE_BUCKET_EX, | |
| }; | |
| PPPM_IDLE_STATE_ACCOUNTING_EX :: ^struct { | |
| TotalTime : DWORD64, | |
| IdleTransitions : u32, | |
| FailedTransitions : u32, | |
| InvalidBucketIndex : u32, | |
| MinTimeUs : u32, | |
| MaxTimeUs : u32, | |
| CancelledTransitions : u32, | |
| IdleTimeBuckets : [16]PPM_IDLE_STATE_BUCKET_EX, | |
| }; | |
| PPM_IDLE_ACCOUNTING_EX :: struct { | |
| StateCount : u32, | |
| TotalTransitions : u32, | |
| ResetCount : u32, | |
| AbortCount : u32, | |
| StartTime : DWORD64, | |
| State : [1]PPM_IDLE_STATE_ACCOUNTING_EX, | |
| }; | |
| PPPM_IDLE_ACCOUNTING_EX :: ^struct { | |
| StateCount : u32, | |
| TotalTransitions : u32, | |
| ResetCount : u32, | |
| AbortCount : u32, | |
| StartTime : DWORD64, | |
| State : [1]PPM_IDLE_STATE_ACCOUNTING_EX, | |
| }; | |
| PPM_PERFSTATE_EVENT :: struct { | |
| State : u32, | |
| Status : u32, | |
| Latency : u32, | |
| Speed : u32, | |
| Processor : u32, | |
| }; | |
| PPPM_PERFSTATE_EVENT :: ^struct { | |
| State : u32, | |
| Status : u32, | |
| Latency : u32, | |
| Speed : u32, | |
| Processor : u32, | |
| }; | |
| PPM_PERFSTATE_DOMAIN_EVENT :: struct { | |
| State : u32, | |
| Latency : u32, | |
| Speed : u32, | |
| Processors : DWORD64, | |
| }; | |
| PPPM_PERFSTATE_DOMAIN_EVENT :: ^struct { | |
| State : u32, | |
| Latency : u32, | |
| Speed : u32, | |
| Processors : DWORD64, | |
| }; | |
| PPM_IDLESTATE_EVENT :: struct { | |
| NewState : u32, | |
| OldState : u32, | |
| Processors : DWORD64, | |
| }; | |
| PPPM_IDLESTATE_EVENT :: ^struct { | |
| NewState : u32, | |
| OldState : u32, | |
| Processors : DWORD64, | |
| }; | |
| PPM_THERMALCHANGE_EVENT :: struct { | |
| ThermalConstraint : u32, | |
| Processors : DWORD64, | |
| }; | |
| PPPM_THERMALCHANGE_EVENT :: ^struct { | |
| ThermalConstraint : u32, | |
| Processors : DWORD64, | |
| }; | |
| PPM_THERMAL_POLICY_EVENT :: struct { | |
| Mode : BYTE, | |
| Processors : DWORD64, | |
| }; | |
| PPPM_THERMAL_POLICY_EVENT :: ^struct { | |
| Mode : BYTE, | |
| Processors : DWORD64, | |
| }; | |
| POWER_ACTION_POLICY :: struct { | |
| Action : POWER_ACTION, | |
| Flags : u32, | |
| EventCode : u32, | |
| }; | |
| PPOWER_ACTION_POLICY :: ^struct { | |
| Action : POWER_ACTION, | |
| Flags : u32, | |
| EventCode : u32, | |
| }; | |
| SYSTEM_POWER_LEVEL :: struct { | |
| Enable : BOOLEAN, | |
| Spare : [3]BYTE, | |
| BatteryLevel : u32, | |
| PowerPolicy : POWER_ACTION_POLICY, | |
| MinSystemState : SYSTEM_POWER_STATE, | |
| }; | |
| PSYSTEM_POWER_LEVEL :: ^struct { | |
| Enable : BOOLEAN, | |
| Spare : [3]BYTE, | |
| BatteryLevel : u32, | |
| PowerPolicy : POWER_ACTION_POLICY, | |
| MinSystemState : SYSTEM_POWER_STATE, | |
| }; | |
| SYSTEM_POWER_POLICY :: struct { | |
| Revision : u32, | |
| PowerButton : POWER_ACTION_POLICY, | |
| SleepButton : POWER_ACTION_POLICY, | |
| LidClose : POWER_ACTION_POLICY, | |
| LidOpenWake : SYSTEM_POWER_STATE, | |
| Reserved : u32, | |
| Idle : POWER_ACTION_POLICY, | |
| IdleTimeout : u32, | |
| IdleSensitivity : BYTE, | |
| DynamicThrottle : BYTE, | |
| Spare2 : [2]BYTE, | |
| MinSleep : SYSTEM_POWER_STATE, | |
| MaxSleep : SYSTEM_POWER_STATE, | |
| ReducedLatencySleep : SYSTEM_POWER_STATE, | |
| WinLogonFlags : u32, | |
| Spare3 : u32, | |
| DozeS4Timeout : u32, | |
| BroadcastCapacityResolution : u32, | |
| DischargePolicy : [4]SYSTEM_POWER_LEVEL, | |
| VideoTimeout : u32, | |
| VideoDimDisplay : BOOLEAN, | |
| VideoReserved : [3]u32, | |
| SpindownTimeout : u32, | |
| OptimizeForPower : BOOLEAN, | |
| FanThrottleTolerance : BYTE, | |
| ForcedThrottle : BYTE, | |
| MinThrottle : BYTE, | |
| OverThrottled : POWER_ACTION_POLICY, | |
| }; | |
| PSYSTEM_POWER_POLICY :: ^struct { | |
| Revision : u32, | |
| PowerButton : POWER_ACTION_POLICY, | |
| SleepButton : POWER_ACTION_POLICY, | |
| LidClose : POWER_ACTION_POLICY, | |
| LidOpenWake : SYSTEM_POWER_STATE, | |
| Reserved : u32, | |
| Idle : POWER_ACTION_POLICY, | |
| IdleTimeout : u32, | |
| IdleSensitivity : BYTE, | |
| DynamicThrottle : BYTE, | |
| Spare2 : [2]BYTE, | |
| MinSleep : SYSTEM_POWER_STATE, | |
| MaxSleep : SYSTEM_POWER_STATE, | |
| ReducedLatencySleep : SYSTEM_POWER_STATE, | |
| WinLogonFlags : u32, | |
| Spare3 : u32, | |
| DozeS4Timeout : u32, | |
| BroadcastCapacityResolution : u32, | |
| DischargePolicy : [4]SYSTEM_POWER_LEVEL, | |
| VideoTimeout : u32, | |
| VideoDimDisplay : BOOLEAN, | |
| VideoReserved : [3]u32, | |
| SpindownTimeout : u32, | |
| OptimizeForPower : BOOLEAN, | |
| FanThrottleTolerance : BYTE, | |
| ForcedThrottle : BYTE, | |
| MinThrottle : BYTE, | |
| OverThrottled : POWER_ACTION_POLICY, | |
| }; | |
| PROCESSOR_IDLESTATE_INFO :: struct { | |
| TimeCheck : u32, | |
| DemotePercent : BYTE, | |
| PromotePercent : BYTE, | |
| Spare : [2]BYTE, | |
| }; | |
| PPROCESSOR_IDLESTATE_INFO :: ^struct { | |
| TimeCheck : u32, | |
| DemotePercent : BYTE, | |
| PromotePercent : BYTE, | |
| Spare : [2]BYTE, | |
| }; | |
| PROCESSOR_IDLESTATE_POLICY :: struct { | |
| Revision : u16, | |
| Flags : struct #raw_union { | |
| AsWORD : u16, | |
| s : struct { | |
| AllowScaling : , | |
| Disabled : , | |
| Reserved : , | |
| }, | |
| }, | |
| PolicyCount : u32, | |
| Policy : [0x3]PROCESSOR_IDLESTATE_INFO, | |
| }; | |
| PPROCESSOR_IDLESTATE_POLICY :: ^struct { | |
| Revision : u16, | |
| Flags : struct #raw_union { | |
| AsWORD : u16, | |
| s : struct { | |
| AllowScaling : , | |
| Disabled : , | |
| Reserved : , | |
| }, | |
| }, | |
| PolicyCount : u32, | |
| Policy : [0x3]PROCESSOR_IDLESTATE_INFO, | |
| }; | |
| PROCESSOR_POWER_POLICY_INFO :: struct { | |
| TimeCheck : u32, | |
| DemoteLimit : u32, | |
| PromoteLimit : u32, | |
| DemotePercent : BYTE, | |
| PromotePercent : BYTE, | |
| Spare : [2]BYTE, | |
| AllowDemotion : , | |
| AllowPromotion : , | |
| Reserved : , | |
| }; | |
| PPROCESSOR_POWER_POLICY_INFO :: ^struct { | |
| TimeCheck : u32, | |
| DemoteLimit : u32, | |
| PromoteLimit : u32, | |
| DemotePercent : BYTE, | |
| PromotePercent : BYTE, | |
| Spare : [2]BYTE, | |
| AllowDemotion : , | |
| AllowPromotion : , | |
| Reserved : , | |
| }; | |
| PROCESSOR_POWER_POLICY :: struct { | |
| Revision : u32, | |
| DynamicThrottle : BYTE, | |
| Spare : [3]BYTE, | |
| DisableCStates : , | |
| Reserved : , | |
| PolicyCount : u32, | |
| Policy : [3]PROCESSOR_POWER_POLICY_INFO, | |
| }; | |
| PPROCESSOR_POWER_POLICY :: ^struct { | |
| Revision : u32, | |
| DynamicThrottle : BYTE, | |
| Spare : [3]BYTE, | |
| DisableCStates : , | |
| Reserved : , | |
| PolicyCount : u32, | |
| Policy : [3]PROCESSOR_POWER_POLICY_INFO, | |
| }; | |
| PROCESSOR_PERFSTATE_POLICY :: struct { | |
| Revision : u32, | |
| MaxThrottle : BYTE, | |
| MinThrottle : BYTE, | |
| BusyAdjThreshold : BYTE, | |
| u : struct #raw_union { | |
| Spare : BYTE, | |
| Flags : struct #raw_union { | |
| AsBYTE : BYTE, | |
| s : struct { | |
| NoDomainAccounting : , | |
| IncreasePolicy : , | |
| DecreasePolicy : , | |
| Reserved : , | |
| }, | |
| }, | |
| }, | |
| TimeCheck : u32, | |
| IncreaseTime : u32, | |
| DecreaseTime : u32, | |
| IncreasePercent : u32, | |
| DecreasePercent : u32, | |
| }; | |
| PPROCESSOR_PERFSTATE_POLICY :: ^struct { | |
| Revision : u32, | |
| MaxThrottle : BYTE, | |
| MinThrottle : BYTE, | |
| BusyAdjThreshold : BYTE, | |
| u : struct #raw_union { | |
| Spare : BYTE, | |
| Flags : struct #raw_union { | |
| AsBYTE : BYTE, | |
| s : struct { | |
| NoDomainAccounting : , | |
| IncreasePolicy : , | |
| DecreasePolicy : , | |
| Reserved : , | |
| }, | |
| }, | |
| }, | |
| TimeCheck : u32, | |
| IncreaseTime : u32, | |
| DecreaseTime : u32, | |
| IncreasePercent : u32, | |
| DecreasePercent : u32, | |
| }; | |
| ADMINISTRATOR_POWER_POLICY :: struct { | |
| MinSleep : SYSTEM_POWER_STATE, | |
| MaxSleep : SYSTEM_POWER_STATE, | |
| MinVideoTimeout : u32, | |
| MaxVideoTimeout : u32, | |
| MinSpindownTimeout : u32, | |
| MaxSpindownTimeout : u32, | |
| }; | |
| PADMINISTRATOR_POWER_POLICY :: ^struct { | |
| MinSleep : SYSTEM_POWER_STATE, | |
| MaxSleep : SYSTEM_POWER_STATE, | |
| MinVideoTimeout : u32, | |
| MaxVideoTimeout : u32, | |
| MinSpindownTimeout : u32, | |
| MaxSpindownTimeout : u32, | |
| }; | |
| HIBERFILE_BUCKET_SIZE :: enum { | |
| HiberFileBucket1GB = 0, | |
| HiberFileBucket2GB, | |
| HiberFileBucket4GB, | |
| HiberFileBucket8GB, | |
| HiberFileBucket16GB, | |
| HiberFileBucket32GB, | |
| HiberFileBucketUnlimited, | |
| HiberFileBucketMax, | |
| }; | |
| PHIBERFILE_BUCKET_SIZE :: ^enum { | |
| HiberFileBucket1GB = 0, | |
| HiberFileBucket2GB, | |
| HiberFileBucket4GB, | |
| HiberFileBucket8GB, | |
| HiberFileBucket16GB, | |
| HiberFileBucket32GB, | |
| HiberFileBucketUnlimited, | |
| HiberFileBucketMax, | |
| }; | |
| HIBERFILE_BUCKET :: struct { | |
| MaxPhysicalMemory : DWORD64, | |
| PhysicalMemoryPercent : [0x03]u32, | |
| }; | |
| PHIBERFILE_BUCKET :: ^struct { | |
| MaxPhysicalMemory : DWORD64, | |
| PhysicalMemoryPercent : [0x03]u32, | |
| }; | |
| SYSTEM_POWER_CAPABILITIES :: struct { | |
| PowerButtonPresent : BOOLEAN, | |
| SleepButtonPresent : BOOLEAN, | |
| LidPresent : BOOLEAN, | |
| SystemS1 : BOOLEAN, | |
| SystemS2 : BOOLEAN, | |
| SystemS3 : BOOLEAN, | |
| SystemS4 : BOOLEAN, | |
| SystemS5 : BOOLEAN, | |
| HiberFilePresent : BOOLEAN, | |
| FullWake : BOOLEAN, | |
| VideoDimPresent : BOOLEAN, | |
| ApmPresent : BOOLEAN, | |
| UpsPresent : BOOLEAN, | |
| ThermalControl : BOOLEAN, | |
| ProcessorThrottle : BOOLEAN, | |
| ProcessorMinThrottle : BYTE, | |
| ProcessorMaxThrottle : BYTE, | |
| FastSystemS4 : BOOLEAN, | |
| Hiberboot : BOOLEAN, | |
| WakeAlarmPresent : BOOLEAN, | |
| AoAc : BOOLEAN, | |
| DiskSpinDown : BOOLEAN, | |
| HiberFileType : BYTE, | |
| AoAcConnectivitySupported : BOOLEAN, | |
| spare3 : [6]BYTE, | |
| SystemBatteriesPresent : BOOLEAN, | |
| BatteriesAreShortTerm : BOOLEAN, | |
| BatteryScale : [3]BATTERY_REPORTING_SCALE, | |
| AcOnLineWake : SYSTEM_POWER_STATE, | |
| SoftLidWake : SYSTEM_POWER_STATE, | |
| RtcWake : SYSTEM_POWER_STATE, | |
| MinDeviceWakeState : SYSTEM_POWER_STATE, | |
| DefaultLowLatencyWake : SYSTEM_POWER_STATE, | |
| }; | |
| PSYSTEM_POWER_CAPABILITIES :: ^struct { | |
| PowerButtonPresent : BOOLEAN, | |
| SleepButtonPresent : BOOLEAN, | |
| LidPresent : BOOLEAN, | |
| SystemS1 : BOOLEAN, | |
| SystemS2 : BOOLEAN, | |
| SystemS3 : BOOLEAN, | |
| SystemS4 : BOOLEAN, | |
| SystemS5 : BOOLEAN, | |
| HiberFilePresent : BOOLEAN, | |
| FullWake : BOOLEAN, | |
| VideoDimPresent : BOOLEAN, | |
| ApmPresent : BOOLEAN, | |
| UpsPresent : BOOLEAN, | |
| ThermalControl : BOOLEAN, | |
| ProcessorThrottle : BOOLEAN, | |
| ProcessorMinThrottle : BYTE, | |
| ProcessorMaxThrottle : BYTE, | |
| FastSystemS4 : BOOLEAN, | |
| Hiberboot : BOOLEAN, | |
| WakeAlarmPresent : BOOLEAN, | |
| AoAc : BOOLEAN, | |
| DiskSpinDown : BOOLEAN, | |
| HiberFileType : BYTE, | |
| AoAcConnectivitySupported : BOOLEAN, | |
| spare3 : [6]BYTE, | |
| SystemBatteriesPresent : BOOLEAN, | |
| BatteriesAreShortTerm : BOOLEAN, | |
| BatteryScale : [3]BATTERY_REPORTING_SCALE, | |
| AcOnLineWake : SYSTEM_POWER_STATE, | |
| SoftLidWake : SYSTEM_POWER_STATE, | |
| RtcWake : SYSTEM_POWER_STATE, | |
| MinDeviceWakeState : SYSTEM_POWER_STATE, | |
| DefaultLowLatencyWake : SYSTEM_POWER_STATE, | |
| }; | |
| SYSTEM_BATTERY_STATE :: struct { | |
| AcOnLine : BOOLEAN, | |
| BatteryPresent : BOOLEAN, | |
| Charging : BOOLEAN, | |
| Discharging : BOOLEAN, | |
| Spare1 : [3]BOOLEAN, | |
| Tag : BYTE, | |
| MaxCapacity : u32, | |
| RemainingCapacity : u32, | |
| Rate : u32, | |
| EstimatedTime : u32, | |
| DefaultAlert1 : u32, | |
| DefaultAlert2 : u32, | |
| }; | |
| PSYSTEM_BATTERY_STATE :: ^struct { | |
| AcOnLine : BOOLEAN, | |
| BatteryPresent : BOOLEAN, | |
| Charging : BOOLEAN, | |
| Discharging : BOOLEAN, | |
| Spare1 : [3]BOOLEAN, | |
| Tag : BYTE, | |
| MaxCapacity : u32, | |
| RemainingCapacity : u32, | |
| Rate : u32, | |
| EstimatedTime : u32, | |
| DefaultAlert1 : u32, | |
| DefaultAlert2 : u32, | |
| }; | |
| IMAGE_DOS_HEADER :: struct { | |
| e_magic : u16, | |
| e_cblp : u16, | |
| e_cp : u16, | |
| e_crlc : u16, | |
| e_cparhdr : u16, | |
| e_minalloc : u16, | |
| e_maxalloc : u16, | |
| e_ss : u16, | |
| e_sp : u16, | |
| e_csum : u16, | |
| e_ip : u16, | |
| e_cs : u16, | |
| e_lfarlc : u16, | |
| e_ovno : u16, | |
| e_res : [4]u16, | |
| e_oemid : u16, | |
| e_oeminfo : u16, | |
| e_res2 : [10]u16, | |
| e_lfanew : LONG, | |
| }; | |
| PIMAGE_DOS_HEADER :: ^struct { | |
| e_magic : u16, | |
| e_cblp : u16, | |
| e_cp : u16, | |
| e_crlc : u16, | |
| e_cparhdr : u16, | |
| e_minalloc : u16, | |
| e_maxalloc : u16, | |
| e_ss : u16, | |
| e_sp : u16, | |
| e_csum : u16, | |
| e_ip : u16, | |
| e_cs : u16, | |
| e_lfarlc : u16, | |
| e_ovno : u16, | |
| e_res : [4]u16, | |
| e_oemid : u16, | |
| e_oeminfo : u16, | |
| e_res2 : [10]u16, | |
| e_lfanew : LONG, | |
| }; | |
| IMAGE_OS2_HEADER :: struct { | |
| ne_magic : u16, | |
| ne_ver : CHAR, | |
| ne_rev : CHAR, | |
| ne_enttab : u16, | |
| ne_cbenttab : u16, | |
| ne_crc : LONG, | |
| ne_flags : u16, | |
| ne_autodata : u16, | |
| ne_heap : u16, | |
| ne_stack : u16, | |
| ne_csip : LONG, | |
| ne_sssp : LONG, | |
| ne_cseg : u16, | |
| ne_cmod : u16, | |
| ne_cbnrestab : u16, | |
| ne_segtab : u16, | |
| ne_rsrctab : u16, | |
| ne_restab : u16, | |
| ne_modtab : u16, | |
| ne_imptab : u16, | |
| ne_nrestab : LONG, | |
| ne_cmovent : u16, | |
| ne_align : u16, | |
| ne_cres : u16, | |
| ne_exetyp : BYTE, | |
| ne_flagsothers : BYTE, | |
| ne_pretthunks : u16, | |
| ne_psegrefbytes : u16, | |
| ne_swaparea : u16, | |
| ne_expver : u16, | |
| }; | |
| PIMAGE_OS2_HEADER :: ^struct { | |
| ne_magic : u16, | |
| ne_ver : CHAR, | |
| ne_rev : CHAR, | |
| ne_enttab : u16, | |
| ne_cbenttab : u16, | |
| ne_crc : LONG, | |
| ne_flags : u16, | |
| ne_autodata : u16, | |
| ne_heap : u16, | |
| ne_stack : u16, | |
| ne_csip : LONG, | |
| ne_sssp : LONG, | |
| ne_cseg : u16, | |
| ne_cmod : u16, | |
| ne_cbnrestab : u16, | |
| ne_segtab : u16, | |
| ne_rsrctab : u16, | |
| ne_restab : u16, | |
| ne_modtab : u16, | |
| ne_imptab : u16, | |
| ne_nrestab : LONG, | |
| ne_cmovent : u16, | |
| ne_align : u16, | |
| ne_cres : u16, | |
| ne_exetyp : BYTE, | |
| ne_flagsothers : BYTE, | |
| ne_pretthunks : u16, | |
| ne_psegrefbytes : u16, | |
| ne_swaparea : u16, | |
| ne_expver : u16, | |
| }; | |
| IMAGE_VXD_HEADER :: struct { | |
| e32_magic : u16, | |
| e32_border : BYTE, | |
| e32_worder : BYTE, | |
| e32_level : u32, | |
| e32_cpu : u16, | |
| e32_os : u16, | |
| e32_ver : u32, | |
| e32_mflags : u32, | |
| e32_mpages : u32, | |
| e32_startobj : u32, | |
| e32_eip : u32, | |
| e32_stackobj : u32, | |
| e32_esp : u32, | |
| e32_pagesize : u32, | |
| e32_lastpagesize : u32, | |
| e32_fixupsize : u32, | |
| e32_fixupsum : u32, | |
| e32_ldrsize : u32, | |
| e32_ldrsum : u32, | |
| e32_objtab : u32, | |
| e32_objcnt : u32, | |
| e32_objmap : u32, | |
| e32_itermap : u32, | |
| e32_rsrctab : u32, | |
| e32_rsrccnt : u32, | |
| e32_restab : u32, | |
| e32_enttab : u32, | |
| e32_dirtab : u32, | |
| e32_dircnt : u32, | |
| e32_fpagetab : u32, | |
| e32_frectab : u32, | |
| e32_impmod : u32, | |
| e32_impmodcnt : u32, | |
| e32_impproc : u32, | |
| e32_pagesum : u32, | |
| e32_datapage : u32, | |
| e32_preload : u32, | |
| e32_nrestab : u32, | |
| e32_cbnrestab : u32, | |
| e32_nressum : u32, | |
| e32_autodata : u32, | |
| e32_debuginfo : u32, | |
| e32_debuglen : u32, | |
| e32_instpreload : u32, | |
| e32_instdemand : u32, | |
| e32_heapsize : u32, | |
| e32_res3 : [12]BYTE, | |
| e32_winresoff : u32, | |
| e32_winreslen : u32, | |
| e32_devid : u16, | |
| e32_ddkver : u16, | |
| }; | |
| PIMAGE_VXD_HEADER :: ^struct { | |
| e32_magic : u16, | |
| e32_border : BYTE, | |
| e32_worder : BYTE, | |
| e32_level : u32, | |
| e32_cpu : u16, | |
| e32_os : u16, | |
| e32_ver : u32, | |
| e32_mflags : u32, | |
| e32_mpages : u32, | |
| e32_startobj : u32, | |
| e32_eip : u32, | |
| e32_stackobj : u32, | |
| e32_esp : u32, | |
| e32_pagesize : u32, | |
| e32_lastpagesize : u32, | |
| e32_fixupsize : u32, | |
| e32_fixupsum : u32, | |
| e32_ldrsize : u32, | |
| e32_ldrsum : u32, | |
| e32_objtab : u32, | |
| e32_objcnt : u32, | |
| e32_objmap : u32, | |
| e32_itermap : u32, | |
| e32_rsrctab : u32, | |
| e32_rsrccnt : u32, | |
| e32_restab : u32, | |
| e32_enttab : u32, | |
| e32_dirtab : u32, | |
| e32_dircnt : u32, | |
| e32_fpagetab : u32, | |
| e32_frectab : u32, | |
| e32_impmod : u32, | |
| e32_impmodcnt : u32, | |
| e32_impproc : u32, | |
| e32_pagesum : u32, | |
| e32_datapage : u32, | |
| e32_preload : u32, | |
| e32_nrestab : u32, | |
| e32_cbnrestab : u32, | |
| e32_nressum : u32, | |
| e32_autodata : u32, | |
| e32_debuginfo : u32, | |
| e32_debuglen : u32, | |
| e32_instpreload : u32, | |
| e32_instdemand : u32, | |
| e32_heapsize : u32, | |
| e32_res3 : [12]BYTE, | |
| e32_winresoff : u32, | |
| e32_winreslen : u32, | |
| e32_devid : u16, | |
| e32_ddkver : u16, | |
| }; | |
| IMAGE_FILE_HEADER :: struct { | |
| Machine : u16, | |
| NumberOfSections : u16, | |
| TimeDateStamp : u32, | |
| PointerToSymbolTable : u32, | |
| NumberOfSymbols : u32, | |
| SizeOfOptionalHeader : u16, | |
| Characteristics : u16, | |
| }; | |
| PIMAGE_FILE_HEADER :: ^struct { | |
| Machine : u16, | |
| NumberOfSections : u16, | |
| TimeDateStamp : u32, | |
| PointerToSymbolTable : u32, | |
| NumberOfSymbols : u32, | |
| SizeOfOptionalHeader : u16, | |
| Characteristics : u16, | |
| }; | |
| IMAGE_DATA_DIRECTORY :: struct { | |
| VirtualAddress : u32, | |
| Size : u32, | |
| }; | |
| PIMAGE_DATA_DIRECTORY :: ^struct { | |
| VirtualAddress : u32, | |
| Size : u32, | |
| }; | |
| IMAGE_OPTIONAL_HEADER32 :: struct { | |
| Magic : u16, | |
| MajorLinkerVersion : BYTE, | |
| MinorLinkerVersion : BYTE, | |
| SizeOfCode : u32, | |
| SizeOfInitializedData : u32, | |
| SizeOfUninitializedData : u32, | |
| AddressOfEntryPoint : u32, | |
| BaseOfCode : u32, | |
| BaseOfData : u32, | |
| ImageBase : u32, | |
| SectionAlignment : u32, | |
| FileAlignment : u32, | |
| MajorOperatingSystemVersion : u16, | |
| MinorOperatingSystemVersion : u16, | |
| MajorImageVersion : u16, | |
| MinorImageVersion : u16, | |
| MajorSubsystemVersion : u16, | |
| MinorSubsystemVersion : u16, | |
| Win32VersionValue : u32, | |
| SizeOfImage : u32, | |
| SizeOfHeaders : u32, | |
| CheckSum : u32, | |
| Subsystem : u16, | |
| DllCharacteristics : u16, | |
| SizeOfStackReserve : u32, | |
| SizeOfStackCommit : u32, | |
| SizeOfHeapReserve : u32, | |
| SizeOfHeapCommit : u32, | |
| LoaderFlags : u32, | |
| NumberOfRvaAndSizes : u32, | |
| DataDirectory : [16]IMAGE_DATA_DIRECTORY, | |
| }; | |
| PIMAGE_OPTIONAL_HEADER32 :: ^struct { | |
| Magic : u16, | |
| MajorLinkerVersion : BYTE, | |
| MinorLinkerVersion : BYTE, | |
| SizeOfCode : u32, | |
| SizeOfInitializedData : u32, | |
| SizeOfUninitializedData : u32, | |
| AddressOfEntryPoint : u32, | |
| BaseOfCode : u32, | |
| BaseOfData : u32, | |
| ImageBase : u32, | |
| SectionAlignment : u32, | |
| FileAlignment : u32, | |
| MajorOperatingSystemVersion : u16, | |
| MinorOperatingSystemVersion : u16, | |
| MajorImageVersion : u16, | |
| MinorImageVersion : u16, | |
| MajorSubsystemVersion : u16, | |
| MinorSubsystemVersion : u16, | |
| Win32VersionValue : u32, | |
| SizeOfImage : u32, | |
| SizeOfHeaders : u32, | |
| CheckSum : u32, | |
| Subsystem : u16, | |
| DllCharacteristics : u16, | |
| SizeOfStackReserve : u32, | |
| SizeOfStackCommit : u32, | |
| SizeOfHeapReserve : u32, | |
| SizeOfHeapCommit : u32, | |
| LoaderFlags : u32, | |
| NumberOfRvaAndSizes : u32, | |
| DataDirectory : [16]IMAGE_DATA_DIRECTORY, | |
| }; | |
| IMAGE_ROM_OPTIONAL_HEADER :: struct { | |
| Magic : u16, | |
| MajorLinkerVersion : BYTE, | |
| MinorLinkerVersion : BYTE, | |
| SizeOfCode : u32, | |
| SizeOfInitializedData : u32, | |
| SizeOfUninitializedData : u32, | |
| AddressOfEntryPoint : u32, | |
| BaseOfCode : u32, | |
| BaseOfData : u32, | |
| BaseOfBss : u32, | |
| GprMask : u32, | |
| CprMask : [4]u32, | |
| GpValue : u32, | |
| }; | |
| PIMAGE_ROM_OPTIONAL_HEADER :: ^struct { | |
| Magic : u16, | |
| MajorLinkerVersion : BYTE, | |
| MinorLinkerVersion : BYTE, | |
| SizeOfCode : u32, | |
| SizeOfInitializedData : u32, | |
| SizeOfUninitializedData : u32, | |
| AddressOfEntryPoint : u32, | |
| BaseOfCode : u32, | |
| BaseOfData : u32, | |
| BaseOfBss : u32, | |
| GprMask : u32, | |
| CprMask : [4]u32, | |
| GpValue : u32, | |
| }; | |
| IMAGE_OPTIONAL_HEADER64 :: struct { | |
| Magic : u16, | |
| MajorLinkerVersion : BYTE, | |
| MinorLinkerVersion : BYTE, | |
| SizeOfCode : u32, | |
| SizeOfInitializedData : u32, | |
| SizeOfUninitializedData : u32, | |
| AddressOfEntryPoint : u32, | |
| BaseOfCode : u32, | |
| ImageBase : ULONGLONG, | |
| SectionAlignment : u32, | |
| FileAlignment : u32, | |
| MajorOperatingSystemVersion : u16, | |
| MinorOperatingSystemVersion : u16, | |
| MajorImageVersion : u16, | |
| MinorImageVersion : u16, | |
| MajorSubsystemVersion : u16, | |
| MinorSubsystemVersion : u16, | |
| Win32VersionValue : u32, | |
| SizeOfImage : u32, | |
| SizeOfHeaders : u32, | |
| CheckSum : u32, | |
| Subsystem : u16, | |
| DllCharacteristics : u16, | |
| SizeOfStackReserve : ULONGLONG, | |
| SizeOfStackCommit : ULONGLONG, | |
| SizeOfHeapReserve : ULONGLONG, | |
| SizeOfHeapCommit : ULONGLONG, | |
| LoaderFlags : u32, | |
| NumberOfRvaAndSizes : u32, | |
| DataDirectory : [16]IMAGE_DATA_DIRECTORY, | |
| }; | |
| PIMAGE_OPTIONAL_HEADER64 :: ^struct { | |
| Magic : u16, | |
| MajorLinkerVersion : BYTE, | |
| MinorLinkerVersion : BYTE, | |
| SizeOfCode : u32, | |
| SizeOfInitializedData : u32, | |
| SizeOfUninitializedData : u32, | |
| AddressOfEntryPoint : u32, | |
| BaseOfCode : u32, | |
| ImageBase : ULONGLONG, | |
| SectionAlignment : u32, | |
| FileAlignment : u32, | |
| MajorOperatingSystemVersion : u16, | |
| MinorOperatingSystemVersion : u16, | |
| MajorImageVersion : u16, | |
| MinorImageVersion : u16, | |
| MajorSubsystemVersion : u16, | |
| MinorSubsystemVersion : u16, | |
| Win32VersionValue : u32, | |
| SizeOfImage : u32, | |
| SizeOfHeaders : u32, | |
| CheckSum : u32, | |
| Subsystem : u16, | |
| DllCharacteristics : u16, | |
| SizeOfStackReserve : ULONGLONG, | |
| SizeOfStackCommit : ULONGLONG, | |
| SizeOfHeapReserve : ULONGLONG, | |
| SizeOfHeapCommit : ULONGLONG, | |
| LoaderFlags : u32, | |
| NumberOfRvaAndSizes : u32, | |
| DataDirectory : [16]IMAGE_DATA_DIRECTORY, | |
| }; | |
| IMAGE_OPTIONAL_HEADER :: IMAGE_OPTIONAL_HEADER32; | |
| PIMAGE_OPTIONAL_HEADER :: PIMAGE_OPTIONAL_HEADER32; | |
| IMAGE_NT_HEADERS64 :: struct { | |
| Signature : u32, | |
| FileHeader : IMAGE_FILE_HEADER, | |
| OptionalHeader : IMAGE_OPTIONAL_HEADER64, | |
| }; | |
| PIMAGE_NT_HEADERS64 :: ^struct { | |
| Signature : u32, | |
| FileHeader : IMAGE_FILE_HEADER, | |
| OptionalHeader : IMAGE_OPTIONAL_HEADER64, | |
| }; | |
| IMAGE_NT_HEADERS32 :: struct { | |
| Signature : u32, | |
| FileHeader : IMAGE_FILE_HEADER, | |
| OptionalHeader : IMAGE_OPTIONAL_HEADER32, | |
| }; | |
| PIMAGE_NT_HEADERS32 :: ^struct { | |
| Signature : u32, | |
| FileHeader : IMAGE_FILE_HEADER, | |
| OptionalHeader : IMAGE_OPTIONAL_HEADER32, | |
| }; | |
| IMAGE_ROM_HEADERS :: struct { | |
| FileHeader : IMAGE_FILE_HEADER, | |
| OptionalHeader : IMAGE_ROM_OPTIONAL_HEADER, | |
| }; | |
| PIMAGE_ROM_HEADERS :: ^struct { | |
| FileHeader : IMAGE_FILE_HEADER, | |
| OptionalHeader : IMAGE_ROM_OPTIONAL_HEADER, | |
| }; | |
| IMAGE_NT_HEADERS :: IMAGE_NT_HEADERS32; | |
| PIMAGE_NT_HEADERS :: PIMAGE_NT_HEADERS32; | |
| ANON_OBJECT_HEADER :: struct { | |
| Sig1 : u16, | |
| Sig2 : u16, | |
| Version : u16, | |
| Machine : u16, | |
| TimeDateStamp : u32, | |
| ClassID : CLSID, | |
| SizeOfData : u32, | |
| }; | |
| ANON_OBJECT_HEADER_V2 :: struct { | |
| Sig1 : u16, | |
| Sig2 : u16, | |
| Version : u16, | |
| Machine : u16, | |
| TimeDateStamp : u32, | |
| ClassID : CLSID, | |
| SizeOfData : u32, | |
| Flags : u32, | |
| MetaDataSize : u32, | |
| MetaDataOffset : u32, | |
| }; | |
| ANON_OBJECT_HEADER_BIGOBJ :: struct { | |
| Sig1 : u16, | |
| Sig2 : u16, | |
| Version : u16, | |
| Machine : u16, | |
| TimeDateStamp : u32, | |
| ClassID : CLSID, | |
| SizeOfData : u32, | |
| Flags : u32, | |
| MetaDataSize : u32, | |
| MetaDataOffset : u32, | |
| NumberOfSections : u32, | |
| PointerToSymbolTable : u32, | |
| NumberOfSymbols : u32, | |
| }; | |
| IMAGE_SECTION_HEADER :: struct { | |
| Name : [8]BYTE, | |
| Misc : struct #raw_union { | |
| PhysicalAddress : u32, | |
| VirtualSize : u32, | |
| }, | |
| VirtualAddress : u32, | |
| SizeOfRawData : u32, | |
| PointerToRawData : u32, | |
| PointerToRelocations : u32, | |
| PointerToLinenumbers : u32, | |
| NumberOfRelocations : u16, | |
| NumberOfLinenumbers : u16, | |
| Characteristics : u32, | |
| }; | |
| PIMAGE_SECTION_HEADER :: ^struct { | |
| Name : [8]BYTE, | |
| Misc : struct #raw_union { | |
| PhysicalAddress : u32, | |
| VirtualSize : u32, | |
| }, | |
| VirtualAddress : u32, | |
| SizeOfRawData : u32, | |
| PointerToRawData : u32, | |
| PointerToRelocations : u32, | |
| PointerToLinenumbers : u32, | |
| NumberOfRelocations : u16, | |
| NumberOfLinenumbers : u16, | |
| Characteristics : u32, | |
| }; | |
| IMAGE_SYMBOL :: struct { | |
| N : struct #raw_union { | |
| ShortName : [8]BYTE, | |
| Name : struct { | |
| Short : u32, | |
| Long : u32, | |
| }, | |
| LongName : [2]u32, | |
| }, | |
| Value : u32, | |
| SectionNumber : SHORT, | |
| Type : u16, | |
| StorageClass : BYTE, | |
| NumberOfAuxSymbols : BYTE, | |
| }; | |
| PIMAGE_SYMBOL :: ^IMAGE_SYMBOL; | |
| IMAGE_SYMBOL_EX :: struct { | |
| N : struct #raw_union { | |
| ShortName : [8]BYTE, | |
| Name : struct { | |
| Short : u32, | |
| Long : u32, | |
| }, | |
| LongName : [2]u32, | |
| }, | |
| Value : u32, | |
| SectionNumber : LONG, | |
| Type : u16, | |
| StorageClass : BYTE, | |
| NumberOfAuxSymbols : BYTE, | |
| }; | |
| PIMAGE_SYMBOL_EX :: ^IMAGE_SYMBOL_EX; | |
| IMAGE_AUX_SYMBOL_TOKEN_DEF :: struct { | |
| bAuxType : BYTE, | |
| bReserved : BYTE, | |
| SymbolTableIndex : u32, | |
| rgbReserved : [12]BYTE, | |
| }; | |
| PIMAGE_AUX_SYMBOL_TOKEN_DEF :: ^IMAGE_AUX_SYMBOL_TOKEN_DEF; | |
| IMAGE_AUX_SYMBOL :: struct #raw_union { | |
| Sym : struct { | |
| TagIndex : u32, | |
| Misc : struct #raw_union { | |
| LnSz : struct { | |
| Linenumber : u16, | |
| Size : u16, | |
| }, | |
| TotalSize : u32, | |
| }, | |
| FcnAry : struct #raw_union { | |
| Function : struct { | |
| PointerToLinenumber : u32, | |
| PointerToNextFunction : u32, | |
| }, | |
| Array : struct { | |
| Dimension : [4]u16, | |
| }, | |
| }, | |
| TvIndex : u16, | |
| }, | |
| File : struct { | |
| Name : [18]BYTE, | |
| }, | |
| Section : struct { | |
| Length : u32, | |
| NumberOfRelocations : u16, | |
| NumberOfLinenumbers : u16, | |
| CheckSum : u32, | |
| Number : SHORT, | |
| Selection : BYTE, | |
| bReserved : BYTE, | |
| HighNumber : SHORT, | |
| }, | |
| TokenDef : IMAGE_AUX_SYMBOL_TOKEN_DEF, | |
| CRC : struct { | |
| crc : u32, | |
| rgbReserved : [14]BYTE, | |
| }, | |
| }; | |
| PIMAGE_AUX_SYMBOL :: ^IMAGE_AUX_SYMBOL; | |
| IMAGE_AUX_SYMBOL_EX :: struct #raw_union { | |
| Sym : struct { | |
| WeakDefaultSymIndex : u32, | |
| WeakSearchType : u32, | |
| rgbReserved : [12]BYTE, | |
| }, | |
| File : struct { | |
| Name : [size_of(IMAGE_SYMBOL_EX)]BYTE, | |
| }, | |
| Section : struct { | |
| Length : u32, | |
| NumberOfRelocations : u16, | |
| NumberOfLinenumbers : u16, | |
| CheckSum : u32, | |
| Number : SHORT, | |
| Selection : BYTE, | |
| bReserved : BYTE, | |
| HighNumber : SHORT, | |
| rgbReserved : [2]BYTE, | |
| }, | |
| s : struct { | |
| TokenDef : IMAGE_AUX_SYMBOL_TOKEN_DEF, | |
| rgbReserved : [2]BYTE, | |
| }, | |
| CRC : struct { | |
| crc : u32, | |
| rgbReserved : [16]BYTE, | |
| }, | |
| }; | |
| PIMAGE_AUX_SYMBOL_EX :: ^IMAGE_AUX_SYMBOL_EX; | |
| IMAGE_AUX_SYMBOL_TYPE :: enum { | |
| IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1, | |
| }; | |
| IMAGE_RELOCATION :: struct { | |
| u : struct #raw_union { | |
| VirtualAddress : u32, | |
| RelocCount : u32, | |
| }, | |
| SymbolTableIndex : u32, | |
| Type : u16, | |
| }; | |
| PIMAGE_RELOCATION :: ^IMAGE_RELOCATION; | |
| IMAGE_LINENUMBER :: struct { | |
| Type : struct #raw_union { | |
| SymbolTableIndex : u32, | |
| VirtualAddress : u32, | |
| }, | |
| Linenumber : u16, | |
| }; | |
| PIMAGE_LINENUMBER :: ^IMAGE_LINENUMBER; | |
| IMAGE_BASE_RELOCATION :: struct { | |
| VirtualAddress : u32, | |
| SizeOfBlock : u32, | |
| }; | |
| PIMAGE_BASE_RELOCATION :: ^IMAGE_BASE_RELOCATION; | |
| IMAGE_ARCHIVE_MEMBER_HEADER :: struct { | |
| Name : [16]BYTE, | |
| Date : [12]BYTE, | |
| UserID : [6]BYTE, | |
| GroupID : [6]BYTE, | |
| Mode : [8]BYTE, | |
| Size : [10]BYTE, | |
| EndHeader : [2]BYTE, | |
| }; | |
| PIMAGE_ARCHIVE_MEMBER_HEADER :: ^struct { | |
| Name : [16]BYTE, | |
| Date : [12]BYTE, | |
| UserID : [6]BYTE, | |
| GroupID : [6]BYTE, | |
| Mode : [8]BYTE, | |
| Size : [10]BYTE, | |
| EndHeader : [2]BYTE, | |
| }; | |
| IMAGE_EXPORT_DIRECTORY :: struct { | |
| Characteristics : u32, | |
| TimeDateStamp : u32, | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| Name : u32, | |
| Base : u32, | |
| NumberOfFunctions : u32, | |
| NumberOfNames : u32, | |
| AddressOfFunctions : u32, | |
| AddressOfNames : u32, | |
| AddressOfNameOrdinals : u32, | |
| }; | |
| PIMAGE_EXPORT_DIRECTORY :: ^struct { | |
| Characteristics : u32, | |
| TimeDateStamp : u32, | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| Name : u32, | |
| Base : u32, | |
| NumberOfFunctions : u32, | |
| NumberOfNames : u32, | |
| AddressOfFunctions : u32, | |
| AddressOfNames : u32, | |
| AddressOfNameOrdinals : u32, | |
| }; | |
| IMAGE_IMPORT_BY_NAME :: struct { | |
| Hint : u16, | |
| Name : [1]CHAR, | |
| }; | |
| PIMAGE_IMPORT_BY_NAME :: ^struct { | |
| Hint : u16, | |
| Name : [1]CHAR, | |
| }; | |
| IMAGE_THUNK_DATA64 :: struct { | |
| u1 : struct #raw_union { | |
| ForwarderString : ULONGLONG, | |
| Function : ULONGLONG, | |
| Ordinal : ULONGLONG, | |
| AddressOfData : ULONGLONG, | |
| }, | |
| }; | |
| PIMAGE_THUNK_DATA64 :: ^IMAGE_THUNK_DATA64; | |
| IMAGE_THUNK_DATA32 :: struct { | |
| u1 : struct #raw_union { | |
| ForwarderString : u32, | |
| Function : u32, | |
| Ordinal : u32, | |
| AddressOfData : u32, | |
| }, | |
| }; | |
| PIMAGE_THUNK_DATA32 :: ^IMAGE_THUNK_DATA32; | |
| PIMAGE_TLS_CALLBACK :: proc(DllHandle : PVOID, Reason : u32, Reserved : PVOID); | |
| IMAGE_TLS_DIRECTORY64 :: struct { | |
| StartAddressOfRawData : ULONGLONG, | |
| EndAddressOfRawData : ULONGLONG, | |
| AddressOfIndex : ULONGLONG, | |
| AddressOfCallBacks : ULONGLONG, | |
| SizeOfZeroFill : u32, | |
| u : struct #raw_union { | |
| Characteristics : u32, | |
| s : struct { | |
| Reserved0 : , | |
| Alignment : , | |
| Reserved1 : , | |
| }, | |
| }, | |
| }; | |
| PIMAGE_TLS_DIRECTORY64 :: ^IMAGE_TLS_DIRECTORY64; | |
| IMAGE_TLS_DIRECTORY32 :: struct { | |
| StartAddressOfRawData : u32, | |
| EndAddressOfRawData : u32, | |
| AddressOfIndex : u32, | |
| AddressOfCallBacks : u32, | |
| SizeOfZeroFill : u32, | |
| u : struct #raw_union { | |
| Characteristics : u32, | |
| s : struct { | |
| Reserved0 : , | |
| Alignment : , | |
| Reserved1 : , | |
| }, | |
| }, | |
| }; | |
| PIMAGE_TLS_DIRECTORY32 :: ^IMAGE_TLS_DIRECTORY32; | |
| IMAGE_THUNK_DATA :: IMAGE_THUNK_DATA32; | |
| PIMAGE_THUNK_DATA :: PIMAGE_THUNK_DATA32; | |
| IMAGE_TLS_DIRECTORY :: IMAGE_TLS_DIRECTORY32; | |
| PIMAGE_TLS_DIRECTORY :: PIMAGE_TLS_DIRECTORY32; | |
| IMAGE_IMPORT_DESCRIPTOR :: struct { | |
| u : struct #raw_union { | |
| Characteristics : u32, | |
| OriginalFirstThunk : u32, | |
| }, | |
| TimeDateStamp : u32, | |
| ForwarderChain : u32, | |
| Name : u32, | |
| FirstThunk : u32, | |
| }; | |
| PIMAGE_IMPORT_DESCRIPTOR :: ^IMAGE_IMPORT_DESCRIPTOR; | |
| IMAGE_BOUND_IMPORT_DESCRIPTOR :: struct { | |
| TimeDateStamp : u32, | |
| OffsetModuleName : u16, | |
| NumberOfModuleForwarderRefs : u16, | |
| }; | |
| PIMAGE_BOUND_IMPORT_DESCRIPTOR :: ^struct { | |
| TimeDateStamp : u32, | |
| OffsetModuleName : u16, | |
| NumberOfModuleForwarderRefs : u16, | |
| }; | |
| IMAGE_BOUND_FORWARDER_REF :: struct { | |
| TimeDateStamp : u32, | |
| OffsetModuleName : u16, | |
| Reserved : u16, | |
| }; | |
| PIMAGE_BOUND_FORWARDER_REF :: ^struct { | |
| TimeDateStamp : u32, | |
| OffsetModuleName : u16, | |
| Reserved : u16, | |
| }; | |
| IMAGE_DELAYLOAD_DESCRIPTOR :: struct { | |
| Attributes : struct #raw_union { | |
| AllAttributes : u32, | |
| s : struct { | |
| RvaBased : , | |
| ReservedAttributes : , | |
| }, | |
| }, | |
| DllNameRVA : u32, | |
| ModuleHandleRVA : u32, | |
| ImportAddressTableRVA : u32, | |
| ImportNameTableRVA : u32, | |
| BoundImportAddressTableRVA : u32, | |
| UnloadInformationTableRVA : u32, | |
| TimeDateStamp : u32, | |
| }; | |
| PIMAGE_DELAYLOAD_DESCRIPTOR :: ^struct { | |
| Attributes : struct #raw_union { | |
| AllAttributes : u32, | |
| s : struct { | |
| RvaBased : , | |
| ReservedAttributes : , | |
| }, | |
| }, | |
| DllNameRVA : u32, | |
| ModuleHandleRVA : u32, | |
| ImportAddressTableRVA : u32, | |
| ImportNameTableRVA : u32, | |
| BoundImportAddressTableRVA : u32, | |
| UnloadInformationTableRVA : u32, | |
| TimeDateStamp : u32, | |
| }; | |
| PCIMAGE_DELAYLOAD_DESCRIPTOR :: ^IMAGE_DELAYLOAD_DESCRIPTOR; | |
| IMAGE_RESOURCE_DIRECTORY :: struct { | |
| Characteristics : u32, | |
| TimeDateStamp : u32, | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| NumberOfNamedEntries : u16, | |
| NumberOfIdEntries : u16, | |
| }; | |
| PIMAGE_RESOURCE_DIRECTORY :: ^struct { | |
| Characteristics : u32, | |
| TimeDateStamp : u32, | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| NumberOfNamedEntries : u16, | |
| NumberOfIdEntries : u16, | |
| }; | |
| IMAGE_RESOURCE_DIRECTORY_ENTRY :: struct { | |
| u : struct #raw_union { | |
| s : struct { | |
| NameOffset : , | |
| NameIsString : , | |
| }, | |
| Name : u32, | |
| Id : u16, | |
| }, | |
| u2 : struct #raw_union { | |
| OffsetToData : u32, | |
| s2 : struct { | |
| OffsetToDirectory : , | |
| DataIsDirectory : , | |
| }, | |
| }, | |
| }; | |
| PIMAGE_RESOURCE_DIRECTORY_ENTRY :: ^struct { | |
| u : struct #raw_union { | |
| s : struct { | |
| NameOffset : , | |
| NameIsString : , | |
| }, | |
| Name : u32, | |
| Id : u16, | |
| }, | |
| u2 : struct #raw_union { | |
| OffsetToData : u32, | |
| s2 : struct { | |
| OffsetToDirectory : , | |
| DataIsDirectory : , | |
| }, | |
| }, | |
| }; | |
| IMAGE_RESOURCE_DIRECTORY_STRING :: struct { | |
| Length : u16, | |
| NameString : [1]CHAR, | |
| }; | |
| PIMAGE_RESOURCE_DIRECTORY_STRING :: ^struct { | |
| Length : u16, | |
| NameString : [1]CHAR, | |
| }; | |
| IMAGE_RESOURCE_DIR_STRING_U :: struct { | |
| Length : u16, | |
| NameString : [1]WCHAR, | |
| }; | |
| PIMAGE_RESOURCE_DIR_STRING_U :: ^struct { | |
| Length : u16, | |
| NameString : [1]WCHAR, | |
| }; | |
| IMAGE_RESOURCE_DATA_ENTRY :: struct { | |
| OffsetToData : u32, | |
| Size : u32, | |
| CodePage : u32, | |
| Reserved : u32, | |
| }; | |
| PIMAGE_RESOURCE_DATA_ENTRY :: ^struct { | |
| OffsetToData : u32, | |
| Size : u32, | |
| CodePage : u32, | |
| Reserved : u32, | |
| }; | |
| IMAGE_LOAD_CONFIG_CODE_INTEGRITY :: struct { | |
| Flags : u16, | |
| Catalog : u16, | |
| CatalogOffset : u32, | |
| Reserved : u32, | |
| }; | |
| PIMAGE_LOAD_CONFIG_CODE_INTEGRITY :: ^struct { | |
| Flags : u16, | |
| Catalog : u16, | |
| CatalogOffset : u32, | |
| Reserved : u32, | |
| }; | |
| IMAGE_DYNAMIC_RELOCATION_TABLE :: struct { | |
| Version : u32, | |
| Size : u32, | |
| }; | |
| PIMAGE_DYNAMIC_RELOCATION_TABLE :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| }; | |
| IMAGE_DYNAMIC_RELOCATION32 :: struct { | |
| Symbol : u32, | |
| BaseRelocSize : u32, | |
| }; | |
| PIMAGE_DYNAMIC_RELOCATION32 :: ^struct { | |
| Symbol : u32, | |
| BaseRelocSize : u32, | |
| }; | |
| IMAGE_DYNAMIC_RELOCATION64 :: struct { | |
| Symbol : ULONGLONG, | |
| BaseRelocSize : u32, | |
| }; | |
| PIMAGE_DYNAMIC_RELOCATION64 :: ^struct { | |
| Symbol : ULONGLONG, | |
| BaseRelocSize : u32, | |
| }; | |
| IMAGE_DYNAMIC_RELOCATION32_V2 :: struct { | |
| HeaderSize : u32, | |
| FixupInfoSize : u32, | |
| Symbol : u32, | |
| SymbolGroup : u32, | |
| Flags : u32, | |
| }; | |
| PIMAGE_DYNAMIC_RELOCATION32_V2 :: ^struct { | |
| HeaderSize : u32, | |
| FixupInfoSize : u32, | |
| Symbol : u32, | |
| SymbolGroup : u32, | |
| Flags : u32, | |
| }; | |
| IMAGE_DYNAMIC_RELOCATION64_V2 :: struct { | |
| HeaderSize : u32, | |
| FixupInfoSize : u32, | |
| Symbol : ULONGLONG, | |
| SymbolGroup : u32, | |
| Flags : u32, | |
| }; | |
| PIMAGE_DYNAMIC_RELOCATION64_V2 :: ^struct { | |
| HeaderSize : u32, | |
| FixupInfoSize : u32, | |
| Symbol : ULONGLONG, | |
| SymbolGroup : u32, | |
| Flags : u32, | |
| }; | |
| IMAGE_DYNAMIC_RELOCATION :: IMAGE_DYNAMIC_RELOCATION32; | |
| PIMAGE_DYNAMIC_RELOCATION :: PIMAGE_DYNAMIC_RELOCATION32; | |
| IMAGE_DYNAMIC_RELOCATION_V2 :: IMAGE_DYNAMIC_RELOCATION32_V2; | |
| PIMAGE_DYNAMIC_RELOCATION_V2 :: PIMAGE_DYNAMIC_RELOCATION32_V2; | |
| IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER :: struct { | |
| PrologueByteCount : BYTE, | |
| }; | |
| PIMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER :: ^IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER; | |
| IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER :: struct { | |
| EpilogueCount : u32, | |
| EpilogueByteCount : BYTE, | |
| BranchDescriptorElementSize : BYTE, | |
| BranchDescriptorCount : u16, | |
| }; | |
| PIMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER :: ^IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER; | |
| IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION :: struct { | |
| PageRelativeOffset : , | |
| IndirectCall : , | |
| IATIndex : , | |
| }; | |
| PIMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION :: ^IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION; | |
| IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION :: struct { | |
| PageRelativeOffset : , | |
| IndirectCall : , | |
| RexWPrefix : , | |
| CfgCheck : , | |
| Reserved : , | |
| }; | |
| PIMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION :: ^IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION; | |
| IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION :: struct { | |
| PageRelativeOffset : , | |
| RegisterNumber : , | |
| }; | |
| PIMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION :: ^IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION; | |
| IMAGE_LOAD_CONFIG_DIRECTORY32 :: struct { | |
| Size : u32, | |
| TimeDateStamp : u32, | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| GlobalFlagsClear : u32, | |
| GlobalFlagsSet : u32, | |
| CriticalSectionDefaultTimeout : u32, | |
| DeCommitFreeBlockThreshold : u32, | |
| DeCommitTotalFreeThreshold : u32, | |
| LockPrefixTable : u32, | |
| MaximumAllocationSize : u32, | |
| VirtualMemoryThreshold : u32, | |
| ProcessHeapFlags : u32, | |
| ProcessAffinityMask : u32, | |
| CSDVersion : u16, | |
| DependentLoadFlags : u16, | |
| EditList : u32, | |
| SecurityCookie : u32, | |
| SEHandlerTable : u32, | |
| SEHandlerCount : u32, | |
| GuardCFCheckFunctionPointer : u32, | |
| GuardCFDispatchFunctionPointer : u32, | |
| GuardCFFunctionTable : u32, | |
| GuardCFFunctionCount : u32, | |
| GuardFlags : u32, | |
| CodeIntegrity : IMAGE_LOAD_CONFIG_CODE_INTEGRITY, | |
| GuardAddressTakenIatEntryTable : u32, | |
| GuardAddressTakenIatEntryCount : u32, | |
| GuardLongJumpTargetTable : u32, | |
| GuardLongJumpTargetCount : u32, | |
| DynamicValueRelocTable : u32, | |
| CHPEMetadataPointer : u32, | |
| GuardRFFailureRoutine : u32, | |
| GuardRFFailureRoutineFunctionPointer : u32, | |
| DynamicValueRelocTableOffset : u32, | |
| DynamicValueRelocTableSection : u16, | |
| Reserved2 : u16, | |
| GuardRFVerifyStackPointerFunctionPointer : u32, | |
| HotPatchTableOffset : u32, | |
| Reserved3 : u32, | |
| EnclaveConfigurationPointer : u32, | |
| VolatileMetadataPointer : u32, | |
| }; | |
| PIMAGE_LOAD_CONFIG_DIRECTORY32 :: ^struct { | |
| Size : u32, | |
| TimeDateStamp : u32, | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| GlobalFlagsClear : u32, | |
| GlobalFlagsSet : u32, | |
| CriticalSectionDefaultTimeout : u32, | |
| DeCommitFreeBlockThreshold : u32, | |
| DeCommitTotalFreeThreshold : u32, | |
| LockPrefixTable : u32, | |
| MaximumAllocationSize : u32, | |
| VirtualMemoryThreshold : u32, | |
| ProcessHeapFlags : u32, | |
| ProcessAffinityMask : u32, | |
| CSDVersion : u16, | |
| DependentLoadFlags : u16, | |
| EditList : u32, | |
| SecurityCookie : u32, | |
| SEHandlerTable : u32, | |
| SEHandlerCount : u32, | |
| GuardCFCheckFunctionPointer : u32, | |
| GuardCFDispatchFunctionPointer : u32, | |
| GuardCFFunctionTable : u32, | |
| GuardCFFunctionCount : u32, | |
| GuardFlags : u32, | |
| CodeIntegrity : IMAGE_LOAD_CONFIG_CODE_INTEGRITY, | |
| GuardAddressTakenIatEntryTable : u32, | |
| GuardAddressTakenIatEntryCount : u32, | |
| GuardLongJumpTargetTable : u32, | |
| GuardLongJumpTargetCount : u32, | |
| DynamicValueRelocTable : u32, | |
| CHPEMetadataPointer : u32, | |
| GuardRFFailureRoutine : u32, | |
| GuardRFFailureRoutineFunctionPointer : u32, | |
| DynamicValueRelocTableOffset : u32, | |
| DynamicValueRelocTableSection : u16, | |
| Reserved2 : u16, | |
| GuardRFVerifyStackPointerFunctionPointer : u32, | |
| HotPatchTableOffset : u32, | |
| Reserved3 : u32, | |
| EnclaveConfigurationPointer : u32, | |
| VolatileMetadataPointer : u32, | |
| }; | |
| IMAGE_LOAD_CONFIG_DIRECTORY64 :: struct { | |
| Size : u32, | |
| TimeDateStamp : u32, | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| GlobalFlagsClear : u32, | |
| GlobalFlagsSet : u32, | |
| CriticalSectionDefaultTimeout : u32, | |
| DeCommitFreeBlockThreshold : ULONGLONG, | |
| DeCommitTotalFreeThreshold : ULONGLONG, | |
| LockPrefixTable : ULONGLONG, | |
| MaximumAllocationSize : ULONGLONG, | |
| VirtualMemoryThreshold : ULONGLONG, | |
| ProcessAffinityMask : ULONGLONG, | |
| ProcessHeapFlags : u32, | |
| CSDVersion : u16, | |
| DependentLoadFlags : u16, | |
| EditList : ULONGLONG, | |
| SecurityCookie : ULONGLONG, | |
| SEHandlerTable : ULONGLONG, | |
| SEHandlerCount : ULONGLONG, | |
| GuardCFCheckFunctionPointer : ULONGLONG, | |
| GuardCFDispatchFunctionPointer : ULONGLONG, | |
| GuardCFFunctionTable : ULONGLONG, | |
| GuardCFFunctionCount : ULONGLONG, | |
| GuardFlags : u32, | |
| CodeIntegrity : IMAGE_LOAD_CONFIG_CODE_INTEGRITY, | |
| GuardAddressTakenIatEntryTable : ULONGLONG, | |
| GuardAddressTakenIatEntryCount : ULONGLONG, | |
| GuardLongJumpTargetTable : ULONGLONG, | |
| GuardLongJumpTargetCount : ULONGLONG, | |
| DynamicValueRelocTable : ULONGLONG, | |
| CHPEMetadataPointer : ULONGLONG, | |
| GuardRFFailureRoutine : ULONGLONG, | |
| GuardRFFailureRoutineFunctionPointer : ULONGLONG, | |
| DynamicValueRelocTableOffset : u32, | |
| DynamicValueRelocTableSection : u16, | |
| Reserved2 : u16, | |
| GuardRFVerifyStackPointerFunctionPointer : ULONGLONG, | |
| HotPatchTableOffset : u32, | |
| Reserved3 : u32, | |
| EnclaveConfigurationPointer : ULONGLONG, | |
| VolatileMetadataPointer : ULONGLONG, | |
| }; | |
| PIMAGE_LOAD_CONFIG_DIRECTORY64 :: ^struct { | |
| Size : u32, | |
| TimeDateStamp : u32, | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| GlobalFlagsClear : u32, | |
| GlobalFlagsSet : u32, | |
| CriticalSectionDefaultTimeout : u32, | |
| DeCommitFreeBlockThreshold : ULONGLONG, | |
| DeCommitTotalFreeThreshold : ULONGLONG, | |
| LockPrefixTable : ULONGLONG, | |
| MaximumAllocationSize : ULONGLONG, | |
| VirtualMemoryThreshold : ULONGLONG, | |
| ProcessAffinityMask : ULONGLONG, | |
| ProcessHeapFlags : u32, | |
| CSDVersion : u16, | |
| DependentLoadFlags : u16, | |
| EditList : ULONGLONG, | |
| SecurityCookie : ULONGLONG, | |
| SEHandlerTable : ULONGLONG, | |
| SEHandlerCount : ULONGLONG, | |
| GuardCFCheckFunctionPointer : ULONGLONG, | |
| GuardCFDispatchFunctionPointer : ULONGLONG, | |
| GuardCFFunctionTable : ULONGLONG, | |
| GuardCFFunctionCount : ULONGLONG, | |
| GuardFlags : u32, | |
| CodeIntegrity : IMAGE_LOAD_CONFIG_CODE_INTEGRITY, | |
| GuardAddressTakenIatEntryTable : ULONGLONG, | |
| GuardAddressTakenIatEntryCount : ULONGLONG, | |
| GuardLongJumpTargetTable : ULONGLONG, | |
| GuardLongJumpTargetCount : ULONGLONG, | |
| DynamicValueRelocTable : ULONGLONG, | |
| CHPEMetadataPointer : ULONGLONG, | |
| GuardRFFailureRoutine : ULONGLONG, | |
| GuardRFFailureRoutineFunctionPointer : ULONGLONG, | |
| DynamicValueRelocTableOffset : u32, | |
| DynamicValueRelocTableSection : u16, | |
| Reserved2 : u16, | |
| GuardRFVerifyStackPointerFunctionPointer : ULONGLONG, | |
| HotPatchTableOffset : u32, | |
| Reserved3 : u32, | |
| EnclaveConfigurationPointer : ULONGLONG, | |
| VolatileMetadataPointer : ULONGLONG, | |
| }; | |
| IMAGE_LOAD_CONFIG_DIRECTORY :: IMAGE_LOAD_CONFIG_DIRECTORY32; | |
| PIMAGE_LOAD_CONFIG_DIRECTORY :: PIMAGE_LOAD_CONFIG_DIRECTORY32; | |
| IMAGE_HOT_PATCH_INFO :: struct { | |
| Version : u32, | |
| Size : u32, | |
| SequenceNumber : u32, | |
| BaseImageList : u32, | |
| BaseImageCount : u32, | |
| BufferOffset : u32, | |
| ExtraPatchSize : u32, | |
| }; | |
| PIMAGE_HOT_PATCH_INFO :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| SequenceNumber : u32, | |
| BaseImageList : u32, | |
| BaseImageCount : u32, | |
| BufferOffset : u32, | |
| ExtraPatchSize : u32, | |
| }; | |
| IMAGE_HOT_PATCH_BASE :: struct { | |
| SequenceNumber : u32, | |
| Flags : u32, | |
| OriginalTimeDateStamp : u32, | |
| OriginalCheckSum : u32, | |
| CodeIntegrityInfo : u32, | |
| CodeIntegritySize : u32, | |
| PatchTable : u32, | |
| BufferOffset : u32, | |
| }; | |
| PIMAGE_HOT_PATCH_BASE :: ^struct { | |
| SequenceNumber : u32, | |
| Flags : u32, | |
| OriginalTimeDateStamp : u32, | |
| OriginalCheckSum : u32, | |
| CodeIntegrityInfo : u32, | |
| CodeIntegritySize : u32, | |
| PatchTable : u32, | |
| BufferOffset : u32, | |
| }; | |
| IMAGE_HOT_PATCH_HASHES :: struct { | |
| SHA256 : [32]BYTE, | |
| SHA1 : [20]BYTE, | |
| }; | |
| PIMAGE_HOT_PATCH_HASHES :: ^struct { | |
| SHA256 : [32]BYTE, | |
| SHA1 : [20]BYTE, | |
| }; | |
| IMAGE_CE_RUNTIME_FUNCTION_ENTRY :: struct { | |
| FuncStart : u32, | |
| PrologLen : , | |
| FuncLen : , | |
| ThirtyTwoBit : , | |
| ExceptionFlag : , | |
| }; | |
| PIMAGE_CE_RUNTIME_FUNCTION_ENTRY :: ^struct { | |
| FuncStart : u32, | |
| PrologLen : , | |
| FuncLen : , | |
| ThirtyTwoBit : , | |
| ExceptionFlag : , | |
| }; | |
| IMAGE_ARM_RUNTIME_FUNCTION_ENTRY :: struct { | |
| BeginAddress : u32, | |
| u : struct #raw_union { | |
| UnwindData : u32, | |
| s : struct { | |
| Flag : , | |
| FunctionLength : , | |
| Ret : , | |
| H : , | |
| Reg : , | |
| R : , | |
| L : , | |
| C : , | |
| StackAdjust : , | |
| }, | |
| }, | |
| }; | |
| PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY :: ^struct { | |
| BeginAddress : u32, | |
| u : struct #raw_union { | |
| UnwindData : u32, | |
| s : struct { | |
| Flag : , | |
| FunctionLength : , | |
| Ret : , | |
| H : , | |
| Reg : , | |
| R : , | |
| L : , | |
| C : , | |
| StackAdjust : , | |
| }, | |
| }, | |
| }; | |
| IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY :: struct { | |
| BeginAddress : u32, | |
| u : struct #raw_union { | |
| UnwindData : u32, | |
| s : struct { | |
| Flag : , | |
| FunctionLength : , | |
| RegF : , | |
| RegI : , | |
| H : , | |
| CR : , | |
| FrameSize : , | |
| }, | |
| }, | |
| }; | |
| PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY :: ^struct { | |
| BeginAddress : u32, | |
| u : struct #raw_union { | |
| UnwindData : u32, | |
| s : struct { | |
| Flag : , | |
| FunctionLength : , | |
| RegF : , | |
| RegI : , | |
| H : , | |
| CR : , | |
| FrameSize : , | |
| }, | |
| }, | |
| }; | |
| IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY :: struct { | |
| BeginAddress : ULONGLONG, | |
| EndAddress : ULONGLONG, | |
| ExceptionHandler : ULONGLONG, | |
| HandlerData : ULONGLONG, | |
| PrologEndAddress : ULONGLONG, | |
| }; | |
| PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY :: ^struct { | |
| BeginAddress : ULONGLONG, | |
| EndAddress : ULONGLONG, | |
| ExceptionHandler : ULONGLONG, | |
| HandlerData : ULONGLONG, | |
| PrologEndAddress : ULONGLONG, | |
| }; | |
| IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY :: struct { | |
| BeginAddress : u32, | |
| EndAddress : u32, | |
| ExceptionHandler : u32, | |
| HandlerData : u32, | |
| PrologEndAddress : u32, | |
| }; | |
| PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY :: ^struct { | |
| BeginAddress : u32, | |
| EndAddress : u32, | |
| ExceptionHandler : u32, | |
| HandlerData : u32, | |
| PrologEndAddress : u32, | |
| }; | |
| _IMAGE_RUNTIME_FUNCTION_ENTRY :: struct { | |
| BeginAddress : u32, | |
| EndAddress : u32, | |
| u : struct #raw_union { | |
| UnwindInfoAddress : u32, | |
| UnwindData : u32, | |
| }, | |
| }; | |
| _PIMAGE_RUNTIME_FUNCTION_ENTRY :: ^struct { | |
| BeginAddress : u32, | |
| EndAddress : u32, | |
| u : struct #raw_union { | |
| UnwindInfoAddress : u32, | |
| UnwindData : u32, | |
| }, | |
| }; | |
| IMAGE_IA64_RUNTIME_FUNCTION_ENTRY :: _IMAGE_RUNTIME_FUNCTION_ENTRY; | |
| PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY :: _PIMAGE_RUNTIME_FUNCTION_ENTRY; | |
| IMAGE_RUNTIME_FUNCTION_ENTRY :: _IMAGE_RUNTIME_FUNCTION_ENTRY; | |
| PIMAGE_RUNTIME_FUNCTION_ENTRY :: _PIMAGE_RUNTIME_FUNCTION_ENTRY; | |
| IMAGE_ENCLAVE_CONFIG32 :: struct { | |
| Size : u32, | |
| MinimumRequiredConfigSize : u32, | |
| PolicyFlags : u32, | |
| NumberOfImports : u32, | |
| ImportList : u32, | |
| ImportEntrySize : u32, | |
| FamilyID : [16]BYTE, | |
| ImageID : [16]BYTE, | |
| ImageVersion : u32, | |
| SecurityVersion : u32, | |
| EnclaveSize : u32, | |
| NumberOfThreads : u32, | |
| EnclaveFlags : u32, | |
| }; | |
| PIMAGE_ENCLAVE_CONFIG32 :: ^struct { | |
| Size : u32, | |
| MinimumRequiredConfigSize : u32, | |
| PolicyFlags : u32, | |
| NumberOfImports : u32, | |
| ImportList : u32, | |
| ImportEntrySize : u32, | |
| FamilyID : [16]BYTE, | |
| ImageID : [16]BYTE, | |
| ImageVersion : u32, | |
| SecurityVersion : u32, | |
| EnclaveSize : u32, | |
| NumberOfThreads : u32, | |
| EnclaveFlags : u32, | |
| }; | |
| IMAGE_ENCLAVE_CONFIG64 :: struct { | |
| Size : u32, | |
| MinimumRequiredConfigSize : u32, | |
| PolicyFlags : u32, | |
| NumberOfImports : u32, | |
| ImportList : u32, | |
| ImportEntrySize : u32, | |
| FamilyID : [16]BYTE, | |
| ImageID : [16]BYTE, | |
| ImageVersion : u32, | |
| SecurityVersion : u32, | |
| EnclaveSize : ULONGLONG, | |
| NumberOfThreads : u32, | |
| EnclaveFlags : u32, | |
| }; | |
| PIMAGE_ENCLAVE_CONFIG64 :: ^struct { | |
| Size : u32, | |
| MinimumRequiredConfigSize : u32, | |
| PolicyFlags : u32, | |
| NumberOfImports : u32, | |
| ImportList : u32, | |
| ImportEntrySize : u32, | |
| FamilyID : [16]BYTE, | |
| ImageID : [16]BYTE, | |
| ImageVersion : u32, | |
| SecurityVersion : u32, | |
| EnclaveSize : ULONGLONG, | |
| NumberOfThreads : u32, | |
| EnclaveFlags : u32, | |
| }; | |
| IMAGE_ENCLAVE_CONFIG :: IMAGE_ENCLAVE_CONFIG32; | |
| PIMAGE_ENCLAVE_CONFIG :: PIMAGE_ENCLAVE_CONFIG32; | |
| IMAGE_ENCLAVE_IMPORT :: struct { | |
| MatchType : u32, | |
| MinimumSecurityVersion : u32, | |
| UniqueOrAuthorID : [32]BYTE, | |
| FamilyID : [16]BYTE, | |
| ImageID : [16]BYTE, | |
| ImportName : u32, | |
| Reserved : u32, | |
| }; | |
| PIMAGE_ENCLAVE_IMPORT :: ^struct { | |
| MatchType : u32, | |
| MinimumSecurityVersion : u32, | |
| UniqueOrAuthorID : [32]BYTE, | |
| FamilyID : [16]BYTE, | |
| ImageID : [16]BYTE, | |
| ImportName : u32, | |
| Reserved : u32, | |
| }; | |
| IMAGE_DEBUG_DIRECTORY :: struct { | |
| Characteristics : u32, | |
| TimeDateStamp : u32, | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| Type : u32, | |
| SizeOfData : u32, | |
| AddressOfRawData : u32, | |
| PointerToRawData : u32, | |
| }; | |
| PIMAGE_DEBUG_DIRECTORY :: ^struct { | |
| Characteristics : u32, | |
| TimeDateStamp : u32, | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| Type : u32, | |
| SizeOfData : u32, | |
| AddressOfRawData : u32, | |
| PointerToRawData : u32, | |
| }; | |
| IMAGE_COFF_SYMBOLS_HEADER :: struct { | |
| NumberOfSymbols : u32, | |
| LvaToFirstSymbol : u32, | |
| NumberOfLinenumbers : u32, | |
| LvaToFirstLinenumber : u32, | |
| RvaToFirstByteOfCode : u32, | |
| RvaToLastByteOfCode : u32, | |
| RvaToFirstByteOfData : u32, | |
| RvaToLastByteOfData : u32, | |
| }; | |
| PIMAGE_COFF_SYMBOLS_HEADER :: ^struct { | |
| NumberOfSymbols : u32, | |
| LvaToFirstSymbol : u32, | |
| NumberOfLinenumbers : u32, | |
| LvaToFirstLinenumber : u32, | |
| RvaToFirstByteOfCode : u32, | |
| RvaToLastByteOfCode : u32, | |
| RvaToFirstByteOfData : u32, | |
| RvaToLastByteOfData : u32, | |
| }; | |
| FPO_DATA :: struct { | |
| ulOffStart : u32, | |
| cbProcSize : u32, | |
| cdwLocals : u32, | |
| cdwParams : u16, | |
| cbProlog : , | |
| cbRegs : , | |
| fHasSEH : , | |
| fUseBP : , | |
| reserved : , | |
| cbFrame : , | |
| }; | |
| PFPO_DATA :: ^struct { | |
| ulOffStart : u32, | |
| cbProcSize : u32, | |
| cdwLocals : u32, | |
| cdwParams : u16, | |
| cbProlog : , | |
| cbRegs : , | |
| fHasSEH : , | |
| fUseBP : , | |
| reserved : , | |
| cbFrame : , | |
| }; | |
| IMAGE_DEBUG_MISC :: struct { | |
| DataType : u32, | |
| Length : u32, | |
| Unicode : BOOLEAN, | |
| Reserved : [3]BYTE, | |
| Data : [1]BYTE, | |
| }; | |
| PIMAGE_DEBUG_MISC :: ^struct { | |
| DataType : u32, | |
| Length : u32, | |
| Unicode : BOOLEAN, | |
| Reserved : [3]BYTE, | |
| Data : [1]BYTE, | |
| }; | |
| IMAGE_FUNCTION_ENTRY :: struct { | |
| StartingAddress : u32, | |
| EndingAddress : u32, | |
| EndOfPrologue : u32, | |
| }; | |
| PIMAGE_FUNCTION_ENTRY :: ^struct { | |
| StartingAddress : u32, | |
| EndingAddress : u32, | |
| EndOfPrologue : u32, | |
| }; | |
| IMAGE_FUNCTION_ENTRY64 :: struct { | |
| StartingAddress : ULONGLONG, | |
| EndingAddress : ULONGLONG, | |
| u : struct #raw_union { | |
| EndOfPrologue : ULONGLONG, | |
| UnwindInfoAddress : ULONGLONG, | |
| }, | |
| }; | |
| PIMAGE_FUNCTION_ENTRY64 :: ^struct { | |
| StartingAddress : ULONGLONG, | |
| EndingAddress : ULONGLONG, | |
| u : struct #raw_union { | |
| EndOfPrologue : ULONGLONG, | |
| UnwindInfoAddress : ULONGLONG, | |
| }, | |
| }; | |
| IMAGE_SEPARATE_DEBUG_HEADER :: struct { | |
| Signature : u16, | |
| Flags : u16, | |
| Machine : u16, | |
| Characteristics : u16, | |
| TimeDateStamp : u32, | |
| CheckSum : u32, | |
| ImageBase : u32, | |
| SizeOfImage : u32, | |
| NumberOfSections : u32, | |
| ExportedNamesSize : u32, | |
| DebugDirectorySize : u32, | |
| SectionAlignment : u32, | |
| Reserved : [2]u32, | |
| }; | |
| PIMAGE_SEPARATE_DEBUG_HEADER :: ^struct { | |
| Signature : u16, | |
| Flags : u16, | |
| Machine : u16, | |
| Characteristics : u16, | |
| TimeDateStamp : u32, | |
| CheckSum : u32, | |
| ImageBase : u32, | |
| SizeOfImage : u32, | |
| NumberOfSections : u32, | |
| ExportedNamesSize : u32, | |
| DebugDirectorySize : u32, | |
| SectionAlignment : u32, | |
| Reserved : [2]u32, | |
| }; | |
| NON_PAGED_DEBUG_INFO :: struct { | |
| Signature : u16, | |
| Flags : u16, | |
| Size : u32, | |
| Machine : u16, | |
| Characteristics : u16, | |
| TimeDateStamp : u32, | |
| CheckSum : u32, | |
| SizeOfImage : u32, | |
| ImageBase : ULONGLONG, | |
| }; | |
| PNON_PAGED_DEBUG_INFO :: ^struct { | |
| Signature : u16, | |
| Flags : u16, | |
| Size : u32, | |
| Machine : u16, | |
| Characteristics : u16, | |
| TimeDateStamp : u32, | |
| CheckSum : u32, | |
| SizeOfImage : u32, | |
| ImageBase : ULONGLONG, | |
| }; | |
| IMAGE_ARCHITECTURE_HEADER :: struct { | |
| AmaskValue : , | |
| , | |
| AmaskShift : , | |
| , | |
| FirstEntryRVA : u32, | |
| }; | |
| PIMAGE_ARCHITECTURE_HEADER :: ^struct { | |
| AmaskValue : , | |
| , | |
| AmaskShift : , | |
| , | |
| FirstEntryRVA : u32, | |
| }; | |
| IMAGE_ARCHITECTURE_ENTRY :: struct { | |
| FixupInstRVA : u32, | |
| NewInst : u32, | |
| }; | |
| PIMAGE_ARCHITECTURE_ENTRY :: ^struct { | |
| FixupInstRVA : u32, | |
| NewInst : u32, | |
| }; | |
| IMPORT_OBJECT_HEADER :: struct { | |
| Sig1 : u16, | |
| Sig2 : u16, | |
| Version : u16, | |
| Machine : u16, | |
| TimeDateStamp : u32, | |
| SizeOfData : u32, | |
| u : struct #raw_union { | |
| Ordinal : u16, | |
| Hint : u16, | |
| }, | |
| Type : , | |
| NameType : , | |
| Reserved : , | |
| }; | |
| IMPORT_OBJECT_TYPE :: enum { | |
| IMPORT_OBJECT_CODE = 0, | |
| IMPORT_OBJECT_DATA = 1, | |
| IMPORT_OBJECT_CONST = 2, | |
| }; | |
| IMPORT_OBJECT_NAME_TYPE :: enum { | |
| IMPORT_OBJECT_ORDINAL = 0, | |
| IMPORT_OBJECT_NAME = 1, | |
| IMPORT_OBJECT_NAME_NO_PREFIX = 2, | |
| IMPORT_OBJECT_NAME_UNDECORATE = 3, | |
| IMPORT_OBJECT_NAME_EXPORTAS = 4, | |
| }; | |
| ReplacesCorHdrNumericDefines :: enum { | |
| COMIMAGE_FLAGS_ILONLY = 0x00000001, | |
| COMIMAGE_FLAGS_32BITREQUIRED = 0x00000002, | |
| COMIMAGE_FLAGS_IL_LIBRARY = 0x00000004, | |
| COMIMAGE_FLAGS_STRONGNAMESIGNED = 0x00000008, | |
| COMIMAGE_FLAGS_NATIVE_ENTRYPOINT = 0x00000010, | |
| COMIMAGE_FLAGS_TRACKDEBUGDATA = 0x00010000, | |
| COMIMAGE_FLAGS_32BITPREFERRED = 0x00020000, | |
| COR_VERSION_MAJOR_V2 = 2, | |
| COR_VERSION_MAJOR = COR_VERSION_MAJOR_V2, | |
| COR_VERSION_MINOR = 5, | |
| COR_DELETED_NAME_LENGTH = 8, | |
| COR_VTABLEGAP_NAME_LENGTH = 8, | |
| NATIVE_TYPE_MAX_CB = 1, | |
| COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE = 0xFF, | |
| IMAGE_COR_MIH_METHODRVA = 0x01, | |
| IMAGE_COR_MIH_EHRVA = 0x02, | |
| IMAGE_COR_MIH_BASICBLOCK = 0x08, | |
| COR_VTABLE_32BIT = 0x01, | |
| COR_VTABLE_64BIT = 0x02, | |
| COR_VTABLE_FROM_UNMANAGED = 0x04, | |
| COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN = 0x08, | |
| COR_VTABLE_CALL_MOST_DERIVED = 0x10, | |
| IMAGE_COR_EATJ_THUNK_SIZE = 32, | |
| MAX_CLASS_NAME = 1024, | |
| MAX_PACKAGE_NAME = 1024, | |
| }; | |
| IMAGE_COR20_HEADER :: struct { | |
| cb : u32, | |
| MajorRuntimeVersion : u16, | |
| MinorRuntimeVersion : u16, | |
| MetaData : IMAGE_DATA_DIRECTORY, | |
| Flags : u32, | |
| u : struct #raw_union { | |
| EntryPointToken : u32, | |
| EntryPointRVA : u32, | |
| }, | |
| Resources : IMAGE_DATA_DIRECTORY, | |
| StrongNameSignature : IMAGE_DATA_DIRECTORY, | |
| CodeManagerTable : IMAGE_DATA_DIRECTORY, | |
| VTableFixups : IMAGE_DATA_DIRECTORY, | |
| ExportAddressTableJumps : IMAGE_DATA_DIRECTORY, | |
| ManagedNativeHeader : IMAGE_DATA_DIRECTORY, | |
| }; | |
| PIMAGE_COR20_HEADER :: ^struct { | |
| cb : u32, | |
| MajorRuntimeVersion : u16, | |
| MinorRuntimeVersion : u16, | |
| MetaData : IMAGE_DATA_DIRECTORY, | |
| Flags : u32, | |
| u : struct #raw_union { | |
| EntryPointToken : u32, | |
| EntryPointRVA : u32, | |
| }, | |
| Resources : IMAGE_DATA_DIRECTORY, | |
| StrongNameSignature : IMAGE_DATA_DIRECTORY, | |
| CodeManagerTable : IMAGE_DATA_DIRECTORY, | |
| VTableFixups : IMAGE_DATA_DIRECTORY, | |
| ExportAddressTableJumps : IMAGE_DATA_DIRECTORY, | |
| ManagedNativeHeader : IMAGE_DATA_DIRECTORY, | |
| }; | |
| SLIST_ENTRY :: struct {}; | |
| PSLIST_ENTRY :: ^SLIST_ENTRY; | |
| SLIST_HEADER :: struct #raw_union { | |
| Alignment : ULONGLONG, | |
| s : struct { | |
| Next : SLIST_ENTRY, | |
| Depth : u16, | |
| CpuId : u16, | |
| }, | |
| }; | |
| PSLIST_HEADER :: ^struct #raw_union { | |
| Alignment : ULONGLONG, | |
| s : struct { | |
| Next : SLIST_ENTRY, | |
| Depth : u16, | |
| CpuId : u16, | |
| }, | |
| }; | |
| RTL_RUN_ONCE :: struct #raw_union { | |
| Ptr : PVOID, | |
| }; | |
| PRTL_RUN_ONCE :: ^struct #raw_union { | |
| Ptr : PVOID, | |
| }; | |
| RTL_BARRIER :: struct { | |
| Reserved1 : u32, | |
| Reserved2 : u32, | |
| Reserved3 : [2]ULONG_PTR, | |
| Reserved4 : u32, | |
| Reserved5 : u32, | |
| }; | |
| PRTL_BARRIER :: ^struct { | |
| Reserved1 : u32, | |
| Reserved2 : u32, | |
| Reserved3 : [2]ULONG_PTR, | |
| Reserved4 : u32, | |
| Reserved5 : u32, | |
| }; | |
| MESSAGE_RESOURCE_ENTRY :: struct { | |
| Length : u16, | |
| Flags : u16, | |
| Text : [1]BYTE, | |
| }; | |
| PMESSAGE_RESOURCE_ENTRY :: ^struct { | |
| Length : u16, | |
| Flags : u16, | |
| Text : [1]BYTE, | |
| }; | |
| MESSAGE_RESOURCE_BLOCK :: struct { | |
| LowId : u32, | |
| HighId : u32, | |
| OffsetToEntries : u32, | |
| }; | |
| PMESSAGE_RESOURCE_BLOCK :: ^struct { | |
| LowId : u32, | |
| HighId : u32, | |
| OffsetToEntries : u32, | |
| }; | |
| MESSAGE_RESOURCE_DATA :: struct { | |
| NumberOfBlocks : u32, | |
| Blocks : [1]MESSAGE_RESOURCE_BLOCK, | |
| }; | |
| PMESSAGE_RESOURCE_DATA :: ^struct { | |
| NumberOfBlocks : u32, | |
| Blocks : [1]MESSAGE_RESOURCE_BLOCK, | |
| }; | |
| OSVERSIONINFOA :: struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]CHAR, | |
| }; | |
| POSVERSIONINFOA :: ^struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]CHAR, | |
| }; | |
| LPOSVERSIONINFOA :: ^struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]CHAR, | |
| }; | |
| OSVERSIONINFOW :: struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]WCHAR, | |
| }; | |
| POSVERSIONINFOW :: ^struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]WCHAR, | |
| }; | |
| LPOSVERSIONINFOW :: ^struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]WCHAR, | |
| }; | |
| RTL_OSVERSIONINFOW :: struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]WCHAR, | |
| }; | |
| PRTL_OSVERSIONINFOW :: ^struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]WCHAR, | |
| }; | |
| OSVERSIONINFO :: OSVERSIONINFOA; | |
| POSVERSIONINFO :: POSVERSIONINFOA; | |
| LPOSVERSIONINFO :: LPOSVERSIONINFOA; | |
| OSVERSIONINFOEXA :: struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]CHAR, | |
| wServicePackMajor : u16, | |
| wServicePackMinor : u16, | |
| wSuiteMask : u16, | |
| wProductType : BYTE, | |
| wReserved : BYTE, | |
| }; | |
| POSVERSIONINFOEXA :: ^struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]CHAR, | |
| wServicePackMajor : u16, | |
| wServicePackMinor : u16, | |
| wSuiteMask : u16, | |
| wProductType : BYTE, | |
| wReserved : BYTE, | |
| }; | |
| LPOSVERSIONINFOEXA :: ^struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]CHAR, | |
| wServicePackMajor : u16, | |
| wServicePackMinor : u16, | |
| wSuiteMask : u16, | |
| wProductType : BYTE, | |
| wReserved : BYTE, | |
| }; | |
| OSVERSIONINFOEXW :: struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]WCHAR, | |
| wServicePackMajor : u16, | |
| wServicePackMinor : u16, | |
| wSuiteMask : u16, | |
| wProductType : BYTE, | |
| wReserved : BYTE, | |
| }; | |
| POSVERSIONINFOEXW :: ^struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]WCHAR, | |
| wServicePackMajor : u16, | |
| wServicePackMinor : u16, | |
| wSuiteMask : u16, | |
| wProductType : BYTE, | |
| wReserved : BYTE, | |
| }; | |
| LPOSVERSIONINFOEXW :: ^struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]WCHAR, | |
| wServicePackMajor : u16, | |
| wServicePackMinor : u16, | |
| wSuiteMask : u16, | |
| wProductType : BYTE, | |
| wReserved : BYTE, | |
| }; | |
| RTL_OSVERSIONINFOEXW :: struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]WCHAR, | |
| wServicePackMajor : u16, | |
| wServicePackMinor : u16, | |
| wSuiteMask : u16, | |
| wProductType : BYTE, | |
| wReserved : BYTE, | |
| }; | |
| PRTL_OSVERSIONINFOEXW :: ^struct { | |
| dwOSVersionInfoSize : u32, | |
| dwMajorVersion : u32, | |
| dwMinorVersion : u32, | |
| dwBuildNumber : u32, | |
| dwPlatformId : u32, | |
| szCSDVersion : [128]WCHAR, | |
| wServicePackMajor : u16, | |
| wServicePackMinor : u16, | |
| wSuiteMask : u16, | |
| wProductType : BYTE, | |
| wReserved : BYTE, | |
| }; | |
| OSVERSIONINFOEX :: OSVERSIONINFOEXA; | |
| POSVERSIONINFOEX :: POSVERSIONINFOEXA; | |
| LPOSVERSIONINFOEX :: LPOSVERSIONINFOEXA; | |
| RTL_UMS_THREAD_INFO_CLASS :: enum { | |
| UmsThreadInvalidInfoClass = 0, | |
| UmsThreadUserContext, | |
| UmsThreadPriority, | |
| UmsThreadAffinity, | |
| UmsThreadTeb, | |
| UmsThreadIsSuspended, | |
| UmsThreadIsTerminated, | |
| UmsThreadMaxInfoClass, | |
| }; | |
| PRTL_UMS_THREAD_INFO_CLASS :: ^enum { | |
| UmsThreadInvalidInfoClass = 0, | |
| UmsThreadUserContext, | |
| UmsThreadPriority, | |
| UmsThreadAffinity, | |
| UmsThreadTeb, | |
| UmsThreadIsSuspended, | |
| UmsThreadIsTerminated, | |
| UmsThreadMaxInfoClass, | |
| }; | |
| RTL_UMS_SCHEDULER_REASON :: enum { | |
| UmsSchedulerStartup = 0, | |
| UmsSchedulerThreadBlocked, | |
| UmsSchedulerThreadYield, | |
| }; | |
| PRTL_UMS_SCHEDULER_REASON :: ^enum { | |
| UmsSchedulerStartup = 0, | |
| UmsSchedulerThreadBlocked, | |
| UmsSchedulerThreadYield, | |
| }; | |
| RTL_UMS_SCHEDULER_ENTRY_POINT :: #type proc(Reason : RTL_UMS_SCHEDULER_REASON, ActivationPayload : ULONG_PTR, SchedulerParam : PVOID); | |
| PRTL_UMS_SCHEDULER_ENTRY_POINT :: ^RTL_UMS_SCHEDULER_ENTRY_POINT; | |
| OS_DEPLOYEMENT_STATE_VALUES :: enum { | |
| OS_DEPLOYMENT_STANDARD = 1, | |
| OS_DEPLOYMENT_COMPACT, | |
| }; | |
| NV_MEMORY_RANGE :: struct { | |
| BaseAddress : rawptr, | |
| Length : SIZE_T, | |
| }; | |
| PNV_MEMORY_RANGE :: ^struct { | |
| BaseAddress : rawptr, | |
| Length : SIZE_T, | |
| }; | |
| CORRELATION_VECTOR :: struct { | |
| Version : CHAR, | |
| Vector : [129]CHAR, | |
| }; | |
| PCORRELATION_VECTOR :: ^CORRELATION_VECTOR; | |
| CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG :: struct { | |
| Size : u32, | |
| TriggerId : PCWSTR, | |
| }; | |
| PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG :: ^struct { | |
| Size : u32, | |
| TriggerId : PCWSTR, | |
| }; | |
| IMAGE_POLICY_ENTRY_TYPE :: enum { | |
| ImagePolicyEntryTypeNone = 0, | |
| ImagePolicyEntryTypeBool, | |
| ImagePolicyEntryTypeInt8, | |
| ImagePolicyEntryTypeUInt8, | |
| ImagePolicyEntryTypeInt16, | |
| ImagePolicyEntryTypeUInt16, | |
| ImagePolicyEntryTypeInt32, | |
| ImagePolicyEntryTypeUInt32, | |
| ImagePolicyEntryTypeInt64, | |
| ImagePolicyEntryTypeUInt64, | |
| ImagePolicyEntryTypeAnsiString, | |
| ImagePolicyEntryTypeUnicodeString, | |
| ImagePolicyEntryTypeOverride, | |
| ImagePolicyEntryTypeMaximum, | |
| }; | |
| IMAGE_POLICY_ID :: enum { | |
| ImagePolicyIdNone = 0, | |
| ImagePolicyIdEtw, | |
| ImagePolicyIdDebug, | |
| ImagePolicyIdCrashDump, | |
| ImagePolicyIdCrashDumpKey, | |
| ImagePolicyIdCrashDumpKeyGuid, | |
| ImagePolicyIdParentSd, | |
| ImagePolicyIdParentSdRev, | |
| ImagePolicyIdSvn, | |
| ImagePolicyIdDeviceId, | |
| ImagePolicyIdCapability, | |
| ImagePolicyIdScenarioId, | |
| ImagePolicyIdMaximum, | |
| }; | |
| IMAGE_POLICY_ENTRY :: struct { | |
| Type : IMAGE_POLICY_ENTRY_TYPE, | |
| PolicyId : IMAGE_POLICY_ID, | |
| u : struct #raw_union { | |
| None : rawptr, | |
| BoolValue : BOOLEAN, | |
| Int8Value : INT8, | |
| UInt8Value : UINT8, | |
| Int16Value : INT16, | |
| UInt16Value : UINT16, | |
| Int32Value : INT32, | |
| UInt32Value : UINT32, | |
| Int64Value : INT64, | |
| UInt64Value : UINT64, | |
| AnsiStringValue : PCSTR, | |
| UnicodeStringValue : PCWSTR, | |
| }, | |
| }; | |
| PCIMAGE_POLICY_ENTRY :: ^IMAGE_POLICY_ENTRY; | |
| IMAGE_POLICY_METADATA :: struct { | |
| Version : BYTE, | |
| Reserved0 : [7]BYTE, | |
| ApplicationId : ULONGLONG, | |
| Policies : []IMAGE_POLICY_ENTRY, | |
| }; | |
| PCIMAGE_POLICY_METADATA :: ^IMAGE_POLICY_METADATA; | |
| RTL_CRITICAL_SECTION_DEBUG :: struct { | |
| Type : u16, | |
| CreatorBackTraceIndex : u16, | |
| CriticalSection : ^RTL_CRITICAL_SECTION, | |
| ProcessLocksList : LIST_ENTRY, | |
| EntryCount : u32, | |
| ContentionCount : u32, | |
| Flags : u32, | |
| CreatorBackTraceIndexHigh : u16, | |
| SpareWORD : u16, | |
| }; | |
| PRTL_CRITICAL_SECTION_DEBUG :: ^struct { | |
| Type : u16, | |
| CreatorBackTraceIndex : u16, | |
| CriticalSection : ^RTL_CRITICAL_SECTION, | |
| ProcessLocksList : LIST_ENTRY, | |
| EntryCount : u32, | |
| ContentionCount : u32, | |
| Flags : u32, | |
| CreatorBackTraceIndexHigh : u16, | |
| SpareWORD : u16, | |
| }; | |
| RTL_RESOURCE_DEBUG :: struct { | |
| Type : u16, | |
| CreatorBackTraceIndex : u16, | |
| CriticalSection : ^RTL_CRITICAL_SECTION, | |
| ProcessLocksList : LIST_ENTRY, | |
| EntryCount : u32, | |
| ContentionCount : u32, | |
| Flags : u32, | |
| CreatorBackTraceIndexHigh : u16, | |
| SpareWORD : u16, | |
| }; | |
| PRTL_RESOURCE_DEBUG :: ^struct { | |
| Type : u16, | |
| CreatorBackTraceIndex : u16, | |
| CriticalSection : ^RTL_CRITICAL_SECTION, | |
| ProcessLocksList : LIST_ENTRY, | |
| EntryCount : u32, | |
| ContentionCount : u32, | |
| Flags : u32, | |
| CreatorBackTraceIndexHigh : u16, | |
| SpareWORD : u16, | |
| }; | |
| RTL_CRITICAL_SECTION :: struct { | |
| DebugInfo : PRTL_CRITICAL_SECTION_DEBUG, | |
| LockCount : LONG, | |
| RecursionCount : LONG, | |
| OwningThread : HANDLE, | |
| LockSemaphore : HANDLE, | |
| SpinCount : ULONG_PTR, | |
| }; | |
| PRTL_CRITICAL_SECTION :: ^struct { | |
| DebugInfo : PRTL_CRITICAL_SECTION_DEBUG, | |
| LockCount : LONG, | |
| RecursionCount : LONG, | |
| OwningThread : HANDLE, | |
| LockSemaphore : HANDLE, | |
| SpinCount : ULONG_PTR, | |
| }; | |
| RTL_SRWLOCK :: struct { | |
| Ptr : PVOID, | |
| }; | |
| PRTL_SRWLOCK :: ^struct { | |
| Ptr : PVOID, | |
| }; | |
| RTL_CONDITION_VARIABLE :: struct { | |
| Ptr : PVOID, | |
| }; | |
| PRTL_CONDITION_VARIABLE :: ^struct { | |
| Ptr : PVOID, | |
| }; | |
| PAPCFUNC :: proc(Parameter : ULONG_PTR); | |
| PVECTORED_EXCEPTION_HANDLER :: (proc(ExceptionInfo : ^EXCEPTION_POINTERS) -> LONG); | |
| HEAP_INFORMATION_CLASS :: enum { | |
| HeapCompatibilityInformation = 0, | |
| HeapEnableTerminationOnCorruption = 1, | |
| HeapOptimizeResources = 3, | |
| }; | |
| HEAP_OPTIMIZE_RESOURCES_INFORMATION :: struct { | |
| Version : u32, | |
| Flags : u32, | |
| }; | |
| PHEAP_OPTIMIZE_RESOURCES_INFORMATION :: ^struct { | |
| Version : u32, | |
| Flags : u32, | |
| }; | |
| WAITORTIMERCALLBACKFUNC :: proc(PVOID, BOOLEAN); | |
| WORKERCALLBACKFUNC :: proc(PVOID); | |
| APC_CALLBACK_FUNCTION :: proc(u32, PVOID, PVOID); | |
| WAITORTIMERCALLBACK :: WAITORTIMERCALLBACKFUNC; | |
| PFLS_CALLBACK_FUNCTION :: proc(lpFlsData : PVOID); | |
| PSECURE_MEMORY_CACHE_CALLBACK :: (proc(Addr : PVOID, Range : SIZE_T) -> BOOLEAN); | |
| ACTIVATION_CONTEXT_INFO_CLASS :: enum { | |
| ActivationContextBasicInformation = 1, | |
| ActivationContextDetailedInformation = 2, | |
| AssemblyDetailedInformationInActivationContext = 3, | |
| FileInformationInAssemblyOfAssemblyInActivationContext = 4, | |
| RunlevelInformationInActivationContext = 5, | |
| CompatibilityInformationInActivationContext = 6, | |
| ActivationContextManifestResourceName = 7, | |
| MaxActivationContextInfoClass, | |
| AssemblyDetailedInformationInActivationContxt = 3, | |
| FileInformationInAssemblyOfAssemblyInActivationContxt = 4, | |
| }; | |
| ACTIVATION_CONTEXT_QUERY_INDEX :: struct { | |
| ulAssemblyIndex : u32, | |
| ulFileIndexInAssembly : u32, | |
| }; | |
| PACTIVATION_CONTEXT_QUERY_INDEX :: ^struct { | |
| ulAssemblyIndex : u32, | |
| ulFileIndexInAssembly : u32, | |
| }; | |
| PCACTIVATION_CONTEXT_QUERY_INDEX :: ^ACTIVATION_CONTEXT_QUERY_INDEX; | |
| ASSEMBLY_FILE_DETAILED_INFORMATION :: struct { | |
| ulFlags : u32, | |
| ulFilenameLength : u32, | |
| ulPathLength : u32, | |
| lpFileName : PCWSTR, | |
| lpFilePath : PCWSTR, | |
| }; | |
| PASSEMBLY_FILE_DETAILED_INFORMATION :: ^struct { | |
| ulFlags : u32, | |
| ulFilenameLength : u32, | |
| ulPathLength : u32, | |
| lpFileName : PCWSTR, | |
| lpFilePath : PCWSTR, | |
| }; | |
| PCASSEMBLY_FILE_DETAILED_INFORMATION :: ^ASSEMBLY_FILE_DETAILED_INFORMATION; | |
| ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION :: struct { | |
| ulFlags : u32, | |
| ulEncodedAssemblyIdentityLength : u32, | |
| ulManifestPathType : u32, | |
| ulManifestPathLength : u32, | |
| liManifestLastWriteTime : LARGE_INTEGER, | |
| ulPolicyPathType : u32, | |
| ulPolicyPathLength : u32, | |
| liPolicyLastWriteTime : LARGE_INTEGER, | |
| ulMetadataSatelliteRosterIndex : u32, | |
| ulManifestVersionMajor : u32, | |
| ulManifestVersionMinor : u32, | |
| ulPolicyVersionMajor : u32, | |
| ulPolicyVersionMinor : u32, | |
| ulAssemblyDirectoryNameLength : u32, | |
| lpAssemblyEncodedAssemblyIdentity : PCWSTR, | |
| lpAssemblyManifestPath : PCWSTR, | |
| lpAssemblyPolicyPath : PCWSTR, | |
| lpAssemblyDirectoryName : PCWSTR, | |
| ulFileCount : u32, | |
| }; | |
| PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION :: ^struct { | |
| ulFlags : u32, | |
| ulEncodedAssemblyIdentityLength : u32, | |
| ulManifestPathType : u32, | |
| ulManifestPathLength : u32, | |
| liManifestLastWriteTime : LARGE_INTEGER, | |
| ulPolicyPathType : u32, | |
| ulPolicyPathLength : u32, | |
| liPolicyLastWriteTime : LARGE_INTEGER, | |
| ulMetadataSatelliteRosterIndex : u32, | |
| ulManifestVersionMajor : u32, | |
| ulManifestVersionMinor : u32, | |
| ulPolicyVersionMajor : u32, | |
| ulPolicyVersionMinor : u32, | |
| ulAssemblyDirectoryNameLength : u32, | |
| lpAssemblyEncodedAssemblyIdentity : PCWSTR, | |
| lpAssemblyManifestPath : PCWSTR, | |
| lpAssemblyPolicyPath : PCWSTR, | |
| lpAssemblyDirectoryName : PCWSTR, | |
| ulFileCount : u32, | |
| }; | |
| PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION :: ^ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; | |
| ACTCTX_REQUESTED_RUN_LEVEL :: enum { | |
| ACTCTX_RUN_LEVEL_UNSPECIFIED = 0, | |
| ACTCTX_RUN_LEVEL_AS_INVOKER, | |
| ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE, | |
| ACTCTX_RUN_LEVEL_REQUIRE_ADMIN, | |
| ACTCTX_RUN_LEVEL_NUMBERS, | |
| }; | |
| ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION :: struct { | |
| ulFlags : u32, | |
| RunLevel : ACTCTX_REQUESTED_RUN_LEVEL, | |
| UiAccess : u32, | |
| }; | |
| PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION :: ^struct { | |
| ulFlags : u32, | |
| RunLevel : ACTCTX_REQUESTED_RUN_LEVEL, | |
| UiAccess : u32, | |
| }; | |
| PCACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION :: ^ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; | |
| ACTCTX_COMPATIBILITY_ELEMENT_TYPE :: enum { | |
| ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN = 0, | |
| ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS, | |
| ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION, | |
| ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MAXVERSIONTESTED, | |
| }; | |
| COMPATIBILITY_CONTEXT_ELEMENT :: struct { | |
| Id : GUID, | |
| Type : ACTCTX_COMPATIBILITY_ELEMENT_TYPE, | |
| MaxVersionTested : ULONGLONG, | |
| }; | |
| PCOMPATIBILITY_CONTEXT_ELEMENT :: ^struct { | |
| Id : GUID, | |
| Type : ACTCTX_COMPATIBILITY_ELEMENT_TYPE, | |
| MaxVersionTested : ULONGLONG, | |
| }; | |
| PCCOMPATIBILITY_CONTEXT_ELEMENT :: ^COMPATIBILITY_CONTEXT_ELEMENT; | |
| SUPPORTED_OS_INFO :: struct { | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| }; | |
| PSUPPORTED_OS_INFO :: ^struct { | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| }; | |
| MAXVERSIONTESTED_INFO :: struct { | |
| MaxVersionTested : ULONGLONG, | |
| }; | |
| PMAXVERSIONTESTED_INFO :: ^struct { | |
| MaxVersionTested : ULONGLONG, | |
| }; | |
| ACTIVATION_CONTEXT_DETAILED_INFORMATION :: struct { | |
| dwFlags : u32, | |
| ulFormatVersion : u32, | |
| ulAssemblyCount : u32, | |
| ulRootManifestPathType : u32, | |
| ulRootManifestPathChars : u32, | |
| ulRootConfigurationPathType : u32, | |
| ulRootConfigurationPathChars : u32, | |
| ulAppDirPathType : u32, | |
| ulAppDirPathChars : u32, | |
| lpRootManifestPath : PCWSTR, | |
| lpRootConfigurationPath : PCWSTR, | |
| lpAppDirPath : PCWSTR, | |
| }; | |
| PACTIVATION_CONTEXT_DETAILED_INFORMATION :: ^struct { | |
| dwFlags : u32, | |
| ulFormatVersion : u32, | |
| ulAssemblyCount : u32, | |
| ulRootManifestPathType : u32, | |
| ulRootManifestPathChars : u32, | |
| ulRootConfigurationPathType : u32, | |
| ulRootConfigurationPathChars : u32, | |
| ulAppDirPathType : u32, | |
| ulAppDirPathChars : u32, | |
| lpRootManifestPath : PCWSTR, | |
| lpRootConfigurationPath : PCWSTR, | |
| lpAppDirPath : PCWSTR, | |
| }; | |
| PCACTIVATION_CONTEXT_DETAILED_INFORMATION :: ^ACTIVATION_CONTEXT_DETAILED_INFORMATION; | |
| HARDWARE_COUNTER_DATA :: struct { | |
| Type : HARDWARE_COUNTER_TYPE, | |
| Reserved : u32, | |
| Value : DWORD64, | |
| }; | |
| PHARDWARE_COUNTER_DATA :: ^struct { | |
| Type : HARDWARE_COUNTER_TYPE, | |
| Reserved : u32, | |
| Value : DWORD64, | |
| }; | |
| PERFORMANCE_DATA :: struct { | |
| Size : u16, | |
| Version : BYTE, | |
| HwCountersCount : BYTE, | |
| ContextSwitchCount : u32, | |
| WaitReasonBitMap : DWORD64, | |
| CycleTime : DWORD64, | |
| RetryCount : u32, | |
| Reserved : u32, | |
| HwCounters : [16]HARDWARE_COUNTER_DATA, | |
| }; | |
| PPERFORMANCE_DATA :: ^struct { | |
| Size : u16, | |
| Version : BYTE, | |
| HwCountersCount : BYTE, | |
| ContextSwitchCount : u32, | |
| WaitReasonBitMap : DWORD64, | |
| CycleTime : DWORD64, | |
| RetryCount : u32, | |
| Reserved : u32, | |
| HwCounters : [16]HARDWARE_COUNTER_DATA, | |
| }; | |
| EVENTLOGRECORD :: struct { | |
| Length : u32, | |
| Reserved : u32, | |
| RecordNumber : u32, | |
| TimeGenerated : u32, | |
| TimeWritten : u32, | |
| EventID : u32, | |
| EventType : u16, | |
| NumStrings : u16, | |
| EventCategory : u16, | |
| ReservedFlags : u16, | |
| ClosingRecordNumber : u32, | |
| StringOffset : u32, | |
| UserSidLength : u32, | |
| UserSidOffset : u32, | |
| DataLength : u32, | |
| DataOffset : u32, | |
| }; | |
| PEVENTLOGRECORD :: ^struct { | |
| Length : u32, | |
| Reserved : u32, | |
| RecordNumber : u32, | |
| TimeGenerated : u32, | |
| TimeWritten : u32, | |
| EventID : u32, | |
| EventType : u16, | |
| NumStrings : u16, | |
| EventCategory : u16, | |
| ReservedFlags : u16, | |
| ClosingRecordNumber : u32, | |
| StringOffset : u32, | |
| UserSidLength : u32, | |
| UserSidOffset : u32, | |
| DataLength : u32, | |
| DataOffset : u32, | |
| }; | |
| EVENTSFORLOGFILE :: struct {}; | |
| PEVENTSFORLOGFILE :: ^EVENTSFORLOGFILE; | |
| PACKEDEVENTINFO :: struct {}; | |
| PPACKEDEVENTINFO :: ^PACKEDEVENTINFO; | |
| SERVICE_NODE_TYPE :: enum { | |
| DriverType = 0x00000001, | |
| FileSystemType = 0x00000002, | |
| Win32ServiceOwnProcess = 0x00000010, | |
| Win32ServiceShareProcess = 0x00000020, | |
| AdapterType = 0x00000004, | |
| RecognizerType = 0x00000008, | |
| }; | |
| SERVICE_LOAD_TYPE :: enum { | |
| BootLoad = 0x00000000, | |
| SystemLoad = 0x00000001, | |
| AutoLoad = 0x00000002, | |
| DemandLoad = 0x00000003, | |
| DisableLoad = 0x00000004, | |
| }; | |
| SERVICE_ERROR_TYPE :: enum { | |
| IgnoreError = 0x00000000, | |
| NormalError = 0x00000001, | |
| SevereError = 0x00000002, | |
| CriticalError = 0x00000003, | |
| }; | |
| TAPE_ERASE :: struct { | |
| Type : u32, | |
| Immediate : BOOLEAN, | |
| }; | |
| PTAPE_ERASE :: ^struct { | |
| Type : u32, | |
| Immediate : BOOLEAN, | |
| }; | |
| TAPE_PREPARE :: struct { | |
| Operation : u32, | |
| Immediate : BOOLEAN, | |
| }; | |
| PTAPE_PREPARE :: ^struct { | |
| Operation : u32, | |
| Immediate : BOOLEAN, | |
| }; | |
| TAPE_WRITE_MARKS :: struct { | |
| Type : u32, | |
| Count : u32, | |
| Immediate : BOOLEAN, | |
| }; | |
| PTAPE_WRITE_MARKS :: ^struct { | |
| Type : u32, | |
| Count : u32, | |
| Immediate : BOOLEAN, | |
| }; | |
| TAPE_GET_POSITION :: struct { | |
| Type : u32, | |
| Partition : u32, | |
| Offset : LARGE_INTEGER, | |
| }; | |
| PTAPE_GET_POSITION :: ^struct { | |
| Type : u32, | |
| Partition : u32, | |
| Offset : LARGE_INTEGER, | |
| }; | |
| TAPE_SET_POSITION :: struct { | |
| Method : u32, | |
| Partition : u32, | |
| Offset : LARGE_INTEGER, | |
| Immediate : BOOLEAN, | |
| }; | |
| PTAPE_SET_POSITION :: ^struct { | |
| Method : u32, | |
| Partition : u32, | |
| Offset : LARGE_INTEGER, | |
| Immediate : BOOLEAN, | |
| }; | |
| TAPE_GET_DRIVE_PARAMETERS :: struct { | |
| ECC : BOOLEAN, | |
| Compression : BOOLEAN, | |
| DataPadding : BOOLEAN, | |
| ReportSetmarks : BOOLEAN, | |
| DefaultBlockSize : u32, | |
| MaximumBlockSize : u32, | |
| MinimumBlockSize : u32, | |
| MaximumPartitionCount : u32, | |
| FeaturesLow : u32, | |
| FeaturesHigh : u32, | |
| EOTWarningZoneSize : u32, | |
| }; | |
| PTAPE_GET_DRIVE_PARAMETERS :: ^struct { | |
| ECC : BOOLEAN, | |
| Compression : BOOLEAN, | |
| DataPadding : BOOLEAN, | |
| ReportSetmarks : BOOLEAN, | |
| DefaultBlockSize : u32, | |
| MaximumBlockSize : u32, | |
| MinimumBlockSize : u32, | |
| MaximumPartitionCount : u32, | |
| FeaturesLow : u32, | |
| FeaturesHigh : u32, | |
| EOTWarningZoneSize : u32, | |
| }; | |
| TAPE_SET_DRIVE_PARAMETERS :: struct { | |
| ECC : BOOLEAN, | |
| Compression : BOOLEAN, | |
| DataPadding : BOOLEAN, | |
| ReportSetmarks : BOOLEAN, | |
| EOTWarningZoneSize : u32, | |
| }; | |
| PTAPE_SET_DRIVE_PARAMETERS :: ^struct { | |
| ECC : BOOLEAN, | |
| Compression : BOOLEAN, | |
| DataPadding : BOOLEAN, | |
| ReportSetmarks : BOOLEAN, | |
| EOTWarningZoneSize : u32, | |
| }; | |
| TAPE_GET_MEDIA_PARAMETERS :: struct { | |
| Capacity : LARGE_INTEGER, | |
| Remaining : LARGE_INTEGER, | |
| BlockSize : u32, | |
| PartitionCount : u32, | |
| WriteProtected : BOOLEAN, | |
| }; | |
| PTAPE_GET_MEDIA_PARAMETERS :: ^struct { | |
| Capacity : LARGE_INTEGER, | |
| Remaining : LARGE_INTEGER, | |
| BlockSize : u32, | |
| PartitionCount : u32, | |
| WriteProtected : BOOLEAN, | |
| }; | |
| TAPE_SET_MEDIA_PARAMETERS :: struct { | |
| BlockSize : u32, | |
| }; | |
| PTAPE_SET_MEDIA_PARAMETERS :: ^struct { | |
| BlockSize : u32, | |
| }; | |
| TAPE_CREATE_PARTITION :: struct { | |
| Method : u32, | |
| Count : u32, | |
| Size : u32, | |
| }; | |
| PTAPE_CREATE_PARTITION :: ^struct { | |
| Method : u32, | |
| Count : u32, | |
| Size : u32, | |
| }; | |
| TAPE_WMI_OPERATIONS :: struct { | |
| Method : u32, | |
| DataBufferSize : u32, | |
| DataBuffer : PVOID, | |
| }; | |
| PTAPE_WMI_OPERATIONS :: ^struct { | |
| Method : u32, | |
| DataBufferSize : u32, | |
| DataBuffer : PVOID, | |
| }; | |
| TAPE_DRIVE_PROBLEM_TYPE :: enum { | |
| TapeDriveProblemNone, | |
| TapeDriveReadWriteWarning, | |
| TapeDriveReadWriteError, | |
| TapeDriveReadWarning, | |
| TapeDriveWriteWarning, | |
| TapeDriveReadError, | |
| TapeDriveWriteError, | |
| TapeDriveHardwareError, | |
| TapeDriveUnsupportedMedia, | |
| TapeDriveScsiConnectionError, | |
| TapeDriveTimetoClean, | |
| TapeDriveCleanDriveNow, | |
| TapeDriveMediaLifeExpired, | |
| TapeDriveSnappedTape, | |
| }; | |
| UOW :: GUID; | |
| PUOW :: ^GUID; | |
| CRM_PROTOCOL_ID :: GUID; | |
| PCRM_PROTOCOL_ID :: ^GUID; | |
| NOTIFICATION_MASK :: ULONG; | |
| TRANSACTION_NOTIFICATION :: struct { | |
| TransactionKey : PVOID, | |
| TransactionNotification : ULONG, | |
| TmVirtualClock : LARGE_INTEGER, | |
| ArgumentLength : ULONG, | |
| }; | |
| PTRANSACTION_NOTIFICATION :: ^struct { | |
| TransactionKey : PVOID, | |
| TransactionNotification : ULONG, | |
| TmVirtualClock : LARGE_INTEGER, | |
| ArgumentLength : ULONG, | |
| }; | |
| TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT :: struct { | |
| EnlistmentId : GUID, | |
| UOW : UOW, | |
| }; | |
| PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT :: ^struct { | |
| EnlistmentId : GUID, | |
| UOW : UOW, | |
| }; | |
| TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT :: struct { | |
| TmIdentity : GUID, | |
| Flags : ULONG, | |
| }; | |
| PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT :: ^struct { | |
| TmIdentity : GUID, | |
| Flags : ULONG, | |
| }; | |
| SAVEPOINT_ID :: ULONG; | |
| PSAVEPOINT_ID :: ^ULONG; | |
| TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT :: struct { | |
| SavepointId : SAVEPOINT_ID, | |
| }; | |
| PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT :: ^struct { | |
| SavepointId : SAVEPOINT_ID, | |
| }; | |
| TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT :: struct { | |
| PropagationCookie : ULONG, | |
| UOW : GUID, | |
| TmIdentity : GUID, | |
| BufferLength : ULONG, | |
| }; | |
| PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT :: ^struct { | |
| PropagationCookie : ULONG, | |
| UOW : GUID, | |
| TmIdentity : GUID, | |
| BufferLength : ULONG, | |
| }; | |
| TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT :: struct { | |
| MarshalCookie : ULONG, | |
| UOW : GUID, | |
| }; | |
| PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT :: ^struct { | |
| MarshalCookie : ULONG, | |
| UOW : GUID, | |
| }; | |
| TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT :: TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; | |
| PTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT :: ^TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; | |
| KCRM_MARSHAL_HEADER :: struct { | |
| VersionMajor : ULONG, | |
| VersionMinor : ULONG, | |
| NumProtocols : ULONG, | |
| Unused : ULONG, | |
| }; | |
| PKCRM_MARSHAL_HEADER :: ^struct { | |
| VersionMajor : ULONG, | |
| VersionMinor : ULONG, | |
| NumProtocols : ULONG, | |
| Unused : ULONG, | |
| }; | |
| PRKCRM_MARSHAL_HEADER :: ^struct { | |
| VersionMajor : ULONG, | |
| VersionMinor : ULONG, | |
| NumProtocols : ULONG, | |
| Unused : ULONG, | |
| }; | |
| KCRM_TRANSACTION_BLOB :: struct { | |
| UOW : UOW, | |
| TmIdentity : GUID, | |
| IsolationLevel : ULONG, | |
| IsolationFlags : ULONG, | |
| Timeout : ULONG, | |
| Description : [64]WCHAR, | |
| }; | |
| PKCRM_TRANSACTION_BLOB :: ^struct { | |
| UOW : UOW, | |
| TmIdentity : GUID, | |
| IsolationLevel : ULONG, | |
| IsolationFlags : ULONG, | |
| Timeout : ULONG, | |
| Description : [64]WCHAR, | |
| }; | |
| PRKCRM_TRANSACTION_BLOB :: ^struct { | |
| UOW : UOW, | |
| TmIdentity : GUID, | |
| IsolationLevel : ULONG, | |
| IsolationFlags : ULONG, | |
| Timeout : ULONG, | |
| Description : [64]WCHAR, | |
| }; | |
| KCRM_PROTOCOL_BLOB :: struct { | |
| ProtocolId : CRM_PROTOCOL_ID, | |
| StaticInfoLength : ULONG, | |
| TransactionIdInfoLength : ULONG, | |
| Unused1 : ULONG, | |
| Unused2 : ULONG, | |
| }; | |
| PKCRM_PROTOCOL_BLOB :: ^struct { | |
| ProtocolId : CRM_PROTOCOL_ID, | |
| StaticInfoLength : ULONG, | |
| TransactionIdInfoLength : ULONG, | |
| Unused1 : ULONG, | |
| Unused2 : ULONG, | |
| }; | |
| PRKCRM_PROTOCOL_BLOB :: ^struct { | |
| ProtocolId : CRM_PROTOCOL_ID, | |
| StaticInfoLength : ULONG, | |
| TransactionIdInfoLength : ULONG, | |
| Unused1 : ULONG, | |
| Unused2 : ULONG, | |
| }; | |
| TRANSACTION_OUTCOME :: enum { | |
| TransactionOutcomeUndetermined = 1, | |
| TransactionOutcomeCommitted, | |
| TransactionOutcomeAborted, | |
| }; | |
| TRANSACTION_STATE :: enum { | |
| TransactionStateNormal = 1, | |
| TransactionStateIndoubt, | |
| TransactionStateCommittedNotify, | |
| }; | |
| TRANSACTION_BASIC_INFORMATION :: struct { | |
| TransactionId : GUID, | |
| State : u32, | |
| Outcome : u32, | |
| }; | |
| PTRANSACTION_BASIC_INFORMATION :: ^struct { | |
| TransactionId : GUID, | |
| State : u32, | |
| Outcome : u32, | |
| }; | |
| TRANSACTIONMANAGER_BASIC_INFORMATION :: struct { | |
| TmIdentity : GUID, | |
| VirtualClock : LARGE_INTEGER, | |
| }; | |
| PTRANSACTIONMANAGER_BASIC_INFORMATION :: ^struct { | |
| TmIdentity : GUID, | |
| VirtualClock : LARGE_INTEGER, | |
| }; | |
| TRANSACTIONMANAGER_LOG_INFORMATION :: struct { | |
| LogIdentity : GUID, | |
| }; | |
| PTRANSACTIONMANAGER_LOG_INFORMATION :: ^struct { | |
| LogIdentity : GUID, | |
| }; | |
| TRANSACTIONMANAGER_LOGPATH_INFORMATION :: struct { | |
| LogPathLength : u32, | |
| LogPath : [1]WCHAR, | |
| }; | |
| PTRANSACTIONMANAGER_LOGPATH_INFORMATION :: ^struct { | |
| LogPathLength : u32, | |
| LogPath : [1]WCHAR, | |
| }; | |
| TRANSACTIONMANAGER_RECOVERY_INFORMATION :: struct { | |
| LastRecoveredLsn : ULONGLONG, | |
| }; | |
| PTRANSACTIONMANAGER_RECOVERY_INFORMATION :: ^struct { | |
| LastRecoveredLsn : ULONGLONG, | |
| }; | |
| TRANSACTIONMANAGER_OLDEST_INFORMATION :: struct { | |
| OldestTransactionGuid : GUID, | |
| }; | |
| PTRANSACTIONMANAGER_OLDEST_INFORMATION :: ^struct { | |
| OldestTransactionGuid : GUID, | |
| }; | |
| TRANSACTION_PROPERTIES_INFORMATION :: struct { | |
| IsolationLevel : u32, | |
| IsolationFlags : u32, | |
| Timeout : LARGE_INTEGER, | |
| Outcome : u32, | |
| DescriptionLength : u32, | |
| Description : [1]WCHAR, | |
| }; | |
| PTRANSACTION_PROPERTIES_INFORMATION :: ^struct { | |
| IsolationLevel : u32, | |
| IsolationFlags : u32, | |
| Timeout : LARGE_INTEGER, | |
| Outcome : u32, | |
| DescriptionLength : u32, | |
| Description : [1]WCHAR, | |
| }; | |
| TRANSACTION_BIND_INFORMATION :: struct { | |
| TmHandle : HANDLE, | |
| }; | |
| PTRANSACTION_BIND_INFORMATION :: ^struct { | |
| TmHandle : HANDLE, | |
| }; | |
| TRANSACTION_ENLISTMENT_PAIR :: struct { | |
| EnlistmentId : GUID, | |
| ResourceManagerId : GUID, | |
| }; | |
| PTRANSACTION_ENLISTMENT_PAIR :: ^struct { | |
| EnlistmentId : GUID, | |
| ResourceManagerId : GUID, | |
| }; | |
| TRANSACTION_ENLISTMENTS_INFORMATION :: struct { | |
| NumberOfEnlistments : u32, | |
| EnlistmentPair : [1]TRANSACTION_ENLISTMENT_PAIR, | |
| }; | |
| PTRANSACTION_ENLISTMENTS_INFORMATION :: ^struct { | |
| NumberOfEnlistments : u32, | |
| EnlistmentPair : [1]TRANSACTION_ENLISTMENT_PAIR, | |
| }; | |
| TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION :: struct { | |
| SuperiorEnlistmentPair : TRANSACTION_ENLISTMENT_PAIR, | |
| }; | |
| PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION :: ^struct { | |
| SuperiorEnlistmentPair : TRANSACTION_ENLISTMENT_PAIR, | |
| }; | |
| RESOURCEMANAGER_BASIC_INFORMATION :: struct { | |
| ResourceManagerId : GUID, | |
| DescriptionLength : u32, | |
| Description : [1]WCHAR, | |
| }; | |
| PRESOURCEMANAGER_BASIC_INFORMATION :: ^struct { | |
| ResourceManagerId : GUID, | |
| DescriptionLength : u32, | |
| Description : [1]WCHAR, | |
| }; | |
| RESOURCEMANAGER_COMPLETION_INFORMATION :: struct { | |
| IoCompletionPortHandle : HANDLE, | |
| CompletionKey : ULONG_PTR, | |
| }; | |
| PRESOURCEMANAGER_COMPLETION_INFORMATION :: ^struct { | |
| IoCompletionPortHandle : HANDLE, | |
| CompletionKey : ULONG_PTR, | |
| }; | |
| TRANSACTION_INFORMATION_CLASS :: enum { | |
| TransactionBasicInformation, | |
| TransactionPropertiesInformation, | |
| TransactionEnlistmentInformation, | |
| TransactionSuperiorEnlistmentInformation, | |
| TransactionBindInformation, | |
| TransactionDTCPrivateInformation, | |
| }; | |
| TRANSACTIONMANAGER_INFORMATION_CLASS :: enum { | |
| TransactionManagerBasicInformation, | |
| TransactionManagerLogInformation, | |
| TransactionManagerLogPathInformation, | |
| TransactionManagerRecoveryInformation = 4, | |
| TransactionManagerOnlineProbeInformation = 3, | |
| TransactionManagerOldestTransactionInformation = 5, | |
| }; | |
| RESOURCEMANAGER_INFORMATION_CLASS :: enum { | |
| ResourceManagerBasicInformation, | |
| ResourceManagerCompletionInformation, | |
| }; | |
| ENLISTMENT_BASIC_INFORMATION :: struct { | |
| EnlistmentId : GUID, | |
| TransactionId : GUID, | |
| ResourceManagerId : GUID, | |
| }; | |
| PENLISTMENT_BASIC_INFORMATION :: ^struct { | |
| EnlistmentId : GUID, | |
| TransactionId : GUID, | |
| ResourceManagerId : GUID, | |
| }; | |
| ENLISTMENT_CRM_INFORMATION :: struct { | |
| CrmTransactionManagerId : GUID, | |
| CrmResourceManagerId : GUID, | |
| CrmEnlistmentId : GUID, | |
| }; | |
| PENLISTMENT_CRM_INFORMATION :: ^struct { | |
| CrmTransactionManagerId : GUID, | |
| CrmResourceManagerId : GUID, | |
| CrmEnlistmentId : GUID, | |
| }; | |
| ENLISTMENT_INFORMATION_CLASS :: enum { | |
| EnlistmentBasicInformation, | |
| EnlistmentRecoveryInformation, | |
| EnlistmentCrmInformation, | |
| }; | |
| TRANSACTION_LIST_ENTRY :: struct { | |
| UOW : UOW, | |
| }; | |
| PTRANSACTION_LIST_ENTRY :: ^struct { | |
| UOW : UOW, | |
| }; | |
| TRANSACTION_LIST_INFORMATION :: struct { | |
| NumberOfTransactions : u32, | |
| TransactionInformation : [1]TRANSACTION_LIST_ENTRY, | |
| }; | |
| PTRANSACTION_LIST_INFORMATION :: ^struct { | |
| NumberOfTransactions : u32, | |
| TransactionInformation : [1]TRANSACTION_LIST_ENTRY, | |
| }; | |
| KTMOBJECT_TYPE :: enum { | |
| KTMOBJECT_TRANSACTION, | |
| KTMOBJECT_TRANSACTION_MANAGER, | |
| KTMOBJECT_RESOURCE_MANAGER, | |
| KTMOBJECT_ENLISTMENT, | |
| KTMOBJECT_INVALID, | |
| }; | |
| PKTMOBJECT_TYPE :: ^enum { | |
| KTMOBJECT_TRANSACTION, | |
| KTMOBJECT_TRANSACTION_MANAGER, | |
| KTMOBJECT_RESOURCE_MANAGER, | |
| KTMOBJECT_ENLISTMENT, | |
| KTMOBJECT_INVALID, | |
| }; | |
| KTMOBJECT_CURSOR :: struct { | |
| LastQuery : GUID, | |
| ObjectIdCount : u32, | |
| ObjectIds : [1]GUID, | |
| }; | |
| PKTMOBJECT_CURSOR :: ^struct { | |
| LastQuery : GUID, | |
| ObjectIdCount : u32, | |
| ObjectIds : [1]GUID, | |
| }; | |
| TP_VERSION :: u32; | |
| PTP_VERSION :: ^u32; | |
| TP_CALLBACK_INSTANCE :: struct {}; | |
| PTP_CALLBACK_INSTANCE :: ^TP_CALLBACK_INSTANCE; | |
| PTP_SIMPLE_CALLBACK :: proc(Instance : PTP_CALLBACK_INSTANCE, Context : PVOID); | |
| TP_POOL :: struct {}; | |
| PTP_POOL :: ^TP_POOL; | |
| TP_CALLBACK_PRIORITY :: enum { | |
| TP_CALLBACK_PRIORITY_HIGH, | |
| TP_CALLBACK_PRIORITY_NORMAL, | |
| TP_CALLBACK_PRIORITY_LOW, | |
| TP_CALLBACK_PRIORITY_INVALID, | |
| TP_CALLBACK_PRIORITY_COUNT = TP_CALLBACK_PRIORITY_INVALID, | |
| }; | |
| TP_POOL_STACK_INFORMATION :: struct { | |
| StackReserve : SIZE_T, | |
| StackCommit : SIZE_T, | |
| }; | |
| PTP_POOL_STACK_INFORMATION :: ^struct { | |
| StackReserve : SIZE_T, | |
| StackCommit : SIZE_T, | |
| }; | |
| TP_CLEANUP_GROUP :: struct {}; | |
| PTP_CLEANUP_GROUP :: ^TP_CLEANUP_GROUP; | |
| PTP_CLEANUP_GROUP_CANCEL_CALLBACK :: proc(ObjectContext : PVOID, CleanupContext : PVOID); | |
| TP_CALLBACK_ENVIRON_V3 :: struct { | |
| Version : TP_VERSION, | |
| Pool : PTP_POOL, | |
| CleanupGroup : PTP_CLEANUP_GROUP, | |
| CleanupGroupCancelCallback : PTP_CLEANUP_GROUP_CANCEL_CALLBACK, | |
| RaceDll : PVOID, | |
| ActivationContext : ^_ACTIVATION_CONTEXT, | |
| FinalizationCallback : PTP_SIMPLE_CALLBACK, | |
| u : struct #raw_union { | |
| Flags : u32, | |
| s : struct { | |
| LongFunction : , | |
| Persistent : , | |
| Private : , | |
| }, | |
| }, | |
| CallbackPriority : TP_CALLBACK_PRIORITY, | |
| Size : u32, | |
| }; | |
| TP_CALLBACK_ENVIRON :: TP_CALLBACK_ENVIRON_V3; | |
| PTP_CALLBACK_ENVIRON :: ^TP_CALLBACK_ENVIRON_V3; | |
| TP_WORK :: struct {}; | |
| PTP_WORK :: ^TP_WORK; | |
| PTP_WORK_CALLBACK :: proc(Instance : PTP_CALLBACK_INSTANCE, Context : PVOID, Work : PTP_WORK); | |
| TP_TIMER :: struct {}; | |
| PTP_TIMER :: ^TP_TIMER; | |
| PTP_TIMER_CALLBACK :: proc(Instance : PTP_CALLBACK_INSTANCE, Context : PVOID, Timer : PTP_TIMER); | |
| TP_WAIT_RESULT :: u32; | |
| TP_WAIT :: struct {}; | |
| PTP_WAIT :: ^TP_WAIT; | |
| PTP_WAIT_CALLBACK :: proc(Instance : PTP_CALLBACK_INSTANCE, Context : PVOID, Wait : PTP_WAIT, WaitResult : TP_WAIT_RESULT); | |
| TP_IO :: struct {}; | |
| PTP_IO :: ^TP_IO; | |
| WPARAM :: UINT_PTR; | |
| LPARAM :: LONG_PTR; | |
| LRESULT :: LONG_PTR; | |
| SPHANDLE :: ^HANDLE; | |
| LPHANDLE :: ^HANDLE; | |
| HGLOBAL :: HANDLE; | |
| HLOCAL :: HANDLE; | |
| GLOBALHANDLE :: HANDLE; | |
| LOCALHANDLE :: HANDLE; | |
| FARPROC :: (proc() -> i32); | |
| NEARPROC :: (proc() -> i32); | |
| PROC :: (proc() -> i32); | |
| ATOM :: u16; | |
| HKEY__ :: struct { | |
| unused : i32, | |
| }; | |
| HKEY :: ^HKEY__; | |
| PHKEY :: ^HKEY; | |
| HMETAFILE__ :: struct { | |
| unused : i32, | |
| }; | |
| HMETAFILE :: ^HMETAFILE__; | |
| HINSTANCE__ :: struct { | |
| unused : i32, | |
| }; | |
| HINSTANCE :: ^HINSTANCE__; | |
| HMODULE :: HINSTANCE; | |
| HRGN__ :: struct { | |
| unused : i32, | |
| }; | |
| HRGN :: ^HRGN__; | |
| HRSRC__ :: struct { | |
| unused : i32, | |
| }; | |
| HRSRC :: ^HRSRC__; | |
| HSPRITE__ :: struct { | |
| unused : i32, | |
| }; | |
| HSPRITE :: ^HSPRITE__; | |
| HLSURF__ :: struct { | |
| unused : i32, | |
| }; | |
| HLSURF :: ^HLSURF__; | |
| HSTR__ :: struct { | |
| unused : i32, | |
| }; | |
| HSTR :: ^HSTR__; | |
| HTASK__ :: struct { | |
| unused : i32, | |
| }; | |
| HTASK :: ^HTASK__; | |
| HWINSTA__ :: struct { | |
| unused : i32, | |
| }; | |
| HWINSTA :: ^HWINSTA__; | |
| HKL__ :: struct { | |
| unused : i32, | |
| }; | |
| HKL :: ^HKL__; | |
| HFILE :: i32; | |
| FILETIME :: struct { | |
| dwLowDateTime : u32, | |
| dwHighDateTime : u32, | |
| }; | |
| PFILETIME :: ^struct { | |
| dwLowDateTime : u32, | |
| dwHighDateTime : u32, | |
| }; | |
| LPFILETIME :: ^struct { | |
| dwLowDateTime : u32, | |
| dwHighDateTime : u32, | |
| }; | |
| HWND__ :: struct { | |
| unused : i32, | |
| }; | |
| HWND :: ^HWND__; | |
| HHOOK__ :: struct { | |
| unused : i32, | |
| }; | |
| HHOOK :: ^HHOOK__; | |
| HGDIOBJ :: rawptr; | |
| HACCEL__ :: struct { | |
| unused : i32, | |
| }; | |
| HACCEL :: ^HACCEL__; | |
| HBITMAP__ :: struct { | |
| unused : i32, | |
| }; | |
| HBITMAP :: ^HBITMAP__; | |
| HBRUSH__ :: struct { | |
| unused : i32, | |
| }; | |
| HBRUSH :: ^HBRUSH__; | |
| HCOLORSPACE__ :: struct { | |
| unused : i32, | |
| }; | |
| HCOLORSPACE :: ^HCOLORSPACE__; | |
| HDC__ :: struct { | |
| unused : i32, | |
| }; | |
| HDC :: ^HDC__; | |
| HGLRC__ :: struct { | |
| unused : i32, | |
| }; | |
| HGLRC :: ^HGLRC__; | |
| HDESK__ :: struct { | |
| unused : i32, | |
| }; | |
| HDESK :: ^HDESK__; | |
| HENHMETAFILE__ :: struct { | |
| unused : i32, | |
| }; | |
| HENHMETAFILE :: ^HENHMETAFILE__; | |
| HFONT__ :: struct { | |
| unused : i32, | |
| }; | |
| HFONT :: ^HFONT__; | |
| HICON__ :: struct { | |
| unused : i32, | |
| }; | |
| HICON :: ^HICON__; | |
| HMENU__ :: struct { | |
| unused : i32, | |
| }; | |
| HMENU :: ^HMENU__; | |
| HPALETTE__ :: struct { | |
| unused : i32, | |
| }; | |
| HPALETTE :: ^HPALETTE__; | |
| HPEN__ :: struct { | |
| unused : i32, | |
| }; | |
| HPEN :: ^HPEN__; | |
| HWINEVENTHOOK__ :: struct { | |
| unused : i32, | |
| }; | |
| HWINEVENTHOOK :: ^HWINEVENTHOOK__; | |
| HMONITOR__ :: struct { | |
| unused : i32, | |
| }; | |
| HMONITOR :: ^HMONITOR__; | |
| HUMPD__ :: struct { | |
| unused : i32, | |
| }; | |
| HUMPD :: ^HUMPD__; | |
| HCURSOR :: HICON; | |
| COLORREF :: u32; | |
| LPCOLORREF :: ^u32; | |
| RECT :: struct { | |
| left : LONG, | |
| top : LONG, | |
| right : LONG, | |
| bottom : LONG, | |
| }; | |
| PRECT :: ^struct { | |
| left : LONG, | |
| top : LONG, | |
| right : LONG, | |
| bottom : LONG, | |
| }; | |
| NPRECT :: ^struct { | |
| left : LONG, | |
| top : LONG, | |
| right : LONG, | |
| bottom : LONG, | |
| }; | |
| LPRECT :: ^struct { | |
| left : LONG, | |
| top : LONG, | |
| right : LONG, | |
| bottom : LONG, | |
| }; | |
| LPCRECT :: ^RECT; | |
| RECTL :: struct { | |
| left : LONG, | |
| top : LONG, | |
| right : LONG, | |
| bottom : LONG, | |
| }; | |
| PRECTL :: ^struct { | |
| left : LONG, | |
| top : LONG, | |
| right : LONG, | |
| bottom : LONG, | |
| }; | |
| LPRECTL :: ^struct { | |
| left : LONG, | |
| top : LONG, | |
| right : LONG, | |
| bottom : LONG, | |
| }; | |
| LPCRECTL :: ^RECTL; | |
| POINT :: struct { | |
| x : LONG, | |
| y : LONG, | |
| }; | |
| PPOINT :: ^struct { | |
| x : LONG, | |
| y : LONG, | |
| }; | |
| NPPOINT :: ^struct { | |
| x : LONG, | |
| y : LONG, | |
| }; | |
| LPPOINT :: ^struct { | |
| x : LONG, | |
| y : LONG, | |
| }; | |
| POINTL :: struct { | |
| x : LONG, | |
| y : LONG, | |
| }; | |
| PPOINTL :: ^struct { | |
| x : LONG, | |
| y : LONG, | |
| }; | |
| SIZE :: struct { | |
| cx : LONG, | |
| cy : LONG, | |
| }; | |
| PSIZE :: ^struct { | |
| cx : LONG, | |
| cy : LONG, | |
| }; | |
| LPSIZE :: ^struct { | |
| cx : LONG, | |
| cy : LONG, | |
| }; | |
| SIZEL :: SIZE; | |
| PSIZEL :: ^SIZE; | |
| LPSIZEL :: ^SIZE; | |
| POINTS :: struct { | |
| x : SHORT, | |
| y : SHORT, | |
| }; | |
| PPOINTS :: ^struct { | |
| x : SHORT, | |
| y : SHORT, | |
| }; | |
| LPPOINTS :: ^struct { | |
| x : SHORT, | |
| y : SHORT, | |
| }; | |
| DPI_AWARENESS_CONTEXT__ :: struct { | |
| unused : i32, | |
| }; | |
| DPI_AWARENESS_CONTEXT :: ^DPI_AWARENESS_CONTEXT__; | |
| DPI_AWARENESS :: enum { | |
| DPI_AWARENESS_INVALID = -1, | |
| DPI_AWARENESS_UNAWARE = 0, | |
| DPI_AWARENESS_SYSTEM_AWARE = 1, | |
| DPI_AWARENESS_PER_MONITOR_AWARE = 2, | |
| }; | |
| DPI_HOSTING_BEHAVIOR :: enum { | |
| DPI_HOSTING_BEHAVIOR_INVALID = -1, | |
| DPI_HOSTING_BEHAVIOR_DEFAULT = 0, | |
| DPI_HOSTING_BEHAVIOR_MIXED = 1, | |
| }; | |
| SECURITY_ATTRIBUTES :: struct { | |
| nLength : u32, | |
| lpSecurityDescriptor : LPVOID, | |
| bInheritHandle : BOOL, | |
| }; | |
| PSECURITY_ATTRIBUTES :: ^struct { | |
| nLength : u32, | |
| lpSecurityDescriptor : LPVOID, | |
| bInheritHandle : BOOL, | |
| }; | |
| LPSECURITY_ATTRIBUTES :: ^struct { | |
| nLength : u32, | |
| lpSecurityDescriptor : LPVOID, | |
| bInheritHandle : BOOL, | |
| }; | |
| OVERLAPPED :: struct { | |
| Internal : ULONG_PTR, | |
| InternalHigh : ULONG_PTR, | |
| u : struct #raw_union { | |
| s : struct { | |
| Offset : u32, | |
| OffsetHigh : u32, | |
| }, | |
| Pointer : PVOID, | |
| }, | |
| hEvent : HANDLE, | |
| }; | |
| LPOVERLAPPED :: ^struct { | |
| Internal : ULONG_PTR, | |
| InternalHigh : ULONG_PTR, | |
| u : struct #raw_union { | |
| s : struct { | |
| Offset : u32, | |
| OffsetHigh : u32, | |
| }, | |
| Pointer : PVOID, | |
| }, | |
| hEvent : HANDLE, | |
| }; | |
| OVERLAPPED_ENTRY :: struct { | |
| lpCompletionKey : ULONG_PTR, | |
| lpOverlapped : LPOVERLAPPED, | |
| Internal : ULONG_PTR, | |
| dwNumberOfBytesTransferred : u32, | |
| }; | |
| LPOVERLAPPED_ENTRY :: ^struct { | |
| lpCompletionKey : ULONG_PTR, | |
| lpOverlapped : LPOVERLAPPED, | |
| Internal : ULONG_PTR, | |
| dwNumberOfBytesTransferred : u32, | |
| }; | |
| SYSTEMTIME :: struct { | |
| wYear : u16, | |
| wMonth : u16, | |
| wDayOfWeek : u16, | |
| wDay : u16, | |
| wHour : u16, | |
| wMinute : u16, | |
| wSecond : u16, | |
| wMilliseconds : u16, | |
| }; | |
| PSYSTEMTIME :: ^struct { | |
| wYear : u16, | |
| wMonth : u16, | |
| wDayOfWeek : u16, | |
| wDay : u16, | |
| wHour : u16, | |
| wMinute : u16, | |
| wSecond : u16, | |
| wMilliseconds : u16, | |
| }; | |
| LPSYSTEMTIME :: ^struct { | |
| wYear : u16, | |
| wMonth : u16, | |
| wDayOfWeek : u16, | |
| wDay : u16, | |
| wHour : u16, | |
| wMinute : u16, | |
| wSecond : u16, | |
| wMilliseconds : u16, | |
| }; | |
| WIN32_FIND_DATAA :: struct { | |
| dwFileAttributes : u32, | |
| ftCreationTime : FILETIME, | |
| ftLastAccessTime : FILETIME, | |
| ftLastWriteTime : FILETIME, | |
| nFileSizeHigh : u32, | |
| nFileSizeLow : u32, | |
| dwReserved0 : u32, | |
| dwReserved1 : u32, | |
| cFileName : [260]CHAR, | |
| cAlternateFileName : [14]CHAR, | |
| }; | |
| PWIN32_FIND_DATAA :: ^struct { | |
| dwFileAttributes : u32, | |
| ftCreationTime : FILETIME, | |
| ftLastAccessTime : FILETIME, | |
| ftLastWriteTime : FILETIME, | |
| nFileSizeHigh : u32, | |
| nFileSizeLow : u32, | |
| dwReserved0 : u32, | |
| dwReserved1 : u32, | |
| cFileName : [260]CHAR, | |
| cAlternateFileName : [14]CHAR, | |
| }; | |
| LPWIN32_FIND_DATAA :: ^struct { | |
| dwFileAttributes : u32, | |
| ftCreationTime : FILETIME, | |
| ftLastAccessTime : FILETIME, | |
| ftLastWriteTime : FILETIME, | |
| nFileSizeHigh : u32, | |
| nFileSizeLow : u32, | |
| dwReserved0 : u32, | |
| dwReserved1 : u32, | |
| cFileName : [260]CHAR, | |
| cAlternateFileName : [14]CHAR, | |
| }; | |
| WIN32_FIND_DATAW :: struct { | |
| dwFileAttributes : u32, | |
| ftCreationTime : FILETIME, | |
| ftLastAccessTime : FILETIME, | |
| ftLastWriteTime : FILETIME, | |
| nFileSizeHigh : u32, | |
| nFileSizeLow : u32, | |
| dwReserved0 : u32, | |
| dwReserved1 : u32, | |
| cFileName : [260]WCHAR, | |
| cAlternateFileName : [14]WCHAR, | |
| }; | |
| PWIN32_FIND_DATAW :: ^struct { | |
| dwFileAttributes : u32, | |
| ftCreationTime : FILETIME, | |
| ftLastAccessTime : FILETIME, | |
| ftLastWriteTime : FILETIME, | |
| nFileSizeHigh : u32, | |
| nFileSizeLow : u32, | |
| dwReserved0 : u32, | |
| dwReserved1 : u32, | |
| cFileName : [260]WCHAR, | |
| cAlternateFileName : [14]WCHAR, | |
| }; | |
| LPWIN32_FIND_DATAW :: ^struct { | |
| dwFileAttributes : u32, | |
| ftCreationTime : FILETIME, | |
| ftLastAccessTime : FILETIME, | |
| ftLastWriteTime : FILETIME, | |
| nFileSizeHigh : u32, | |
| nFileSizeLow : u32, | |
| dwReserved0 : u32, | |
| dwReserved1 : u32, | |
| cFileName : [260]WCHAR, | |
| cAlternateFileName : [14]WCHAR, | |
| }; | |
| WIN32_FIND_DATA :: WIN32_FIND_DATAA; | |
| PWIN32_FIND_DATA :: PWIN32_FIND_DATAA; | |
| LPWIN32_FIND_DATA :: LPWIN32_FIND_DATAA; | |
| FINDEX_INFO_LEVELS :: enum { | |
| FindExInfoStandard, | |
| FindExInfoBasic, | |
| FindExInfoMaxInfoLevel, | |
| }; | |
| FINDEX_SEARCH_OPS :: enum { | |
| FindExSearchNameMatch, | |
| FindExSearchLimitToDirectories, | |
| FindExSearchLimitToDevices, | |
| FindExSearchMaxSearchOp, | |
| }; | |
| READ_DIRECTORY_NOTIFY_INFORMATION_CLASS :: enum { | |
| ReadDirectoryNotifyInformation = 1, | |
| ReadDirectoryNotifyExtendedInformation, | |
| }; | |
| PREAD_DIRECTORY_NOTIFY_INFORMATION_CLASS :: ^enum { | |
| ReadDirectoryNotifyInformation = 1, | |
| ReadDirectoryNotifyExtendedInformation, | |
| }; | |
| GET_FILEEX_INFO_LEVELS :: enum { | |
| GetFileExInfoStandard, | |
| GetFileExMaxInfoLevel, | |
| }; | |
| FILE_INFO_BY_HANDLE_CLASS :: enum { | |
| FileBasicInfo, | |
| FileStandardInfo, | |
| FileNameInfo, | |
| FileRenameInfo, | |
| FileDispositionInfo, | |
| FileAllocationInfo, | |
| FileEndOfFileInfo, | |
| FileStreamInfo, | |
| FileCompressionInfo, | |
| FileAttributeTagInfo, | |
| FileIdBothDirectoryInfo, | |
| FileIdBothDirectoryRestartInfo, | |
| FileIoPriorityHintInfo, | |
| FileRemoteProtocolInfo, | |
| FileFullDirectoryInfo, | |
| FileFullDirectoryRestartInfo, | |
| FileStorageInfo, | |
| FileAlignmentInfo, | |
| FileIdInfo, | |
| FileIdExtdDirectoryInfo, | |
| FileIdExtdDirectoryRestartInfo, | |
| FileDispositionInfoEx, | |
| FileRenameInfoEx, | |
| FileCaseSensitiveInfo, | |
| FileNormalizedNameInfo, | |
| MaximumFileInfoByHandleClass, | |
| }; | |
| PFILE_INFO_BY_HANDLE_CLASS :: ^enum { | |
| FileBasicInfo, | |
| FileStandardInfo, | |
| FileNameInfo, | |
| FileRenameInfo, | |
| FileDispositionInfo, | |
| FileAllocationInfo, | |
| FileEndOfFileInfo, | |
| FileStreamInfo, | |
| FileCompressionInfo, | |
| FileAttributeTagInfo, | |
| FileIdBothDirectoryInfo, | |
| FileIdBothDirectoryRestartInfo, | |
| FileIoPriorityHintInfo, | |
| FileRemoteProtocolInfo, | |
| FileFullDirectoryInfo, | |
| FileFullDirectoryRestartInfo, | |
| FileStorageInfo, | |
| FileAlignmentInfo, | |
| FileIdInfo, | |
| FileIdExtdDirectoryInfo, | |
| FileIdExtdDirectoryRestartInfo, | |
| FileDispositionInfoEx, | |
| FileRenameInfoEx, | |
| FileCaseSensitiveInfo, | |
| FileNormalizedNameInfo, | |
| MaximumFileInfoByHandleClass, | |
| }; | |
| CRITICAL_SECTION :: RTL_CRITICAL_SECTION; | |
| PCRITICAL_SECTION :: PRTL_CRITICAL_SECTION; | |
| LPCRITICAL_SECTION :: PRTL_CRITICAL_SECTION; | |
| CRITICAL_SECTION_DEBUG :: RTL_CRITICAL_SECTION_DEBUG; | |
| PCRITICAL_SECTION_DEBUG :: PRTL_CRITICAL_SECTION_DEBUG; | |
| LPCRITICAL_SECTION_DEBUG :: PRTL_CRITICAL_SECTION_DEBUG; | |
| LPOVERLAPPED_COMPLETION_ROUTINE :: proc(dwErrorCode : u32, dwNumberOfBytesTransfered : u32, lpOverlapped : LPOVERLAPPED); | |
| PROCESS_HEAP_ENTRY :: struct { | |
| lpData : PVOID, | |
| cbData : u32, | |
| cbOverhead : BYTE, | |
| iRegionIndex : BYTE, | |
| wFlags : u16, | |
| u : struct #raw_union { | |
| Block : struct { | |
| hMem : HANDLE, | |
| dwReserved : [3]u32, | |
| }, | |
| Region : struct { | |
| dwCommittedSize : u32, | |
| dwUnCommittedSize : u32, | |
| lpFirstBlock : LPVOID, | |
| lpLastBlock : LPVOID, | |
| }, | |
| }, | |
| }; | |
| LPPROCESS_HEAP_ENTRY :: ^struct { | |
| lpData : PVOID, | |
| cbData : u32, | |
| cbOverhead : BYTE, | |
| iRegionIndex : BYTE, | |
| wFlags : u16, | |
| u : struct #raw_union { | |
| Block : struct { | |
| hMem : HANDLE, | |
| dwReserved : [3]u32, | |
| }, | |
| Region : struct { | |
| dwCommittedSize : u32, | |
| dwUnCommittedSize : u32, | |
| lpFirstBlock : LPVOID, | |
| lpLastBlock : LPVOID, | |
| }, | |
| }, | |
| }; | |
| PPROCESS_HEAP_ENTRY :: ^struct { | |
| lpData : PVOID, | |
| cbData : u32, | |
| cbOverhead : BYTE, | |
| iRegionIndex : BYTE, | |
| wFlags : u16, | |
| u : struct #raw_union { | |
| Block : struct { | |
| hMem : HANDLE, | |
| dwReserved : [3]u32, | |
| }, | |
| Region : struct { | |
| dwCommittedSize : u32, | |
| dwUnCommittedSize : u32, | |
| lpFirstBlock : LPVOID, | |
| lpLastBlock : LPVOID, | |
| }, | |
| }, | |
| }; | |
| REASON_CONTEXT :: struct { | |
| Version : ULONG, | |
| Flags : u32, | |
| Reason : struct #raw_union { | |
| Detailed : struct { | |
| LocalizedReasonModule : HMODULE, | |
| LocalizedReasonId : ULONG, | |
| ReasonStringCount : ULONG, | |
| ReasonStrings : ^LPWSTR, | |
| }, | |
| SimpleReasonString : LPWSTR, | |
| }, | |
| }; | |
| PREASON_CONTEXT :: ^struct { | |
| Version : ULONG, | |
| Flags : u32, | |
| Reason : struct #raw_union { | |
| Detailed : struct { | |
| LocalizedReasonModule : HMODULE, | |
| LocalizedReasonId : ULONG, | |
| ReasonStringCount : ULONG, | |
| ReasonStrings : ^LPWSTR, | |
| }, | |
| SimpleReasonString : LPWSTR, | |
| }, | |
| }; | |
| PTHREAD_START_ROUTINE :: (proc(lpThreadParameter : LPVOID) -> u32); | |
| LPTHREAD_START_ROUTINE :: PTHREAD_START_ROUTINE; | |
| PENCLAVE_ROUTINE :: (proc(lpThreadParameter : LPVOID) -> LPVOID); | |
| LPENCLAVE_ROUTINE :: PENCLAVE_ROUTINE; | |
| EXCEPTION_DEBUG_INFO :: struct { | |
| ExceptionRecord : EXCEPTION_RECORD, | |
| dwFirstChance : u32, | |
| }; | |
| LPEXCEPTION_DEBUG_INFO :: ^struct { | |
| ExceptionRecord : EXCEPTION_RECORD, | |
| dwFirstChance : u32, | |
| }; | |
| CREATE_THREAD_DEBUG_INFO :: struct { | |
| hThread : HANDLE, | |
| lpThreadLocalBase : LPVOID, | |
| lpStartAddress : LPTHREAD_START_ROUTINE, | |
| }; | |
| LPCREATE_THREAD_DEBUG_INFO :: ^struct { | |
| hThread : HANDLE, | |
| lpThreadLocalBase : LPVOID, | |
| lpStartAddress : LPTHREAD_START_ROUTINE, | |
| }; | |
| CREATE_PROCESS_DEBUG_INFO :: struct { | |
| hFile : HANDLE, | |
| hProcess : HANDLE, | |
| hThread : HANDLE, | |
| lpBaseOfImage : LPVOID, | |
| dwDebugInfoFileOffset : u32, | |
| nDebugInfoSize : u32, | |
| lpThreadLocalBase : LPVOID, | |
| lpStartAddress : LPTHREAD_START_ROUTINE, | |
| lpImageName : LPVOID, | |
| fUnicode : u16, | |
| }; | |
| LPCREATE_PROCESS_DEBUG_INFO :: ^struct { | |
| hFile : HANDLE, | |
| hProcess : HANDLE, | |
| hThread : HANDLE, | |
| lpBaseOfImage : LPVOID, | |
| dwDebugInfoFileOffset : u32, | |
| nDebugInfoSize : u32, | |
| lpThreadLocalBase : LPVOID, | |
| lpStartAddress : LPTHREAD_START_ROUTINE, | |
| lpImageName : LPVOID, | |
| fUnicode : u16, | |
| }; | |
| EXIT_THREAD_DEBUG_INFO :: struct { | |
| dwExitCode : u32, | |
| }; | |
| LPEXIT_THREAD_DEBUG_INFO :: ^struct { | |
| dwExitCode : u32, | |
| }; | |
| EXIT_PROCESS_DEBUG_INFO :: struct { | |
| dwExitCode : u32, | |
| }; | |
| LPEXIT_PROCESS_DEBUG_INFO :: ^struct { | |
| dwExitCode : u32, | |
| }; | |
| LOAD_DLL_DEBUG_INFO :: struct { | |
| hFile : HANDLE, | |
| lpBaseOfDll : LPVOID, | |
| dwDebugInfoFileOffset : u32, | |
| nDebugInfoSize : u32, | |
| lpImageName : LPVOID, | |
| fUnicode : u16, | |
| }; | |
| LPLOAD_DLL_DEBUG_INFO :: ^struct { | |
| hFile : HANDLE, | |
| lpBaseOfDll : LPVOID, | |
| dwDebugInfoFileOffset : u32, | |
| nDebugInfoSize : u32, | |
| lpImageName : LPVOID, | |
| fUnicode : u16, | |
| }; | |
| UNLOAD_DLL_DEBUG_INFO :: struct { | |
| lpBaseOfDll : LPVOID, | |
| }; | |
| LPUNLOAD_DLL_DEBUG_INFO :: ^struct { | |
| lpBaseOfDll : LPVOID, | |
| }; | |
| OUTPUT_DEBUG_STRING_INFO :: struct { | |
| lpDebugStringData : LPSTR, | |
| fUnicode : u16, | |
| nDebugStringLength : u16, | |
| }; | |
| LPOUTPUT_DEBUG_STRING_INFO :: ^struct { | |
| lpDebugStringData : LPSTR, | |
| fUnicode : u16, | |
| nDebugStringLength : u16, | |
| }; | |
| RIP_INFO :: struct { | |
| dwError : u32, | |
| dwType : u32, | |
| }; | |
| LPRIP_INFO :: ^struct { | |
| dwError : u32, | |
| dwType : u32, | |
| }; | |
| DEBUG_EVENT :: struct { | |
| dwDebugEventCode : u32, | |
| dwProcessId : u32, | |
| dwThreadId : u32, | |
| u : struct #raw_union { | |
| Exception : EXCEPTION_DEBUG_INFO, | |
| CreateThread : CREATE_THREAD_DEBUG_INFO, | |
| CreateProcessInfo : CREATE_PROCESS_DEBUG_INFO, | |
| ExitThread : EXIT_THREAD_DEBUG_INFO, | |
| ExitProcess : EXIT_PROCESS_DEBUG_INFO, | |
| LoadDll : LOAD_DLL_DEBUG_INFO, | |
| UnloadDll : UNLOAD_DLL_DEBUG_INFO, | |
| DebugString : OUTPUT_DEBUG_STRING_INFO, | |
| RipInfo : RIP_INFO, | |
| }, | |
| }; | |
| LPDEBUG_EVENT :: ^struct { | |
| dwDebugEventCode : u32, | |
| dwProcessId : u32, | |
| dwThreadId : u32, | |
| u : struct #raw_union { | |
| Exception : EXCEPTION_DEBUG_INFO, | |
| CreateThread : CREATE_THREAD_DEBUG_INFO, | |
| CreateProcessInfo : CREATE_PROCESS_DEBUG_INFO, | |
| ExitThread : EXIT_THREAD_DEBUG_INFO, | |
| ExitProcess : EXIT_PROCESS_DEBUG_INFO, | |
| LoadDll : LOAD_DLL_DEBUG_INFO, | |
| UnloadDll : UNLOAD_DLL_DEBUG_INFO, | |
| DebugString : OUTPUT_DEBUG_STRING_INFO, | |
| RipInfo : RIP_INFO, | |
| }, | |
| }; | |
| LPCONTEXT :: PCONTEXT; | |
| DISK_SPACE_INFORMATION :: struct { | |
| ActualTotalAllocationUnits : ULONGLONG, | |
| ActualAvailableAllocationUnits : ULONGLONG, | |
| ActualPoolUnavailableAllocationUnits : ULONGLONG, | |
| CallerTotalAllocationUnits : ULONGLONG, | |
| CallerAvailableAllocationUnits : ULONGLONG, | |
| CallerPoolUnavailableAllocationUnits : ULONGLONG, | |
| UsedAllocationUnits : ULONGLONG, | |
| TotalReservedAllocationUnits : ULONGLONG, | |
| VolumeStorageReserveAllocationUnits : ULONGLONG, | |
| AvailableCommittedAllocationUnits : ULONGLONG, | |
| PoolAvailableAllocationUnits : ULONGLONG, | |
| SectorsPerAllocationUnit : u32, | |
| BytesPerSector : u32, | |
| }; | |
| WIN32_FILE_ATTRIBUTE_DATA :: struct { | |
| dwFileAttributes : u32, | |
| ftCreationTime : FILETIME, | |
| ftLastAccessTime : FILETIME, | |
| ftLastWriteTime : FILETIME, | |
| nFileSizeHigh : u32, | |
| nFileSizeLow : u32, | |
| }; | |
| LPWIN32_FILE_ATTRIBUTE_DATA :: ^struct { | |
| dwFileAttributes : u32, | |
| ftCreationTime : FILETIME, | |
| ftLastAccessTime : FILETIME, | |
| ftLastWriteTime : FILETIME, | |
| nFileSizeHigh : u32, | |
| nFileSizeLow : u32, | |
| }; | |
| BY_HANDLE_FILE_INFORMATION :: struct { | |
| dwFileAttributes : u32, | |
| ftCreationTime : FILETIME, | |
| ftLastAccessTime : FILETIME, | |
| ftLastWriteTime : FILETIME, | |
| dwVolumeSerialNumber : u32, | |
| nFileSizeHigh : u32, | |
| nFileSizeLow : u32, | |
| nNumberOfLinks : u32, | |
| nFileIndexHigh : u32, | |
| nFileIndexLow : u32, | |
| }; | |
| PBY_HANDLE_FILE_INFORMATION :: ^struct { | |
| dwFileAttributes : u32, | |
| ftCreationTime : FILETIME, | |
| ftLastAccessTime : FILETIME, | |
| ftLastWriteTime : FILETIME, | |
| dwVolumeSerialNumber : u32, | |
| nFileSizeHigh : u32, | |
| nFileSizeLow : u32, | |
| nNumberOfLinks : u32, | |
| nFileIndexHigh : u32, | |
| nFileIndexLow : u32, | |
| }; | |
| LPBY_HANDLE_FILE_INFORMATION :: ^struct { | |
| dwFileAttributes : u32, | |
| ftCreationTime : FILETIME, | |
| ftLastAccessTime : FILETIME, | |
| ftLastWriteTime : FILETIME, | |
| dwVolumeSerialNumber : u32, | |
| nFileSizeHigh : u32, | |
| nFileSizeLow : u32, | |
| nNumberOfLinks : u32, | |
| nFileIndexHigh : u32, | |
| nFileIndexLow : u32, | |
| }; | |
| CREATEFILE2_EXTENDED_PARAMETERS :: struct { | |
| dwSize : u32, | |
| dwFileAttributes : u32, | |
| dwFileFlags : u32, | |
| dwSecurityQosFlags : u32, | |
| lpSecurityAttributes : LPSECURITY_ATTRIBUTES, | |
| hTemplateFile : HANDLE, | |
| }; | |
| PCREATEFILE2_EXTENDED_PARAMETERS :: ^struct { | |
| dwSize : u32, | |
| dwFileAttributes : u32, | |
| dwFileFlags : u32, | |
| dwSecurityQosFlags : u32, | |
| lpSecurityAttributes : LPSECURITY_ATTRIBUTES, | |
| hTemplateFile : HANDLE, | |
| }; | |
| LPCREATEFILE2_EXTENDED_PARAMETERS :: ^struct { | |
| dwSize : u32, | |
| dwFileAttributes : u32, | |
| dwFileFlags : u32, | |
| dwSecurityQosFlags : u32, | |
| lpSecurityAttributes : LPSECURITY_ATTRIBUTES, | |
| hTemplateFile : HANDLE, | |
| }; | |
| STREAM_INFO_LEVELS :: enum { | |
| FindStreamInfoStandard, | |
| FindStreamInfoMaxInfoLevel, | |
| }; | |
| WIN32_FIND_STREAM_DATA :: struct { | |
| StreamSize : LARGE_INTEGER, | |
| cStreamName : [260 + 36]WCHAR, | |
| }; | |
| PWIN32_FIND_STREAM_DATA :: ^struct { | |
| StreamSize : LARGE_INTEGER, | |
| cStreamName : [260 + 36]WCHAR, | |
| }; | |
| PTOP_LEVEL_EXCEPTION_FILTER :: (proc(ExceptionInfo : ^EXCEPTION_POINTERS) -> LONG); | |
| LPTOP_LEVEL_EXCEPTION_FILTER :: PTOP_LEVEL_EXCEPTION_FILTER; | |
| HEAP_SUMMARY :: struct { | |
| cb : u32, | |
| cbAllocated : SIZE_T, | |
| cbCommitted : SIZE_T, | |
| cbReserved : SIZE_T, | |
| cbMaxReserve : SIZE_T, | |
| }; | |
| PHEAP_SUMMARY :: ^struct { | |
| cb : u32, | |
| cbAllocated : SIZE_T, | |
| cbCommitted : SIZE_T, | |
| cbReserved : SIZE_T, | |
| cbMaxReserve : SIZE_T, | |
| }; | |
| LPHEAP_SUMMARY :: PHEAP_SUMMARY; | |
| SRWLOCK :: RTL_SRWLOCK; | |
| PSRWLOCK :: ^RTL_SRWLOCK; | |
| INIT_ONCE :: RTL_RUN_ONCE; | |
| PINIT_ONCE :: PRTL_RUN_ONCE; | |
| LPINIT_ONCE :: PRTL_RUN_ONCE; | |
| PINIT_ONCE_FN :: (proc(InitOnce : PINIT_ONCE, Parameter : PVOID, Context : ^PVOID) -> BOOL); | |
| CONDITION_VARIABLE :: RTL_CONDITION_VARIABLE; | |
| PCONDITION_VARIABLE :: ^RTL_CONDITION_VARIABLE; | |
| PTIMERAPCROUTINE :: proc(lpArgToCompletionRoutine : LPVOID, dwTimerLowValue : u32, dwTimerHighValue : u32); | |
| SYNCHRONIZATION_BARRIER :: RTL_BARRIER; | |
| PSYNCHRONIZATION_BARRIER :: PRTL_BARRIER; | |
| LPSYNCHRONIZATION_BARRIER :: PRTL_BARRIER; | |
| PROCESS_INFORMATION :: struct { | |
| hProcess : HANDLE, | |
| hThread : HANDLE, | |
| dwProcessId : u32, | |
| dwThreadId : u32, | |
| }; | |
| PPROCESS_INFORMATION :: ^struct { | |
| hProcess : HANDLE, | |
| hThread : HANDLE, | |
| dwProcessId : u32, | |
| dwThreadId : u32, | |
| }; | |
| LPPROCESS_INFORMATION :: ^struct { | |
| hProcess : HANDLE, | |
| hThread : HANDLE, | |
| dwProcessId : u32, | |
| dwThreadId : u32, | |
| }; | |
| STARTUPINFOA :: struct { | |
| cb : u32, | |
| lpReserved : LPSTR, | |
| lpDesktop : LPSTR, | |
| lpTitle : LPSTR, | |
| dwX : u32, | |
| dwY : u32, | |
| dwXSize : u32, | |
| dwYSize : u32, | |
| dwXCountChars : u32, | |
| dwYCountChars : u32, | |
| dwFillAttribute : u32, | |
| dwFlags : u32, | |
| wShowWindow : u16, | |
| cbReserved2 : u16, | |
| lpReserved2 : LPBYTE, | |
| hStdInput : HANDLE, | |
| hStdOutput : HANDLE, | |
| hStdError : HANDLE, | |
| }; | |
| LPSTARTUPINFOA :: ^struct { | |
| cb : u32, | |
| lpReserved : LPSTR, | |
| lpDesktop : LPSTR, | |
| lpTitle : LPSTR, | |
| dwX : u32, | |
| dwY : u32, | |
| dwXSize : u32, | |
| dwYSize : u32, | |
| dwXCountChars : u32, | |
| dwYCountChars : u32, | |
| dwFillAttribute : u32, | |
| dwFlags : u32, | |
| wShowWindow : u16, | |
| cbReserved2 : u16, | |
| lpReserved2 : LPBYTE, | |
| hStdInput : HANDLE, | |
| hStdOutput : HANDLE, | |
| hStdError : HANDLE, | |
| }; | |
| STARTUPINFOW :: struct { | |
| cb : u32, | |
| lpReserved : LPWSTR, | |
| lpDesktop : LPWSTR, | |
| lpTitle : LPWSTR, | |
| dwX : u32, | |
| dwY : u32, | |
| dwXSize : u32, | |
| dwYSize : u32, | |
| dwXCountChars : u32, | |
| dwYCountChars : u32, | |
| dwFillAttribute : u32, | |
| dwFlags : u32, | |
| wShowWindow : u16, | |
| cbReserved2 : u16, | |
| lpReserved2 : LPBYTE, | |
| hStdInput : HANDLE, | |
| hStdOutput : HANDLE, | |
| hStdError : HANDLE, | |
| }; | |
| LPSTARTUPINFOW :: ^struct { | |
| cb : u32, | |
| lpReserved : LPWSTR, | |
| lpDesktop : LPWSTR, | |
| lpTitle : LPWSTR, | |
| dwX : u32, | |
| dwY : u32, | |
| dwXSize : u32, | |
| dwYSize : u32, | |
| dwXCountChars : u32, | |
| dwYCountChars : u32, | |
| dwFillAttribute : u32, | |
| dwFlags : u32, | |
| wShowWindow : u16, | |
| cbReserved2 : u16, | |
| lpReserved2 : LPBYTE, | |
| hStdInput : HANDLE, | |
| hStdOutput : HANDLE, | |
| hStdError : HANDLE, | |
| }; | |
| STARTUPINFO :: STARTUPINFOA; | |
| LPSTARTUPINFO :: LPSTARTUPINFOA; | |
| _PROC_THREAD_ATTRIBUTE_LIST :: struct {}; | |
| PPROC_THREAD_ATTRIBUTE_LIST :: ^_PROC_THREAD_ATTRIBUTE_LIST; | |
| LPPROC_THREAD_ATTRIBUTE_LIST :: ^_PROC_THREAD_ATTRIBUTE_LIST; | |
| THREAD_INFORMATION_CLASS :: enum { | |
| ThreadMemoryPriority, | |
| ThreadAbsoluteCpuPriority, | |
| ThreadDynamicCodePolicy, | |
| ThreadPowerThrottling, | |
| ThreadInformationClassMax, | |
| }; | |
| MEMORY_PRIORITY_INFORMATION :: struct { | |
| MemoryPriority : ULONG, | |
| }; | |
| PMEMORY_PRIORITY_INFORMATION :: ^struct { | |
| MemoryPriority : ULONG, | |
| }; | |
| THREAD_POWER_THROTTLING_STATE :: struct { | |
| Version : ULONG, | |
| ControlMask : ULONG, | |
| StateMask : ULONG, | |
| }; | |
| PROCESS_INFORMATION_CLASS :: enum { | |
| ProcessMemoryPriority, | |
| ProcessMemoryExhaustionInfo, | |
| ProcessAppMemoryInfo, | |
| ProcessInPrivateInfo, | |
| ProcessPowerThrottling, | |
| ProcessReservedValue1, | |
| ProcessTelemetryCoverageInfo, | |
| ProcessProtectionLevelInfo, | |
| ProcessLeapSecondInfo, | |
| ProcessInformationClassMax, | |
| }; | |
| APP_MEMORY_INFORMATION :: struct { | |
| AvailableCommit : ULONG64, | |
| PrivateCommitUsage : ULONG64, | |
| PeakPrivateCommitUsage : ULONG64, | |
| TotalCommitUsage : ULONG64, | |
| }; | |
| PAPP_MEMORY_INFORMATION :: ^struct { | |
| AvailableCommit : ULONG64, | |
| PrivateCommitUsage : ULONG64, | |
| PeakPrivateCommitUsage : ULONG64, | |
| TotalCommitUsage : ULONG64, | |
| }; | |
| PROCESS_MEMORY_EXHAUSTION_TYPE :: enum { | |
| PMETypeFailFastOnCommitFailure, | |
| PMETypeMax, | |
| }; | |
| PPROCESS_MEMORY_EXHAUSTION_TYPE :: ^enum { | |
| PMETypeFailFastOnCommitFailure, | |
| PMETypeMax, | |
| }; | |
| PROCESS_MEMORY_EXHAUSTION_INFO :: struct { | |
| Version : USHORT, | |
| Reserved : USHORT, | |
| Type : PROCESS_MEMORY_EXHAUSTION_TYPE, | |
| Value : ULONG_PTR, | |
| }; | |
| PPROCESS_MEMORY_EXHAUSTION_INFO :: ^struct { | |
| Version : USHORT, | |
| Reserved : USHORT, | |
| Type : PROCESS_MEMORY_EXHAUSTION_TYPE, | |
| Value : ULONG_PTR, | |
| }; | |
| PROCESS_POWER_THROTTLING_STATE :: struct { | |
| Version : ULONG, | |
| ControlMask : ULONG, | |
| StateMask : ULONG, | |
| }; | |
| PPROCESS_POWER_THROTTLING_STATE :: ^struct { | |
| Version : ULONG, | |
| ControlMask : ULONG, | |
| StateMask : ULONG, | |
| }; | |
| PROCESS_PROTECTION_LEVEL_INFORMATION :: struct { | |
| ProtectionLevel : u32, | |
| }; | |
| PROCESS_LEAP_SECOND_INFO :: struct { | |
| Flags : ULONG, | |
| Reserved : ULONG, | |
| }; | |
| PPROCESS_LEAP_SECOND_INFO :: ^struct { | |
| Flags : ULONG, | |
| Reserved : ULONG, | |
| }; | |
| SYSTEM_INFO :: struct { | |
| u : struct #raw_union { | |
| dwOemId : u32, | |
| s : struct { | |
| wProcessorArchitecture : u16, | |
| wReserved : u16, | |
| }, | |
| }, | |
| dwPageSize : u32, | |
| lpMinimumApplicationAddress : LPVOID, | |
| lpMaximumApplicationAddress : LPVOID, | |
| dwActiveProcessorMask : DWORD_PTR, | |
| dwNumberOfProcessors : u32, | |
| dwProcessorType : u32, | |
| dwAllocationGranularity : u32, | |
| wProcessorLevel : u16, | |
| wProcessorRevision : u16, | |
| }; | |
| LPSYSTEM_INFO :: ^struct { | |
| u : struct #raw_union { | |
| dwOemId : u32, | |
| s : struct { | |
| wProcessorArchitecture : u16, | |
| wReserved : u16, | |
| }, | |
| }, | |
| dwPageSize : u32, | |
| lpMinimumApplicationAddress : LPVOID, | |
| lpMaximumApplicationAddress : LPVOID, | |
| dwActiveProcessorMask : DWORD_PTR, | |
| dwNumberOfProcessors : u32, | |
| dwProcessorType : u32, | |
| dwAllocationGranularity : u32, | |
| wProcessorLevel : u16, | |
| wProcessorRevision : u16, | |
| }; | |
| MEMORYSTATUSEX :: struct { | |
| dwLength : u32, | |
| dwMemoryLoad : u32, | |
| ullTotalPhys : DWORDLONG, | |
| ullAvailPhys : DWORDLONG, | |
| ullTotalPageFile : DWORDLONG, | |
| ullAvailPageFile : DWORDLONG, | |
| ullTotalVirtual : DWORDLONG, | |
| ullAvailVirtual : DWORDLONG, | |
| ullAvailExtendedVirtual : DWORDLONG, | |
| }; | |
| LPMEMORYSTATUSEX :: ^struct { | |
| dwLength : u32, | |
| dwMemoryLoad : u32, | |
| ullTotalPhys : DWORDLONG, | |
| ullAvailPhys : DWORDLONG, | |
| ullTotalPageFile : DWORDLONG, | |
| ullAvailPageFile : DWORDLONG, | |
| ullTotalVirtual : DWORDLONG, | |
| ullAvailVirtual : DWORDLONG, | |
| ullAvailExtendedVirtual : DWORDLONG, | |
| }; | |
| COMPUTER_NAME_FORMAT :: enum { | |
| ComputerNameNetBIOS, | |
| ComputerNameDnsHostname, | |
| ComputerNameDnsDomain, | |
| ComputerNameDnsFullyQualified, | |
| ComputerNamePhysicalNetBIOS, | |
| ComputerNamePhysicalDnsHostname, | |
| ComputerNamePhysicalDnsDomain, | |
| ComputerNamePhysicalDnsFullyQualified, | |
| ComputerNameMax, | |
| }; | |
| MEMORY_RESOURCE_NOTIFICATION_TYPE :: enum { | |
| LowMemoryResourceNotification, | |
| HighMemoryResourceNotification, | |
| }; | |
| WIN32_MEMORY_RANGE_ENTRY :: struct { | |
| VirtualAddress : PVOID, | |
| NumberOfBytes : SIZE_T, | |
| }; | |
| PWIN32_MEMORY_RANGE_ENTRY :: ^struct { | |
| VirtualAddress : PVOID, | |
| NumberOfBytes : SIZE_T, | |
| }; | |
| BAD_MEMORY_CALLBACK_ROUTINE :: #type proc(void); | |
| PBAD_MEMORY_CALLBACK_ROUTINE :: ^BAD_MEMORY_CALLBACK_ROUTINE; | |
| OFFER_PRIORITY :: enum { | |
| VmOfferPriorityVeryLow = 1, | |
| VmOfferPriorityLow, | |
| VmOfferPriorityBelowNormal, | |
| VmOfferPriorityNormal, | |
| }; | |
| WIN32_MEMORY_INFORMATION_CLASS :: enum { | |
| MemoryRegionInfo, | |
| }; | |
| WIN32_MEMORY_REGION_INFORMATION :: struct { | |
| AllocationBase : PVOID, | |
| AllocationProtect : ULONG, | |
| u : struct #raw_union { | |
| Flags : ULONG, | |
| s : struct { | |
| Private : , | |
| MappedDataFile : , | |
| MappedImage : , | |
| MappedPageFile : , | |
| MappedPhysical : , | |
| DirectMapped : , | |
| Reserved : , | |
| }, | |
| }, | |
| RegionSize : SIZE_T, | |
| CommitSize : SIZE_T, | |
| }; | |
| PTP_WIN32_IO_CALLBACK :: proc(Instance : PTP_CALLBACK_INSTANCE, Context : PVOID, Overlapped : PVOID, IoResult : ULONG, NumberOfBytesTransferred : ULONG_PTR, Io : PTP_IO); | |
| JOBOBJECT_IO_RATE_CONTROL_INFORMATION :: struct { | |
| MaxIops : LONG64, | |
| MaxBandwidth : LONG64, | |
| ReservationIops : LONG64, | |
| VolumeName : PCWSTR, | |
| BaseIoSize : ULONG, | |
| ControlFlags : ULONG, | |
| }; | |
| ENUMUILANG :: struct { | |
| NumOfEnumUILang : ULONG, | |
| SizeOfEnumUIBuffer : ULONG, | |
| pEnumUIBuffer : ^LANGID, | |
| }; | |
| PENUMUILANG :: ^struct { | |
| NumOfEnumUILang : ULONG, | |
| SizeOfEnumUIBuffer : ULONG, | |
| pEnumUIBuffer : ^LANGID, | |
| }; | |
| ENUMRESLANGPROCA :: (proc(hModule : HMODULE, lpType : LPCSTR, lpName : LPCSTR, wLanguage : u16, lParam : LONG_PTR) -> BOOL); | |
| ENUMRESLANGPROCW :: (proc(hModule : HMODULE, lpType : LPCWSTR, lpName : LPCWSTR, wLanguage : u16, lParam : LONG_PTR) -> BOOL); | |
| ENUMRESNAMEPROCA :: (proc(hModule : HMODULE, lpType : LPCSTR, lpName : LPSTR, lParam : LONG_PTR) -> BOOL); | |
| ENUMRESNAMEPROCW :: (proc(hModule : HMODULE, lpType : LPCWSTR, lpName : LPWSTR, lParam : LONG_PTR) -> BOOL); | |
| ENUMRESTYPEPROCA :: (proc(hModule : HMODULE, lpType : LPSTR, lParam : LONG_PTR) -> BOOL); | |
| ENUMRESTYPEPROCW :: (proc(hModule : HMODULE, lpType : LPWSTR, lParam : LONG_PTR) -> BOOL); | |
| PGET_MODULE_HANDLE_EXA :: (proc(dwFlags : u32, lpModuleName : LPCSTR, phModule : ^HMODULE) -> BOOL); | |
| PGET_MODULE_HANDLE_EXW :: (proc(dwFlags : u32, lpModuleName : LPCWSTR, phModule : ^HMODULE) -> BOOL); | |
| REDIRECTION_FUNCTION_DESCRIPTOR :: struct { | |
| DllName : PCSTR, | |
| FunctionName : PCSTR, | |
| RedirectionTarget : PVOID, | |
| }; | |
| PREDIRECTION_FUNCTION_DESCRIPTOR :: ^struct { | |
| DllName : PCSTR, | |
| FunctionName : PCSTR, | |
| RedirectionTarget : PVOID, | |
| }; | |
| PCREDIRECTION_FUNCTION_DESCRIPTOR :: ^REDIRECTION_FUNCTION_DESCRIPTOR; | |
| REDIRECTION_DESCRIPTOR :: struct { | |
| Version : ULONG, | |
| FunctionCount : ULONG, | |
| Redirections : PCREDIRECTION_FUNCTION_DESCRIPTOR, | |
| }; | |
| PREDIRECTION_DESCRIPTOR :: ^struct { | |
| Version : ULONG, | |
| FunctionCount : ULONG, | |
| Redirections : PCREDIRECTION_FUNCTION_DESCRIPTOR, | |
| }; | |
| PCREDIRECTION_DESCRIPTOR :: ^REDIRECTION_DESCRIPTOR; | |
| DLL_DIRECTORY_COOKIE :: PVOID; | |
| PDLL_DIRECTORY_COOKIE :: ^PVOID; | |
| PFIBER_START_ROUTINE :: proc(lpFiberParameter : LPVOID); | |
| LPFIBER_START_ROUTINE :: PFIBER_START_ROUTINE; | |
| PFIBER_CALLOUT_ROUTINE :: (proc(lpParameter : LPVOID) -> LPVOID); | |
| LPLDT_ENTRY :: PLDT_ENTRY; | |
| COMMPROP :: struct { | |
| wPacketLength : u16, | |
| wPacketVersion : u16, | |
| dwServiceMask : u32, | |
| dwReserved1 : u32, | |
| dwMaxTxQueue : u32, | |
| dwMaxRxQueue : u32, | |
| dwMaxBaud : u32, | |
| dwProvSubType : u32, | |
| dwProvCapabilities : u32, | |
| dwSettableParams : u32, | |
| dwSettableBaud : u32, | |
| wSettableData : u16, | |
| wSettableStopParity : u16, | |
| dwCurrentTxQueue : u32, | |
| dwCurrentRxQueue : u32, | |
| dwProvSpec1 : u32, | |
| dwProvSpec2 : u32, | |
| wcProvChar : [1]WCHAR, | |
| }; | |
| LPCOMMPROP :: ^struct { | |
| wPacketLength : u16, | |
| wPacketVersion : u16, | |
| dwServiceMask : u32, | |
| dwReserved1 : u32, | |
| dwMaxTxQueue : u32, | |
| dwMaxRxQueue : u32, | |
| dwMaxBaud : u32, | |
| dwProvSubType : u32, | |
| dwProvCapabilities : u32, | |
| dwSettableParams : u32, | |
| dwSettableBaud : u32, | |
| wSettableData : u16, | |
| wSettableStopParity : u16, | |
| dwCurrentTxQueue : u32, | |
| dwCurrentRxQueue : u32, | |
| dwProvSpec1 : u32, | |
| dwProvSpec2 : u32, | |
| wcProvChar : [1]WCHAR, | |
| }; | |
| COMSTAT :: struct { | |
| fCtsHold : , | |
| fDsrHold : , | |
| fRlsdHold : , | |
| fXoffHold : , | |
| fXoffSent : , | |
| fEof : , | |
| fTxim : , | |
| fReserved : , | |
| cbInQue : u32, | |
| cbOutQue : u32, | |
| }; | |
| LPCOMSTAT :: ^struct { | |
| fCtsHold : , | |
| fDsrHold : , | |
| fRlsdHold : , | |
| fXoffHold : , | |
| fXoffSent : , | |
| fEof : , | |
| fTxim : , | |
| fReserved : , | |
| cbInQue : u32, | |
| cbOutQue : u32, | |
| }; | |
| DCB :: struct { | |
| DCBlength : u32, | |
| BaudRate : u32, | |
| fBinary : , | |
| fParity : , | |
| fOutxCtsFlow : , | |
| fOutxDsrFlow : , | |
| fDtrControl : , | |
| fDsrSensitivity : , | |
| fTXContinueOnXoff : , | |
| fOutX : , | |
| fInX : , | |
| fErrorChar : , | |
| fNull : , | |
| fRtsControl : , | |
| fAbortOnError : , | |
| fDummy2 : , | |
| wReserved : u16, | |
| XonLim : u16, | |
| XoffLim : u16, | |
| ByteSize : BYTE, | |
| Parity : BYTE, | |
| StopBits : BYTE, | |
| XonChar : u8, | |
| XoffChar : u8, | |
| ErrorChar : u8, | |
| EofChar : u8, | |
| EvtChar : u8, | |
| wReserved1 : u16, | |
| }; | |
| LPDCB :: ^struct { | |
| DCBlength : u32, | |
| BaudRate : u32, | |
| fBinary : , | |
| fParity : , | |
| fOutxCtsFlow : , | |
| fOutxDsrFlow : , | |
| fDtrControl : , | |
| fDsrSensitivity : , | |
| fTXContinueOnXoff : , | |
| fOutX : , | |
| fInX : , | |
| fErrorChar : , | |
| fNull : , | |
| fRtsControl : , | |
| fAbortOnError : , | |
| fDummy2 : , | |
| wReserved : u16, | |
| XonLim : u16, | |
| XoffLim : u16, | |
| ByteSize : BYTE, | |
| Parity : BYTE, | |
| StopBits : BYTE, | |
| XonChar : u8, | |
| XoffChar : u8, | |
| ErrorChar : u8, | |
| EofChar : u8, | |
| EvtChar : u8, | |
| wReserved1 : u16, | |
| }; | |
| COMMTIMEOUTS :: struct { | |
| ReadIntervalTimeout : u32, | |
| ReadTotalTimeoutMultiplier : u32, | |
| ReadTotalTimeoutConstant : u32, | |
| WriteTotalTimeoutMultiplier : u32, | |
| WriteTotalTimeoutConstant : u32, | |
| }; | |
| LPCOMMTIMEOUTS :: ^struct { | |
| ReadIntervalTimeout : u32, | |
| ReadTotalTimeoutMultiplier : u32, | |
| ReadTotalTimeoutConstant : u32, | |
| WriteTotalTimeoutMultiplier : u32, | |
| WriteTotalTimeoutConstant : u32, | |
| }; | |
| COMMCONFIG :: struct { | |
| dwSize : u32, | |
| wVersion : u16, | |
| wReserved : u16, | |
| dcb : DCB, | |
| dwProviderSubType : u32, | |
| dwProviderOffset : u32, | |
| dwProviderSize : u32, | |
| wcProviderData : [1]WCHAR, | |
| }; | |
| LPCOMMCONFIG :: ^struct { | |
| dwSize : u32, | |
| wVersion : u16, | |
| wReserved : u16, | |
| dcb : DCB, | |
| dwProviderSubType : u32, | |
| dwProviderOffset : u32, | |
| dwProviderSize : u32, | |
| wcProviderData : [1]WCHAR, | |
| }; | |
| MEMORYSTATUS :: struct { | |
| dwLength : u32, | |
| dwMemoryLoad : u32, | |
| dwTotalPhys : SIZE_T, | |
| dwAvailPhys : SIZE_T, | |
| dwTotalPageFile : SIZE_T, | |
| dwAvailPageFile : SIZE_T, | |
| dwTotalVirtual : SIZE_T, | |
| dwAvailVirtual : SIZE_T, | |
| }; | |
| LPMEMORYSTATUS :: ^struct { | |
| dwLength : u32, | |
| dwMemoryLoad : u32, | |
| dwTotalPhys : SIZE_T, | |
| dwAvailPhys : SIZE_T, | |
| dwTotalPageFile : SIZE_T, | |
| dwAvailPageFile : SIZE_T, | |
| dwTotalVirtual : SIZE_T, | |
| dwAvailVirtual : SIZE_T, | |
| }; | |
| JIT_DEBUG_INFO :: struct { | |
| dwSize : u32, | |
| dwProcessorArchitecture : u32, | |
| dwThreadID : u32, | |
| dwReserved0 : u32, | |
| lpExceptionAddress : ULONG64, | |
| lpExceptionRecord : ULONG64, | |
| lpContextRecord : ULONG64, | |
| }; | |
| LPJIT_DEBUG_INFO :: ^struct { | |
| dwSize : u32, | |
| dwProcessorArchitecture : u32, | |
| dwThreadID : u32, | |
| dwReserved0 : u32, | |
| lpExceptionAddress : ULONG64, | |
| lpExceptionRecord : ULONG64, | |
| lpContextRecord : ULONG64, | |
| }; | |
| JIT_DEBUG_INFO32 :: JIT_DEBUG_INFO; | |
| LPJIT_DEBUG_INFO32 :: ^JIT_DEBUG_INFO; | |
| JIT_DEBUG_INFO64 :: JIT_DEBUG_INFO; | |
| LPJIT_DEBUG_INFO64 :: ^JIT_DEBUG_INFO; | |
| LPEXCEPTION_RECORD :: PEXCEPTION_RECORD; | |
| LPEXCEPTION_POINTERS :: PEXCEPTION_POINTERS; | |
| OFSTRUCT :: struct { | |
| cBytes : BYTE, | |
| fFixedDisk : BYTE, | |
| nErrCode : u16, | |
| Reserved1 : u16, | |
| Reserved2 : u16, | |
| szPathName : [128]CHAR, | |
| }; | |
| LPOFSTRUCT :: ^struct { | |
| cBytes : BYTE, | |
| fFixedDisk : BYTE, | |
| nErrCode : u16, | |
| Reserved1 : u16, | |
| Reserved2 : u16, | |
| szPathName : [128]CHAR, | |
| }; | |
| POFSTRUCT :: ^struct { | |
| cBytes : BYTE, | |
| fFixedDisk : BYTE, | |
| nErrCode : u16, | |
| Reserved1 : u16, | |
| Reserved2 : u16, | |
| szPathName : [128]CHAR, | |
| }; | |
| PUMS_CONTEXT :: rawptr; | |
| PUMS_COMPLETION_LIST :: rawptr; | |
| UMS_THREAD_INFO_CLASS :: struct {}; | |
| PUMS_THREAD_INFO_CLASS :: ^UMS_THREAD_INFO_CLASS; | |
| UMS_SCHEDULER_REASON :: struct {}; | |
| ; | |
| PUMS_SCHEDULER_ENTRY_POINT :: PRTL_UMS_SCHEDULER_ENTRY_POINT; | |
| UMS_SCHEDULER_STARTUP_INFO :: struct { | |
| UmsVersion : ULONG, | |
| CompletionList : PUMS_COMPLETION_LIST, | |
| SchedulerProc : PUMS_SCHEDULER_ENTRY_POINT, | |
| SchedulerParam : PVOID, | |
| }; | |
| PUMS_SCHEDULER_STARTUP_INFO :: ^struct { | |
| UmsVersion : ULONG, | |
| CompletionList : PUMS_COMPLETION_LIST, | |
| SchedulerProc : PUMS_SCHEDULER_ENTRY_POINT, | |
| SchedulerParam : PVOID, | |
| }; | |
| UMS_SYSTEM_THREAD_INFORMATION :: struct { | |
| UmsVersion : ULONG, | |
| u : struct #raw_union { | |
| s : struct { | |
| IsUmsSchedulerThread : , | |
| IsUmsWorkerThread : , | |
| }, | |
| ThreadUmsFlags : ULONG, | |
| }, | |
| }; | |
| PUMS_SYSTEM_THREAD_INFORMATION :: ^struct { | |
| UmsVersion : ULONG, | |
| u : struct #raw_union { | |
| s : struct { | |
| IsUmsSchedulerThread : , | |
| IsUmsWorkerThread : , | |
| }, | |
| ThreadUmsFlags : ULONG, | |
| }, | |
| }; | |
| POWER_REQUEST_CONTEXT :: REASON_CONTEXT; | |
| PPOWER_REQUEST_CONTEXT :: ^REASON_CONTEXT; | |
| LPPOWER_REQUEST_CONTEXT :: ^REASON_CONTEXT; | |
| DEP_SYSTEM_POLICY_TYPE :: enum { | |
| DEPPolicyAlwaysOff = 0, | |
| DEPPolicyAlwaysOn, | |
| DEPPolicyOptIn, | |
| DEPPolicyOptOut, | |
| DEPTotalPolicyCount, | |
| }; | |
| PFE_EXPORT_FUNC :: (proc(pbData : PBYTE, pvCallbackContext : PVOID, ulLength : ULONG) -> u32); | |
| PFE_IMPORT_FUNC :: (proc(pbData : PBYTE, pvCallbackContext : PVOID, ulLength : PULONG) -> u32); | |
| WIN32_STREAM_ID :: struct { | |
| dwStreamId : u32, | |
| dwStreamAttributes : u32, | |
| Size : LARGE_INTEGER, | |
| dwStreamNameSize : u32, | |
| cStreamName : [1]WCHAR, | |
| }; | |
| LPWIN32_STREAM_ID :: ^struct { | |
| dwStreamId : u32, | |
| dwStreamAttributes : u32, | |
| Size : LARGE_INTEGER, | |
| dwStreamNameSize : u32, | |
| cStreamName : [1]WCHAR, | |
| }; | |
| STARTUPINFOEXA :: struct { | |
| StartupInfo : STARTUPINFOA, | |
| lpAttributeList : LPPROC_THREAD_ATTRIBUTE_LIST, | |
| }; | |
| LPSTARTUPINFOEXA :: ^struct { | |
| StartupInfo : STARTUPINFOA, | |
| lpAttributeList : LPPROC_THREAD_ATTRIBUTE_LIST, | |
| }; | |
| STARTUPINFOEXW :: struct { | |
| StartupInfo : STARTUPINFOW, | |
| lpAttributeList : LPPROC_THREAD_ATTRIBUTE_LIST, | |
| }; | |
| LPSTARTUPINFOEXW :: ^struct { | |
| StartupInfo : STARTUPINFOW, | |
| lpAttributeList : LPPROC_THREAD_ATTRIBUTE_LIST, | |
| }; | |
| STARTUPINFOEX :: STARTUPINFOEXA; | |
| LPSTARTUPINFOEX :: LPSTARTUPINFOEXA; | |
| PROC_THREAD_ATTRIBUTE_NUM :: enum { | |
| ProcThreadAttributeParentProcess = 0, | |
| ProcThreadAttributeHandleList = 2, | |
| ProcThreadAttributeGroupAffinity = 3, | |
| ProcThreadAttributePreferredNode = 4, | |
| ProcThreadAttributeIdealProcessor = 5, | |
| ProcThreadAttributeUmsThread = 6, | |
| ProcThreadAttributeMitigationPolicy = 7, | |
| ProcThreadAttributeSecurityCapabilities = 9, | |
| ProcThreadAttributeProtectionLevel = 11, | |
| ProcThreadAttributeJobList = 13, | |
| ProcThreadAttributeChildProcessPolicy = 14, | |
| ProcThreadAttributeAllApplicationPackagesPolicy = 15, | |
| ProcThreadAttributeWin32kFilter = 16, | |
| ProcThreadAttributeSafeOpenPromptOriginClaim = 17, | |
| ProcThreadAttributeDesktopAppPolicy = 18, | |
| ProcThreadAttributePseudoConsole = 22, | |
| }; | |
| PGET_SYSTEM_WOW64_DIRECTORY_A :: (proc(lpBuffer : LPSTR, uSize : UINT) -> UINT); | |
| PGET_SYSTEM_WOW64_DIRECTORY_W :: (proc(lpBuffer : LPWSTR, uSize : UINT) -> UINT); | |
| LPPROGRESS_ROUTINE :: (proc(TotalFileSize : LARGE_INTEGER, TotalBytesTransferred : LARGE_INTEGER, StreamSize : LARGE_INTEGER, StreamBytesTransferred : LARGE_INTEGER, dwStreamNumber : u32, dwCallbackReason : u32, hSourceFile : HANDLE, hDestinationFile : HANDLE, lpData : LPVOID) -> u32); | |
| COPYFILE2_MESSAGE_TYPE :: enum { | |
| COPYFILE2_CALLBACK_NONE = 0, | |
| COPYFILE2_CALLBACK_CHUNK_STARTED, | |
| COPYFILE2_CALLBACK_CHUNK_FINISHED, | |
| COPYFILE2_CALLBACK_STREAM_STARTED, | |
| COPYFILE2_CALLBACK_STREAM_FINISHED, | |
| COPYFILE2_CALLBACK_POLL_CONTINUE, | |
| COPYFILE2_CALLBACK_ERROR, | |
| COPYFILE2_CALLBACK_MAX, | |
| }; | |
| COPYFILE2_MESSAGE_ACTION :: enum { | |
| COPYFILE2_PROGRESS_CONTINUE = 0, | |
| COPYFILE2_PROGRESS_CANCEL, | |
| COPYFILE2_PROGRESS_STOP, | |
| COPYFILE2_PROGRESS_QUIET, | |
| COPYFILE2_PROGRESS_PAUSE, | |
| }; | |
| COPYFILE2_COPY_PHASE :: enum { | |
| COPYFILE2_PHASE_NONE = 0, | |
| COPYFILE2_PHASE_PREPARE_SOURCE, | |
| COPYFILE2_PHASE_PREPARE_DEST, | |
| COPYFILE2_PHASE_READ_SOURCE, | |
| COPYFILE2_PHASE_WRITE_DESTINATION, | |
| COPYFILE2_PHASE_SERVER_COPY, | |
| COPYFILE2_PHASE_NAMEGRAFT_COPY, | |
| COPYFILE2_PHASE_MAX, | |
| }; | |
| COPYFILE2_MESSAGE :: struct { | |
| Type : COPYFILE2_MESSAGE_TYPE, | |
| dwPadding : u32, | |
| Info : struct #raw_union { | |
| ChunkStarted : struct { | |
| dwStreamNumber : u32, | |
| dwReserved : u32, | |
| hSourceFile : HANDLE, | |
| hDestinationFile : HANDLE, | |
| uliChunkNumber : ULARGE_INTEGER, | |
| uliChunkSize : ULARGE_INTEGER, | |
| uliStreamSize : ULARGE_INTEGER, | |
| uliTotalFileSize : ULARGE_INTEGER, | |
| }, | |
| ChunkFinished : struct { | |
| dwStreamNumber : u32, | |
| dwFlags : u32, | |
| hSourceFile : HANDLE, | |
| hDestinationFile : HANDLE, | |
| uliChunkNumber : ULARGE_INTEGER, | |
| uliChunkSize : ULARGE_INTEGER, | |
| uliStreamSize : ULARGE_INTEGER, | |
| uliStreamBytesTransferred : ULARGE_INTEGER, | |
| uliTotalFileSize : ULARGE_INTEGER, | |
| uliTotalBytesTransferred : ULARGE_INTEGER, | |
| }, | |
| StreamStarted : struct { | |
| dwStreamNumber : u32, | |
| dwReserved : u32, | |
| hSourceFile : HANDLE, | |
| hDestinationFile : HANDLE, | |
| uliStreamSize : ULARGE_INTEGER, | |
| uliTotalFileSize : ULARGE_INTEGER, | |
| }, | |
| StreamFinished : struct { | |
| dwStreamNumber : u32, | |
| dwReserved : u32, | |
| hSourceFile : HANDLE, | |
| hDestinationFile : HANDLE, | |
| uliStreamSize : ULARGE_INTEGER, | |
| uliStreamBytesTransferred : ULARGE_INTEGER, | |
| uliTotalFileSize : ULARGE_INTEGER, | |
| uliTotalBytesTransferred : ULARGE_INTEGER, | |
| }, | |
| PollContinue : struct { | |
| dwReserved : u32, | |
| }, | |
| Error : struct { | |
| CopyPhase : COPYFILE2_COPY_PHASE, | |
| dwStreamNumber : u32, | |
| hrFailure : HRESULT, | |
| dwReserved : u32, | |
| uliChunkNumber : ULARGE_INTEGER, | |
| uliStreamSize : ULARGE_INTEGER, | |
| uliStreamBytesTransferred : ULARGE_INTEGER, | |
| uliTotalFileSize : ULARGE_INTEGER, | |
| uliTotalBytesTransferred : ULARGE_INTEGER, | |
| }, | |
| }, | |
| }; | |
| PCOPYFILE2_PROGRESS_ROUTINE :: (proc(pMessage : ^COPYFILE2_MESSAGE, pvCallbackContext : PVOID) -> COPYFILE2_MESSAGE_ACTION); | |
| COPYFILE2_EXTENDED_PARAMETERS :: struct { | |
| dwSize : u32, | |
| dwCopyFlags : u32, | |
| pfCancel : ^BOOL, | |
| pProgressRoutine : PCOPYFILE2_PROGRESS_ROUTINE, | |
| pvCallbackContext : PVOID, | |
| }; | |
| EVENTLOG_FULL_INFORMATION :: struct { | |
| dwFull : u32, | |
| }; | |
| LPEVENTLOG_FULL_INFORMATION :: ^struct { | |
| dwFull : u32, | |
| }; | |
| OPERATION_ID :: ULONG; | |
| OPERATION_START_PARAMETERS :: struct { | |
| Version : ULONG, | |
| OperationId : OPERATION_ID, | |
| Flags : ULONG, | |
| }; | |
| POPERATION_START_PARAMETERS :: ^struct { | |
| Version : ULONG, | |
| OperationId : OPERATION_ID, | |
| Flags : ULONG, | |
| }; | |
| OPERATION_END_PARAMETERS :: struct { | |
| Version : ULONG, | |
| OperationId : OPERATION_ID, | |
| Flags : ULONG, | |
| }; | |
| POPERATION_END_PARAMETERS :: ^struct { | |
| Version : ULONG, | |
| OperationId : OPERATION_ID, | |
| Flags : ULONG, | |
| }; | |
| HW_PROFILE_INFOA :: struct { | |
| dwDockInfo : u32, | |
| szHwProfileGuid : [39]CHAR, | |
| szHwProfileName : [80]CHAR, | |
| }; | |
| LPHW_PROFILE_INFOA :: ^struct { | |
| dwDockInfo : u32, | |
| szHwProfileGuid : [39]CHAR, | |
| szHwProfileName : [80]CHAR, | |
| }; | |
| HW_PROFILE_INFOW :: struct { | |
| dwDockInfo : u32, | |
| szHwProfileGuid : [39]WCHAR, | |
| szHwProfileName : [80]WCHAR, | |
| }; | |
| LPHW_PROFILE_INFOW :: ^struct { | |
| dwDockInfo : u32, | |
| szHwProfileGuid : [39]WCHAR, | |
| szHwProfileName : [80]WCHAR, | |
| }; | |
| HW_PROFILE_INFO :: HW_PROFILE_INFOA; | |
| LPHW_PROFILE_INFO :: LPHW_PROFILE_INFOA; | |
| TIME_ZONE_INFORMATION :: struct { | |
| Bias : LONG, | |
| StandardName : [32]WCHAR, | |
| StandardDate : SYSTEMTIME, | |
| StandardBias : LONG, | |
| DaylightName : [32]WCHAR, | |
| DaylightDate : SYSTEMTIME, | |
| DaylightBias : LONG, | |
| }; | |
| PTIME_ZONE_INFORMATION :: ^struct { | |
| Bias : LONG, | |
| StandardName : [32]WCHAR, | |
| StandardDate : SYSTEMTIME, | |
| StandardBias : LONG, | |
| DaylightName : [32]WCHAR, | |
| DaylightDate : SYSTEMTIME, | |
| DaylightBias : LONG, | |
| }; | |
| LPTIME_ZONE_INFORMATION :: ^struct { | |
| Bias : LONG, | |
| StandardName : [32]WCHAR, | |
| StandardDate : SYSTEMTIME, | |
| StandardBias : LONG, | |
| DaylightName : [32]WCHAR, | |
| DaylightDate : SYSTEMTIME, | |
| DaylightBias : LONG, | |
| }; | |
| DYNAMIC_TIME_ZONE_INFORMATION :: struct { | |
| Bias : LONG, | |
| StandardName : [32]WCHAR, | |
| StandardDate : SYSTEMTIME, | |
| StandardBias : LONG, | |
| DaylightName : [32]WCHAR, | |
| DaylightDate : SYSTEMTIME, | |
| DaylightBias : LONG, | |
| TimeZoneKeyName : [128]WCHAR, | |
| DynamicDaylightTimeDisabled : BOOLEAN, | |
| }; | |
| PDYNAMIC_TIME_ZONE_INFORMATION :: ^struct { | |
| Bias : LONG, | |
| StandardName : [32]WCHAR, | |
| StandardDate : SYSTEMTIME, | |
| StandardBias : LONG, | |
| DaylightName : [32]WCHAR, | |
| DaylightDate : SYSTEMTIME, | |
| DaylightBias : LONG, | |
| TimeZoneKeyName : [128]WCHAR, | |
| DynamicDaylightTimeDisabled : BOOLEAN, | |
| }; | |
| SYSTEM_POWER_STATUS :: struct { | |
| ACLineStatus : BYTE, | |
| BatteryFlag : BYTE, | |
| BatteryLifePercent : BYTE, | |
| SystemStatusFlag : BYTE, | |
| BatteryLifeTime : u32, | |
| BatteryFullLifeTime : u32, | |
| }; | |
| LPSYSTEM_POWER_STATUS :: ^struct { | |
| ACLineStatus : BYTE, | |
| BatteryFlag : BYTE, | |
| BatteryLifePercent : BYTE, | |
| SystemStatusFlag : BYTE, | |
| BatteryLifeTime : u32, | |
| BatteryFullLifeTime : u32, | |
| }; | |
| ACTCTXA :: struct { | |
| cbSize : ULONG, | |
| dwFlags : u32, | |
| lpSource : LPCSTR, | |
| wProcessorArchitecture : USHORT, | |
| wLangId : LANGID, | |
| lpAssemblyDirectory : LPCSTR, | |
| lpResourceName : LPCSTR, | |
| lpApplicationName : LPCSTR, | |
| hModule : HMODULE, | |
| }; | |
| PACTCTXA :: ^struct { | |
| cbSize : ULONG, | |
| dwFlags : u32, | |
| lpSource : LPCSTR, | |
| wProcessorArchitecture : USHORT, | |
| wLangId : LANGID, | |
| lpAssemblyDirectory : LPCSTR, | |
| lpResourceName : LPCSTR, | |
| lpApplicationName : LPCSTR, | |
| hModule : HMODULE, | |
| }; | |
| ACTCTXW :: struct { | |
| cbSize : ULONG, | |
| dwFlags : u32, | |
| lpSource : LPCWSTR, | |
| wProcessorArchitecture : USHORT, | |
| wLangId : LANGID, | |
| lpAssemblyDirectory : LPCWSTR, | |
| lpResourceName : LPCWSTR, | |
| lpApplicationName : LPCWSTR, | |
| hModule : HMODULE, | |
| }; | |
| PACTCTXW :: ^struct { | |
| cbSize : ULONG, | |
| dwFlags : u32, | |
| lpSource : LPCWSTR, | |
| wProcessorArchitecture : USHORT, | |
| wLangId : LANGID, | |
| lpAssemblyDirectory : LPCWSTR, | |
| lpResourceName : LPCWSTR, | |
| lpApplicationName : LPCWSTR, | |
| hModule : HMODULE, | |
| }; | |
| ACTCTX :: ACTCTXA; | |
| PACTCTX :: PACTCTXA; | |
| PCACTCTXA :: ^ACTCTXA; | |
| PCACTCTXW :: ^ACTCTXW; | |
| PCACTCTX :: PCACTCTXA; | |
| ACTCTX_SECTION_KEYED_DATA_2600 :: struct { | |
| cbSize : ULONG, | |
| ulDataFormatVersion : ULONG, | |
| lpData : PVOID, | |
| ulLength : ULONG, | |
| lpSectionGlobalData : PVOID, | |
| ulSectionGlobalDataLength : ULONG, | |
| lpSectionBase : PVOID, | |
| ulSectionTotalLength : ULONG, | |
| hActCtx : HANDLE, | |
| ulAssemblyRosterIndex : ULONG, | |
| }; | |
| PACTCTX_SECTION_KEYED_DATA_2600 :: ^struct { | |
| cbSize : ULONG, | |
| ulDataFormatVersion : ULONG, | |
| lpData : PVOID, | |
| ulLength : ULONG, | |
| lpSectionGlobalData : PVOID, | |
| ulSectionGlobalDataLength : ULONG, | |
| lpSectionBase : PVOID, | |
| ulSectionTotalLength : ULONG, | |
| hActCtx : HANDLE, | |
| ulAssemblyRosterIndex : ULONG, | |
| }; | |
| PCACTCTX_SECTION_KEYED_DATA_2600 :: ^ACTCTX_SECTION_KEYED_DATA_2600; | |
| ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA :: struct { | |
| lpInformation : PVOID, | |
| lpSectionBase : PVOID, | |
| ulSectionLength : ULONG, | |
| lpSectionGlobalDataBase : PVOID, | |
| ulSectionGlobalDataLength : ULONG, | |
| }; | |
| PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA :: ^struct { | |
| lpInformation : PVOID, | |
| lpSectionBase : PVOID, | |
| ulSectionLength : ULONG, | |
| lpSectionGlobalDataBase : PVOID, | |
| ulSectionGlobalDataLength : ULONG, | |
| }; | |
| PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA :: ^ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; | |
| ACTCTX_SECTION_KEYED_DATA :: struct { | |
| cbSize : ULONG, | |
| ulDataFormatVersion : ULONG, | |
| lpData : PVOID, | |
| ulLength : ULONG, | |
| lpSectionGlobalData : PVOID, | |
| ulSectionGlobalDataLength : ULONG, | |
| lpSectionBase : PVOID, | |
| ulSectionTotalLength : ULONG, | |
| hActCtx : HANDLE, | |
| ulAssemblyRosterIndex : ULONG, | |
| ulFlags : ULONG, | |
| AssemblyMetadata : ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, | |
| }; | |
| PACTCTX_SECTION_KEYED_DATA :: ^struct { | |
| cbSize : ULONG, | |
| ulDataFormatVersion : ULONG, | |
| lpData : PVOID, | |
| ulLength : ULONG, | |
| lpSectionGlobalData : PVOID, | |
| ulSectionGlobalDataLength : ULONG, | |
| lpSectionBase : PVOID, | |
| ulSectionTotalLength : ULONG, | |
| hActCtx : HANDLE, | |
| ulAssemblyRosterIndex : ULONG, | |
| ulFlags : ULONG, | |
| AssemblyMetadata : ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, | |
| }; | |
| PCACTCTX_SECTION_KEYED_DATA :: ^ACTCTX_SECTION_KEYED_DATA; | |
| ACTIVATION_CONTEXT_BASIC_INFORMATION :: struct { | |
| hActCtx : HANDLE, | |
| dwFlags : u32, | |
| }; | |
| PACTIVATION_CONTEXT_BASIC_INFORMATION :: ^struct { | |
| hActCtx : HANDLE, | |
| dwFlags : u32, | |
| }; | |
| PCACTIVATION_CONTEXT_BASIC_INFORMATION :: ^ACTIVATION_CONTEXT_BASIC_INFORMATION; | |
| PQUERYACTCTXW_FUNC :: (proc(dwFlags : u32, hActCtx : HANDLE, pvSubInstance : PVOID, ulInfoClass : ULONG, pvBuffer : PVOID, cbBuffer : SIZE_T, pcbWrittenOrRequired : ^SIZE_T) -> BOOL); | |
| APPLICATION_RECOVERY_CALLBACK :: (proc(pvParameter : PVOID) -> u32); | |
| FILE_BASIC_INFO :: struct { | |
| CreationTime : LARGE_INTEGER, | |
| LastAccessTime : LARGE_INTEGER, | |
| LastWriteTime : LARGE_INTEGER, | |
| ChangeTime : LARGE_INTEGER, | |
| FileAttributes : u32, | |
| }; | |
| PFILE_BASIC_INFO :: ^struct { | |
| CreationTime : LARGE_INTEGER, | |
| LastAccessTime : LARGE_INTEGER, | |
| LastWriteTime : LARGE_INTEGER, | |
| ChangeTime : LARGE_INTEGER, | |
| FileAttributes : u32, | |
| }; | |
| FILE_STANDARD_INFO :: struct { | |
| AllocationSize : LARGE_INTEGER, | |
| EndOfFile : LARGE_INTEGER, | |
| NumberOfLinks : u32, | |
| DeletePending : BOOLEAN, | |
| Directory : BOOLEAN, | |
| }; | |
| PFILE_STANDARD_INFO :: ^struct { | |
| AllocationSize : LARGE_INTEGER, | |
| EndOfFile : LARGE_INTEGER, | |
| NumberOfLinks : u32, | |
| DeletePending : BOOLEAN, | |
| Directory : BOOLEAN, | |
| }; | |
| FILE_NAME_INFO :: struct { | |
| FileNameLength : u32, | |
| FileName : [1]WCHAR, | |
| }; | |
| PFILE_NAME_INFO :: ^struct { | |
| FileNameLength : u32, | |
| FileName : [1]WCHAR, | |
| }; | |
| FILE_CASE_SENSITIVE_INFO :: struct { | |
| Flags : ULONG, | |
| }; | |
| PFILE_CASE_SENSITIVE_INFO :: ^struct { | |
| Flags : ULONG, | |
| }; | |
| FILE_RENAME_INFO :: struct { | |
| u : struct #raw_union { | |
| ReplaceIfExists : BOOLEAN, | |
| Flags : u32, | |
| }, | |
| RootDirectory : HANDLE, | |
| FileNameLength : u32, | |
| FileName : [1]WCHAR, | |
| }; | |
| PFILE_RENAME_INFO :: ^struct { | |
| u : struct #raw_union { | |
| ReplaceIfExists : BOOLEAN, | |
| Flags : u32, | |
| }, | |
| RootDirectory : HANDLE, | |
| FileNameLength : u32, | |
| FileName : [1]WCHAR, | |
| }; | |
| FILE_ALLOCATION_INFO :: struct { | |
| AllocationSize : LARGE_INTEGER, | |
| }; | |
| PFILE_ALLOCATION_INFO :: ^struct { | |
| AllocationSize : LARGE_INTEGER, | |
| }; | |
| FILE_END_OF_FILE_INFO :: struct { | |
| EndOfFile : LARGE_INTEGER, | |
| }; | |
| PFILE_END_OF_FILE_INFO :: ^struct { | |
| EndOfFile : LARGE_INTEGER, | |
| }; | |
| FILE_STREAM_INFO :: struct { | |
| NextEntryOffset : u32, | |
| StreamNameLength : u32, | |
| StreamSize : LARGE_INTEGER, | |
| StreamAllocationSize : LARGE_INTEGER, | |
| StreamName : [1]WCHAR, | |
| }; | |
| PFILE_STREAM_INFO :: ^struct { | |
| NextEntryOffset : u32, | |
| StreamNameLength : u32, | |
| StreamSize : LARGE_INTEGER, | |
| StreamAllocationSize : LARGE_INTEGER, | |
| StreamName : [1]WCHAR, | |
| }; | |
| FILE_COMPRESSION_INFO :: struct { | |
| CompressedFileSize : LARGE_INTEGER, | |
| CompressionFormat : u16, | |
| CompressionUnitShift : UCHAR, | |
| ChunkShift : UCHAR, | |
| ClusterShift : UCHAR, | |
| Reserved : [3]UCHAR, | |
| }; | |
| PFILE_COMPRESSION_INFO :: ^struct { | |
| CompressedFileSize : LARGE_INTEGER, | |
| CompressionFormat : u16, | |
| CompressionUnitShift : UCHAR, | |
| ChunkShift : UCHAR, | |
| ClusterShift : UCHAR, | |
| Reserved : [3]UCHAR, | |
| }; | |
| FILE_ATTRIBUTE_TAG_INFO :: struct { | |
| FileAttributes : u32, | |
| ReparseTag : u32, | |
| }; | |
| PFILE_ATTRIBUTE_TAG_INFO :: ^struct { | |
| FileAttributes : u32, | |
| ReparseTag : u32, | |
| }; | |
| FILE_DISPOSITION_INFO :: struct { | |
| DeleteFileA : BOOLEAN, | |
| }; | |
| PFILE_DISPOSITION_INFO :: ^struct { | |
| DeleteFileA : BOOLEAN, | |
| }; | |
| FILE_DISPOSITION_INFO_EX :: struct { | |
| Flags : u32, | |
| }; | |
| PFILE_DISPOSITION_INFO_EX :: ^struct { | |
| Flags : u32, | |
| }; | |
| FILE_ID_BOTH_DIR_INFO :: struct { | |
| NextEntryOffset : u32, | |
| FileIndex : u32, | |
| CreationTime : LARGE_INTEGER, | |
| LastAccessTime : LARGE_INTEGER, | |
| LastWriteTime : LARGE_INTEGER, | |
| ChangeTime : LARGE_INTEGER, | |
| EndOfFile : LARGE_INTEGER, | |
| AllocationSize : LARGE_INTEGER, | |
| FileAttributes : u32, | |
| FileNameLength : u32, | |
| EaSize : u32, | |
| ShortNameLength : CCHAR, | |
| ShortName : [12]WCHAR, | |
| FileId : LARGE_INTEGER, | |
| FileName : [1]WCHAR, | |
| }; | |
| PFILE_ID_BOTH_DIR_INFO :: ^struct { | |
| NextEntryOffset : u32, | |
| FileIndex : u32, | |
| CreationTime : LARGE_INTEGER, | |
| LastAccessTime : LARGE_INTEGER, | |
| LastWriteTime : LARGE_INTEGER, | |
| ChangeTime : LARGE_INTEGER, | |
| EndOfFile : LARGE_INTEGER, | |
| AllocationSize : LARGE_INTEGER, | |
| FileAttributes : u32, | |
| FileNameLength : u32, | |
| EaSize : u32, | |
| ShortNameLength : CCHAR, | |
| ShortName : [12]WCHAR, | |
| FileId : LARGE_INTEGER, | |
| FileName : [1]WCHAR, | |
| }; | |
| FILE_FULL_DIR_INFO :: struct { | |
| NextEntryOffset : ULONG, | |
| FileIndex : ULONG, | |
| CreationTime : LARGE_INTEGER, | |
| LastAccessTime : LARGE_INTEGER, | |
| LastWriteTime : LARGE_INTEGER, | |
| ChangeTime : LARGE_INTEGER, | |
| EndOfFile : LARGE_INTEGER, | |
| AllocationSize : LARGE_INTEGER, | |
| FileAttributes : ULONG, | |
| FileNameLength : ULONG, | |
| EaSize : ULONG, | |
| FileName : [1]WCHAR, | |
| }; | |
| PFILE_FULL_DIR_INFO :: ^struct { | |
| NextEntryOffset : ULONG, | |
| FileIndex : ULONG, | |
| CreationTime : LARGE_INTEGER, | |
| LastAccessTime : LARGE_INTEGER, | |
| LastWriteTime : LARGE_INTEGER, | |
| ChangeTime : LARGE_INTEGER, | |
| EndOfFile : LARGE_INTEGER, | |
| AllocationSize : LARGE_INTEGER, | |
| FileAttributes : ULONG, | |
| FileNameLength : ULONG, | |
| EaSize : ULONG, | |
| FileName : [1]WCHAR, | |
| }; | |
| PRIORITY_HINT :: enum { | |
| IoPriorityHintVeryLow = 0, | |
| IoPriorityHintLow, | |
| IoPriorityHintNormal, | |
| MaximumIoPriorityHintType, | |
| }; | |
| FILE_IO_PRIORITY_HINT_INFO :: struct { | |
| PriorityHint : PRIORITY_HINT, | |
| }; | |
| PFILE_IO_PRIORITY_HINT_INFO :: ^struct { | |
| PriorityHint : PRIORITY_HINT, | |
| }; | |
| FILE_ALIGNMENT_INFO :: struct { | |
| AlignmentRequirement : ULONG, | |
| }; | |
| PFILE_ALIGNMENT_INFO :: ^struct { | |
| AlignmentRequirement : ULONG, | |
| }; | |
| FILE_STORAGE_INFO :: struct { | |
| LogicalBytesPerSector : ULONG, | |
| PhysicalBytesPerSectorForAtomicity : ULONG, | |
| PhysicalBytesPerSectorForPerformance : ULONG, | |
| FileSystemEffectivePhysicalBytesPerSectorForAtomicity : ULONG, | |
| Flags : ULONG, | |
| ByteOffsetForSectorAlignment : ULONG, | |
| ByteOffsetForPartitionAlignment : ULONG, | |
| }; | |
| PFILE_STORAGE_INFO :: ^struct { | |
| LogicalBytesPerSector : ULONG, | |
| PhysicalBytesPerSectorForAtomicity : ULONG, | |
| PhysicalBytesPerSectorForPerformance : ULONG, | |
| FileSystemEffectivePhysicalBytesPerSectorForAtomicity : ULONG, | |
| Flags : ULONG, | |
| ByteOffsetForSectorAlignment : ULONG, | |
| ByteOffsetForPartitionAlignment : ULONG, | |
| }; | |
| FILE_ID_INFO :: struct { | |
| VolumeSerialNumber : ULONGLONG, | |
| FileId : FILE_ID_128, | |
| }; | |
| PFILE_ID_INFO :: ^struct { | |
| VolumeSerialNumber : ULONGLONG, | |
| FileId : FILE_ID_128, | |
| }; | |
| FILE_ID_EXTD_DIR_INFO :: struct { | |
| NextEntryOffset : ULONG, | |
| FileIndex : ULONG, | |
| CreationTime : LARGE_INTEGER, | |
| LastAccessTime : LARGE_INTEGER, | |
| LastWriteTime : LARGE_INTEGER, | |
| ChangeTime : LARGE_INTEGER, | |
| EndOfFile : LARGE_INTEGER, | |
| AllocationSize : LARGE_INTEGER, | |
| FileAttributes : ULONG, | |
| FileNameLength : ULONG, | |
| EaSize : ULONG, | |
| ReparsePointTag : ULONG, | |
| FileId : FILE_ID_128, | |
| FileName : [1]WCHAR, | |
| }; | |
| PFILE_ID_EXTD_DIR_INFO :: ^struct { | |
| NextEntryOffset : ULONG, | |
| FileIndex : ULONG, | |
| CreationTime : LARGE_INTEGER, | |
| LastAccessTime : LARGE_INTEGER, | |
| LastWriteTime : LARGE_INTEGER, | |
| ChangeTime : LARGE_INTEGER, | |
| EndOfFile : LARGE_INTEGER, | |
| AllocationSize : LARGE_INTEGER, | |
| FileAttributes : ULONG, | |
| FileNameLength : ULONG, | |
| EaSize : ULONG, | |
| ReparsePointTag : ULONG, | |
| FileId : FILE_ID_128, | |
| FileName : [1]WCHAR, | |
| }; | |
| FILE_REMOTE_PROTOCOL_INFO :: struct { | |
| StructureVersion : USHORT, | |
| StructureSize : USHORT, | |
| Protocol : ULONG, | |
| ProtocolMajorVersion : USHORT, | |
| ProtocolMinorVersion : USHORT, | |
| ProtocolRevision : USHORT, | |
| Reserved : USHORT, | |
| Flags : ULONG, | |
| GenericReserved : struct { | |
| Reserved : [8]ULONG, | |
| }, | |
| ProtocolSpecific : struct #raw_union { | |
| Smb2 : struct { | |
| Server : struct { | |
| Capabilities : ULONG, | |
| }, | |
| Share : struct { | |
| Capabilities : ULONG, | |
| CachingFlags : ULONG, | |
| }, | |
| }, | |
| Reserved : [16]ULONG, | |
| }, | |
| }; | |
| PFILE_REMOTE_PROTOCOL_INFO :: ^struct { | |
| StructureVersion : USHORT, | |
| StructureSize : USHORT, | |
| Protocol : ULONG, | |
| ProtocolMajorVersion : USHORT, | |
| ProtocolMinorVersion : USHORT, | |
| ProtocolRevision : USHORT, | |
| Reserved : USHORT, | |
| Flags : ULONG, | |
| GenericReserved : struct { | |
| Reserved : [8]ULONG, | |
| }, | |
| ProtocolSpecific : struct #raw_union { | |
| Smb2 : struct { | |
| Server : struct { | |
| Capabilities : ULONG, | |
| }, | |
| Share : struct { | |
| Capabilities : ULONG, | |
| CachingFlags : ULONG, | |
| }, | |
| }, | |
| Reserved : [16]ULONG, | |
| }, | |
| }; | |
| FILE_ID_TYPE :: enum { | |
| FileIdType, | |
| ObjectIdType, | |
| ExtendedFileIdType, | |
| MaximumFileIdType, | |
| }; | |
| PFILE_ID_TYPE :: ^enum { | |
| FileIdType, | |
| ObjectIdType, | |
| ExtendedFileIdType, | |
| MaximumFileIdType, | |
| }; | |
| FILE_ID_DESCRIPTOR :: struct { | |
| dwSize : u32, | |
| Type : FILE_ID_TYPE, | |
| u : struct #raw_union { | |
| FileId : LARGE_INTEGER, | |
| ObjectId : GUID, | |
| ExtendedFileId : FILE_ID_128, | |
| }, | |
| }; | |
| LPFILE_ID_DESCRIPTOR :: ^struct { | |
| dwSize : u32, | |
| Type : FILE_ID_TYPE, | |
| u : struct #raw_union { | |
| FileId : LARGE_INTEGER, | |
| ObjectId : GUID, | |
| ExtendedFileId : FILE_ID_128, | |
| }, | |
| }; | |
| DRAWPATRECT :: struct { | |
| ptPosition : POINT, | |
| ptSize : POINT, | |
| wStyle : u16, | |
| wPattern : u16, | |
| }; | |
| PDRAWPATRECT :: ^struct { | |
| ptPosition : POINT, | |
| ptSize : POINT, | |
| wStyle : u16, | |
| wPattern : u16, | |
| }; | |
| PSINJECTDATA :: struct { | |
| DataBytes : u32, | |
| InjectionPoint : u16, | |
| PageNumber : u16, | |
| }; | |
| PPSINJECTDATA :: ^struct { | |
| DataBytes : u32, | |
| InjectionPoint : u16, | |
| PageNumber : u16, | |
| }; | |
| PSFEATURE_OUTPUT :: struct { | |
| bPageIndependent : BOOL, | |
| bSetPageDevice : BOOL, | |
| }; | |
| PPSFEATURE_OUTPUT :: ^struct { | |
| bPageIndependent : BOOL, | |
| bSetPageDevice : BOOL, | |
| }; | |
| PSFEATURE_CUSTPAPER :: struct { | |
| lOrientation : LONG, | |
| lWidth : LONG, | |
| lHeight : LONG, | |
| lWidthOffset : LONG, | |
| lHeightOffset : LONG, | |
| }; | |
| PPSFEATURE_CUSTPAPER :: ^struct { | |
| lOrientation : LONG, | |
| lWidth : LONG, | |
| lHeight : LONG, | |
| lWidthOffset : LONG, | |
| lHeightOffset : LONG, | |
| }; | |
| XFORM :: struct { | |
| eM11 : FLOAT, | |
| eM12 : FLOAT, | |
| eM21 : FLOAT, | |
| eM22 : FLOAT, | |
| eDx : FLOAT, | |
| eDy : FLOAT, | |
| }; | |
| PXFORM :: ^struct { | |
| eM11 : FLOAT, | |
| eM12 : FLOAT, | |
| eM21 : FLOAT, | |
| eM22 : FLOAT, | |
| eDx : FLOAT, | |
| eDy : FLOAT, | |
| }; | |
| LPXFORM :: ^struct { | |
| eM11 : FLOAT, | |
| eM12 : FLOAT, | |
| eM21 : FLOAT, | |
| eM22 : FLOAT, | |
| eDx : FLOAT, | |
| eDy : FLOAT, | |
| }; | |
| BITMAP :: struct { | |
| bmType : LONG, | |
| bmWidth : LONG, | |
| bmHeight : LONG, | |
| bmWidthBytes : LONG, | |
| bmPlanes : u16, | |
| bmBitsPixel : u16, | |
| bmBits : LPVOID, | |
| }; | |
| PBITMAP :: ^struct { | |
| bmType : LONG, | |
| bmWidth : LONG, | |
| bmHeight : LONG, | |
| bmWidthBytes : LONG, | |
| bmPlanes : u16, | |
| bmBitsPixel : u16, | |
| bmBits : LPVOID, | |
| }; | |
| NPBITMAP :: ^struct { | |
| bmType : LONG, | |
| bmWidth : LONG, | |
| bmHeight : LONG, | |
| bmWidthBytes : LONG, | |
| bmPlanes : u16, | |
| bmBitsPixel : u16, | |
| bmBits : LPVOID, | |
| }; | |
| LPBITMAP :: ^struct { | |
| bmType : LONG, | |
| bmWidth : LONG, | |
| bmHeight : LONG, | |
| bmWidthBytes : LONG, | |
| bmPlanes : u16, | |
| bmBitsPixel : u16, | |
| bmBits : LPVOID, | |
| }; | |
| RGBTRIPLE :: struct { | |
| rgbtBlue : BYTE, | |
| rgbtGreen : BYTE, | |
| rgbtRed : BYTE, | |
| }; | |
| PRGBTRIPLE :: ^struct { | |
| rgbtBlue : BYTE, | |
| rgbtGreen : BYTE, | |
| rgbtRed : BYTE, | |
| }; | |
| NPRGBTRIPLE :: ^struct { | |
| rgbtBlue : BYTE, | |
| rgbtGreen : BYTE, | |
| rgbtRed : BYTE, | |
| }; | |
| LPRGBTRIPLE :: ^struct { | |
| rgbtBlue : BYTE, | |
| rgbtGreen : BYTE, | |
| rgbtRed : BYTE, | |
| }; | |
| RGBQUAD :: struct { | |
| rgbBlue : BYTE, | |
| rgbGreen : BYTE, | |
| rgbRed : BYTE, | |
| rgbReserved : BYTE, | |
| }; | |
| LPRGBQUAD :: ^RGBQUAD; | |
| LCSCSTYPE :: LONG; | |
| LCSGAMUTMATCH :: LONG; | |
| FXPT16DOT16 :: i64; | |
| LPFXPT16DOT16 :: ^i64; | |
| FXPT2DOT30 :: i64; | |
| LPFXPT2DOT30 :: ^i64; | |
| CIEXYZ :: struct { | |
| ciexyzX : FXPT2DOT30, | |
| ciexyzY : FXPT2DOT30, | |
| ciexyzZ : FXPT2DOT30, | |
| }; | |
| LPCIEXYZ :: ^CIEXYZ; | |
| CIEXYZTRIPLE :: struct { | |
| ciexyzRed : CIEXYZ, | |
| ciexyzGreen : CIEXYZ, | |
| ciexyzBlue : CIEXYZ, | |
| }; | |
| LPCIEXYZTRIPLE :: ^CIEXYZTRIPLE; | |
| LOGCOLORSPACEA :: struct { | |
| lcsSignature : u32, | |
| lcsVersion : u32, | |
| lcsSize : u32, | |
| lcsCSType : LCSCSTYPE, | |
| lcsIntent : LCSGAMUTMATCH, | |
| lcsEndpoints : CIEXYZTRIPLE, | |
| lcsGammaRed : u32, | |
| lcsGammaGreen : u32, | |
| lcsGammaBlue : u32, | |
| lcsFilename : [260]CHAR, | |
| }; | |
| LPLOGCOLORSPACEA :: ^struct { | |
| lcsSignature : u32, | |
| lcsVersion : u32, | |
| lcsSize : u32, | |
| lcsCSType : LCSCSTYPE, | |
| lcsIntent : LCSGAMUTMATCH, | |
| lcsEndpoints : CIEXYZTRIPLE, | |
| lcsGammaRed : u32, | |
| lcsGammaGreen : u32, | |
| lcsGammaBlue : u32, | |
| lcsFilename : [260]CHAR, | |
| }; | |
| LOGCOLORSPACEW :: struct { | |
| lcsSignature : u32, | |
| lcsVersion : u32, | |
| lcsSize : u32, | |
| lcsCSType : LCSCSTYPE, | |
| lcsIntent : LCSGAMUTMATCH, | |
| lcsEndpoints : CIEXYZTRIPLE, | |
| lcsGammaRed : u32, | |
| lcsGammaGreen : u32, | |
| lcsGammaBlue : u32, | |
| lcsFilename : [260]WCHAR, | |
| }; | |
| LPLOGCOLORSPACEW :: ^struct { | |
| lcsSignature : u32, | |
| lcsVersion : u32, | |
| lcsSize : u32, | |
| lcsCSType : LCSCSTYPE, | |
| lcsIntent : LCSGAMUTMATCH, | |
| lcsEndpoints : CIEXYZTRIPLE, | |
| lcsGammaRed : u32, | |
| lcsGammaGreen : u32, | |
| lcsGammaBlue : u32, | |
| lcsFilename : [260]WCHAR, | |
| }; | |
| LOGCOLORSPACE :: LOGCOLORSPACEA; | |
| LPLOGCOLORSPACE :: LPLOGCOLORSPACEA; | |
| BITMAPCOREHEADER :: struct { | |
| bcSize : u32, | |
| bcWidth : u16, | |
| bcHeight : u16, | |
| bcPlanes : u16, | |
| bcBitCount : u16, | |
| }; | |
| LPBITMAPCOREHEADER :: ^struct { | |
| bcSize : u32, | |
| bcWidth : u16, | |
| bcHeight : u16, | |
| bcPlanes : u16, | |
| bcBitCount : u16, | |
| }; | |
| PBITMAPCOREHEADER :: ^struct { | |
| bcSize : u32, | |
| bcWidth : u16, | |
| bcHeight : u16, | |
| bcPlanes : u16, | |
| bcBitCount : u16, | |
| }; | |
| BITMAPINFOHEADER :: struct { | |
| biSize : u32, | |
| biWidth : LONG, | |
| biHeight : LONG, | |
| biPlanes : u16, | |
| biBitCount : u16, | |
| biCompression : u32, | |
| biSizeImage : u32, | |
| biXPelsPerMeter : LONG, | |
| biYPelsPerMeter : LONG, | |
| biClrUsed : u32, | |
| biClrImportant : u32, | |
| }; | |
| LPBITMAPINFOHEADER :: ^struct { | |
| biSize : u32, | |
| biWidth : LONG, | |
| biHeight : LONG, | |
| biPlanes : u16, | |
| biBitCount : u16, | |
| biCompression : u32, | |
| biSizeImage : u32, | |
| biXPelsPerMeter : LONG, | |
| biYPelsPerMeter : LONG, | |
| biClrUsed : u32, | |
| biClrImportant : u32, | |
| }; | |
| PBITMAPINFOHEADER :: ^struct { | |
| biSize : u32, | |
| biWidth : LONG, | |
| biHeight : LONG, | |
| biPlanes : u16, | |
| biBitCount : u16, | |
| biCompression : u32, | |
| biSizeImage : u32, | |
| biXPelsPerMeter : LONG, | |
| biYPelsPerMeter : LONG, | |
| biClrUsed : u32, | |
| biClrImportant : u32, | |
| }; | |
| BITMAPV4HEADER :: struct { | |
| bV4Size : u32, | |
| bV4Width : LONG, | |
| bV4Height : LONG, | |
| bV4Planes : u16, | |
| bV4BitCount : u16, | |
| bV4V4Compression : u32, | |
| bV4SizeImage : u32, | |
| bV4XPelsPerMeter : LONG, | |
| bV4YPelsPerMeter : LONG, | |
| bV4ClrUsed : u32, | |
| bV4ClrImportant : u32, | |
| bV4RedMask : u32, | |
| bV4GreenMask : u32, | |
| bV4BlueMask : u32, | |
| bV4AlphaMask : u32, | |
| bV4CSType : u32, | |
| bV4Endpoints : CIEXYZTRIPLE, | |
| bV4GammaRed : u32, | |
| bV4GammaGreen : u32, | |
| bV4GammaBlue : u32, | |
| }; | |
| LPBITMAPV4HEADER :: ^struct { | |
| bV4Size : u32, | |
| bV4Width : LONG, | |
| bV4Height : LONG, | |
| bV4Planes : u16, | |
| bV4BitCount : u16, | |
| bV4V4Compression : u32, | |
| bV4SizeImage : u32, | |
| bV4XPelsPerMeter : LONG, | |
| bV4YPelsPerMeter : LONG, | |
| bV4ClrUsed : u32, | |
| bV4ClrImportant : u32, | |
| bV4RedMask : u32, | |
| bV4GreenMask : u32, | |
| bV4BlueMask : u32, | |
| bV4AlphaMask : u32, | |
| bV4CSType : u32, | |
| bV4Endpoints : CIEXYZTRIPLE, | |
| bV4GammaRed : u32, | |
| bV4GammaGreen : u32, | |
| bV4GammaBlue : u32, | |
| }; | |
| PBITMAPV4HEADER :: ^struct { | |
| bV4Size : u32, | |
| bV4Width : LONG, | |
| bV4Height : LONG, | |
| bV4Planes : u16, | |
| bV4BitCount : u16, | |
| bV4V4Compression : u32, | |
| bV4SizeImage : u32, | |
| bV4XPelsPerMeter : LONG, | |
| bV4YPelsPerMeter : LONG, | |
| bV4ClrUsed : u32, | |
| bV4ClrImportant : u32, | |
| bV4RedMask : u32, | |
| bV4GreenMask : u32, | |
| bV4BlueMask : u32, | |
| bV4AlphaMask : u32, | |
| bV4CSType : u32, | |
| bV4Endpoints : CIEXYZTRIPLE, | |
| bV4GammaRed : u32, | |
| bV4GammaGreen : u32, | |
| bV4GammaBlue : u32, | |
| }; | |
| BITMAPV5HEADER :: struct { | |
| bV5Size : u32, | |
| bV5Width : LONG, | |
| bV5Height : LONG, | |
| bV5Planes : u16, | |
| bV5BitCount : u16, | |
| bV5Compression : u32, | |
| bV5SizeImage : u32, | |
| bV5XPelsPerMeter : LONG, | |
| bV5YPelsPerMeter : LONG, | |
| bV5ClrUsed : u32, | |
| bV5ClrImportant : u32, | |
| bV5RedMask : u32, | |
| bV5GreenMask : u32, | |
| bV5BlueMask : u32, | |
| bV5AlphaMask : u32, | |
| bV5CSType : u32, | |
| bV5Endpoints : CIEXYZTRIPLE, | |
| bV5GammaRed : u32, | |
| bV5GammaGreen : u32, | |
| bV5GammaBlue : u32, | |
| bV5Intent : u32, | |
| bV5ProfileData : u32, | |
| bV5ProfileSize : u32, | |
| bV5Reserved : u32, | |
| }; | |
| LPBITMAPV5HEADER :: ^struct { | |
| bV5Size : u32, | |
| bV5Width : LONG, | |
| bV5Height : LONG, | |
| bV5Planes : u16, | |
| bV5BitCount : u16, | |
| bV5Compression : u32, | |
| bV5SizeImage : u32, | |
| bV5XPelsPerMeter : LONG, | |
| bV5YPelsPerMeter : LONG, | |
| bV5ClrUsed : u32, | |
| bV5ClrImportant : u32, | |
| bV5RedMask : u32, | |
| bV5GreenMask : u32, | |
| bV5BlueMask : u32, | |
| bV5AlphaMask : u32, | |
| bV5CSType : u32, | |
| bV5Endpoints : CIEXYZTRIPLE, | |
| bV5GammaRed : u32, | |
| bV5GammaGreen : u32, | |
| bV5GammaBlue : u32, | |
| bV5Intent : u32, | |
| bV5ProfileData : u32, | |
| bV5ProfileSize : u32, | |
| bV5Reserved : u32, | |
| }; | |
| PBITMAPV5HEADER :: ^struct { | |
| bV5Size : u32, | |
| bV5Width : LONG, | |
| bV5Height : LONG, | |
| bV5Planes : u16, | |
| bV5BitCount : u16, | |
| bV5Compression : u32, | |
| bV5SizeImage : u32, | |
| bV5XPelsPerMeter : LONG, | |
| bV5YPelsPerMeter : LONG, | |
| bV5ClrUsed : u32, | |
| bV5ClrImportant : u32, | |
| bV5RedMask : u32, | |
| bV5GreenMask : u32, | |
| bV5BlueMask : u32, | |
| bV5AlphaMask : u32, | |
| bV5CSType : u32, | |
| bV5Endpoints : CIEXYZTRIPLE, | |
| bV5GammaRed : u32, | |
| bV5GammaGreen : u32, | |
| bV5GammaBlue : u32, | |
| bV5Intent : u32, | |
| bV5ProfileData : u32, | |
| bV5ProfileSize : u32, | |
| bV5Reserved : u32, | |
| }; | |
| BITMAPINFO :: struct { | |
| bmiHeader : BITMAPINFOHEADER, | |
| bmiColors : [1]RGBQUAD, | |
| }; | |
| LPBITMAPINFO :: ^struct { | |
| bmiHeader : BITMAPINFOHEADER, | |
| bmiColors : [1]RGBQUAD, | |
| }; | |
| PBITMAPINFO :: ^struct { | |
| bmiHeader : BITMAPINFOHEADER, | |
| bmiColors : [1]RGBQUAD, | |
| }; | |
| BITMAPCOREINFO :: struct { | |
| bmciHeader : BITMAPCOREHEADER, | |
| bmciColors : [1]RGBTRIPLE, | |
| }; | |
| LPBITMAPCOREINFO :: ^struct { | |
| bmciHeader : BITMAPCOREHEADER, | |
| bmciColors : [1]RGBTRIPLE, | |
| }; | |
| PBITMAPCOREINFO :: ^struct { | |
| bmciHeader : BITMAPCOREHEADER, | |
| bmciColors : [1]RGBTRIPLE, | |
| }; | |
| BITMAPFILEHEADER :: struct { | |
| bfType : u16, | |
| bfSize : u32, | |
| bfReserved1 : u16, | |
| bfReserved2 : u16, | |
| bfOffBits : u32, | |
| }; | |
| LPBITMAPFILEHEADER :: ^struct { | |
| bfType : u16, | |
| bfSize : u32, | |
| bfReserved1 : u16, | |
| bfReserved2 : u16, | |
| bfOffBits : u32, | |
| }; | |
| PBITMAPFILEHEADER :: ^struct { | |
| bfType : u16, | |
| bfSize : u32, | |
| bfReserved1 : u16, | |
| bfReserved2 : u16, | |
| bfOffBits : u32, | |
| }; | |
| FONTSIGNATURE :: struct { | |
| fsUsb : [4]u32, | |
| fsCsb : [2]u32, | |
| }; | |
| PFONTSIGNATURE :: ^struct { | |
| fsUsb : [4]u32, | |
| fsCsb : [2]u32, | |
| }; | |
| LPFONTSIGNATURE :: ^struct { | |
| fsUsb : [4]u32, | |
| fsCsb : [2]u32, | |
| }; | |
| CHARSETINFO :: struct { | |
| ciCharset : UINT, | |
| ciACP : UINT, | |
| fs : FONTSIGNATURE, | |
| }; | |
| PCHARSETINFO :: ^struct { | |
| ciCharset : UINT, | |
| ciACP : UINT, | |
| fs : FONTSIGNATURE, | |
| }; | |
| NPCHARSETINFO :: ^struct { | |
| ciCharset : UINT, | |
| ciACP : UINT, | |
| fs : FONTSIGNATURE, | |
| }; | |
| LPCHARSETINFO :: ^struct { | |
| ciCharset : UINT, | |
| ciACP : UINT, | |
| fs : FONTSIGNATURE, | |
| }; | |
| LOCALESIGNATURE :: struct { | |
| lsUsb : [4]u32, | |
| lsCsbDefault : [2]u32, | |
| lsCsbSupported : [2]u32, | |
| }; | |
| PLOCALESIGNATURE :: ^struct { | |
| lsUsb : [4]u32, | |
| lsCsbDefault : [2]u32, | |
| lsCsbSupported : [2]u32, | |
| }; | |
| LPLOCALESIGNATURE :: ^struct { | |
| lsUsb : [4]u32, | |
| lsCsbDefault : [2]u32, | |
| lsCsbSupported : [2]u32, | |
| }; | |
| HANDLETABLE :: struct { | |
| objectHandle : [1]HGDIOBJ, | |
| }; | |
| PHANDLETABLE :: ^struct { | |
| objectHandle : [1]HGDIOBJ, | |
| }; | |
| LPHANDLETABLE :: ^struct { | |
| objectHandle : [1]HGDIOBJ, | |
| }; | |
| METARECORD :: struct { | |
| rdSize : u32, | |
| rdFunction : u16, | |
| rdParm : [1]u16, | |
| }; | |
| PMETARECORD :: ^METARECORD; | |
| LPMETARECORD :: ^METARECORD; | |
| METAFILEPICT :: struct { | |
| mm : LONG, | |
| xExt : LONG, | |
| yExt : LONG, | |
| hMF : HMETAFILE, | |
| }; | |
| LPMETAFILEPICT :: ^struct { | |
| mm : LONG, | |
| xExt : LONG, | |
| yExt : LONG, | |
| hMF : HMETAFILE, | |
| }; | |
| METAHEADER :: struct { | |
| mtType : u16, | |
| mtHeaderSize : u16, | |
| mtVersion : u16, | |
| mtSize : u32, | |
| mtNoObjects : u16, | |
| mtMaxRecord : u32, | |
| mtNoParameters : u16, | |
| }; | |
| PMETAHEADER :: ^METAHEADER; | |
| LPMETAHEADER :: ^METAHEADER; | |
| ENHMETARECORD :: struct { | |
| iType : u32, | |
| nSize : u32, | |
| dParm : [1]u32, | |
| }; | |
| PENHMETARECORD :: ^struct { | |
| iType : u32, | |
| nSize : u32, | |
| dParm : [1]u32, | |
| }; | |
| LPENHMETARECORD :: ^struct { | |
| iType : u32, | |
| nSize : u32, | |
| dParm : [1]u32, | |
| }; | |
| ENHMETAHEADER :: struct { | |
| iType : u32, | |
| nSize : u32, | |
| rclBounds : RECTL, | |
| rclFrame : RECTL, | |
| dSignature : u32, | |
| nVersion : u32, | |
| nBytes : u32, | |
| nRecords : u32, | |
| nHandles : u16, | |
| sReserved : u16, | |
| nDescription : u32, | |
| offDescription : u32, | |
| nPalEntries : u32, | |
| szlDevice : SIZEL, | |
| szlMillimeters : SIZEL, | |
| cbPixelFormat : u32, | |
| offPixelFormat : u32, | |
| bOpenGL : u32, | |
| szlMicrometers : SIZEL, | |
| }; | |
| PENHMETAHEADER :: ^struct { | |
| iType : u32, | |
| nSize : u32, | |
| rclBounds : RECTL, | |
| rclFrame : RECTL, | |
| dSignature : u32, | |
| nVersion : u32, | |
| nBytes : u32, | |
| nRecords : u32, | |
| nHandles : u16, | |
| sReserved : u16, | |
| nDescription : u32, | |
| offDescription : u32, | |
| nPalEntries : u32, | |
| szlDevice : SIZEL, | |
| szlMillimeters : SIZEL, | |
| cbPixelFormat : u32, | |
| offPixelFormat : u32, | |
| bOpenGL : u32, | |
| szlMicrometers : SIZEL, | |
| }; | |
| LPENHMETAHEADER :: ^struct { | |
| iType : u32, | |
| nSize : u32, | |
| rclBounds : RECTL, | |
| rclFrame : RECTL, | |
| dSignature : u32, | |
| nVersion : u32, | |
| nBytes : u32, | |
| nRecords : u32, | |
| nHandles : u16, | |
| sReserved : u16, | |
| nDescription : u32, | |
| offDescription : u32, | |
| nPalEntries : u32, | |
| szlDevice : SIZEL, | |
| szlMillimeters : SIZEL, | |
| cbPixelFormat : u32, | |
| offPixelFormat : u32, | |
| bOpenGL : u32, | |
| szlMicrometers : SIZEL, | |
| }; | |
| BCHAR :: BYTE; | |
| TEXTMETRICA :: struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : BYTE, | |
| tmLastChar : BYTE, | |
| tmDefaultChar : BYTE, | |
| tmBreakChar : BYTE, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| }; | |
| PTEXTMETRICA :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : BYTE, | |
| tmLastChar : BYTE, | |
| tmDefaultChar : BYTE, | |
| tmBreakChar : BYTE, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| }; | |
| NPTEXTMETRICA :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : BYTE, | |
| tmLastChar : BYTE, | |
| tmDefaultChar : BYTE, | |
| tmBreakChar : BYTE, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| }; | |
| LPTEXTMETRICA :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : BYTE, | |
| tmLastChar : BYTE, | |
| tmDefaultChar : BYTE, | |
| tmBreakChar : BYTE, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| }; | |
| TEXTMETRICW :: struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : WCHAR, | |
| tmLastChar : WCHAR, | |
| tmDefaultChar : WCHAR, | |
| tmBreakChar : WCHAR, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| }; | |
| PTEXTMETRICW :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : WCHAR, | |
| tmLastChar : WCHAR, | |
| tmDefaultChar : WCHAR, | |
| tmBreakChar : WCHAR, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| }; | |
| NPTEXTMETRICW :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : WCHAR, | |
| tmLastChar : WCHAR, | |
| tmDefaultChar : WCHAR, | |
| tmBreakChar : WCHAR, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| }; | |
| LPTEXTMETRICW :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : WCHAR, | |
| tmLastChar : WCHAR, | |
| tmDefaultChar : WCHAR, | |
| tmBreakChar : WCHAR, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| }; | |
| TEXTMETRIC :: TEXTMETRICA; | |
| PTEXTMETRIC :: PTEXTMETRICA; | |
| NPTEXTMETRIC :: NPTEXTMETRICA; | |
| LPTEXTMETRIC :: LPTEXTMETRICA; | |
| NEWTEXTMETRICA :: struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : BYTE, | |
| tmLastChar : BYTE, | |
| tmDefaultChar : BYTE, | |
| tmBreakChar : BYTE, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| ntmFlags : u32, | |
| ntmSizeEM : UINT, | |
| ntmCellHeight : UINT, | |
| ntmAvgWidth : UINT, | |
| }; | |
| PNEWTEXTMETRICA :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : BYTE, | |
| tmLastChar : BYTE, | |
| tmDefaultChar : BYTE, | |
| tmBreakChar : BYTE, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| ntmFlags : u32, | |
| ntmSizeEM : UINT, | |
| ntmCellHeight : UINT, | |
| ntmAvgWidth : UINT, | |
| }; | |
| NPNEWTEXTMETRICA :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : BYTE, | |
| tmLastChar : BYTE, | |
| tmDefaultChar : BYTE, | |
| tmBreakChar : BYTE, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| ntmFlags : u32, | |
| ntmSizeEM : UINT, | |
| ntmCellHeight : UINT, | |
| ntmAvgWidth : UINT, | |
| }; | |
| LPNEWTEXTMETRICA :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : BYTE, | |
| tmLastChar : BYTE, | |
| tmDefaultChar : BYTE, | |
| tmBreakChar : BYTE, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| ntmFlags : u32, | |
| ntmSizeEM : UINT, | |
| ntmCellHeight : UINT, | |
| ntmAvgWidth : UINT, | |
| }; | |
| NEWTEXTMETRICW :: struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : WCHAR, | |
| tmLastChar : WCHAR, | |
| tmDefaultChar : WCHAR, | |
| tmBreakChar : WCHAR, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| ntmFlags : u32, | |
| ntmSizeEM : UINT, | |
| ntmCellHeight : UINT, | |
| ntmAvgWidth : UINT, | |
| }; | |
| PNEWTEXTMETRICW :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : WCHAR, | |
| tmLastChar : WCHAR, | |
| tmDefaultChar : WCHAR, | |
| tmBreakChar : WCHAR, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| ntmFlags : u32, | |
| ntmSizeEM : UINT, | |
| ntmCellHeight : UINT, | |
| ntmAvgWidth : UINT, | |
| }; | |
| NPNEWTEXTMETRICW :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : WCHAR, | |
| tmLastChar : WCHAR, | |
| tmDefaultChar : WCHAR, | |
| tmBreakChar : WCHAR, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| ntmFlags : u32, | |
| ntmSizeEM : UINT, | |
| ntmCellHeight : UINT, | |
| ntmAvgWidth : UINT, | |
| }; | |
| LPNEWTEXTMETRICW :: ^struct { | |
| tmHeight : LONG, | |
| tmAscent : LONG, | |
| tmDescent : LONG, | |
| tmInternalLeading : LONG, | |
| tmExternalLeading : LONG, | |
| tmAveCharWidth : LONG, | |
| tmMaxCharWidth : LONG, | |
| tmWeight : LONG, | |
| tmOverhang : LONG, | |
| tmDigitizedAspectX : LONG, | |
| tmDigitizedAspectY : LONG, | |
| tmFirstChar : WCHAR, | |
| tmLastChar : WCHAR, | |
| tmDefaultChar : WCHAR, | |
| tmBreakChar : WCHAR, | |
| tmItalic : BYTE, | |
| tmUnderlined : BYTE, | |
| tmStruckOut : BYTE, | |
| tmPitchAndFamily : BYTE, | |
| tmCharSet : BYTE, | |
| ntmFlags : u32, | |
| ntmSizeEM : UINT, | |
| ntmCellHeight : UINT, | |
| ntmAvgWidth : UINT, | |
| }; | |
| NEWTEXTMETRIC :: NEWTEXTMETRICA; | |
| PNEWTEXTMETRIC :: PNEWTEXTMETRICA; | |
| NPNEWTEXTMETRIC :: NPNEWTEXTMETRICA; | |
| LPNEWTEXTMETRIC :: LPNEWTEXTMETRICA; | |
| NEWTEXTMETRICEXA :: struct { | |
| ntmTm : NEWTEXTMETRICA, | |
| ntmFontSig : FONTSIGNATURE, | |
| }; | |
| NEWTEXTMETRICEXW :: struct { | |
| ntmTm : NEWTEXTMETRICW, | |
| ntmFontSig : FONTSIGNATURE, | |
| }; | |
| NEWTEXTMETRICEX :: NEWTEXTMETRICEXA; | |
| PELARRAY :: struct { | |
| paXCount : LONG, | |
| paYCount : LONG, | |
| paXExt : LONG, | |
| paYExt : LONG, | |
| paRGBs : BYTE, | |
| }; | |
| PPELARRAY :: ^struct { | |
| paXCount : LONG, | |
| paYCount : LONG, | |
| paXExt : LONG, | |
| paYExt : LONG, | |
| paRGBs : BYTE, | |
| }; | |
| NPPELARRAY :: ^struct { | |
| paXCount : LONG, | |
| paYCount : LONG, | |
| paXExt : LONG, | |
| paYExt : LONG, | |
| paRGBs : BYTE, | |
| }; | |
| LPPELARRAY :: ^struct { | |
| paXCount : LONG, | |
| paYCount : LONG, | |
| paXExt : LONG, | |
| paYExt : LONG, | |
| paRGBs : BYTE, | |
| }; | |
| LOGBRUSH :: struct { | |
| lbStyle : UINT, | |
| lbColor : COLORREF, | |
| lbHatch : ULONG_PTR, | |
| }; | |
| PLOGBRUSH :: ^struct { | |
| lbStyle : UINT, | |
| lbColor : COLORREF, | |
| lbHatch : ULONG_PTR, | |
| }; | |
| NPLOGBRUSH :: ^struct { | |
| lbStyle : UINT, | |
| lbColor : COLORREF, | |
| lbHatch : ULONG_PTR, | |
| }; | |
| LPLOGBRUSH :: ^struct { | |
| lbStyle : UINT, | |
| lbColor : COLORREF, | |
| lbHatch : ULONG_PTR, | |
| }; | |
| LOGBRUSH32 :: struct { | |
| lbStyle : UINT, | |
| lbColor : COLORREF, | |
| lbHatch : ULONG, | |
| }; | |
| PLOGBRUSH32 :: ^struct { | |
| lbStyle : UINT, | |
| lbColor : COLORREF, | |
| lbHatch : ULONG, | |
| }; | |
| NPLOGBRUSH32 :: ^struct { | |
| lbStyle : UINT, | |
| lbColor : COLORREF, | |
| lbHatch : ULONG, | |
| }; | |
| LPLOGBRUSH32 :: ^struct { | |
| lbStyle : UINT, | |
| lbColor : COLORREF, | |
| lbHatch : ULONG, | |
| }; | |
| PATTERN :: LOGBRUSH; | |
| PPATTERN :: ^PATTERN; | |
| NPPATTERN :: ^PATTERN; | |
| LPPATTERN :: ^PATTERN; | |
| LOGPEN :: struct { | |
| lopnStyle : UINT, | |
| lopnWidth : POINT, | |
| lopnColor : COLORREF, | |
| }; | |
| PLOGPEN :: ^struct { | |
| lopnStyle : UINT, | |
| lopnWidth : POINT, | |
| lopnColor : COLORREF, | |
| }; | |
| NPLOGPEN :: ^struct { | |
| lopnStyle : UINT, | |
| lopnWidth : POINT, | |
| lopnColor : COLORREF, | |
| }; | |
| LPLOGPEN :: ^struct { | |
| lopnStyle : UINT, | |
| lopnWidth : POINT, | |
| lopnColor : COLORREF, | |
| }; | |
| EXTLOGPEN :: struct { | |
| elpPenStyle : u32, | |
| elpWidth : u32, | |
| elpBrushStyle : UINT, | |
| elpColor : COLORREF, | |
| elpHatch : ULONG_PTR, | |
| elpNumEntries : u32, | |
| elpStyleEntry : [1]u32, | |
| }; | |
| PEXTLOGPEN :: ^struct { | |
| elpPenStyle : u32, | |
| elpWidth : u32, | |
| elpBrushStyle : UINT, | |
| elpColor : COLORREF, | |
| elpHatch : ULONG_PTR, | |
| elpNumEntries : u32, | |
| elpStyleEntry : [1]u32, | |
| }; | |
| NPEXTLOGPEN :: ^struct { | |
| elpPenStyle : u32, | |
| elpWidth : u32, | |
| elpBrushStyle : UINT, | |
| elpColor : COLORREF, | |
| elpHatch : ULONG_PTR, | |
| elpNumEntries : u32, | |
| elpStyleEntry : [1]u32, | |
| }; | |
| LPEXTLOGPEN :: ^struct { | |
| elpPenStyle : u32, | |
| elpWidth : u32, | |
| elpBrushStyle : UINT, | |
| elpColor : COLORREF, | |
| elpHatch : ULONG_PTR, | |
| elpNumEntries : u32, | |
| elpStyleEntry : [1]u32, | |
| }; | |
| EXTLOGPEN32 :: struct { | |
| elpPenStyle : u32, | |
| elpWidth : u32, | |
| elpBrushStyle : UINT, | |
| elpColor : COLORREF, | |
| elpHatch : ULONG, | |
| elpNumEntries : u32, | |
| elpStyleEntry : [1]u32, | |
| }; | |
| PEXTLOGPEN32 :: ^struct { | |
| elpPenStyle : u32, | |
| elpWidth : u32, | |
| elpBrushStyle : UINT, | |
| elpColor : COLORREF, | |
| elpHatch : ULONG, | |
| elpNumEntries : u32, | |
| elpStyleEntry : [1]u32, | |
| }; | |
| NPEXTLOGPEN32 :: ^struct { | |
| elpPenStyle : u32, | |
| elpWidth : u32, | |
| elpBrushStyle : UINT, | |
| elpColor : COLORREF, | |
| elpHatch : ULONG, | |
| elpNumEntries : u32, | |
| elpStyleEntry : [1]u32, | |
| }; | |
| LPEXTLOGPEN32 :: ^struct { | |
| elpPenStyle : u32, | |
| elpWidth : u32, | |
| elpBrushStyle : UINT, | |
| elpColor : COLORREF, | |
| elpHatch : ULONG, | |
| elpNumEntries : u32, | |
| elpStyleEntry : [1]u32, | |
| }; | |
| PALETTEENTRY :: struct { | |
| peRed : BYTE, | |
| peGreen : BYTE, | |
| peBlue : BYTE, | |
| peFlags : BYTE, | |
| }; | |
| PPALETTEENTRY :: ^struct { | |
| peRed : BYTE, | |
| peGreen : BYTE, | |
| peBlue : BYTE, | |
| peFlags : BYTE, | |
| }; | |
| LPPALETTEENTRY :: ^struct { | |
| peRed : BYTE, | |
| peGreen : BYTE, | |
| peBlue : BYTE, | |
| peFlags : BYTE, | |
| }; | |
| LOGPALETTE :: struct { | |
| palVersion : u16, | |
| palNumEntries : u16, | |
| palPalEntry : [1]PALETTEENTRY, | |
| }; | |
| PLOGPALETTE :: ^struct { | |
| palVersion : u16, | |
| palNumEntries : u16, | |
| palPalEntry : [1]PALETTEENTRY, | |
| }; | |
| NPLOGPALETTE :: ^struct { | |
| palVersion : u16, | |
| palNumEntries : u16, | |
| palPalEntry : [1]PALETTEENTRY, | |
| }; | |
| LPLOGPALETTE :: ^struct { | |
| palVersion : u16, | |
| palNumEntries : u16, | |
| palPalEntry : [1]PALETTEENTRY, | |
| }; | |
| LOGFONTA :: struct { | |
| lfHeight : LONG, | |
| lfWidth : LONG, | |
| lfEscapement : LONG, | |
| lfOrientation : LONG, | |
| lfWeight : LONG, | |
| lfItalic : BYTE, | |
| lfUnderline : BYTE, | |
| lfStrikeOut : BYTE, | |
| lfCharSet : BYTE, | |
| lfOutPrecision : BYTE, | |
| lfClipPrecision : BYTE, | |
| lfQuality : BYTE, | |
| lfPitchAndFamily : BYTE, | |
| lfFaceName : [32]CHAR, | |
| }; | |
| PLOGFONTA :: ^struct { | |
| lfHeight : LONG, | |
| lfWidth : LONG, | |
| lfEscapement : LONG, | |
| lfOrientation : LONG, | |
| lfWeight : LONG, | |
| lfItalic : BYTE, | |
| lfUnderline : BYTE, | |
| lfStrikeOut : BYTE, | |
| lfCharSet : BYTE, | |
| lfOutPrecision : BYTE, | |
| lfClipPrecision : BYTE, | |
| lfQuality : BYTE, | |
| lfPitchAndFamily : BYTE, | |
| lfFaceName : [32]CHAR, | |
| }; | |
| NPLOGFONTA :: ^struct { | |
| lfHeight : LONG, | |
| lfWidth : LONG, | |
| lfEscapement : LONG, | |
| lfOrientation : LONG, | |
| lfWeight : LONG, | |
| lfItalic : BYTE, | |
| lfUnderline : BYTE, | |
| lfStrikeOut : BYTE, | |
| lfCharSet : BYTE, | |
| lfOutPrecision : BYTE, | |
| lfClipPrecision : BYTE, | |
| lfQuality : BYTE, | |
| lfPitchAndFamily : BYTE, | |
| lfFaceName : [32]CHAR, | |
| }; | |
| LPLOGFONTA :: ^struct { | |
| lfHeight : LONG, | |
| lfWidth : LONG, | |
| lfEscapement : LONG, | |
| lfOrientation : LONG, | |
| lfWeight : LONG, | |
| lfItalic : BYTE, | |
| lfUnderline : BYTE, | |
| lfStrikeOut : BYTE, | |
| lfCharSet : BYTE, | |
| lfOutPrecision : BYTE, | |
| lfClipPrecision : BYTE, | |
| lfQuality : BYTE, | |
| lfPitchAndFamily : BYTE, | |
| lfFaceName : [32]CHAR, | |
| }; | |
| LOGFONTW :: struct { | |
| lfHeight : LONG, | |
| lfWidth : LONG, | |
| lfEscapement : LONG, | |
| lfOrientation : LONG, | |
| lfWeight : LONG, | |
| lfItalic : BYTE, | |
| lfUnderline : BYTE, | |
| lfStrikeOut : BYTE, | |
| lfCharSet : BYTE, | |
| lfOutPrecision : BYTE, | |
| lfClipPrecision : BYTE, | |
| lfQuality : BYTE, | |
| lfPitchAndFamily : BYTE, | |
| lfFaceName : [32]WCHAR, | |
| }; | |
| PLOGFONTW :: ^struct { | |
| lfHeight : LONG, | |
| lfWidth : LONG, | |
| lfEscapement : LONG, | |
| lfOrientation : LONG, | |
| lfWeight : LONG, | |
| lfItalic : BYTE, | |
| lfUnderline : BYTE, | |
| lfStrikeOut : BYTE, | |
| lfCharSet : BYTE, | |
| lfOutPrecision : BYTE, | |
| lfClipPrecision : BYTE, | |
| lfQuality : BYTE, | |
| lfPitchAndFamily : BYTE, | |
| lfFaceName : [32]WCHAR, | |
| }; | |
| NPLOGFONTW :: ^struct { | |
| lfHeight : LONG, | |
| lfWidth : LONG, | |
| lfEscapement : LONG, | |
| lfOrientation : LONG, | |
| lfWeight : LONG, | |
| lfItalic : BYTE, | |
| lfUnderline : BYTE, | |
| lfStrikeOut : BYTE, | |
| lfCharSet : BYTE, | |
| lfOutPrecision : BYTE, | |
| lfClipPrecision : BYTE, | |
| lfQuality : BYTE, | |
| lfPitchAndFamily : BYTE, | |
| lfFaceName : [32]WCHAR, | |
| }; | |
| LPLOGFONTW :: ^struct { | |
| lfHeight : LONG, | |
| lfWidth : LONG, | |
| lfEscapement : LONG, | |
| lfOrientation : LONG, | |
| lfWeight : LONG, | |
| lfItalic : BYTE, | |
| lfUnderline : BYTE, | |
| lfStrikeOut : BYTE, | |
| lfCharSet : BYTE, | |
| lfOutPrecision : BYTE, | |
| lfClipPrecision : BYTE, | |
| lfQuality : BYTE, | |
| lfPitchAndFamily : BYTE, | |
| lfFaceName : [32]WCHAR, | |
| }; | |
| LOGFONT :: LOGFONTA; | |
| PLOGFONT :: PLOGFONTA; | |
| NPLOGFONT :: NPLOGFONTA; | |
| LPLOGFONT :: LPLOGFONTA; | |
| ENUMLOGFONTA :: struct { | |
| elfLogFont : LOGFONTA, | |
| elfFullName : [64]BYTE, | |
| elfStyle : [32]BYTE, | |
| }; | |
| LPENUMLOGFONTA :: ^struct { | |
| elfLogFont : LOGFONTA, | |
| elfFullName : [64]BYTE, | |
| elfStyle : [32]BYTE, | |
| }; | |
| ENUMLOGFONTW :: struct { | |
| elfLogFont : LOGFONTW, | |
| elfFullName : [64]WCHAR, | |
| elfStyle : [32]WCHAR, | |
| }; | |
| LPENUMLOGFONTW :: ^struct { | |
| elfLogFont : LOGFONTW, | |
| elfFullName : [64]WCHAR, | |
| elfStyle : [32]WCHAR, | |
| }; | |
| ENUMLOGFONT :: ENUMLOGFONTA; | |
| LPENUMLOGFONT :: LPENUMLOGFONTA; | |
| ENUMLOGFONTEXA :: struct { | |
| elfLogFont : LOGFONTA, | |
| elfFullName : [64]BYTE, | |
| elfStyle : [32]BYTE, | |
| elfScript : [32]BYTE, | |
| }; | |
| LPENUMLOGFONTEXA :: ^struct { | |
| elfLogFont : LOGFONTA, | |
| elfFullName : [64]BYTE, | |
| elfStyle : [32]BYTE, | |
| elfScript : [32]BYTE, | |
| }; | |
| ENUMLOGFONTEXW :: struct { | |
| elfLogFont : LOGFONTW, | |
| elfFullName : [64]WCHAR, | |
| elfStyle : [32]WCHAR, | |
| elfScript : [32]WCHAR, | |
| }; | |
| LPENUMLOGFONTEXW :: ^struct { | |
| elfLogFont : LOGFONTW, | |
| elfFullName : [64]WCHAR, | |
| elfStyle : [32]WCHAR, | |
| elfScript : [32]WCHAR, | |
| }; | |
| ENUMLOGFONTEX :: ENUMLOGFONTEXA; | |
| LPENUMLOGFONTEX :: LPENUMLOGFONTEXA; | |
| PANOSE :: struct { | |
| bFamilyType : BYTE, | |
| bSerifStyle : BYTE, | |
| bWeight : BYTE, | |
| bProportion : BYTE, | |
| bContrast : BYTE, | |
| bStrokeVariation : BYTE, | |
| bArmStyle : BYTE, | |
| bLetterform : BYTE, | |
| bMidline : BYTE, | |
| bXHeight : BYTE, | |
| }; | |
| LPPANOSE :: ^struct { | |
| bFamilyType : BYTE, | |
| bSerifStyle : BYTE, | |
| bWeight : BYTE, | |
| bProportion : BYTE, | |
| bContrast : BYTE, | |
| bStrokeVariation : BYTE, | |
| bArmStyle : BYTE, | |
| bLetterform : BYTE, | |
| bMidline : BYTE, | |
| bXHeight : BYTE, | |
| }; | |
| EXTLOGFONTA :: struct { | |
| elfLogFont : LOGFONTA, | |
| elfFullName : [64]BYTE, | |
| elfStyle : [32]BYTE, | |
| elfVersion : u32, | |
| elfStyleSize : u32, | |
| elfMatch : u32, | |
| elfReserved : u32, | |
| elfVendorId : [4]BYTE, | |
| elfCulture : u32, | |
| elfPanose : PANOSE, | |
| }; | |
| PEXTLOGFONTA :: ^struct { | |
| elfLogFont : LOGFONTA, | |
| elfFullName : [64]BYTE, | |
| elfStyle : [32]BYTE, | |
| elfVersion : u32, | |
| elfStyleSize : u32, | |
| elfMatch : u32, | |
| elfReserved : u32, | |
| elfVendorId : [4]BYTE, | |
| elfCulture : u32, | |
| elfPanose : PANOSE, | |
| }; | |
| NPEXTLOGFONTA :: ^struct { | |
| elfLogFont : LOGFONTA, | |
| elfFullName : [64]BYTE, | |
| elfStyle : [32]BYTE, | |
| elfVersion : u32, | |
| elfStyleSize : u32, | |
| elfMatch : u32, | |
| elfReserved : u32, | |
| elfVendorId : [4]BYTE, | |
| elfCulture : u32, | |
| elfPanose : PANOSE, | |
| }; | |
| LPEXTLOGFONTA :: ^struct { | |
| elfLogFont : LOGFONTA, | |
| elfFullName : [64]BYTE, | |
| elfStyle : [32]BYTE, | |
| elfVersion : u32, | |
| elfStyleSize : u32, | |
| elfMatch : u32, | |
| elfReserved : u32, | |
| elfVendorId : [4]BYTE, | |
| elfCulture : u32, | |
| elfPanose : PANOSE, | |
| }; | |
| EXTLOGFONTW :: struct { | |
| elfLogFont : LOGFONTW, | |
| elfFullName : [64]WCHAR, | |
| elfStyle : [32]WCHAR, | |
| elfVersion : u32, | |
| elfStyleSize : u32, | |
| elfMatch : u32, | |
| elfReserved : u32, | |
| elfVendorId : [4]BYTE, | |
| elfCulture : u32, | |
| elfPanose : PANOSE, | |
| }; | |
| PEXTLOGFONTW :: ^struct { | |
| elfLogFont : LOGFONTW, | |
| elfFullName : [64]WCHAR, | |
| elfStyle : [32]WCHAR, | |
| elfVersion : u32, | |
| elfStyleSize : u32, | |
| elfMatch : u32, | |
| elfReserved : u32, | |
| elfVendorId : [4]BYTE, | |
| elfCulture : u32, | |
| elfPanose : PANOSE, | |
| }; | |
| NPEXTLOGFONTW :: ^struct { | |
| elfLogFont : LOGFONTW, | |
| elfFullName : [64]WCHAR, | |
| elfStyle : [32]WCHAR, | |
| elfVersion : u32, | |
| elfStyleSize : u32, | |
| elfMatch : u32, | |
| elfReserved : u32, | |
| elfVendorId : [4]BYTE, | |
| elfCulture : u32, | |
| elfPanose : PANOSE, | |
| }; | |
| LPEXTLOGFONTW :: ^struct { | |
| elfLogFont : LOGFONTW, | |
| elfFullName : [64]WCHAR, | |
| elfStyle : [32]WCHAR, | |
| elfVersion : u32, | |
| elfStyleSize : u32, | |
| elfMatch : u32, | |
| elfReserved : u32, | |
| elfVendorId : [4]BYTE, | |
| elfCulture : u32, | |
| elfPanose : PANOSE, | |
| }; | |
| EXTLOGFONT :: EXTLOGFONTA; | |
| PEXTLOGFONT :: PEXTLOGFONTA; | |
| NPEXTLOGFONT :: NPEXTLOGFONTA; | |
| LPEXTLOGFONT :: LPEXTLOGFONTA; | |
| DEVMODEA :: struct { | |
| dmDeviceName : [32]BYTE, | |
| dmSpecVersion : u16, | |
| dmDriverVersion : u16, | |
| dmSize : u16, | |
| dmDriverExtra : u16, | |
| dmFields : u32, | |
| u : struct #raw_union { | |
| s : struct { | |
| dmOrientation : i16, | |
| dmPaperSize : i16, | |
| dmPaperLength : i16, | |
| dmPaperWidth : i16, | |
| dmScale : i16, | |
| dmCopies : i16, | |
| dmDefaultSource : i16, | |
| dmPrintQuality : i16, | |
| }, | |
| s2 : struct { | |
| dmPosition : POINTL, | |
| dmDisplayOrientation : u32, | |
| dmDisplayFixedOutput : u32, | |
| }, | |
| }, | |
| dmColor : i16, | |
| dmDuplex : i16, | |
| dmYResolution : i16, | |
| dmTTOption : i16, | |
| dmCollate : i16, | |
| dmFormName : [32]BYTE, | |
| dmLogPixels : u16, | |
| dmBitsPerPel : u32, | |
| dmPelsWidth : u32, | |
| dmPelsHeight : u32, | |
| u2 : struct #raw_union { | |
| dmDisplayFlags : u32, | |
| dmNup : u32, | |
| }, | |
| dmDisplayFrequency : u32, | |
| dmICMMethod : u32, | |
| dmICMIntent : u32, | |
| dmMediaType : u32, | |
| dmDitherType : u32, | |
| dmReserved1 : u32, | |
| dmReserved2 : u32, | |
| dmPanningWidth : u32, | |
| dmPanningHeight : u32, | |
| }; | |
| PDEVMODEA :: ^struct { | |
| dmDeviceName : [32]BYTE, | |
| dmSpecVersion : u16, | |
| dmDriverVersion : u16, | |
| dmSize : u16, | |
| dmDriverExtra : u16, | |
| dmFields : u32, | |
| u : struct #raw_union { | |
| s : struct { | |
| dmOrientation : i16, | |
| dmPaperSize : i16, | |
| dmPaperLength : i16, | |
| dmPaperWidth : i16, | |
| dmScale : i16, | |
| dmCopies : i16, | |
| dmDefaultSource : i16, | |
| dmPrintQuality : i16, | |
| }, | |
| s2 : struct { | |
| dmPosition : POINTL, | |
| dmDisplayOrientation : u32, | |
| dmDisplayFixedOutput : u32, | |
| }, | |
| }, | |
| dmColor : i16, | |
| dmDuplex : i16, | |
| dmYResolution : i16, | |
| dmTTOption : i16, | |
| dmCollate : i16, | |
| dmFormName : [32]BYTE, | |
| dmLogPixels : u16, | |
| dmBitsPerPel : u32, | |
| dmPelsWidth : u32, | |
| dmPelsHeight : u32, | |
| u2 : struct #raw_union { | |
| dmDisplayFlags : u32, | |
| dmNup : u32, | |
| }, | |
| dmDisplayFrequency : u32, | |
| dmICMMethod : u32, | |
| dmICMIntent : u32, | |
| dmMediaType : u32, | |
| dmDitherType : u32, | |
| dmReserved1 : u32, | |
| dmReserved2 : u32, | |
| dmPanningWidth : u32, | |
| dmPanningHeight : u32, | |
| }; | |
| NPDEVMODEA :: ^struct { | |
| dmDeviceName : [32]BYTE, | |
| dmSpecVersion : u16, | |
| dmDriverVersion : u16, | |
| dmSize : u16, | |
| dmDriverExtra : u16, | |
| dmFields : u32, | |
| u : struct #raw_union { | |
| s : struct { | |
| dmOrientation : i16, | |
| dmPaperSize : i16, | |
| dmPaperLength : i16, | |
| dmPaperWidth : i16, | |
| dmScale : i16, | |
| dmCopies : i16, | |
| dmDefaultSource : i16, | |
| dmPrintQuality : i16, | |
| }, | |
| s2 : struct { | |
| dmPosition : POINTL, | |
| dmDisplayOrientation : u32, | |
| dmDisplayFixedOutput : u32, | |
| }, | |
| }, | |
| dmColor : i16, | |
| dmDuplex : i16, | |
| dmYResolution : i16, | |
| dmTTOption : i16, | |
| dmCollate : i16, | |
| dmFormName : [32]BYTE, | |
| dmLogPixels : u16, | |
| dmBitsPerPel : u32, | |
| dmPelsWidth : u32, | |
| dmPelsHeight : u32, | |
| u2 : struct #raw_union { | |
| dmDisplayFlags : u32, | |
| dmNup : u32, | |
| }, | |
| dmDisplayFrequency : u32, | |
| dmICMMethod : u32, | |
| dmICMIntent : u32, | |
| dmMediaType : u32, | |
| dmDitherType : u32, | |
| dmReserved1 : u32, | |
| dmReserved2 : u32, | |
| dmPanningWidth : u32, | |
| dmPanningHeight : u32, | |
| }; | |
| LPDEVMODEA :: ^struct { | |
| dmDeviceName : [32]BYTE, | |
| dmSpecVersion : u16, | |
| dmDriverVersion : u16, | |
| dmSize : u16, | |
| dmDriverExtra : u16, | |
| dmFields : u32, | |
| u : struct #raw_union { | |
| s : struct { | |
| dmOrientation : i16, | |
| dmPaperSize : i16, | |
| dmPaperLength : i16, | |
| dmPaperWidth : i16, | |
| dmScale : i16, | |
| dmCopies : i16, | |
| dmDefaultSource : i16, | |
| dmPrintQuality : i16, | |
| }, | |
| s2 : struct { | |
| dmPosition : POINTL, | |
| dmDisplayOrientation : u32, | |
| dmDisplayFixedOutput : u32, | |
| }, | |
| }, | |
| dmColor : i16, | |
| dmDuplex : i16, | |
| dmYResolution : i16, | |
| dmTTOption : i16, | |
| dmCollate : i16, | |
| dmFormName : [32]BYTE, | |
| dmLogPixels : u16, | |
| dmBitsPerPel : u32, | |
| dmPelsWidth : u32, | |
| dmPelsHeight : u32, | |
| u2 : struct #raw_union { | |
| dmDisplayFlags : u32, | |
| dmNup : u32, | |
| }, | |
| dmDisplayFrequency : u32, | |
| dmICMMethod : u32, | |
| dmICMIntent : u32, | |
| dmMediaType : u32, | |
| dmDitherType : u32, | |
| dmReserved1 : u32, | |
| dmReserved2 : u32, | |
| dmPanningWidth : u32, | |
| dmPanningHeight : u32, | |
| }; | |
| DEVMODEW :: struct { | |
| dmDeviceName : [32]WCHAR, | |
| dmSpecVersion : u16, | |
| dmDriverVersion : u16, | |
| dmSize : u16, | |
| dmDriverExtra : u16, | |
| dmFields : u32, | |
| u : struct #raw_union { | |
| s : struct { | |
| dmOrientation : i16, | |
| dmPaperSize : i16, | |
| dmPaperLength : i16, | |
| dmPaperWidth : i16, | |
| dmScale : i16, | |
| dmCopies : i16, | |
| dmDefaultSource : i16, | |
| dmPrintQuality : i16, | |
| }, | |
| s2 : struct { | |
| dmPosition : POINTL, | |
| dmDisplayOrientation : u32, | |
| dmDisplayFixedOutput : u32, | |
| }, | |
| }, | |
| dmColor : i16, | |
| dmDuplex : i16, | |
| dmYResolution : i16, | |
| dmTTOption : i16, | |
| dmCollate : i16, | |
| dmFormName : [32]WCHAR, | |
| dmLogPixels : u16, | |
| dmBitsPerPel : u32, | |
| dmPelsWidth : u32, | |
| dmPelsHeight : u32, | |
| u2 : struct #raw_union { | |
| dmDisplayFlags : u32, | |
| dmNup : u32, | |
| }, | |
| dmDisplayFrequency : u32, | |
| dmICMMethod : u32, | |
| dmICMIntent : u32, | |
| dmMediaType : u32, | |
| dmDitherType : u32, | |
| dmReserved1 : u32, | |
| dmReserved2 : u32, | |
| dmPanningWidth : u32, | |
| dmPanningHeight : u32, | |
| }; | |
| PDEVMODEW :: ^struct { | |
| dmDeviceName : [32]WCHAR, | |
| dmSpecVersion : u16, | |
| dmDriverVersion : u16, | |
| dmSize : u16, | |
| dmDriverExtra : u16, | |
| dmFields : u32, | |
| u : struct #raw_union { | |
| s : struct { | |
| dmOrientation : i16, | |
| dmPaperSize : i16, | |
| dmPaperLength : i16, | |
| dmPaperWidth : i16, | |
| dmScale : i16, | |
| dmCopies : i16, | |
| dmDefaultSource : i16, | |
| dmPrintQuality : i16, | |
| }, | |
| s2 : struct { | |
| dmPosition : POINTL, | |
| dmDisplayOrientation : u32, | |
| dmDisplayFixedOutput : u32, | |
| }, | |
| }, | |
| dmColor : i16, | |
| dmDuplex : i16, | |
| dmYResolution : i16, | |
| dmTTOption : i16, | |
| dmCollate : i16, | |
| dmFormName : [32]WCHAR, | |
| dmLogPixels : u16, | |
| dmBitsPerPel : u32, | |
| dmPelsWidth : u32, | |
| dmPelsHeight : u32, | |
| u2 : struct #raw_union { | |
| dmDisplayFlags : u32, | |
| dmNup : u32, | |
| }, | |
| dmDisplayFrequency : u32, | |
| dmICMMethod : u32, | |
| dmICMIntent : u32, | |
| dmMediaType : u32, | |
| dmDitherType : u32, | |
| dmReserved1 : u32, | |
| dmReserved2 : u32, | |
| dmPanningWidth : u32, | |
| dmPanningHeight : u32, | |
| }; | |
| NPDEVMODEW :: ^struct { | |
| dmDeviceName : [32]WCHAR, | |
| dmSpecVersion : u16, | |
| dmDriverVersion : u16, | |
| dmSize : u16, | |
| dmDriverExtra : u16, | |
| dmFields : u32, | |
| u : struct #raw_union { | |
| s : struct { | |
| dmOrientation : i16, | |
| dmPaperSize : i16, | |
| dmPaperLength : i16, | |
| dmPaperWidth : i16, | |
| dmScale : i16, | |
| dmCopies : i16, | |
| dmDefaultSource : i16, | |
| dmPrintQuality : i16, | |
| }, | |
| s2 : struct { | |
| dmPosition : POINTL, | |
| dmDisplayOrientation : u32, | |
| dmDisplayFixedOutput : u32, | |
| }, | |
| }, | |
| dmColor : i16, | |
| dmDuplex : i16, | |
| dmYResolution : i16, | |
| dmTTOption : i16, | |
| dmCollate : i16, | |
| dmFormName : [32]WCHAR, | |
| dmLogPixels : u16, | |
| dmBitsPerPel : u32, | |
| dmPelsWidth : u32, | |
| dmPelsHeight : u32, | |
| u2 : struct #raw_union { | |
| dmDisplayFlags : u32, | |
| dmNup : u32, | |
| }, | |
| dmDisplayFrequency : u32, | |
| dmICMMethod : u32, | |
| dmICMIntent : u32, | |
| dmMediaType : u32, | |
| dmDitherType : u32, | |
| dmReserved1 : u32, | |
| dmReserved2 : u32, | |
| dmPanningWidth : u32, | |
| dmPanningHeight : u32, | |
| }; | |
| LPDEVMODEW :: ^struct { | |
| dmDeviceName : [32]WCHAR, | |
| dmSpecVersion : u16, | |
| dmDriverVersion : u16, | |
| dmSize : u16, | |
| dmDriverExtra : u16, | |
| dmFields : u32, | |
| u : struct #raw_union { | |
| s : struct { | |
| dmOrientation : i16, | |
| dmPaperSize : i16, | |
| dmPaperLength : i16, | |
| dmPaperWidth : i16, | |
| dmScale : i16, | |
| dmCopies : i16, | |
| dmDefaultSource : i16, | |
| dmPrintQuality : i16, | |
| }, | |
| s2 : struct { | |
| dmPosition : POINTL, | |
| dmDisplayOrientation : u32, | |
| dmDisplayFixedOutput : u32, | |
| }, | |
| }, | |
| dmColor : i16, | |
| dmDuplex : i16, | |
| dmYResolution : i16, | |
| dmTTOption : i16, | |
| dmCollate : i16, | |
| dmFormName : [32]WCHAR, | |
| dmLogPixels : u16, | |
| dmBitsPerPel : u32, | |
| dmPelsWidth : u32, | |
| dmPelsHeight : u32, | |
| u2 : struct #raw_union { | |
| dmDisplayFlags : u32, | |
| dmNup : u32, | |
| }, | |
| dmDisplayFrequency : u32, | |
| dmICMMethod : u32, | |
| dmICMIntent : u32, | |
| dmMediaType : u32, | |
| dmDitherType : u32, | |
| dmReserved1 : u32, | |
| dmReserved2 : u32, | |
| dmPanningWidth : u32, | |
| dmPanningHeight : u32, | |
| }; | |
| DEVMODE :: DEVMODEA; | |
| PDEVMODE :: PDEVMODEA; | |
| NPDEVMODE :: NPDEVMODEA; | |
| LPDEVMODE :: LPDEVMODEA; | |
| DISPLAY_DEVICEA :: struct { | |
| cb : u32, | |
| DeviceName : [32]CHAR, | |
| DeviceString : [128]CHAR, | |
| StateFlags : u32, | |
| DeviceID : [128]CHAR, | |
| DeviceKey : [128]CHAR, | |
| }; | |
| PDISPLAY_DEVICEA :: ^struct { | |
| cb : u32, | |
| DeviceName : [32]CHAR, | |
| DeviceString : [128]CHAR, | |
| StateFlags : u32, | |
| DeviceID : [128]CHAR, | |
| DeviceKey : [128]CHAR, | |
| }; | |
| LPDISPLAY_DEVICEA :: ^struct { | |
| cb : u32, | |
| DeviceName : [32]CHAR, | |
| DeviceString : [128]CHAR, | |
| StateFlags : u32, | |
| DeviceID : [128]CHAR, | |
| DeviceKey : [128]CHAR, | |
| }; | |
| DISPLAY_DEVICEW :: struct { | |
| cb : u32, | |
| DeviceName : [32]WCHAR, | |
| DeviceString : [128]WCHAR, | |
| StateFlags : u32, | |
| DeviceID : [128]WCHAR, | |
| DeviceKey : [128]WCHAR, | |
| }; | |
| PDISPLAY_DEVICEW :: ^struct { | |
| cb : u32, | |
| DeviceName : [32]WCHAR, | |
| DeviceString : [128]WCHAR, | |
| StateFlags : u32, | |
| DeviceID : [128]WCHAR, | |
| DeviceKey : [128]WCHAR, | |
| }; | |
| LPDISPLAY_DEVICEW :: ^struct { | |
| cb : u32, | |
| DeviceName : [32]WCHAR, | |
| DeviceString : [128]WCHAR, | |
| StateFlags : u32, | |
| DeviceID : [128]WCHAR, | |
| DeviceKey : [128]WCHAR, | |
| }; | |
| DISPLAY_DEVICE :: DISPLAY_DEVICEA; | |
| PDISPLAY_DEVICE :: PDISPLAY_DEVICEA; | |
| LPDISPLAY_DEVICE :: LPDISPLAY_DEVICEA; | |
| DISPLAYCONFIG_RATIONAL :: struct { | |
| Numerator : UINT32, | |
| Denominator : UINT32, | |
| }; | |
| DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY :: enum { | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER = -1, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15 = 0, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO = 1, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO = 2, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO = 3, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI = 4, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI = 5, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS = 6, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN = 8, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI = 9, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL = 10, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED = 11, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL = 12, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED = 13, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE = 14, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST = 15, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED = 16, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_VIRTUAL = 17, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL = 0x80000000, | |
| DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32 = 0xFFFFFFFF, | |
| }; | |
| DISPLAYCONFIG_SCANLINE_ORDERING :: enum { | |
| DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED = 0, | |
| DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE = 1, | |
| DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED = 2, | |
| DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST = DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED, | |
| DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST = 3, | |
| DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32 = 0xFFFFFFFF, | |
| }; | |
| DISPLAYCONFIG_2DREGION :: struct { | |
| cx : UINT32, | |
| cy : UINT32, | |
| }; | |
| DISPLAYCONFIG_VIDEO_SIGNAL_INFO :: struct { | |
| pixelRate : UINT64, | |
| hSyncFreq : DISPLAYCONFIG_RATIONAL, | |
| vSyncFreq : DISPLAYCONFIG_RATIONAL, | |
| activeSize : DISPLAYCONFIG_2DREGION, | |
| totalSize : DISPLAYCONFIG_2DREGION, | |
| u : struct #raw_union { | |
| AdditionalSignalInfo : struct { | |
| videoStandard : , | |
| vSyncFreqDivider : , | |
| reserved : , | |
| }, | |
| videoStandard : UINT32, | |
| }, | |
| scanLineOrdering : DISPLAYCONFIG_SCANLINE_ORDERING, | |
| }; | |
| DISPLAYCONFIG_SCALING :: enum { | |
| DISPLAYCONFIG_SCALING_IDENTITY = 1, | |
| DISPLAYCONFIG_SCALING_CENTERED = 2, | |
| DISPLAYCONFIG_SCALING_STRETCHED = 3, | |
| DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX = 4, | |
| DISPLAYCONFIG_SCALING_CUSTOM = 5, | |
| DISPLAYCONFIG_SCALING_PREFERRED = 128, | |
| DISPLAYCONFIG_SCALING_FORCE_UINT32 = 0xFFFFFFFF, | |
| }; | |
| DISPLAYCONFIG_ROTATION :: enum { | |
| DISPLAYCONFIG_ROTATION_IDENTITY = 1, | |
| DISPLAYCONFIG_ROTATION_ROTATE90 = 2, | |
| DISPLAYCONFIG_ROTATION_ROTATE180 = 3, | |
| DISPLAYCONFIG_ROTATION_ROTATE270 = 4, | |
| DISPLAYCONFIG_ROTATION_FORCE_UINT32 = 0xFFFFFFFF, | |
| }; | |
| DISPLAYCONFIG_MODE_INFO_TYPE :: enum { | |
| DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1, | |
| DISPLAYCONFIG_MODE_INFO_TYPE_TARGET = 2, | |
| DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE = 3, | |
| DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32 = 0xFFFFFFFF, | |
| }; | |
| DISPLAYCONFIG_PIXELFORMAT :: enum { | |
| DISPLAYCONFIG_PIXELFORMAT_8BPP = 1, | |
| DISPLAYCONFIG_PIXELFORMAT_16BPP = 2, | |
| DISPLAYCONFIG_PIXELFORMAT_24BPP = 3, | |
| DISPLAYCONFIG_PIXELFORMAT_32BPP = 4, | |
| DISPLAYCONFIG_PIXELFORMAT_NONGDI = 5, | |
| DISPLAYCONFIG_PIXELFORMAT_FORCE_UINT32 = 0xffffffff, | |
| }; | |
| DISPLAYCONFIG_SOURCE_MODE :: struct { | |
| width : UINT32, | |
| height : UINT32, | |
| pixelFormat : DISPLAYCONFIG_PIXELFORMAT, | |
| position : POINTL, | |
| }; | |
| DISPLAYCONFIG_TARGET_MODE :: struct { | |
| targetVideoSignalInfo : DISPLAYCONFIG_VIDEO_SIGNAL_INFO, | |
| }; | |
| DISPLAYCONFIG_DESKTOP_IMAGE_INFO :: struct { | |
| PathSourceSize : POINTL, | |
| DesktopImageRegion : RECTL, | |
| DesktopImageClip : RECTL, | |
| }; | |
| DISPLAYCONFIG_MODE_INFO :: struct { | |
| infoType : DISPLAYCONFIG_MODE_INFO_TYPE, | |
| id : UINT32, | |
| adapterId : LUID, | |
| u : struct #raw_union { | |
| targetMode : DISPLAYCONFIG_TARGET_MODE, | |
| sourceMode : DISPLAYCONFIG_SOURCE_MODE, | |
| desktopImageInfo : DISPLAYCONFIG_DESKTOP_IMAGE_INFO, | |
| }, | |
| }; | |
| DISPLAYCONFIG_PATH_SOURCE_INFO :: struct { | |
| adapterId : LUID, | |
| id : UINT32, | |
| u : struct #raw_union { | |
| modeInfoIdx : UINT32, | |
| s : struct { | |
| cloneGroupId : , | |
| sourceModeInfoIdx : , | |
| }, | |
| }, | |
| statusFlags : UINT32, | |
| }; | |
| DISPLAYCONFIG_PATH_TARGET_INFO :: struct { | |
| adapterId : LUID, | |
| id : UINT32, | |
| u : struct #raw_union { | |
| modeInfoIdx : UINT32, | |
| s : struct { | |
| desktopModeInfoIdx : , | |
| targetModeInfoIdx : , | |
| }, | |
| }, | |
| outputTechnology : DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, | |
| rotation : DISPLAYCONFIG_ROTATION, | |
| scaling : DISPLAYCONFIG_SCALING, | |
| refreshRate : DISPLAYCONFIG_RATIONAL, | |
| scanLineOrdering : DISPLAYCONFIG_SCANLINE_ORDERING, | |
| targetAvailable : BOOL, | |
| statusFlags : UINT32, | |
| }; | |
| DISPLAYCONFIG_PATH_INFO :: struct { | |
| sourceInfo : DISPLAYCONFIG_PATH_SOURCE_INFO, | |
| targetInfo : DISPLAYCONFIG_PATH_TARGET_INFO, | |
| flags : UINT32, | |
| }; | |
| DISPLAYCONFIG_TOPOLOGY_ID :: enum { | |
| DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x00000001, | |
| DISPLAYCONFIG_TOPOLOGY_CLONE = 0x00000002, | |
| DISPLAYCONFIG_TOPOLOGY_EXTEND = 0x00000004, | |
| DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 0x00000008, | |
| DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32 = 0xFFFFFFFF, | |
| }; | |
| DISPLAYCONFIG_DEVICE_INFO_TYPE :: enum { | |
| DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1, | |
| DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2, | |
| DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE = 3, | |
| DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME = 4, | |
| DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE = 5, | |
| DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE = 6, | |
| DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION = 7, | |
| DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION = 8, | |
| DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO = 9, | |
| DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE = 10, | |
| DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL = 11, | |
| DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32 = 0xFFFFFFFF, | |
| }; | |
| DISPLAYCONFIG_DEVICE_INFO_HEADER :: struct { | |
| kind : DISPLAYCONFIG_DEVICE_INFO_TYPE, | |
| size : UINT32, | |
| adapterId : LUID, | |
| id : UINT32, | |
| }; | |
| DISPLAYCONFIG_SOURCE_DEVICE_NAME :: struct { | |
| header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
| viewGdiDeviceName : [32]WCHAR, | |
| }; | |
| DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS :: struct { | |
| u : struct #raw_union { | |
| s : struct { | |
| friendlyNameFromEdid : , | |
| friendlyNameForced : , | |
| edidIdsValid : , | |
| reserved : , | |
| }, | |
| value : UINT32, | |
| }, | |
| }; | |
| DISPLAYCONFIG_TARGET_DEVICE_NAME :: struct { | |
| header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
| flags : DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS, | |
| outputTechnology : DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, | |
| edidManufactureId : UINT16, | |
| edidProductCodeId : UINT16, | |
| connectorInstance : UINT32, | |
| monitorFriendlyDeviceName : [64]WCHAR, | |
| monitorDevicePath : [128]WCHAR, | |
| }; | |
| DISPLAYCONFIG_TARGET_PREFERRED_MODE :: struct { | |
| header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
| width : UINT32, | |
| height : UINT32, | |
| targetMode : DISPLAYCONFIG_TARGET_MODE, | |
| }; | |
| DISPLAYCONFIG_ADAPTER_NAME :: struct { | |
| header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
| adapterDevicePath : [128]WCHAR, | |
| }; | |
| DISPLAYCONFIG_TARGET_BASE_TYPE :: struct { | |
| header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
| baseOutputTechnology : DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, | |
| }; | |
| DISPLAYCONFIG_SET_TARGET_PERSISTENCE :: struct { | |
| header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
| u : struct #raw_union { | |
| s : struct { | |
| bootPersistenceOn : , | |
| reserved : , | |
| }, | |
| value : UINT32, | |
| }, | |
| }; | |
| DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION :: struct { | |
| header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
| s : struct #raw_union { | |
| s : struct { | |
| disableMonitorVirtualResolution : , | |
| reserved : , | |
| }, | |
| value : UINT32, | |
| }, | |
| }; | |
| DISPLAYCONFIG_COLOR_ENCODING :: enum { | |
| DISPLAYCONFIG_COLOR_ENCODING_RGB = 0, | |
| DISPLAYCONFIG_COLOR_ENCODING_YCBCR444 = 1, | |
| DISPLAYCONFIG_COLOR_ENCODING_YCBCR422 = 2, | |
| DISPLAYCONFIG_COLOR_ENCODING_YCBCR420 = 3, | |
| DISPLAYCONFIG_COLOR_ENCODING_INTENSITY = 4, | |
| DISPLAYCONFIG_COLOR_ENCODING_FORCE_UINT32 = 0xFFFFFFFF, | |
| }; | |
| DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO :: struct { | |
| header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
| u : struct #raw_union { | |
| s : struct { | |
| advancedColorSupported : , | |
| advancedColorEnabled : , | |
| wideColorEnforced : , | |
| advancedColorForceDisabled : , | |
| reserved : , | |
| }, | |
| value : UINT32, | |
| }, | |
| colorEncoding : DISPLAYCONFIG_COLOR_ENCODING, | |
| bitsPerColorChannel : UINT32, | |
| }; | |
| DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE :: struct { | |
| header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
| u : struct #raw_union { | |
| s : struct { | |
| enableAdvancedColor : , | |
| reserved : , | |
| }, | |
| value : UINT32, | |
| }, | |
| }; | |
| DISPLAYCONFIG_SDR_WHITE_LEVEL :: struct { | |
| header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
| SDRWhiteLevel : ULONG, | |
| }; | |
| RGNDATAHEADER :: struct { | |
| dwSize : u32, | |
| iType : u32, | |
| nCount : u32, | |
| nRgnSize : u32, | |
| rcBound : RECT, | |
| }; | |
| PRGNDATAHEADER :: ^struct { | |
| dwSize : u32, | |
| iType : u32, | |
| nCount : u32, | |
| nRgnSize : u32, | |
| rcBound : RECT, | |
| }; | |
| RGNDATA :: struct { | |
| rdh : RGNDATAHEADER, | |
| Buffer : [1]u8, | |
| }; | |
| PRGNDATA :: ^struct { | |
| rdh : RGNDATAHEADER, | |
| Buffer : [1]u8, | |
| }; | |
| NPRGNDATA :: ^struct { | |
| rdh : RGNDATAHEADER, | |
| Buffer : [1]u8, | |
| }; | |
| LPRGNDATA :: ^struct { | |
| rdh : RGNDATAHEADER, | |
| Buffer : [1]u8, | |
| }; | |
| ABC :: struct { | |
| abcA : i32, | |
| abcB : UINT, | |
| abcC : i32, | |
| }; | |
| PABC :: ^struct { | |
| abcA : i32, | |
| abcB : UINT, | |
| abcC : i32, | |
| }; | |
| NPABC :: ^struct { | |
| abcA : i32, | |
| abcB : UINT, | |
| abcC : i32, | |
| }; | |
| LPABC :: ^struct { | |
| abcA : i32, | |
| abcB : UINT, | |
| abcC : i32, | |
| }; | |
| ABCFLOAT :: struct { | |
| abcfA : FLOAT, | |
| abcfB : FLOAT, | |
| abcfC : FLOAT, | |
| }; | |
| PABCFLOAT :: ^struct { | |
| abcfA : FLOAT, | |
| abcfB : FLOAT, | |
| abcfC : FLOAT, | |
| }; | |
| NPABCFLOAT :: ^struct { | |
| abcfA : FLOAT, | |
| abcfB : FLOAT, | |
| abcfC : FLOAT, | |
| }; | |
| LPABCFLOAT :: ^struct { | |
| abcfA : FLOAT, | |
| abcfB : FLOAT, | |
| abcfC : FLOAT, | |
| }; | |
| OUTLINETEXTMETRICA :: struct { | |
| otmSize : UINT, | |
| otmTextMetrics : TEXTMETRICA, | |
| otmFiller : BYTE, | |
| otmPanoseNumber : PANOSE, | |
| otmfsSelection : UINT, | |
| otmfsType : UINT, | |
| otmsCharSlopeRise : i32, | |
| otmsCharSlopeRun : i32, | |
| otmItalicAngle : i32, | |
| otmEMSquare : UINT, | |
| otmAscent : i32, | |
| otmDescent : i32, | |
| otmLineGap : UINT, | |
| otmsCapEmHeight : UINT, | |
| otmsXHeight : UINT, | |
| otmrcFontBox : RECT, | |
| otmMacAscent : i32, | |
| otmMacDescent : i32, | |
| otmMacLineGap : UINT, | |
| otmusMinimumPPEM : UINT, | |
| otmptSubscriptSize : POINT, | |
| otmptSubscriptOffset : POINT, | |
| otmptSuperscriptSize : POINT, | |
| otmptSuperscriptOffset : POINT, | |
| otmsStrikeoutSize : UINT, | |
| otmsStrikeoutPosition : i32, | |
| otmsUnderscoreSize : i32, | |
| otmsUnderscorePosition : i32, | |
| otmpFamilyName : PSTR, | |
| otmpFaceName : PSTR, | |
| otmpStyleName : PSTR, | |
| otmpFullName : PSTR, | |
| }; | |
| POUTLINETEXTMETRICA :: ^struct { | |
| otmSize : UINT, | |
| otmTextMetrics : TEXTMETRICA, | |
| otmFiller : BYTE, | |
| otmPanoseNumber : PANOSE, | |
| otmfsSelection : UINT, | |
| otmfsType : UINT, | |
| otmsCharSlopeRise : i32, | |
| otmsCharSlopeRun : i32, | |
| otmItalicAngle : i32, | |
| otmEMSquare : UINT, | |
| otmAscent : i32, | |
| otmDescent : i32, | |
| otmLineGap : UINT, | |
| otmsCapEmHeight : UINT, | |
| otmsXHeight : UINT, | |
| otmrcFontBox : RECT, | |
| otmMacAscent : i32, | |
| otmMacDescent : i32, | |
| otmMacLineGap : UINT, | |
| otmusMinimumPPEM : UINT, | |
| otmptSubscriptSize : POINT, | |
| otmptSubscriptOffset : POINT, | |
| otmptSuperscriptSize : POINT, | |
| otmptSuperscriptOffset : POINT, | |
| otmsStrikeoutSize : UINT, | |
| otmsStrikeoutPosition : i32, | |
| otmsUnderscoreSize : i32, | |
| otmsUnderscorePosition : i32, | |
| otmpFamilyName : PSTR, | |
| otmpFaceName : PSTR, | |
| otmpStyleName : PSTR, | |
| otmpFullName : PSTR, | |
| }; | |
| NPOUTLINETEXTMETRICA :: ^struct { | |
| otmSize : UINT, | |
| otmTextMetrics : TEXTMETRICA, | |
| otmFiller : BYTE, | |
| otmPanoseNumber : PANOSE, | |
| otmfsSelection : UINT, | |
| otmfsType : UINT, | |
| otmsCharSlopeRise : i32, | |
| otmsCharSlopeRun : i32, | |
| otmItalicAngle : i32, | |
| otmEMSquare : UINT, | |
| otmAscent : i32, | |
| otmDescent : i32, | |
| otmLineGap : UINT, | |
| otmsCapEmHeight : UINT, | |
| otmsXHeight : UINT, | |
| otmrcFontBox : RECT, | |
| otmMacAscent : i32, | |
| otmMacDescent : i32, | |
| otmMacLineGap : UINT, | |
| otmusMinimumPPEM : UINT, | |
| otmptSubscriptSize : POINT, | |
| otmptSubscriptOffset : POINT, | |
| otmptSuperscriptSize : POINT, | |
| otmptSuperscriptOffset : POINT, | |
| otmsStrikeoutSize : UINT, | |
| otmsStrikeoutPosition : i32, | |
| otmsUnderscoreSize : i32, | |
| otmsUnderscorePosition : i32, | |
| otmpFamilyName : PSTR, | |
| otmpFaceName : PSTR, | |
| otmpStyleName : PSTR, | |
| otmpFullName : PSTR, | |
| }; | |
| LPOUTLINETEXTMETRICA :: ^struct { | |
| otmSize : UINT, | |
| otmTextMetrics : TEXTMETRICA, | |
| otmFiller : BYTE, | |
| otmPanoseNumber : PANOSE, | |
| otmfsSelection : UINT, | |
| otmfsType : UINT, | |
| otmsCharSlopeRise : i32, | |
| otmsCharSlopeRun : i32, | |
| otmItalicAngle : i32, | |
| otmEMSquare : UINT, | |
| otmAscent : i32, | |
| otmDescent : i32, | |
| otmLineGap : UINT, | |
| otmsCapEmHeight : UINT, | |
| otmsXHeight : UINT, | |
| otmrcFontBox : RECT, | |
| otmMacAscent : i32, | |
| otmMacDescent : i32, | |
| otmMacLineGap : UINT, | |
| otmusMinimumPPEM : UINT, | |
| otmptSubscriptSize : POINT, | |
| otmptSubscriptOffset : POINT, | |
| otmptSuperscriptSize : POINT, | |
| otmptSuperscriptOffset : POINT, | |
| otmsStrikeoutSize : UINT, | |
| otmsStrikeoutPosition : i32, | |
| otmsUnderscoreSize : i32, | |
| otmsUnderscorePosition : i32, | |
| otmpFamilyName : PSTR, | |
| otmpFaceName : PSTR, | |
| otmpStyleName : PSTR, | |
| otmpFullName : PSTR, | |
| }; | |
| OUTLINETEXTMETRICW :: struct { | |
| otmSize : UINT, | |
| otmTextMetrics : TEXTMETRICW, | |
| otmFiller : BYTE, | |
| otmPanoseNumber : PANOSE, | |
| otmfsSelection : UINT, | |
| otmfsType : UINT, | |
| otmsCharSlopeRise : i32, | |
| otmsCharSlopeRun : i32, | |
| otmItalicAngle : i32, | |
| otmEMSquare : UINT, | |
| otmAscent : i32, | |
| otmDescent : i32, | |
| otmLineGap : UINT, | |
| otmsCapEmHeight : UINT, | |
| otmsXHeight : UINT, | |
| otmrcFontBox : RECT, | |
| otmMacAscent : i32, | |
| otmMacDescent : i32, | |
| otmMacLineGap : UINT, | |
| otmusMinimumPPEM : UINT, | |
| otmptSubscriptSize : POINT, | |
| otmptSubscriptOffset : POINT, | |
| otmptSuperscriptSize : POINT, | |
| otmptSuperscriptOffset : POINT, | |
| otmsStrikeoutSize : UINT, | |
| otmsStrikeoutPosition : i32, | |
| otmsUnderscoreSize : i32, | |
| otmsUnderscorePosition : i32, | |
| otmpFamilyName : PSTR, | |
| otmpFaceName : PSTR, | |
| otmpStyleName : PSTR, | |
| otmpFullName : PSTR, | |
| }; | |
| POUTLINETEXTMETRICW :: ^struct { | |
| otmSize : UINT, | |
| otmTextMetrics : TEXTMETRICW, | |
| otmFiller : BYTE, | |
| otmPanoseNumber : PANOSE, | |
| otmfsSelection : UINT, | |
| otmfsType : UINT, | |
| otmsCharSlopeRise : i32, | |
| otmsCharSlopeRun : i32, | |
| otmItalicAngle : i32, | |
| otmEMSquare : UINT, | |
| otmAscent : i32, | |
| otmDescent : i32, | |
| otmLineGap : UINT, | |
| otmsCapEmHeight : UINT, | |
| otmsXHeight : UINT, | |
| otmrcFontBox : RECT, | |
| otmMacAscent : i32, | |
| otmMacDescent : i32, | |
| otmMacLineGap : UINT, | |
| otmusMinimumPPEM : UINT, | |
| otmptSubscriptSize : POINT, | |
| otmptSubscriptOffset : POINT, | |
| otmptSuperscriptSize : POINT, | |
| otmptSuperscriptOffset : POINT, | |
| otmsStrikeoutSize : UINT, | |
| otmsStrikeoutPosition : i32, | |
| otmsUnderscoreSize : i32, | |
| otmsUnderscorePosition : i32, | |
| otmpFamilyName : PSTR, | |
| otmpFaceName : PSTR, | |
| otmpStyleName : PSTR, | |
| otmpFullName : PSTR, | |
| }; | |
| NPOUTLINETEXTMETRICW :: ^struct { | |
| otmSize : UINT, | |
| otmTextMetrics : TEXTMETRICW, | |
| otmFiller : BYTE, | |
| otmPanoseNumber : PANOSE, | |
| otmfsSelection : UINT, | |
| otmfsType : UINT, | |
| otmsCharSlopeRise : i32, | |
| otmsCharSlopeRun : i32, | |
| otmItalicAngle : i32, | |
| otmEMSquare : UINT, | |
| otmAscent : i32, | |
| otmDescent : i32, | |
| otmLineGap : UINT, | |
| otmsCapEmHeight : UINT, | |
| otmsXHeight : UINT, | |
| otmrcFontBox : RECT, | |
| otmMacAscent : i32, | |
| otmMacDescent : i32, | |
| otmMacLineGap : UINT, | |
| otmusMinimumPPEM : UINT, | |
| otmptSubscriptSize : POINT, | |
| otmptSubscriptOffset : POINT, | |
| otmptSuperscriptSize : POINT, | |
| otmptSuperscriptOffset : POINT, | |
| otmsStrikeoutSize : UINT, | |
| otmsStrikeoutPosition : i32, | |
| otmsUnderscoreSize : i32, | |
| otmsUnderscorePosition : i32, | |
| otmpFamilyName : PSTR, | |
| otmpFaceName : PSTR, | |
| otmpStyleName : PSTR, | |
| otmpFullName : PSTR, | |
| }; | |
| LPOUTLINETEXTMETRICW :: ^struct { | |
| otmSize : UINT, | |
| otmTextMetrics : TEXTMETRICW, | |
| otmFiller : BYTE, | |
| otmPanoseNumber : PANOSE, | |
| otmfsSelection : UINT, | |
| otmfsType : UINT, | |
| otmsCharSlopeRise : i32, | |
| otmsCharSlopeRun : i32, | |
| otmItalicAngle : i32, | |
| otmEMSquare : UINT, | |
| otmAscent : i32, | |
| otmDescent : i32, | |
| otmLineGap : UINT, | |
| otmsCapEmHeight : UINT, | |
| otmsXHeight : UINT, | |
| otmrcFontBox : RECT, | |
| otmMacAscent : i32, | |
| otmMacDescent : i32, | |
| otmMacLineGap : UINT, | |
| otmusMinimumPPEM : UINT, | |
| otmptSubscriptSize : POINT, | |
| otmptSubscriptOffset : POINT, | |
| otmptSuperscriptSize : POINT, | |
| otmptSuperscriptOffset : POINT, | |
| otmsStrikeoutSize : UINT, | |
| otmsStrikeoutPosition : i32, | |
| otmsUnderscoreSize : i32, | |
| otmsUnderscorePosition : i32, | |
| otmpFamilyName : PSTR, | |
| otmpFaceName : PSTR, | |
| otmpStyleName : PSTR, | |
| otmpFullName : PSTR, | |
| }; | |
| OUTLINETEXTMETRIC :: OUTLINETEXTMETRICA; | |
| POUTLINETEXTMETRIC :: POUTLINETEXTMETRICA; | |
| NPOUTLINETEXTMETRIC :: NPOUTLINETEXTMETRICA; | |
| LPOUTLINETEXTMETRIC :: LPOUTLINETEXTMETRICA; | |
| POLYTEXTA :: struct { | |
| x : i32, | |
| y : i32, | |
| n : UINT, | |
| lpstr : LPCSTR, | |
| uiFlags : UINT, | |
| rcl : RECT, | |
| pdx : ^i32, | |
| }; | |
| PPOLYTEXTA :: ^struct { | |
| x : i32, | |
| y : i32, | |
| n : UINT, | |
| lpstr : LPCSTR, | |
| uiFlags : UINT, | |
| rcl : RECT, | |
| pdx : ^i32, | |
| }; | |
| NPPOLYTEXTA :: ^struct { | |
| x : i32, | |
| y : i32, | |
| n : UINT, | |
| lpstr : LPCSTR, | |
| uiFlags : UINT, | |
| rcl : RECT, | |
| pdx : ^i32, | |
| }; | |
| LPPOLYTEXTA :: ^struct { | |
| x : i32, | |
| y : i32, | |
| n : UINT, | |
| lpstr : LPCSTR, | |
| uiFlags : UINT, | |
| rcl : RECT, | |
| pdx : ^i32, | |
| }; | |
| POLYTEXTW :: struct { | |
| x : i32, | |
| y : i32, | |
| n : UINT, | |
| lpstr : LPCWSTR, | |
| uiFlags : UINT, | |
| rcl : RECT, | |
| pdx : ^i32, | |
| }; | |
| PPOLYTEXTW :: ^struct { | |
| x : i32, | |
| y : i32, | |
| n : UINT, | |
| lpstr : LPCWSTR, | |
| uiFlags : UINT, | |
| rcl : RECT, | |
| pdx : ^i32, | |
| }; | |
| NPPOLYTEXTW :: ^struct { | |
| x : i32, | |
| y : i32, | |
| n : UINT, | |
| lpstr : LPCWSTR, | |
| uiFlags : UINT, | |
| rcl : RECT, | |
| pdx : ^i32, | |
| }; | |
| LPPOLYTEXTW :: ^struct { | |
| x : i32, | |
| y : i32, | |
| n : UINT, | |
| lpstr : LPCWSTR, | |
| uiFlags : UINT, | |
| rcl : RECT, | |
| pdx : ^i32, | |
| }; | |
| POLYTEXT :: POLYTEXTA; | |
| PPOLYTEXT :: PPOLYTEXTA; | |
| NPPOLYTEXT :: NPPOLYTEXTA; | |
| LPPOLYTEXT :: LPPOLYTEXTA; | |
| FIXED :: struct { | |
| fract : u16, | |
| value : i16, | |
| }; | |
| MAT2 :: struct { | |
| eM11 : FIXED, | |
| eM12 : FIXED, | |
| eM21 : FIXED, | |
| eM22 : FIXED, | |
| }; | |
| LPMAT2 :: ^struct { | |
| eM11 : FIXED, | |
| eM12 : FIXED, | |
| eM21 : FIXED, | |
| eM22 : FIXED, | |
| }; | |
| GLYPHMETRICS :: struct { | |
| gmBlackBoxX : UINT, | |
| gmBlackBoxY : UINT, | |
| gmptGlyphOrigin : POINT, | |
| gmCellIncX : i16, | |
| gmCellIncY : i16, | |
| }; | |
| LPGLYPHMETRICS :: ^struct { | |
| gmBlackBoxX : UINT, | |
| gmBlackBoxY : UINT, | |
| gmptGlyphOrigin : POINT, | |
| gmCellIncX : i16, | |
| gmCellIncY : i16, | |
| }; | |
| POINTFX :: struct { | |
| x : FIXED, | |
| y : FIXED, | |
| }; | |
| LPPOINTFX :: ^struct { | |
| x : FIXED, | |
| y : FIXED, | |
| }; | |
| TTPOLYCURVE :: struct { | |
| wType : u16, | |
| cpfx : u16, | |
| apfx : [1]POINTFX, | |
| }; | |
| LPTTPOLYCURVE :: ^struct { | |
| wType : u16, | |
| cpfx : u16, | |
| apfx : [1]POINTFX, | |
| }; | |
| TTPOLYGONHEADER :: struct { | |
| cb : u32, | |
| dwType : u32, | |
| pfxStart : POINTFX, | |
| }; | |
| LPTTPOLYGONHEADER :: ^struct { | |
| cb : u32, | |
| dwType : u32, | |
| pfxStart : POINTFX, | |
| }; | |
| GCP_RESULTSA :: struct { | |
| lStructSize : u32, | |
| lpOutString : LPSTR, | |
| lpOrder : ^UINT, | |
| lpDx : ^i32, | |
| lpCaretPos : ^i32, | |
| lpClass : LPSTR, | |
| lpGlyphs : LPWSTR, | |
| nGlyphs : UINT, | |
| nMaxFit : i32, | |
| }; | |
| LPGCP_RESULTSA :: ^struct { | |
| lStructSize : u32, | |
| lpOutString : LPSTR, | |
| lpOrder : ^UINT, | |
| lpDx : ^i32, | |
| lpCaretPos : ^i32, | |
| lpClass : LPSTR, | |
| lpGlyphs : LPWSTR, | |
| nGlyphs : UINT, | |
| nMaxFit : i32, | |
| }; | |
| GCP_RESULTSW :: struct { | |
| lStructSize : u32, | |
| lpOutString : LPWSTR, | |
| lpOrder : ^UINT, | |
| lpDx : ^i32, | |
| lpCaretPos : ^i32, | |
| lpClass : LPSTR, | |
| lpGlyphs : LPWSTR, | |
| nGlyphs : UINT, | |
| nMaxFit : i32, | |
| }; | |
| LPGCP_RESULTSW :: ^struct { | |
| lStructSize : u32, | |
| lpOutString : LPWSTR, | |
| lpOrder : ^UINT, | |
| lpDx : ^i32, | |
| lpCaretPos : ^i32, | |
| lpClass : LPSTR, | |
| lpGlyphs : LPWSTR, | |
| nGlyphs : UINT, | |
| nMaxFit : i32, | |
| }; | |
| GCP_RESULTS :: GCP_RESULTSA; | |
| LPGCP_RESULTS :: LPGCP_RESULTSA; | |
| RASTERIZER_STATUS :: struct { | |
| nSize : i16, | |
| wFlags : i16, | |
| nLanguageID : i16, | |
| }; | |
| LPRASTERIZER_STATUS :: ^struct { | |
| nSize : i16, | |
| wFlags : i16, | |
| nLanguageID : i16, | |
| }; | |
| PIXELFORMATDESCRIPTOR :: struct { | |
| nSize : u16, | |
| nVersion : u16, | |
| dwFlags : u32, | |
| iPixelType : BYTE, | |
| cColorBits : BYTE, | |
| cRedBits : BYTE, | |
| cRedShift : BYTE, | |
| cGreenBits : BYTE, | |
| cGreenShift : BYTE, | |
| cBlueBits : BYTE, | |
| cBlueShift : BYTE, | |
| cAlphaBits : BYTE, | |
| cAlphaShift : BYTE, | |
| cAccumBits : BYTE, | |
| cAccumRedBits : BYTE, | |
| cAccumGreenBits : BYTE, | |
| cAccumBlueBits : BYTE, | |
| cAccumAlphaBits : BYTE, | |
| cDepthBits : BYTE, | |
| cStencilBits : BYTE, | |
| cAuxBuffers : BYTE, | |
| iLayerType : BYTE, | |
| bReserved : BYTE, | |
| dwLayerMask : u32, | |
| dwVisibleMask : u32, | |
| dwDamageMask : u32, | |
| }; | |
| PPIXELFORMATDESCRIPTOR :: ^struct { | |
| nSize : u16, | |
| nVersion : u16, | |
| dwFlags : u32, | |
| iPixelType : BYTE, | |
| cColorBits : BYTE, | |
| cRedBits : BYTE, | |
| cRedShift : BYTE, | |
| cGreenBits : BYTE, | |
| cGreenShift : BYTE, | |
| cBlueBits : BYTE, | |
| cBlueShift : BYTE, | |
| cAlphaBits : BYTE, | |
| cAlphaShift : BYTE, | |
| cAccumBits : BYTE, | |
| cAccumRedBits : BYTE, | |
| cAccumGreenBits : BYTE, | |
| cAccumBlueBits : BYTE, | |
| cAccumAlphaBits : BYTE, | |
| cDepthBits : BYTE, | |
| cStencilBits : BYTE, | |
| cAuxBuffers : BYTE, | |
| iLayerType : BYTE, | |
| bReserved : BYTE, | |
| dwLayerMask : u32, | |
| dwVisibleMask : u32, | |
| dwDamageMask : u32, | |
| }; | |
| LPPIXELFORMATDESCRIPTOR :: ^struct { | |
| nSize : u16, | |
| nVersion : u16, | |
| dwFlags : u32, | |
| iPixelType : BYTE, | |
| cColorBits : BYTE, | |
| cRedBits : BYTE, | |
| cRedShift : BYTE, | |
| cGreenBits : BYTE, | |
| cGreenShift : BYTE, | |
| cBlueBits : BYTE, | |
| cBlueShift : BYTE, | |
| cAlphaBits : BYTE, | |
| cAlphaShift : BYTE, | |
| cAccumBits : BYTE, | |
| cAccumRedBits : BYTE, | |
| cAccumGreenBits : BYTE, | |
| cAccumBlueBits : BYTE, | |
| cAccumAlphaBits : BYTE, | |
| cDepthBits : BYTE, | |
| cStencilBits : BYTE, | |
| cAuxBuffers : BYTE, | |
| iLayerType : BYTE, | |
| bReserved : BYTE, | |
| dwLayerMask : u32, | |
| dwVisibleMask : u32, | |
| dwDamageMask : u32, | |
| }; | |
| OLDFONTENUMPROCA :: (proc(^LOGFONTA, ^TEXTMETRICA, u32, LPARAM) -> i32); | |
| OLDFONTENUMPROCW :: (proc(^LOGFONTW, ^TEXTMETRICW, u32, LPARAM) -> i32); | |
| FONTENUMPROCA :: OLDFONTENUMPROCA; | |
| FONTENUMPROCW :: OLDFONTENUMPROCW; | |
| FONTENUMPROC :: FONTENUMPROCA; | |
| GOBJENUMPROC :: (proc(LPVOID, LPARAM) -> i32); | |
| LINEDDAPROC :: proc(i32, i32, LPARAM); | |
| LPFNDEVMODE :: (proc(HWND, HMODULE, LPDEVMODE, LPSTR, LPSTR, LPDEVMODE, LPSTR, UINT) -> UINT); | |
| LPFNDEVCAPS :: (proc(LPSTR, LPSTR, UINT, LPSTR, LPDEVMODE) -> u32); | |
| WCRANGE :: struct { | |
| wcLow : WCHAR, | |
| cGlyphs : USHORT, | |
| }; | |
| PWCRANGE :: ^struct { | |
| wcLow : WCHAR, | |
| cGlyphs : USHORT, | |
| }; | |
| LPWCRANGE :: ^struct { | |
| wcLow : WCHAR, | |
| cGlyphs : USHORT, | |
| }; | |
| GLYPHSET :: struct { | |
| cbThis : u32, | |
| flAccel : u32, | |
| cGlyphsSupported : u32, | |
| cRanges : u32, | |
| ranges : [1]WCRANGE, | |
| }; | |
| PGLYPHSET :: ^struct { | |
| cbThis : u32, | |
| flAccel : u32, | |
| cGlyphsSupported : u32, | |
| cRanges : u32, | |
| ranges : [1]WCRANGE, | |
| }; | |
| LPGLYPHSET :: ^struct { | |
| cbThis : u32, | |
| flAccel : u32, | |
| cGlyphsSupported : u32, | |
| cRanges : u32, | |
| ranges : [1]WCRANGE, | |
| }; | |
| DESIGNVECTOR :: struct { | |
| dvReserved : u32, | |
| dvNumAxes : u32, | |
| dvValues : [16]LONG, | |
| }; | |
| PDESIGNVECTOR :: ^struct { | |
| dvReserved : u32, | |
| dvNumAxes : u32, | |
| dvValues : [16]LONG, | |
| }; | |
| LPDESIGNVECTOR :: ^struct { | |
| dvReserved : u32, | |
| dvNumAxes : u32, | |
| dvValues : [16]LONG, | |
| }; | |
| AXISINFOA :: struct { | |
| axMinValue : LONG, | |
| axMaxValue : LONG, | |
| axAxisName : [16]BYTE, | |
| }; | |
| PAXISINFOA :: ^struct { | |
| axMinValue : LONG, | |
| axMaxValue : LONG, | |
| axAxisName : [16]BYTE, | |
| }; | |
| LPAXISINFOA :: ^struct { | |
| axMinValue : LONG, | |
| axMaxValue : LONG, | |
| axAxisName : [16]BYTE, | |
| }; | |
| AXISINFOW :: struct { | |
| axMinValue : LONG, | |
| axMaxValue : LONG, | |
| axAxisName : [16]WCHAR, | |
| }; | |
| PAXISINFOW :: ^struct { | |
| axMinValue : LONG, | |
| axMaxValue : LONG, | |
| axAxisName : [16]WCHAR, | |
| }; | |
| LPAXISINFOW :: ^struct { | |
| axMinValue : LONG, | |
| axMaxValue : LONG, | |
| axAxisName : [16]WCHAR, | |
| }; | |
| AXISINFO :: AXISINFOA; | |
| PAXISINFO :: PAXISINFOA; | |
| LPAXISINFO :: LPAXISINFOA; | |
| AXESLISTA :: struct { | |
| axlReserved : u32, | |
| axlNumAxes : u32, | |
| axlAxisInfo : [16]AXISINFOA, | |
| }; | |
| PAXESLISTA :: ^struct { | |
| axlReserved : u32, | |
| axlNumAxes : u32, | |
| axlAxisInfo : [16]AXISINFOA, | |
| }; | |
| LPAXESLISTA :: ^struct { | |
| axlReserved : u32, | |
| axlNumAxes : u32, | |
| axlAxisInfo : [16]AXISINFOA, | |
| }; | |
| AXESLISTW :: struct { | |
| axlReserved : u32, | |
| axlNumAxes : u32, | |
| axlAxisInfo : [16]AXISINFOW, | |
| }; | |
| PAXESLISTW :: ^struct { | |
| axlReserved : u32, | |
| axlNumAxes : u32, | |
| axlAxisInfo : [16]AXISINFOW, | |
| }; | |
| LPAXESLISTW :: ^struct { | |
| axlReserved : u32, | |
| axlNumAxes : u32, | |
| axlAxisInfo : [16]AXISINFOW, | |
| }; | |
| AXESLIST :: AXESLISTA; | |
| PAXESLIST :: PAXESLISTA; | |
| LPAXESLIST :: LPAXESLISTA; | |
| ENUMLOGFONTEXDVA :: struct { | |
| elfEnumLogfontEx : ENUMLOGFONTEXA, | |
| elfDesignVector : DESIGNVECTOR, | |
| }; | |
| PENUMLOGFONTEXDVA :: ^struct { | |
| elfEnumLogfontEx : ENUMLOGFONTEXA, | |
| elfDesignVector : DESIGNVECTOR, | |
| }; | |
| LPENUMLOGFONTEXDVA :: ^struct { | |
| elfEnumLogfontEx : ENUMLOGFONTEXA, | |
| elfDesignVector : DESIGNVECTOR, | |
| }; | |
| ENUMLOGFONTEXDVW :: struct { | |
| elfEnumLogfontEx : ENUMLOGFONTEXW, | |
| elfDesignVector : DESIGNVECTOR, | |
| }; | |
| PENUMLOGFONTEXDVW :: ^struct { | |
| elfEnumLogfontEx : ENUMLOGFONTEXW, | |
| elfDesignVector : DESIGNVECTOR, | |
| }; | |
| LPENUMLOGFONTEXDVW :: ^struct { | |
| elfEnumLogfontEx : ENUMLOGFONTEXW, | |
| elfDesignVector : DESIGNVECTOR, | |
| }; | |
| ENUMLOGFONTEXDV :: ENUMLOGFONTEXDVA; | |
| PENUMLOGFONTEXDV :: PENUMLOGFONTEXDVA; | |
| LPENUMLOGFONTEXDV :: LPENUMLOGFONTEXDVA; | |
| ENUMTEXTMETRICA :: struct { | |
| etmNewTextMetricEx : NEWTEXTMETRICEXA, | |
| etmAxesList : AXESLISTA, | |
| }; | |
| PENUMTEXTMETRICA :: ^struct { | |
| etmNewTextMetricEx : NEWTEXTMETRICEXA, | |
| etmAxesList : AXESLISTA, | |
| }; | |
| LPENUMTEXTMETRICA :: ^struct { | |
| etmNewTextMetricEx : NEWTEXTMETRICEXA, | |
| etmAxesList : AXESLISTA, | |
| }; | |
| ENUMTEXTMETRICW :: struct { | |
| etmNewTextMetricEx : NEWTEXTMETRICEXW, | |
| etmAxesList : AXESLISTW, | |
| }; | |
| PENUMTEXTMETRICW :: ^struct { | |
| etmNewTextMetricEx : NEWTEXTMETRICEXW, | |
| etmAxesList : AXESLISTW, | |
| }; | |
| LPENUMTEXTMETRICW :: ^struct { | |
| etmNewTextMetricEx : NEWTEXTMETRICEXW, | |
| etmAxesList : AXESLISTW, | |
| }; | |
| ENUMTEXTMETRIC :: ENUMTEXTMETRICA; | |
| PENUMTEXTMETRIC :: PENUMTEXTMETRICA; | |
| LPENUMTEXTMETRIC :: LPENUMTEXTMETRICA; | |
| COLOR16 :: USHORT; | |
| TRIVERTEX :: struct { | |
| x : LONG, | |
| y : LONG, | |
| Red : COLOR16, | |
| Green : COLOR16, | |
| Blue : COLOR16, | |
| Alpha : COLOR16, | |
| }; | |
| PTRIVERTEX :: ^struct { | |
| x : LONG, | |
| y : LONG, | |
| Red : COLOR16, | |
| Green : COLOR16, | |
| Blue : COLOR16, | |
| Alpha : COLOR16, | |
| }; | |
| LPTRIVERTEX :: ^struct { | |
| x : LONG, | |
| y : LONG, | |
| Red : COLOR16, | |
| Green : COLOR16, | |
| Blue : COLOR16, | |
| Alpha : COLOR16, | |
| }; | |
| GRADIENT_TRIANGLE :: struct { | |
| Vertex1 : ULONG, | |
| Vertex2 : ULONG, | |
| Vertex3 : ULONG, | |
| }; | |
| PGRADIENT_TRIANGLE :: ^struct { | |
| Vertex1 : ULONG, | |
| Vertex2 : ULONG, | |
| Vertex3 : ULONG, | |
| }; | |
| LPGRADIENT_TRIANGLE :: ^struct { | |
| Vertex1 : ULONG, | |
| Vertex2 : ULONG, | |
| Vertex3 : ULONG, | |
| }; | |
| GRADIENT_RECT :: struct { | |
| UpperLeft : ULONG, | |
| LowerRight : ULONG, | |
| }; | |
| PGRADIENT_RECT :: ^struct { | |
| UpperLeft : ULONG, | |
| LowerRight : ULONG, | |
| }; | |
| LPGRADIENT_RECT :: ^struct { | |
| UpperLeft : ULONG, | |
| LowerRight : ULONG, | |
| }; | |
| BLENDFUNCTION :: struct { | |
| BlendOp : BYTE, | |
| BlendFlags : BYTE, | |
| SourceConstantAlpha : BYTE, | |
| AlphaFormat : BYTE, | |
| }; | |
| PBLENDFUNCTION :: ^struct { | |
| BlendOp : BYTE, | |
| BlendFlags : BYTE, | |
| SourceConstantAlpha : BYTE, | |
| AlphaFormat : BYTE, | |
| }; | |
| MFENUMPROC :: (proc(hdc : HDC, lpht : ^HANDLETABLE, lpMR : ^METARECORD, nObj : i32, param : LPARAM) -> i32); | |
| ENHMFENUMPROC :: (proc(hdc : HDC, lpht : ^HANDLETABLE, lpmr : ^ENHMETARECORD, nHandles : i32, data : LPARAM) -> i32); | |
| DIBSECTION :: struct { | |
| dsBm : BITMAP, | |
| dsBmih : BITMAPINFOHEADER, | |
| dsBitfields : [3]u32, | |
| dshSection : HANDLE, | |
| dsOffset : u32, | |
| }; | |
| LPDIBSECTION :: ^struct { | |
| dsBm : BITMAP, | |
| dsBmih : BITMAPINFOHEADER, | |
| dsBitfields : [3]u32, | |
| dshSection : HANDLE, | |
| dsOffset : u32, | |
| }; | |
| PDIBSECTION :: ^struct { | |
| dsBm : BITMAP, | |
| dsBmih : BITMAPINFOHEADER, | |
| dsBitfields : [3]u32, | |
| dshSection : HANDLE, | |
| dsOffset : u32, | |
| }; | |
| COLORADJUSTMENT :: struct { | |
| caSize : u16, | |
| caFlags : u16, | |
| caIlluminantIndex : u16, | |
| caRedGamma : u16, | |
| caGreenGamma : u16, | |
| caBlueGamma : u16, | |
| caReferenceBlack : u16, | |
| caReferenceWhite : u16, | |
| caContrast : SHORT, | |
| caBrightness : SHORT, | |
| caColorfulness : SHORT, | |
| caRedGreenTint : SHORT, | |
| }; | |
| PCOLORADJUSTMENT :: ^struct { | |
| caSize : u16, | |
| caFlags : u16, | |
| caIlluminantIndex : u16, | |
| caRedGamma : u16, | |
| caGreenGamma : u16, | |
| caBlueGamma : u16, | |
| caReferenceBlack : u16, | |
| caReferenceWhite : u16, | |
| caContrast : SHORT, | |
| caBrightness : SHORT, | |
| caColorfulness : SHORT, | |
| caRedGreenTint : SHORT, | |
| }; | |
| LPCOLORADJUSTMENT :: ^struct { | |
| caSize : u16, | |
| caFlags : u16, | |
| caIlluminantIndex : u16, | |
| caRedGamma : u16, | |
| caGreenGamma : u16, | |
| caBlueGamma : u16, | |
| caReferenceBlack : u16, | |
| caReferenceWhite : u16, | |
| caContrast : SHORT, | |
| caBrightness : SHORT, | |
| caColorfulness : SHORT, | |
| caRedGreenTint : SHORT, | |
| }; | |
| ABORTPROC :: (proc(HDC, i32) -> BOOL); | |
| DOCINFOA :: struct { | |
| cbSize : i32, | |
| lpszDocName : LPCSTR, | |
| lpszOutput : LPCSTR, | |
| lpszDatatype : LPCSTR, | |
| fwType : u32, | |
| }; | |
| LPDOCINFOA :: ^struct { | |
| cbSize : i32, | |
| lpszDocName : LPCSTR, | |
| lpszOutput : LPCSTR, | |
| lpszDatatype : LPCSTR, | |
| fwType : u32, | |
| }; | |
| DOCINFOW :: struct { | |
| cbSize : i32, | |
| lpszDocName : LPCWSTR, | |
| lpszOutput : LPCWSTR, | |
| lpszDatatype : LPCWSTR, | |
| fwType : u32, | |
| }; | |
| LPDOCINFOW :: ^struct { | |
| cbSize : i32, | |
| lpszDocName : LPCWSTR, | |
| lpszOutput : LPCWSTR, | |
| lpszDatatype : LPCWSTR, | |
| fwType : u32, | |
| }; | |
| DOCINFO :: DOCINFOA; | |
| LPDOCINFO :: LPDOCINFOA; | |
| KERNINGPAIR :: struct { | |
| wFirst : u16, | |
| wSecond : u16, | |
| iKernAmount : i32, | |
| }; | |
| LPKERNINGPAIR :: ^struct { | |
| wFirst : u16, | |
| wSecond : u16, | |
| iKernAmount : i32, | |
| }; | |
| ICMENUMPROCA :: (proc(LPSTR, LPARAM) -> i32); | |
| ICMENUMPROCW :: (proc(LPWSTR, LPARAM) -> i32); | |
| EMR :: struct { | |
| iType : u32, | |
| nSize : u32, | |
| }; | |
| PEMR :: ^struct { | |
| iType : u32, | |
| nSize : u32, | |
| }; | |
| EMRTEXT :: struct { | |
| ptlReference : POINTL, | |
| nChars : u32, | |
| offString : u32, | |
| fOptions : u32, | |
| rcl : RECTL, | |
| offDx : u32, | |
| }; | |
| PEMRTEXT :: ^struct { | |
| ptlReference : POINTL, | |
| nChars : u32, | |
| offString : u32, | |
| fOptions : u32, | |
| rcl : RECTL, | |
| offDx : u32, | |
| }; | |
| EMRABORTPATH :: struct { | |
| emr : EMR, | |
| }; | |
| PEMRABORTPATH :: ^struct { | |
| emr : EMR, | |
| }; | |
| EMRBEGINPATH :: struct { | |
| emr : EMR, | |
| }; | |
| PEMRBEGINPATH :: ^struct { | |
| emr : EMR, | |
| }; | |
| EMRENDPATH :: struct { | |
| emr : EMR, | |
| }; | |
| PEMRENDPATH :: ^struct { | |
| emr : EMR, | |
| }; | |
| EMRCLOSEFIGURE :: struct { | |
| emr : EMR, | |
| }; | |
| PEMRCLOSEFIGURE :: ^struct { | |
| emr : EMR, | |
| }; | |
| EMRFLATTENPATH :: struct { | |
| emr : EMR, | |
| }; | |
| PEMRFLATTENPATH :: ^struct { | |
| emr : EMR, | |
| }; | |
| EMRWIDENPATH :: struct { | |
| emr : EMR, | |
| }; | |
| PEMRWIDENPATH :: ^struct { | |
| emr : EMR, | |
| }; | |
| EMRSETMETARGN :: struct { | |
| emr : EMR, | |
| }; | |
| PEMRSETMETARGN :: ^struct { | |
| emr : EMR, | |
| }; | |
| EMRSAVEDC :: struct { | |
| emr : EMR, | |
| }; | |
| PEMRSAVEDC :: ^struct { | |
| emr : EMR, | |
| }; | |
| EMRREALIZEPALETTE :: struct { | |
| emr : EMR, | |
| }; | |
| PEMRREALIZEPALETTE :: ^struct { | |
| emr : EMR, | |
| }; | |
| EMRSELECTCLIPPATH :: struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| PEMRSELECTCLIPPATH :: ^struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| EMRSETBKMODE :: struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| PEMRSETBKMODE :: ^struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| EMRSETMAPMODE :: struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| PEMRSETMAPMODE :: ^struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| EMRSETLAYOUT :: struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| PEMRSETLAYOUT :: ^struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| EMRSETPOLYFILLMODE :: struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| PEMRSETPOLYFILLMODE :: ^struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| EMRSETROP2 :: struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| PEMRSETROP2 :: ^struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| EMRSETSTRETCHBLTMODE :: struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| PEMRSETSTRETCHBLTMODE :: ^struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| EMRSETICMMODE :: struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| PEMRSETICMMODE :: ^struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| EMRSETTEXTALIGN :: struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| PEMRSETTEXTALIGN :: ^struct { | |
| emr : EMR, | |
| iMode : u32, | |
| }; | |
| EMRSETMITERLIMIT :: struct { | |
| emr : EMR, | |
| eMiterLimit : FLOAT, | |
| }; | |
| PEMRSETMITERLIMIT :: ^struct { | |
| emr : EMR, | |
| eMiterLimit : FLOAT, | |
| }; | |
| EMRRESTOREDC :: struct { | |
| emr : EMR, | |
| iRelative : LONG, | |
| }; | |
| PEMRRESTOREDC :: ^struct { | |
| emr : EMR, | |
| iRelative : LONG, | |
| }; | |
| EMRSETARCDIRECTION :: struct { | |
| emr : EMR, | |
| iArcDirection : u32, | |
| }; | |
| PEMRSETARCDIRECTION :: ^struct { | |
| emr : EMR, | |
| iArcDirection : u32, | |
| }; | |
| EMRSETMAPPERFLAGS :: struct { | |
| emr : EMR, | |
| dwFlags : u32, | |
| }; | |
| PEMRSETMAPPERFLAGS :: ^struct { | |
| emr : EMR, | |
| dwFlags : u32, | |
| }; | |
| EMRSETBKCOLOR :: struct { | |
| emr : EMR, | |
| crColor : COLORREF, | |
| }; | |
| PEMRSETBKCOLOR :: ^struct { | |
| emr : EMR, | |
| crColor : COLORREF, | |
| }; | |
| EMRSETTEXTCOLOR :: struct { | |
| emr : EMR, | |
| crColor : COLORREF, | |
| }; | |
| PEMRSETTEXTCOLOR :: ^struct { | |
| emr : EMR, | |
| crColor : COLORREF, | |
| }; | |
| EMRSELECTOBJECT :: struct { | |
| emr : EMR, | |
| ihObject : u32, | |
| }; | |
| PEMRSELECTOBJECT :: ^struct { | |
| emr : EMR, | |
| ihObject : u32, | |
| }; | |
| EMRDELETEOBJECT :: struct { | |
| emr : EMR, | |
| ihObject : u32, | |
| }; | |
| PEMRDELETEOBJECT :: ^struct { | |
| emr : EMR, | |
| ihObject : u32, | |
| }; | |
| EMRSELECTPALETTE :: struct { | |
| emr : EMR, | |
| ihPal : u32, | |
| }; | |
| PEMRSELECTPALETTE :: ^struct { | |
| emr : EMR, | |
| ihPal : u32, | |
| }; | |
| EMRRESIZEPALETTE :: struct { | |
| emr : EMR, | |
| ihPal : u32, | |
| cEntries : u32, | |
| }; | |
| PEMRRESIZEPALETTE :: ^struct { | |
| emr : EMR, | |
| ihPal : u32, | |
| cEntries : u32, | |
| }; | |
| EMRSETPALETTEENTRIES :: struct { | |
| emr : EMR, | |
| ihPal : u32, | |
| iStart : u32, | |
| cEntries : u32, | |
| aPalEntries : [1]PALETTEENTRY, | |
| }; | |
| PEMRSETPALETTEENTRIES :: ^struct { | |
| emr : EMR, | |
| ihPal : u32, | |
| iStart : u32, | |
| cEntries : u32, | |
| aPalEntries : [1]PALETTEENTRY, | |
| }; | |
| EMRSETCOLORADJUSTMENT :: struct { | |
| emr : EMR, | |
| ColorAdjustment : COLORADJUSTMENT, | |
| }; | |
| PEMRSETCOLORADJUSTMENT :: ^struct { | |
| emr : EMR, | |
| ColorAdjustment : COLORADJUSTMENT, | |
| }; | |
| EMRGDICOMMENT :: struct { | |
| emr : EMR, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| PEMRGDICOMMENT :: ^struct { | |
| emr : EMR, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| EMREOF :: struct { | |
| emr : EMR, | |
| nPalEntries : u32, | |
| offPalEntries : u32, | |
| nSizeLast : u32, | |
| }; | |
| PEMREOF :: ^struct { | |
| emr : EMR, | |
| nPalEntries : u32, | |
| offPalEntries : u32, | |
| nSizeLast : u32, | |
| }; | |
| EMRLINETO :: struct { | |
| emr : EMR, | |
| ptl : POINTL, | |
| }; | |
| PEMRLINETO :: ^struct { | |
| emr : EMR, | |
| ptl : POINTL, | |
| }; | |
| EMRMOVETOEX :: struct { | |
| emr : EMR, | |
| ptl : POINTL, | |
| }; | |
| PEMRMOVETOEX :: ^struct { | |
| emr : EMR, | |
| ptl : POINTL, | |
| }; | |
| EMROFFSETCLIPRGN :: struct { | |
| emr : EMR, | |
| ptlOffset : POINTL, | |
| }; | |
| PEMROFFSETCLIPRGN :: ^struct { | |
| emr : EMR, | |
| ptlOffset : POINTL, | |
| }; | |
| EMRFILLPATH :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| }; | |
| PEMRFILLPATH :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| }; | |
| EMRSTROKEANDFILLPATH :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| }; | |
| PEMRSTROKEANDFILLPATH :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| }; | |
| EMRSTROKEPATH :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| }; | |
| PEMRSTROKEPATH :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| }; | |
| EMREXCLUDECLIPRECT :: struct { | |
| emr : EMR, | |
| rclClip : RECTL, | |
| }; | |
| PEMREXCLUDECLIPRECT :: ^struct { | |
| emr : EMR, | |
| rclClip : RECTL, | |
| }; | |
| EMRINTERSECTCLIPRECT :: struct { | |
| emr : EMR, | |
| rclClip : RECTL, | |
| }; | |
| PEMRINTERSECTCLIPRECT :: ^struct { | |
| emr : EMR, | |
| rclClip : RECTL, | |
| }; | |
| EMRSETVIEWPORTORGEX :: struct { | |
| emr : EMR, | |
| ptlOrigin : POINTL, | |
| }; | |
| PEMRSETVIEWPORTORGEX :: ^struct { | |
| emr : EMR, | |
| ptlOrigin : POINTL, | |
| }; | |
| EMRSETWINDOWORGEX :: struct { | |
| emr : EMR, | |
| ptlOrigin : POINTL, | |
| }; | |
| PEMRSETWINDOWORGEX :: ^struct { | |
| emr : EMR, | |
| ptlOrigin : POINTL, | |
| }; | |
| EMRSETBRUSHORGEX :: struct { | |
| emr : EMR, | |
| ptlOrigin : POINTL, | |
| }; | |
| PEMRSETBRUSHORGEX :: ^struct { | |
| emr : EMR, | |
| ptlOrigin : POINTL, | |
| }; | |
| EMRSETVIEWPORTEXTEX :: struct { | |
| emr : EMR, | |
| szlExtent : SIZEL, | |
| }; | |
| PEMRSETVIEWPORTEXTEX :: ^struct { | |
| emr : EMR, | |
| szlExtent : SIZEL, | |
| }; | |
| EMRSETWINDOWEXTEX :: struct { | |
| emr : EMR, | |
| szlExtent : SIZEL, | |
| }; | |
| PEMRSETWINDOWEXTEX :: ^struct { | |
| emr : EMR, | |
| szlExtent : SIZEL, | |
| }; | |
| EMRSCALEVIEWPORTEXTEX :: struct { | |
| emr : EMR, | |
| xNum : LONG, | |
| xDenom : LONG, | |
| yNum : LONG, | |
| yDenom : LONG, | |
| }; | |
| PEMRSCALEVIEWPORTEXTEX :: ^struct { | |
| emr : EMR, | |
| xNum : LONG, | |
| xDenom : LONG, | |
| yNum : LONG, | |
| yDenom : LONG, | |
| }; | |
| EMRSCALEWINDOWEXTEX :: struct { | |
| emr : EMR, | |
| xNum : LONG, | |
| xDenom : LONG, | |
| yNum : LONG, | |
| yDenom : LONG, | |
| }; | |
| PEMRSCALEWINDOWEXTEX :: ^struct { | |
| emr : EMR, | |
| xNum : LONG, | |
| xDenom : LONG, | |
| yNum : LONG, | |
| yDenom : LONG, | |
| }; | |
| EMRSETWORLDTRANSFORM :: struct { | |
| emr : EMR, | |
| xform : XFORM, | |
| }; | |
| PEMRSETWORLDTRANSFORM :: ^struct { | |
| emr : EMR, | |
| xform : XFORM, | |
| }; | |
| EMRMODIFYWORLDTRANSFORM :: struct { | |
| emr : EMR, | |
| xform : XFORM, | |
| iMode : u32, | |
| }; | |
| PEMRMODIFYWORLDTRANSFORM :: ^struct { | |
| emr : EMR, | |
| xform : XFORM, | |
| iMode : u32, | |
| }; | |
| EMRSETPIXELV :: struct { | |
| emr : EMR, | |
| ptlPixel : POINTL, | |
| crColor : COLORREF, | |
| }; | |
| PEMRSETPIXELV :: ^struct { | |
| emr : EMR, | |
| ptlPixel : POINTL, | |
| crColor : COLORREF, | |
| }; | |
| EMREXTFLOODFILL :: struct { | |
| emr : EMR, | |
| ptlStart : POINTL, | |
| crColor : COLORREF, | |
| iMode : u32, | |
| }; | |
| PEMREXTFLOODFILL :: ^struct { | |
| emr : EMR, | |
| ptlStart : POINTL, | |
| crColor : COLORREF, | |
| iMode : u32, | |
| }; | |
| EMRELLIPSE :: struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| }; | |
| PEMRELLIPSE :: ^struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| }; | |
| EMRRECTANGLE :: struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| }; | |
| PEMRRECTANGLE :: ^struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| }; | |
| EMRROUNDRECT :: struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| szlCorner : SIZEL, | |
| }; | |
| PEMRROUNDRECT :: ^struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| szlCorner : SIZEL, | |
| }; | |
| EMRARC :: struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| ptlStart : POINTL, | |
| ptlEnd : POINTL, | |
| }; | |
| PEMRARC :: ^struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| ptlStart : POINTL, | |
| ptlEnd : POINTL, | |
| }; | |
| EMRARCTO :: struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| ptlStart : POINTL, | |
| ptlEnd : POINTL, | |
| }; | |
| PEMRARCTO :: ^struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| ptlStart : POINTL, | |
| ptlEnd : POINTL, | |
| }; | |
| EMRCHORD :: struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| ptlStart : POINTL, | |
| ptlEnd : POINTL, | |
| }; | |
| PEMRCHORD :: ^struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| ptlStart : POINTL, | |
| ptlEnd : POINTL, | |
| }; | |
| EMRPIE :: struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| ptlStart : POINTL, | |
| ptlEnd : POINTL, | |
| }; | |
| PEMRPIE :: ^struct { | |
| emr : EMR, | |
| rclBox : RECTL, | |
| ptlStart : POINTL, | |
| ptlEnd : POINTL, | |
| }; | |
| EMRANGLEARC :: struct { | |
| emr : EMR, | |
| ptlCenter : POINTL, | |
| nRadius : u32, | |
| eStartAngle : FLOAT, | |
| eSweepAngle : FLOAT, | |
| }; | |
| PEMRANGLEARC :: ^struct { | |
| emr : EMR, | |
| ptlCenter : POINTL, | |
| nRadius : u32, | |
| eStartAngle : FLOAT, | |
| eSweepAngle : FLOAT, | |
| }; | |
| EMRPOLYLINE :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| }; | |
| PEMRPOLYLINE :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| }; | |
| EMRPOLYBEZIER :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| }; | |
| PEMRPOLYBEZIER :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| }; | |
| EMRPOLYGON :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| }; | |
| PEMRPOLYGON :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| }; | |
| EMRPOLYBEZIERTO :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| }; | |
| PEMRPOLYBEZIERTO :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| }; | |
| EMRPOLYLINETO :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| }; | |
| PEMRPOLYLINETO :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| }; | |
| EMRPOLYLINE16 :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| }; | |
| PEMRPOLYLINE16 :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| }; | |
| EMRPOLYBEZIER16 :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| }; | |
| PEMRPOLYBEZIER16 :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| }; | |
| EMRPOLYGON16 :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| }; | |
| PEMRPOLYGON16 :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| }; | |
| EMRPOLYBEZIERTO16 :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| }; | |
| PEMRPOLYBEZIERTO16 :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| }; | |
| EMRPOLYLINETO16 :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| }; | |
| PEMRPOLYLINETO16 :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| }; | |
| EMRPOLYDRAW :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| abTypes : [1]BYTE, | |
| }; | |
| PEMRPOLYDRAW :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cptl : u32, | |
| aptl : [1]POINTL, | |
| abTypes : [1]BYTE, | |
| }; | |
| EMRPOLYDRAW16 :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| abTypes : [1]BYTE, | |
| }; | |
| PEMRPOLYDRAW16 :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cpts : u32, | |
| apts : [1]POINTS, | |
| abTypes : [1]BYTE, | |
| }; | |
| EMRPOLYPOLYLINE :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| nPolys : u32, | |
| cptl : u32, | |
| aPolyCounts : [1]u32, | |
| aptl : [1]POINTL, | |
| }; | |
| PEMRPOLYPOLYLINE :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| nPolys : u32, | |
| cptl : u32, | |
| aPolyCounts : [1]u32, | |
| aptl : [1]POINTL, | |
| }; | |
| EMRPOLYPOLYGON :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| nPolys : u32, | |
| cptl : u32, | |
| aPolyCounts : [1]u32, | |
| aptl : [1]POINTL, | |
| }; | |
| PEMRPOLYPOLYGON :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| nPolys : u32, | |
| cptl : u32, | |
| aPolyCounts : [1]u32, | |
| aptl : [1]POINTL, | |
| }; | |
| EMRPOLYPOLYLINE16 :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| nPolys : u32, | |
| cpts : u32, | |
| aPolyCounts : [1]u32, | |
| apts : [1]POINTS, | |
| }; | |
| PEMRPOLYPOLYLINE16 :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| nPolys : u32, | |
| cpts : u32, | |
| aPolyCounts : [1]u32, | |
| apts : [1]POINTS, | |
| }; | |
| EMRPOLYPOLYGON16 :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| nPolys : u32, | |
| cpts : u32, | |
| aPolyCounts : [1]u32, | |
| apts : [1]POINTS, | |
| }; | |
| PEMRPOLYPOLYGON16 :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| nPolys : u32, | |
| cpts : u32, | |
| aPolyCounts : [1]u32, | |
| apts : [1]POINTS, | |
| }; | |
| EMRINVERTRGN :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cbRgnData : u32, | |
| RgnData : [1]BYTE, | |
| }; | |
| PEMRINVERTRGN :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cbRgnData : u32, | |
| RgnData : [1]BYTE, | |
| }; | |
| EMRPAINTRGN :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cbRgnData : u32, | |
| RgnData : [1]BYTE, | |
| }; | |
| PEMRPAINTRGN :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cbRgnData : u32, | |
| RgnData : [1]BYTE, | |
| }; | |
| EMRFILLRGN :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cbRgnData : u32, | |
| ihBrush : u32, | |
| RgnData : [1]BYTE, | |
| }; | |
| PEMRFILLRGN :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cbRgnData : u32, | |
| ihBrush : u32, | |
| RgnData : [1]BYTE, | |
| }; | |
| EMRFRAMERGN :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cbRgnData : u32, | |
| ihBrush : u32, | |
| szlStroke : SIZEL, | |
| RgnData : [1]BYTE, | |
| }; | |
| PEMRFRAMERGN :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cbRgnData : u32, | |
| ihBrush : u32, | |
| szlStroke : SIZEL, | |
| RgnData : [1]BYTE, | |
| }; | |
| EMREXTSELECTCLIPRGN :: struct { | |
| emr : EMR, | |
| cbRgnData : u32, | |
| iMode : u32, | |
| RgnData : [1]BYTE, | |
| }; | |
| PEMREXTSELECTCLIPRGN :: ^struct { | |
| emr : EMR, | |
| cbRgnData : u32, | |
| iMode : u32, | |
| RgnData : [1]BYTE, | |
| }; | |
| EMREXTTEXTOUTA :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| iGraphicsMode : u32, | |
| exScale : FLOAT, | |
| eyScale : FLOAT, | |
| emrtext : EMRTEXT, | |
| }; | |
| PEMREXTTEXTOUTA :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| iGraphicsMode : u32, | |
| exScale : FLOAT, | |
| eyScale : FLOAT, | |
| emrtext : EMRTEXT, | |
| }; | |
| EMREXTTEXTOUTW :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| iGraphicsMode : u32, | |
| exScale : FLOAT, | |
| eyScale : FLOAT, | |
| emrtext : EMRTEXT, | |
| }; | |
| PEMREXTTEXTOUTW :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| iGraphicsMode : u32, | |
| exScale : FLOAT, | |
| eyScale : FLOAT, | |
| emrtext : EMRTEXT, | |
| }; | |
| EMRPOLYTEXTOUTA :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| iGraphicsMode : u32, | |
| exScale : FLOAT, | |
| eyScale : FLOAT, | |
| cStrings : LONG, | |
| aemrtext : [1]EMRTEXT, | |
| }; | |
| PEMRPOLYTEXTOUTA :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| iGraphicsMode : u32, | |
| exScale : FLOAT, | |
| eyScale : FLOAT, | |
| cStrings : LONG, | |
| aemrtext : [1]EMRTEXT, | |
| }; | |
| EMRPOLYTEXTOUTW :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| iGraphicsMode : u32, | |
| exScale : FLOAT, | |
| eyScale : FLOAT, | |
| cStrings : LONG, | |
| aemrtext : [1]EMRTEXT, | |
| }; | |
| PEMRPOLYTEXTOUTW :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| iGraphicsMode : u32, | |
| exScale : FLOAT, | |
| eyScale : FLOAT, | |
| cStrings : LONG, | |
| aemrtext : [1]EMRTEXT, | |
| }; | |
| EMRBITBLT :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| dwRop : u32, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| }; | |
| PEMRBITBLT :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| dwRop : u32, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| }; | |
| EMRSTRETCHBLT :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| dwRop : u32, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| }; | |
| PEMRSTRETCHBLT :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| dwRop : u32, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| }; | |
| EMRMASKBLT :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| dwRop : u32, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| xMask : LONG, | |
| yMask : LONG, | |
| iUsageMask : u32, | |
| offBmiMask : u32, | |
| cbBmiMask : u32, | |
| offBitsMask : u32, | |
| cbBitsMask : u32, | |
| }; | |
| PEMRMASKBLT :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| dwRop : u32, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| xMask : LONG, | |
| yMask : LONG, | |
| iUsageMask : u32, | |
| offBmiMask : u32, | |
| cbBmiMask : u32, | |
| offBitsMask : u32, | |
| cbBitsMask : u32, | |
| }; | |
| EMRPLGBLT :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| aptlDest : [3]POINTL, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| xMask : LONG, | |
| yMask : LONG, | |
| iUsageMask : u32, | |
| offBmiMask : u32, | |
| cbBmiMask : u32, | |
| offBitsMask : u32, | |
| cbBitsMask : u32, | |
| }; | |
| PEMRPLGBLT :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| aptlDest : [3]POINTL, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| xMask : LONG, | |
| yMask : LONG, | |
| iUsageMask : u32, | |
| offBmiMask : u32, | |
| cbBmiMask : u32, | |
| offBitsMask : u32, | |
| cbBitsMask : u32, | |
| }; | |
| EMRSETDIBITSTODEVICE :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| iUsageSrc : u32, | |
| iStartScan : u32, | |
| cScans : u32, | |
| }; | |
| PEMRSETDIBITSTODEVICE :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| iUsageSrc : u32, | |
| iStartScan : u32, | |
| cScans : u32, | |
| }; | |
| EMRSTRETCHDIBITS :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| iUsageSrc : u32, | |
| dwRop : u32, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| }; | |
| PEMRSTRETCHDIBITS :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| iUsageSrc : u32, | |
| dwRop : u32, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| }; | |
| EMREXTCREATEFONTINDIRECTW :: struct { | |
| emr : EMR, | |
| ihFont : u32, | |
| elfw : EXTLOGFONTW, | |
| }; | |
| PEMREXTCREATEFONTINDIRECTW :: ^struct { | |
| emr : EMR, | |
| ihFont : u32, | |
| elfw : EXTLOGFONTW, | |
| }; | |
| EMRCREATEPALETTE :: struct { | |
| emr : EMR, | |
| ihPal : u32, | |
| lgpl : LOGPALETTE, | |
| }; | |
| PEMRCREATEPALETTE :: ^struct { | |
| emr : EMR, | |
| ihPal : u32, | |
| lgpl : LOGPALETTE, | |
| }; | |
| EMRCREATEPEN :: struct { | |
| emr : EMR, | |
| ihPen : u32, | |
| lopn : LOGPEN, | |
| }; | |
| PEMRCREATEPEN :: ^struct { | |
| emr : EMR, | |
| ihPen : u32, | |
| lopn : LOGPEN, | |
| }; | |
| EMREXTCREATEPEN :: struct { | |
| emr : EMR, | |
| ihPen : u32, | |
| offBmi : u32, | |
| cbBmi : u32, | |
| offBits : u32, | |
| cbBits : u32, | |
| elp : EXTLOGPEN32, | |
| }; | |
| PEMREXTCREATEPEN :: ^struct { | |
| emr : EMR, | |
| ihPen : u32, | |
| offBmi : u32, | |
| cbBmi : u32, | |
| offBits : u32, | |
| cbBits : u32, | |
| elp : EXTLOGPEN32, | |
| }; | |
| EMRCREATEBRUSHINDIRECT :: struct { | |
| emr : EMR, | |
| ihBrush : u32, | |
| lb : LOGBRUSH32, | |
| }; | |
| PEMRCREATEBRUSHINDIRECT :: ^struct { | |
| emr : EMR, | |
| ihBrush : u32, | |
| lb : LOGBRUSH32, | |
| }; | |
| EMRCREATEMONOBRUSH :: struct { | |
| emr : EMR, | |
| ihBrush : u32, | |
| iUsage : u32, | |
| offBmi : u32, | |
| cbBmi : u32, | |
| offBits : u32, | |
| cbBits : u32, | |
| }; | |
| PEMRCREATEMONOBRUSH :: ^struct { | |
| emr : EMR, | |
| ihBrush : u32, | |
| iUsage : u32, | |
| offBmi : u32, | |
| cbBmi : u32, | |
| offBits : u32, | |
| cbBits : u32, | |
| }; | |
| EMRCREATEDIBPATTERNBRUSHPT :: struct { | |
| emr : EMR, | |
| ihBrush : u32, | |
| iUsage : u32, | |
| offBmi : u32, | |
| cbBmi : u32, | |
| offBits : u32, | |
| cbBits : u32, | |
| }; | |
| PEMRCREATEDIBPATTERNBRUSHPT :: ^struct { | |
| emr : EMR, | |
| ihBrush : u32, | |
| iUsage : u32, | |
| offBmi : u32, | |
| cbBmi : u32, | |
| offBits : u32, | |
| cbBits : u32, | |
| }; | |
| EMRFORMAT :: struct { | |
| dSignature : u32, | |
| nVersion : u32, | |
| cbData : u32, | |
| offData : u32, | |
| }; | |
| PEMRFORMAT :: ^struct { | |
| dSignature : u32, | |
| nVersion : u32, | |
| cbData : u32, | |
| offData : u32, | |
| }; | |
| EMRGLSRECORD :: struct { | |
| emr : EMR, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| PEMRGLSRECORD :: ^struct { | |
| emr : EMR, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| EMRGLSBOUNDEDRECORD :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| PEMRGLSBOUNDEDRECORD :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| EMRPIXELFORMAT :: struct { | |
| emr : EMR, | |
| pfd : PIXELFORMATDESCRIPTOR, | |
| }; | |
| PEMRPIXELFORMAT :: ^struct { | |
| emr : EMR, | |
| pfd : PIXELFORMATDESCRIPTOR, | |
| }; | |
| EMRCREATECOLORSPACE :: struct { | |
| emr : EMR, | |
| ihCS : u32, | |
| lcs : LOGCOLORSPACEA, | |
| }; | |
| PEMRCREATECOLORSPACE :: ^struct { | |
| emr : EMR, | |
| ihCS : u32, | |
| lcs : LOGCOLORSPACEA, | |
| }; | |
| EMRSETCOLORSPACE :: struct { | |
| emr : EMR, | |
| ihCS : u32, | |
| }; | |
| PEMRSETCOLORSPACE :: ^struct { | |
| emr : EMR, | |
| ihCS : u32, | |
| }; | |
| EMRSELECTCOLORSPACE :: struct { | |
| emr : EMR, | |
| ihCS : u32, | |
| }; | |
| PEMRSELECTCOLORSPACE :: ^struct { | |
| emr : EMR, | |
| ihCS : u32, | |
| }; | |
| EMRDELETECOLORSPACE :: struct { | |
| emr : EMR, | |
| ihCS : u32, | |
| }; | |
| PEMRDELETECOLORSPACE :: ^struct { | |
| emr : EMR, | |
| ihCS : u32, | |
| }; | |
| EMREXTESCAPE :: struct { | |
| emr : EMR, | |
| iEscape : INT, | |
| cbEscData : INT, | |
| EscData : [1]BYTE, | |
| }; | |
| PEMREXTESCAPE :: ^struct { | |
| emr : EMR, | |
| iEscape : INT, | |
| cbEscData : INT, | |
| EscData : [1]BYTE, | |
| }; | |
| EMRDRAWESCAPE :: struct { | |
| emr : EMR, | |
| iEscape : INT, | |
| cbEscData : INT, | |
| EscData : [1]BYTE, | |
| }; | |
| PEMRDRAWESCAPE :: ^struct { | |
| emr : EMR, | |
| iEscape : INT, | |
| cbEscData : INT, | |
| EscData : [1]BYTE, | |
| }; | |
| EMRNAMEDESCAPE :: struct { | |
| emr : EMR, | |
| iEscape : INT, | |
| cbDriver : INT, | |
| cbEscData : INT, | |
| EscData : [1]BYTE, | |
| }; | |
| PEMRNAMEDESCAPE :: ^struct { | |
| emr : EMR, | |
| iEscape : INT, | |
| cbDriver : INT, | |
| cbEscData : INT, | |
| EscData : [1]BYTE, | |
| }; | |
| EMRSETICMPROFILE :: struct { | |
| emr : EMR, | |
| dwFlags : u32, | |
| cbName : u32, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| PEMRSETICMPROFILE :: ^struct { | |
| emr : EMR, | |
| dwFlags : u32, | |
| cbName : u32, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| EMRSETICMPROFILEA :: struct { | |
| emr : EMR, | |
| dwFlags : u32, | |
| cbName : u32, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| PEMRSETICMPROFILEA :: ^struct { | |
| emr : EMR, | |
| dwFlags : u32, | |
| cbName : u32, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| EMRSETICMPROFILEW :: struct { | |
| emr : EMR, | |
| dwFlags : u32, | |
| cbName : u32, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| PEMRSETICMPROFILEW :: ^struct { | |
| emr : EMR, | |
| dwFlags : u32, | |
| cbName : u32, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| EMRCREATECOLORSPACEW :: struct { | |
| emr : EMR, | |
| ihCS : u32, | |
| lcs : LOGCOLORSPACEW, | |
| dwFlags : u32, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| PEMRCREATECOLORSPACEW :: ^struct { | |
| emr : EMR, | |
| ihCS : u32, | |
| lcs : LOGCOLORSPACEW, | |
| dwFlags : u32, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| EMRCOLORMATCHTOTARGET :: struct { | |
| emr : EMR, | |
| dwAction : u32, | |
| dwFlags : u32, | |
| cbName : u32, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| PEMRCOLORMATCHTOTARGET :: ^struct { | |
| emr : EMR, | |
| dwAction : u32, | |
| dwFlags : u32, | |
| cbName : u32, | |
| cbData : u32, | |
| Data : [1]BYTE, | |
| }; | |
| EMRCOLORCORRECTPALETTE :: struct { | |
| emr : EMR, | |
| ihPalette : u32, | |
| nFirstEntry : u32, | |
| nPalEntries : u32, | |
| nReserved : u32, | |
| }; | |
| PEMRCOLORCORRECTPALETTE :: ^struct { | |
| emr : EMR, | |
| ihPalette : u32, | |
| nFirstEntry : u32, | |
| nPalEntries : u32, | |
| nReserved : u32, | |
| }; | |
| EMRALPHABLEND :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| dwRop : u32, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| }; | |
| PEMRALPHABLEND :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| dwRop : u32, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| }; | |
| EMRGRADIENTFILL :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| nVer : u32, | |
| nTri : u32, | |
| ulMode : ULONG, | |
| Ver : [1]TRIVERTEX, | |
| }; | |
| PEMRGRADIENTFILL :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| nVer : u32, | |
| nTri : u32, | |
| ulMode : ULONG, | |
| Ver : [1]TRIVERTEX, | |
| }; | |
| EMRTRANSPARENTBLT :: struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| dwRop : u32, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| }; | |
| PEMRTRANSPARENTBLT :: ^struct { | |
| emr : EMR, | |
| rclBounds : RECTL, | |
| xDest : LONG, | |
| yDest : LONG, | |
| cxDest : LONG, | |
| cyDest : LONG, | |
| dwRop : u32, | |
| xSrc : LONG, | |
| ySrc : LONG, | |
| xformSrc : XFORM, | |
| crBkColorSrc : COLORREF, | |
| iUsageSrc : u32, | |
| offBmiSrc : u32, | |
| cbBmiSrc : u32, | |
| offBitsSrc : u32, | |
| cbBitsSrc : u32, | |
| cxSrc : LONG, | |
| cySrc : LONG, | |
| }; | |
| POINTFLOAT :: struct { | |
| x : FLOAT, | |
| y : FLOAT, | |
| }; | |
| PPOINTFLOAT :: ^struct { | |
| x : FLOAT, | |
| y : FLOAT, | |
| }; | |
| GLYPHMETRICSFLOAT :: struct { | |
| gmfBlackBoxX : FLOAT, | |
| gmfBlackBoxY : FLOAT, | |
| gmfptGlyphOrigin : POINTFLOAT, | |
| gmfCellIncX : FLOAT, | |
| gmfCellIncY : FLOAT, | |
| }; | |
| PGLYPHMETRICSFLOAT :: ^struct { | |
| gmfBlackBoxX : FLOAT, | |
| gmfBlackBoxY : FLOAT, | |
| gmfptGlyphOrigin : POINTFLOAT, | |
| gmfCellIncX : FLOAT, | |
| gmfCellIncY : FLOAT, | |
| }; | |
| LPGLYPHMETRICSFLOAT :: ^struct { | |
| gmfBlackBoxX : FLOAT, | |
| gmfBlackBoxY : FLOAT, | |
| gmfptGlyphOrigin : POINTFLOAT, | |
| gmfCellIncX : FLOAT, | |
| gmfCellIncY : FLOAT, | |
| }; | |
| LAYERPLANEDESCRIPTOR :: struct { | |
| nSize : u16, | |
| nVersion : u16, | |
| dwFlags : u32, | |
| iPixelType : BYTE, | |
| cColorBits : BYTE, | |
| cRedBits : BYTE, | |
| cRedShift : BYTE, | |
| cGreenBits : BYTE, | |
| cGreenShift : BYTE, | |
| cBlueBits : BYTE, | |
| cBlueShift : BYTE, | |
| cAlphaBits : BYTE, | |
| cAlphaShift : BYTE, | |
| cAccumBits : BYTE, | |
| cAccumRedBits : BYTE, | |
| cAccumGreenBits : BYTE, | |
| cAccumBlueBits : BYTE, | |
| cAccumAlphaBits : BYTE, | |
| cDepthBits : BYTE, | |
| cStencilBits : BYTE, | |
| cAuxBuffers : BYTE, | |
| iLayerPlane : BYTE, | |
| bReserved : BYTE, | |
| crTransparent : COLORREF, | |
| }; | |
| PLAYERPLANEDESCRIPTOR :: ^struct { | |
| nSize : u16, | |
| nVersion : u16, | |
| dwFlags : u32, | |
| iPixelType : BYTE, | |
| cColorBits : BYTE, | |
| cRedBits : BYTE, | |
| cRedShift : BYTE, | |
| cGreenBits : BYTE, | |
| cGreenShift : BYTE, | |
| cBlueBits : BYTE, | |
| cBlueShift : BYTE, | |
| cAlphaBits : BYTE, | |
| cAlphaShift : BYTE, | |
| cAccumBits : BYTE, | |
| cAccumRedBits : BYTE, | |
| cAccumGreenBits : BYTE, | |
| cAccumBlueBits : BYTE, | |
| cAccumAlphaBits : BYTE, | |
| cDepthBits : BYTE, | |
| cStencilBits : BYTE, | |
| cAuxBuffers : BYTE, | |
| iLayerPlane : BYTE, | |
| bReserved : BYTE, | |
| crTransparent : COLORREF, | |
| }; | |
| LPLAYERPLANEDESCRIPTOR :: ^struct { | |
| nSize : u16, | |
| nVersion : u16, | |
| dwFlags : u32, | |
| iPixelType : BYTE, | |
| cColorBits : BYTE, | |
| cRedBits : BYTE, | |
| cRedShift : BYTE, | |
| cGreenBits : BYTE, | |
| cGreenShift : BYTE, | |
| cBlueBits : BYTE, | |
| cBlueShift : BYTE, | |
| cAlphaBits : BYTE, | |
| cAlphaShift : BYTE, | |
| cAccumBits : BYTE, | |
| cAccumRedBits : BYTE, | |
| cAccumGreenBits : BYTE, | |
| cAccumBlueBits : BYTE, | |
| cAccumAlphaBits : BYTE, | |
| cDepthBits : BYTE, | |
| cStencilBits : BYTE, | |
| cAuxBuffers : BYTE, | |
| iLayerPlane : BYTE, | |
| bReserved : BYTE, | |
| crTransparent : COLORREF, | |
| }; | |
| WGLSWAP :: struct { | |
| hdc : HDC, | |
| uiFlags : UINT, | |
| }; | |
| PWGLSWAP :: ^struct { | |
| hdc : HDC, | |
| uiFlags : UINT, | |
| }; | |
| LPWGLSWAP :: ^struct { | |
| hdc : HDC, | |
| uiFlags : UINT, | |
| }; | |
| HDWP :: HANDLE; | |
| MENUTEMPLATEA :: void; | |
| MENUTEMPLATEW :: void; | |
| MENUTEMPLATE :: MENUTEMPLATEA; | |
| LPMENUTEMPLATEA :: PVOID; | |
| LPMENUTEMPLATEW :: PVOID; | |
| LPMENUTEMPLATE :: LPMENUTEMPLATEA; | |
| WNDPROC :: (proc(HWND, UINT, WPARAM, LPARAM) -> LRESULT); | |
| DLGPROC :: (proc(HWND, UINT, WPARAM, LPARAM) -> INT_PTR); | |
| TIMERPROC :: proc(HWND, UINT, UINT_PTR, u32); | |
| GRAYSTRINGPROC :: (proc(HDC, LPARAM, i32) -> BOOL); | |
| WNDENUMPROC :: (proc(HWND, LPARAM) -> BOOL); | |
| HOOKPROC :: (proc(code : i32, wParam : WPARAM, lParam : LPARAM) -> LRESULT); | |
| SENDASYNCPROC :: proc(HWND, UINT, ULONG_PTR, LRESULT); | |
| PROPENUMPROCA :: (proc(HWND, LPCSTR, HANDLE) -> BOOL); | |
| PROPENUMPROCW :: (proc(HWND, LPCWSTR, HANDLE) -> BOOL); | |
| PROPENUMPROCEXA :: (proc(HWND, LPSTR, HANDLE, ULONG_PTR) -> BOOL); | |
| PROPENUMPROCEXW :: (proc(HWND, LPWSTR, HANDLE, ULONG_PTR) -> BOOL); | |
| EDITWORDBREAKPROCA :: (proc(lpch : LPSTR, ichCurrent : i32, cch : i32, code : i32) -> i32); | |
| EDITWORDBREAKPROCW :: (proc(lpch : LPWSTR, ichCurrent : i32, cch : i32, code : i32) -> i32); | |
| DRAWSTATEPROC :: (proc(hdc : HDC, lData : LPARAM, wData : WPARAM, cx : i32, cy : i32) -> BOOL); | |
| PROPENUMPROC :: PROPENUMPROCA; | |
| PROPENUMPROCEX :: PROPENUMPROCEXA; | |
| EDITWORDBREAKPROC :: EDITWORDBREAKPROCA; | |
| NAMEENUMPROCA :: (proc(LPSTR, LPARAM) -> BOOL); | |
| NAMEENUMPROCW :: (proc(LPWSTR, LPARAM) -> BOOL); | |
| WINSTAENUMPROCA :: NAMEENUMPROCA; | |
| DESKTOPENUMPROCA :: NAMEENUMPROCA; | |
| WINSTAENUMPROCW :: NAMEENUMPROCW; | |
| DESKTOPENUMPROCW :: NAMEENUMPROCW; | |
| WINSTAENUMPROC :: WINSTAENUMPROCA; | |
| DESKTOPENUMPROC :: DESKTOPENUMPROCA; | |
| CBT_CREATEWNDA :: struct { | |
| lpcs : ^CREATESTRUCTA, | |
| hwndInsertAfter : HWND, | |
| }; | |
| LPCBT_CREATEWNDA :: ^struct { | |
| lpcs : ^CREATESTRUCTA, | |
| hwndInsertAfter : HWND, | |
| }; | |
| CBT_CREATEWNDW :: struct { | |
| lpcs : ^CREATESTRUCTW, | |
| hwndInsertAfter : HWND, | |
| }; | |
| LPCBT_CREATEWNDW :: ^struct { | |
| lpcs : ^CREATESTRUCTW, | |
| hwndInsertAfter : HWND, | |
| }; | |
| CBT_CREATEWND :: CBT_CREATEWNDA; | |
| LPCBT_CREATEWND :: LPCBT_CREATEWNDA; | |
| CBTACTIVATESTRUCT :: struct { | |
| fMouse : BOOL, | |
| hWndActive : HWND, | |
| }; | |
| LPCBTACTIVATESTRUCT :: ^struct { | |
| fMouse : BOOL, | |
| hWndActive : HWND, | |
| }; | |
| WTSSESSION_NOTIFICATION :: struct { | |
| cbSize : u32, | |
| dwSessionId : u32, | |
| }; | |
| PWTSSESSION_NOTIFICATION :: ^struct { | |
| cbSize : u32, | |
| dwSessionId : u32, | |
| }; | |
| SHELLHOOKINFO :: struct { | |
| hwnd : HWND, | |
| rc : RECT, | |
| }; | |
| LPSHELLHOOKINFO :: ^struct { | |
| hwnd : HWND, | |
| rc : RECT, | |
| }; | |
| EVENTMSG :: struct { | |
| message : UINT, | |
| paramL : UINT, | |
| paramH : UINT, | |
| time : u32, | |
| hwnd : HWND, | |
| }; | |
| PEVENTMSGMSG :: ^struct { | |
| message : UINT, | |
| paramL : UINT, | |
| paramH : UINT, | |
| time : u32, | |
| hwnd : HWND, | |
| }; | |
| NPEVENTMSGMSG :: ^struct { | |
| message : UINT, | |
| paramL : UINT, | |
| paramH : UINT, | |
| time : u32, | |
| hwnd : HWND, | |
| }; | |
| LPEVENTMSGMSG :: ^struct { | |
| message : UINT, | |
| paramL : UINT, | |
| paramH : UINT, | |
| time : u32, | |
| hwnd : HWND, | |
| }; | |
| PEVENTMSG :: ^EVENTMSG; | |
| NPEVENTMSG :: ^EVENTMSG; | |
| LPEVENTMSG :: ^EVENTMSG; | |
| CWPSTRUCT :: struct { | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| message : UINT, | |
| hwnd : HWND, | |
| }; | |
| PCWPSTRUCT :: ^struct { | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| message : UINT, | |
| hwnd : HWND, | |
| }; | |
| NPCWPSTRUCT :: ^struct { | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| message : UINT, | |
| hwnd : HWND, | |
| }; | |
| LPCWPSTRUCT :: ^struct { | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| message : UINT, | |
| hwnd : HWND, | |
| }; | |
| CWPRETSTRUCT :: struct { | |
| lResult : LRESULT, | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| message : UINT, | |
| hwnd : HWND, | |
| }; | |
| PCWPRETSTRUCT :: ^struct { | |
| lResult : LRESULT, | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| message : UINT, | |
| hwnd : HWND, | |
| }; | |
| NPCWPRETSTRUCT :: ^struct { | |
| lResult : LRESULT, | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| message : UINT, | |
| hwnd : HWND, | |
| }; | |
| LPCWPRETSTRUCT :: ^struct { | |
| lResult : LRESULT, | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| message : UINT, | |
| hwnd : HWND, | |
| }; | |
| KBDLLHOOKSTRUCT :: struct { | |
| vkCode : u32, | |
| scanCode : u32, | |
| flags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| LPKBDLLHOOKSTRUCT :: ^struct { | |
| vkCode : u32, | |
| scanCode : u32, | |
| flags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| PKBDLLHOOKSTRUCT :: ^struct { | |
| vkCode : u32, | |
| scanCode : u32, | |
| flags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| MSLLHOOKSTRUCT :: struct { | |
| pt : POINT, | |
| mouseData : u32, | |
| flags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| LPMSLLHOOKSTRUCT :: ^struct { | |
| pt : POINT, | |
| mouseData : u32, | |
| flags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| PMSLLHOOKSTRUCT :: ^struct { | |
| pt : POINT, | |
| mouseData : u32, | |
| flags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| DEBUGHOOKINFO :: struct { | |
| idThread : u32, | |
| idThreadInstaller : u32, | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| code : i32, | |
| }; | |
| PDEBUGHOOKINFO :: ^struct { | |
| idThread : u32, | |
| idThreadInstaller : u32, | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| code : i32, | |
| }; | |
| NPDEBUGHOOKINFO :: ^struct { | |
| idThread : u32, | |
| idThreadInstaller : u32, | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| code : i32, | |
| }; | |
| LPDEBUGHOOKINFO :: ^struct { | |
| idThread : u32, | |
| idThreadInstaller : u32, | |
| lParam : LPARAM, | |
| wParam : WPARAM, | |
| code : i32, | |
| }; | |
| MOUSEHOOKSTRUCT :: struct { | |
| pt : POINT, | |
| hwnd : HWND, | |
| wHitTestCode : UINT, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| LPMOUSEHOOKSTRUCT :: ^struct { | |
| pt : POINT, | |
| hwnd : HWND, | |
| wHitTestCode : UINT, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| PMOUSEHOOKSTRUCT :: ^struct { | |
| pt : POINT, | |
| hwnd : HWND, | |
| wHitTestCode : UINT, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| MOUSEHOOKSTRUCTEX :: struct { | |
| s : MOUSEHOOKSTRUCT, | |
| mouseData : u32, | |
| }; | |
| LPMOUSEHOOKSTRUCTEX :: ^struct { | |
| s : MOUSEHOOKSTRUCT, | |
| mouseData : u32, | |
| }; | |
| PMOUSEHOOKSTRUCTEX :: ^struct { | |
| s : MOUSEHOOKSTRUCT, | |
| mouseData : u32, | |
| }; | |
| HARDWAREHOOKSTRUCT :: struct { | |
| hwnd : HWND, | |
| message : UINT, | |
| wParam : WPARAM, | |
| lParam : LPARAM, | |
| }; | |
| LPHARDWAREHOOKSTRUCT :: ^struct { | |
| hwnd : HWND, | |
| message : UINT, | |
| wParam : WPARAM, | |
| lParam : LPARAM, | |
| }; | |
| PHARDWAREHOOKSTRUCT :: ^struct { | |
| hwnd : HWND, | |
| message : UINT, | |
| wParam : WPARAM, | |
| lParam : LPARAM, | |
| }; | |
| MOUSEMOVEPOINT :: struct { | |
| x : i32, | |
| y : i32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| PMOUSEMOVEPOINT :: ^struct { | |
| x : i32, | |
| y : i32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| LPMOUSEMOVEPOINT :: ^struct { | |
| x : i32, | |
| y : i32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| USEROBJECTFLAGS :: struct { | |
| fInherit : BOOL, | |
| fReserved : BOOL, | |
| dwFlags : u32, | |
| }; | |
| PUSEROBJECTFLAGS :: ^struct { | |
| fInherit : BOOL, | |
| fReserved : BOOL, | |
| dwFlags : u32, | |
| }; | |
| WNDCLASSEXA :: struct { | |
| cbSize : UINT, | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCSTR, | |
| lpszClassName : LPCSTR, | |
| hIconSm : HICON, | |
| }; | |
| PWNDCLASSEXA :: ^struct { | |
| cbSize : UINT, | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCSTR, | |
| lpszClassName : LPCSTR, | |
| hIconSm : HICON, | |
| }; | |
| NPWNDCLASSEXA :: ^struct { | |
| cbSize : UINT, | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCSTR, | |
| lpszClassName : LPCSTR, | |
| hIconSm : HICON, | |
| }; | |
| LPWNDCLASSEXA :: ^struct { | |
| cbSize : UINT, | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCSTR, | |
| lpszClassName : LPCSTR, | |
| hIconSm : HICON, | |
| }; | |
| WNDCLASSEXW :: struct { | |
| cbSize : UINT, | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCWSTR, | |
| lpszClassName : LPCWSTR, | |
| hIconSm : HICON, | |
| }; | |
| PWNDCLASSEXW :: ^struct { | |
| cbSize : UINT, | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCWSTR, | |
| lpszClassName : LPCWSTR, | |
| hIconSm : HICON, | |
| }; | |
| NPWNDCLASSEXW :: ^struct { | |
| cbSize : UINT, | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCWSTR, | |
| lpszClassName : LPCWSTR, | |
| hIconSm : HICON, | |
| }; | |
| LPWNDCLASSEXW :: ^struct { | |
| cbSize : UINT, | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCWSTR, | |
| lpszClassName : LPCWSTR, | |
| hIconSm : HICON, | |
| }; | |
| WNDCLASSEX :: WNDCLASSEXA; | |
| PWNDCLASSEX :: PWNDCLASSEXA; | |
| NPWNDCLASSEX :: NPWNDCLASSEXA; | |
| LPWNDCLASSEX :: LPWNDCLASSEXA; | |
| WNDCLASSA :: struct { | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCSTR, | |
| lpszClassName : LPCSTR, | |
| }; | |
| PWNDCLASSA :: ^struct { | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCSTR, | |
| lpszClassName : LPCSTR, | |
| }; | |
| NPWNDCLASSA :: ^struct { | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCSTR, | |
| lpszClassName : LPCSTR, | |
| }; | |
| LPWNDCLASSA :: ^struct { | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCSTR, | |
| lpszClassName : LPCSTR, | |
| }; | |
| WNDCLASSW :: struct { | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCWSTR, | |
| lpszClassName : LPCWSTR, | |
| }; | |
| PWNDCLASSW :: ^struct { | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCWSTR, | |
| lpszClassName : LPCWSTR, | |
| }; | |
| NPWNDCLASSW :: ^struct { | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCWSTR, | |
| lpszClassName : LPCWSTR, | |
| }; | |
| LPWNDCLASSW :: ^struct { | |
| style : UINT, | |
| lpfnWndProc : WNDPROC, | |
| cbClsExtra : i32, | |
| cbWndExtra : i32, | |
| hInstance : HINSTANCE, | |
| hIcon : HICON, | |
| hCursor : HCURSOR, | |
| hbrBackground : HBRUSH, | |
| lpszMenuName : LPCWSTR, | |
| lpszClassName : LPCWSTR, | |
| }; | |
| WNDCLASS :: WNDCLASSA; | |
| PWNDCLASS :: PWNDCLASSA; | |
| NPWNDCLASS :: NPWNDCLASSA; | |
| LPWNDCLASS :: LPWNDCLASSA; | |
| MSG :: struct { | |
| hwnd : HWND, | |
| message : UINT, | |
| wParam : WPARAM, | |
| lParam : LPARAM, | |
| time : u32, | |
| pt : POINT, | |
| }; | |
| PMSG :: ^struct { | |
| hwnd : HWND, | |
| message : UINT, | |
| wParam : WPARAM, | |
| lParam : LPARAM, | |
| time : u32, | |
| pt : POINT, | |
| }; | |
| NPMSG :: ^struct { | |
| hwnd : HWND, | |
| message : UINT, | |
| wParam : WPARAM, | |
| lParam : LPARAM, | |
| time : u32, | |
| pt : POINT, | |
| }; | |
| LPMSG :: ^struct { | |
| hwnd : HWND, | |
| message : UINT, | |
| wParam : WPARAM, | |
| lParam : LPARAM, | |
| time : u32, | |
| pt : POINT, | |
| }; | |
| MINMAXINFO :: struct { | |
| ptReserved : POINT, | |
| ptMaxSize : POINT, | |
| ptMaxPosition : POINT, | |
| ptMinTrackSize : POINT, | |
| ptMaxTrackSize : POINT, | |
| }; | |
| PMINMAXINFO :: ^struct { | |
| ptReserved : POINT, | |
| ptMaxSize : POINT, | |
| ptMaxPosition : POINT, | |
| ptMinTrackSize : POINT, | |
| ptMaxTrackSize : POINT, | |
| }; | |
| LPMINMAXINFO :: ^struct { | |
| ptReserved : POINT, | |
| ptMaxSize : POINT, | |
| ptMaxPosition : POINT, | |
| ptMinTrackSize : POINT, | |
| ptMaxTrackSize : POINT, | |
| }; | |
| COPYDATASTRUCT :: struct { | |
| dwData : ULONG_PTR, | |
| cbData : u32, | |
| lpData : PVOID, | |
| }; | |
| PCOPYDATASTRUCT :: ^struct { | |
| dwData : ULONG_PTR, | |
| cbData : u32, | |
| lpData : PVOID, | |
| }; | |
| MDINEXTMENU :: struct { | |
| hmenuIn : HMENU, | |
| hmenuNext : HMENU, | |
| hwndNext : HWND, | |
| }; | |
| PMDINEXTMENU :: ^struct { | |
| hmenuIn : HMENU, | |
| hmenuNext : HMENU, | |
| hwndNext : HWND, | |
| }; | |
| LPMDINEXTMENU :: ^struct { | |
| hmenuIn : HMENU, | |
| hmenuNext : HMENU, | |
| hwndNext : HWND, | |
| }; | |
| POWERBROADCAST_SETTING :: struct { | |
| PowerSetting : GUID, | |
| DataLength : u32, | |
| Data : [1]UCHAR, | |
| }; | |
| PPOWERBROADCAST_SETTING :: ^struct { | |
| PowerSetting : GUID, | |
| DataLength : u32, | |
| Data : [1]UCHAR, | |
| }; | |
| WINDOWPOS :: struct { | |
| hwnd : HWND, | |
| hwndInsertAfter : HWND, | |
| x : i32, | |
| y : i32, | |
| cx : i32, | |
| cy : i32, | |
| flags : UINT, | |
| }; | |
| LPWINDOWPOS :: ^struct { | |
| hwnd : HWND, | |
| hwndInsertAfter : HWND, | |
| x : i32, | |
| y : i32, | |
| cx : i32, | |
| cy : i32, | |
| flags : UINT, | |
| }; | |
| PWINDOWPOS :: ^struct { | |
| hwnd : HWND, | |
| hwndInsertAfter : HWND, | |
| x : i32, | |
| y : i32, | |
| cx : i32, | |
| cy : i32, | |
| flags : UINT, | |
| }; | |
| NCCALCSIZE_PARAMS :: struct { | |
| rgrc : [3]RECT, | |
| lppos : PWINDOWPOS, | |
| }; | |
| LPNCCALCSIZE_PARAMS :: ^struct { | |
| rgrc : [3]RECT, | |
| lppos : PWINDOWPOS, | |
| }; | |
| TRACKMOUSEEVENT :: struct { | |
| cbSize : u32, | |
| dwFlags : u32, | |
| hwndTrack : HWND, | |
| dwHoverTime : u32, | |
| }; | |
| LPTRACKMOUSEEVENT :: ^struct { | |
| cbSize : u32, | |
| dwFlags : u32, | |
| hwndTrack : HWND, | |
| dwHoverTime : u32, | |
| }; | |
| ACCEL :: struct { | |
| fVirt : BYTE, | |
| key : u16, | |
| cmd : u16, | |
| }; | |
| LPACCEL :: ^struct { | |
| fVirt : BYTE, | |
| key : u16, | |
| cmd : u16, | |
| }; | |
| PAINTSTRUCT :: struct { | |
| hdc : HDC, | |
| fErase : BOOL, | |
| rcPaint : RECT, | |
| fRestore : BOOL, | |
| fIncUpdate : BOOL, | |
| rgbReserved : [32]BYTE, | |
| }; | |
| PPAINTSTRUCT :: ^struct { | |
| hdc : HDC, | |
| fErase : BOOL, | |
| rcPaint : RECT, | |
| fRestore : BOOL, | |
| fIncUpdate : BOOL, | |
| rgbReserved : [32]BYTE, | |
| }; | |
| NPPAINTSTRUCT :: ^struct { | |
| hdc : HDC, | |
| fErase : BOOL, | |
| rcPaint : RECT, | |
| fRestore : BOOL, | |
| fIncUpdate : BOOL, | |
| rgbReserved : [32]BYTE, | |
| }; | |
| LPPAINTSTRUCT :: ^struct { | |
| hdc : HDC, | |
| fErase : BOOL, | |
| rcPaint : RECT, | |
| fRestore : BOOL, | |
| fIncUpdate : BOOL, | |
| rgbReserved : [32]BYTE, | |
| }; | |
| CREATESTRUCTA :: struct { | |
| lpCreateParams : LPVOID, | |
| hInstance : HINSTANCE, | |
| hMenu : HMENU, | |
| hwndParent : HWND, | |
| cy : i32, | |
| cx : i32, | |
| y : i32, | |
| x : i32, | |
| style : LONG, | |
| lpszName : LPCSTR, | |
| lpszClass : LPCSTR, | |
| dwExStyle : u32, | |
| }; | |
| LPCREATESTRUCTA :: ^struct { | |
| lpCreateParams : LPVOID, | |
| hInstance : HINSTANCE, | |
| hMenu : HMENU, | |
| hwndParent : HWND, | |
| cy : i32, | |
| cx : i32, | |
| y : i32, | |
| x : i32, | |
| style : LONG, | |
| lpszName : LPCSTR, | |
| lpszClass : LPCSTR, | |
| dwExStyle : u32, | |
| }; | |
| CREATESTRUCTW :: struct { | |
| lpCreateParams : LPVOID, | |
| hInstance : HINSTANCE, | |
| hMenu : HMENU, | |
| hwndParent : HWND, | |
| cy : i32, | |
| cx : i32, | |
| y : i32, | |
| x : i32, | |
| style : LONG, | |
| lpszName : LPCWSTR, | |
| lpszClass : LPCWSTR, | |
| dwExStyle : u32, | |
| }; | |
| LPCREATESTRUCTW :: ^struct { | |
| lpCreateParams : LPVOID, | |
| hInstance : HINSTANCE, | |
| hMenu : HMENU, | |
| hwndParent : HWND, | |
| cy : i32, | |
| cx : i32, | |
| y : i32, | |
| x : i32, | |
| style : LONG, | |
| lpszName : LPCWSTR, | |
| lpszClass : LPCWSTR, | |
| dwExStyle : u32, | |
| }; | |
| CREATESTRUCT :: CREATESTRUCTA; | |
| LPCREATESTRUCT :: LPCREATESTRUCTA; | |
| WINDOWPLACEMENT :: struct { | |
| length : UINT, | |
| flags : UINT, | |
| showCmd : UINT, | |
| ptMinPosition : POINT, | |
| ptMaxPosition : POINT, | |
| rcNormalPosition : RECT, | |
| }; | |
| PWINDOWPLACEMENT :: ^WINDOWPLACEMENT; | |
| LPWINDOWPLACEMENT :: ^WINDOWPLACEMENT; | |
| NMHDR :: struct { | |
| hwndFrom : HWND, | |
| idFrom : UINT_PTR, | |
| code : UINT, | |
| }; | |
| LPNMHDR :: ^NMHDR; | |
| STYLESTRUCT :: struct { | |
| styleOld : u32, | |
| styleNew : u32, | |
| }; | |
| LPSTYLESTRUCT :: ^struct { | |
| styleOld : u32, | |
| styleNew : u32, | |
| }; | |
| MEASUREITEMSTRUCT :: struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| itemID : UINT, | |
| itemWidth : UINT, | |
| itemHeight : UINT, | |
| itemData : ULONG_PTR, | |
| }; | |
| PMEASUREITEMSTRUCT :: ^struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| itemID : UINT, | |
| itemWidth : UINT, | |
| itemHeight : UINT, | |
| itemData : ULONG_PTR, | |
| }; | |
| LPMEASUREITEMSTRUCT :: ^struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| itemID : UINT, | |
| itemWidth : UINT, | |
| itemHeight : UINT, | |
| itemData : ULONG_PTR, | |
| }; | |
| DRAWITEMSTRUCT :: struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| itemID : UINT, | |
| itemAction : UINT, | |
| itemState : UINT, | |
| hwndItem : HWND, | |
| hDC : HDC, | |
| rcItem : RECT, | |
| itemData : ULONG_PTR, | |
| }; | |
| PDRAWITEMSTRUCT :: ^struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| itemID : UINT, | |
| itemAction : UINT, | |
| itemState : UINT, | |
| hwndItem : HWND, | |
| hDC : HDC, | |
| rcItem : RECT, | |
| itemData : ULONG_PTR, | |
| }; | |
| LPDRAWITEMSTRUCT :: ^struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| itemID : UINT, | |
| itemAction : UINT, | |
| itemState : UINT, | |
| hwndItem : HWND, | |
| hDC : HDC, | |
| rcItem : RECT, | |
| itemData : ULONG_PTR, | |
| }; | |
| DELETEITEMSTRUCT :: struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| itemID : UINT, | |
| hwndItem : HWND, | |
| itemData : ULONG_PTR, | |
| }; | |
| PDELETEITEMSTRUCT :: ^struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| itemID : UINT, | |
| hwndItem : HWND, | |
| itemData : ULONG_PTR, | |
| }; | |
| LPDELETEITEMSTRUCT :: ^struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| itemID : UINT, | |
| hwndItem : HWND, | |
| itemData : ULONG_PTR, | |
| }; | |
| COMPAREITEMSTRUCT :: struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| hwndItem : HWND, | |
| itemID1 : UINT, | |
| itemData1 : ULONG_PTR, | |
| itemID2 : UINT, | |
| itemData2 : ULONG_PTR, | |
| dwLocaleId : u32, | |
| }; | |
| PCOMPAREITEMSTRUCT :: ^struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| hwndItem : HWND, | |
| itemID1 : UINT, | |
| itemData1 : ULONG_PTR, | |
| itemID2 : UINT, | |
| itemData2 : ULONG_PTR, | |
| dwLocaleId : u32, | |
| }; | |
| LPCOMPAREITEMSTRUCT :: ^struct { | |
| CtlType : UINT, | |
| CtlID : UINT, | |
| hwndItem : HWND, | |
| itemID1 : UINT, | |
| itemData1 : ULONG_PTR, | |
| itemID2 : UINT, | |
| itemData2 : ULONG_PTR, | |
| dwLocaleId : u32, | |
| }; | |
| BSMINFO :: struct { | |
| cbSize : UINT, | |
| hdesk : HDESK, | |
| hwnd : HWND, | |
| luid : LUID, | |
| }; | |
| PBSMINFO :: ^struct { | |
| cbSize : UINT, | |
| hdesk : HDESK, | |
| hwnd : HWND, | |
| luid : LUID, | |
| }; | |
| HDEVNOTIFY :: PVOID; | |
| PHDEVNOTIFY :: ^HDEVNOTIFY; | |
| HPOWERNOTIFY :: PVOID; | |
| PHPOWERNOTIFY :: ^HPOWERNOTIFY; | |
| PREGISTERCLASSNAMEW :: (proc(LPCWSTR) -> BOOLEAN); | |
| UPDATELAYEREDWINDOWINFO :: struct { | |
| cbSize : u32, | |
| hdcDst : HDC, | |
| pptDst : ^POINT, | |
| psize : ^SIZE, | |
| hdcSrc : HDC, | |
| pptSrc : ^POINT, | |
| crKey : COLORREF, | |
| pblend : ^BLENDFUNCTION, | |
| dwFlags : u32, | |
| prcDirty : ^RECT, | |
| }; | |
| PUPDATELAYEREDWINDOWINFO :: ^struct { | |
| cbSize : u32, | |
| hdcDst : HDC, | |
| pptDst : ^POINT, | |
| psize : ^SIZE, | |
| hdcSrc : HDC, | |
| pptSrc : ^POINT, | |
| crKey : COLORREF, | |
| pblend : ^BLENDFUNCTION, | |
| dwFlags : u32, | |
| prcDirty : ^RECT, | |
| }; | |
| FLASHWINFO :: struct { | |
| cbSize : UINT, | |
| hwnd : HWND, | |
| dwFlags : u32, | |
| uCount : UINT, | |
| dwTimeout : u32, | |
| }; | |
| PFLASHWINFO :: ^struct { | |
| cbSize : UINT, | |
| hwnd : HWND, | |
| dwFlags : u32, | |
| uCount : UINT, | |
| dwTimeout : u32, | |
| }; | |
| DLGTEMPLATE :: struct { | |
| style : u32, | |
| dwExtendedStyle : u32, | |
| cdit : u16, | |
| x : i16, | |
| y : i16, | |
| cx : i16, | |
| cy : i16, | |
| }; | |
| LPDLGTEMPLATEA :: ^DLGTEMPLATE; | |
| LPDLGTEMPLATEW :: ^DLGTEMPLATE; | |
| LPDLGTEMPLATE :: LPDLGTEMPLATEA; | |
| LPCDLGTEMPLATEA :: ^DLGTEMPLATE; | |
| LPCDLGTEMPLATEW :: ^DLGTEMPLATE; | |
| LPCDLGTEMPLATE :: LPCDLGTEMPLATEA; | |
| DLGITEMTEMPLATE :: struct { | |
| style : u32, | |
| dwExtendedStyle : u32, | |
| x : i16, | |
| y : i16, | |
| cx : i16, | |
| cy : i16, | |
| id : u16, | |
| }; | |
| PDLGITEMTEMPLATEA :: ^DLGITEMTEMPLATE; | |
| PDLGITEMTEMPLATEW :: ^DLGITEMTEMPLATE; | |
| PDLGITEMTEMPLATE :: PDLGITEMTEMPLATEA; | |
| LPDLGITEMTEMPLATEA :: ^DLGITEMTEMPLATE; | |
| LPDLGITEMTEMPLATEW :: ^DLGITEMTEMPLATE; | |
| LPDLGITEMTEMPLATE :: LPDLGITEMTEMPLATEA; | |
| DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS :: enum { | |
| DCDC_DEFAULT = 0x0000, | |
| DCDC_DISABLE_FONT_UPDATE = 0x0001, | |
| DCDC_DISABLE_RELAYOUT = 0x0002, | |
| }; | |
| DIALOG_DPI_CHANGE_BEHAVIORS :: enum { | |
| DDC_DEFAULT = 0x0000, | |
| DDC_DISABLE_ALL = 0x0001, | |
| DDC_DISABLE_RESIZE = 0x0002, | |
| DDC_DISABLE_CONTROL_RELAYOUT = 0x0004, | |
| }; | |
| MOUSEINPUT :: struct { | |
| dx : LONG, | |
| dy : LONG, | |
| mouseData : u32, | |
| dwFlags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| PMOUSEINPUT :: ^struct { | |
| dx : LONG, | |
| dy : LONG, | |
| mouseData : u32, | |
| dwFlags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| LPMOUSEINPUT :: ^struct { | |
| dx : LONG, | |
| dy : LONG, | |
| mouseData : u32, | |
| dwFlags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| KEYBDINPUT :: struct { | |
| wVk : u16, | |
| wScan : u16, | |
| dwFlags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| PKEYBDINPUT :: ^struct { | |
| wVk : u16, | |
| wScan : u16, | |
| dwFlags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| LPKEYBDINPUT :: ^struct { | |
| wVk : u16, | |
| wScan : u16, | |
| dwFlags : u32, | |
| time : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| }; | |
| HARDWAREINPUT :: struct { | |
| uMsg : u32, | |
| wParamL : u16, | |
| wParamH : u16, | |
| }; | |
| PHARDWAREINPUT :: ^struct { | |
| uMsg : u32, | |
| wParamL : u16, | |
| wParamH : u16, | |
| }; | |
| LPHARDWAREINPUT :: ^struct { | |
| uMsg : u32, | |
| wParamL : u16, | |
| wParamH : u16, | |
| }; | |
| INPUT :: struct { | |
| kind : u32, | |
| u : struct #raw_union { | |
| mi : MOUSEINPUT, | |
| ki : KEYBDINPUT, | |
| hi : HARDWAREINPUT, | |
| }, | |
| }; | |
| PINPUT :: ^struct { | |
| kind : u32, | |
| u : struct #raw_union { | |
| mi : MOUSEINPUT, | |
| ki : KEYBDINPUT, | |
| hi : HARDWAREINPUT, | |
| }, | |
| }; | |
| LPINPUT :: ^struct { | |
| kind : u32, | |
| u : struct #raw_union { | |
| mi : MOUSEINPUT, | |
| ki : KEYBDINPUT, | |
| hi : HARDWAREINPUT, | |
| }, | |
| }; | |
| HTOUCHINPUT__ :: struct { | |
| unused : i32, | |
| }; | |
| HTOUCHINPUT :: ^HTOUCHINPUT__; | |
| TOUCHINPUT :: struct { | |
| x : LONG, | |
| y : LONG, | |
| hSource : HANDLE, | |
| dwID : u32, | |
| dwFlags : u32, | |
| dwMask : u32, | |
| dwTime : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| cxContact : u32, | |
| cyContact : u32, | |
| }; | |
| PTOUCHINPUT :: ^struct { | |
| x : LONG, | |
| y : LONG, | |
| hSource : HANDLE, | |
| dwID : u32, | |
| dwFlags : u32, | |
| dwMask : u32, | |
| dwTime : u32, | |
| dwExtraInfo : ULONG_PTR, | |
| cxContact : u32, | |
| cyContact : u32, | |
| }; | |
| PCTOUCHINPUT :: ^TOUCHINPUT; | |
| tagPOINTER_INPUT_TYPE :: enum { | |
| PT_POINTER = 1, | |
| PT_TOUCH = 2, | |
| PT_PEN = 3, | |
| PT_MOUSE = 4, | |
| PT_TOUCHPAD = 5, | |
| }; | |
| POINTER_INPUT_TYPE :: u32; | |
| POINTER_FLAGS :: UINT32; | |
| POINTER_BUTTON_CHANGE_TYPE :: enum { | |
| POINTER_CHANGE_NONE, | |
| POINTER_CHANGE_FIRSTBUTTON_DOWN, | |
| POINTER_CHANGE_FIRSTBUTTON_UP, | |
| POINTER_CHANGE_SECONDBUTTON_DOWN, | |
| POINTER_CHANGE_SECONDBUTTON_UP, | |
| POINTER_CHANGE_THIRDBUTTON_DOWN, | |
| POINTER_CHANGE_THIRDBUTTON_UP, | |
| POINTER_CHANGE_FOURTHBUTTON_DOWN, | |
| POINTER_CHANGE_FOURTHBUTTON_UP, | |
| POINTER_CHANGE_FIFTHBUTTON_DOWN, | |
| POINTER_CHANGE_FIFTHBUTTON_UP, | |
| }; | |
| POINTER_INFO :: struct { | |
| pointerType : POINTER_INPUT_TYPE, | |
| pointerId : UINT32, | |
| frameId : UINT32, | |
| pointerFlags : POINTER_FLAGS, | |
| sourceDevice : HANDLE, | |
| hwndTarget : HWND, | |
| ptPixelLocation : POINT, | |
| ptHimetricLocation : POINT, | |
| ptPixelLocationRaw : POINT, | |
| ptHimetricLocationRaw : POINT, | |
| dwTime : u32, | |
| historyCount : UINT32, | |
| InputData : INT32, | |
| dwKeyStates : u32, | |
| PerformanceCount : UINT64, | |
| ButtonChangeType : POINTER_BUTTON_CHANGE_TYPE, | |
| }; | |
| TOUCH_FLAGS :: UINT32; | |
| TOUCH_MASK :: UINT32; | |
| POINTER_TOUCH_INFO :: struct { | |
| pointerInfo : POINTER_INFO, | |
| touchFlags : TOUCH_FLAGS, | |
| touchMask : TOUCH_MASK, | |
| rcContact : RECT, | |
| rcContactRaw : RECT, | |
| orientation : UINT32, | |
| pressure : UINT32, | |
| }; | |
| PEN_FLAGS :: UINT32; | |
| PEN_MASK :: UINT32; | |
| POINTER_PEN_INFO :: struct { | |
| pointerInfo : POINTER_INFO, | |
| penFlags : PEN_FLAGS, | |
| penMask : PEN_MASK, | |
| pressure : UINT32, | |
| rotation : UINT32, | |
| tiltX : INT32, | |
| tiltY : INT32, | |
| }; | |
| POINTER_FEEDBACK_MODE :: enum { | |
| POINTER_FEEDBACK_DEFAULT = 1, | |
| POINTER_FEEDBACK_INDIRECT = 2, | |
| POINTER_FEEDBACK_NONE = 3, | |
| }; | |
| USAGE_PROPERTIES :: struct { | |
| level : USHORT, | |
| page : USHORT, | |
| usage : USHORT, | |
| logicalMinimum : INT32, | |
| logicalMaximum : INT32, | |
| unit : USHORT, | |
| exponent : USHORT, | |
| count : BYTE, | |
| physicalMinimum : INT32, | |
| physicalMaximum : INT32, | |
| }; | |
| PUSAGE_PROPERTIES :: ^struct { | |
| level : USHORT, | |
| page : USHORT, | |
| usage : USHORT, | |
| logicalMinimum : INT32, | |
| logicalMaximum : INT32, | |
| unit : USHORT, | |
| exponent : USHORT, | |
| count : BYTE, | |
| physicalMinimum : INT32, | |
| physicalMaximum : INT32, | |
| }; | |
| POINTER_TYPE_INFO :: struct { | |
| kind : POINTER_INPUT_TYPE, | |
| u : struct #raw_union { | |
| touchInfo : POINTER_TOUCH_INFO, | |
| penInfo : POINTER_PEN_INFO, | |
| }, | |
| }; | |
| PPOINTER_TYPE_INFO :: ^struct { | |
| kind : POINTER_INPUT_TYPE, | |
| u : struct #raw_union { | |
| touchInfo : POINTER_TOUCH_INFO, | |
| penInfo : POINTER_PEN_INFO, | |
| }, | |
| }; | |
| INPUT_INJECTION_VALUE :: struct { | |
| page : USHORT, | |
| usage : USHORT, | |
| value : INT32, | |
| index : USHORT, | |
| }; | |
| PINPUT_INJECTION_VALUE :: ^struct { | |
| page : USHORT, | |
| usage : USHORT, | |
| value : INT32, | |
| index : USHORT, | |
| }; | |
| HSYNTHETICPOINTERDEVICE__ :: struct { | |
| unused : i32, | |
| }; | |
| HSYNTHETICPOINTERDEVICE :: ^HSYNTHETICPOINTERDEVICE__; | |
| TOUCH_HIT_TESTING_PROXIMITY_EVALUATION :: struct { | |
| score : UINT16, | |
| adjustedPoint : POINT, | |
| }; | |
| PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION :: ^struct { | |
| score : UINT16, | |
| adjustedPoint : POINT, | |
| }; | |
| TOUCH_HIT_TESTING_INPUT :: struct { | |
| pointerId : UINT32, | |
| point : POINT, | |
| boundingBox : RECT, | |
| nonOccludedBoundingBox : RECT, | |
| orientation : UINT32, | |
| }; | |
| PTOUCH_HIT_TESTING_INPUT :: ^struct { | |
| pointerId : UINT32, | |
| point : POINT, | |
| boundingBox : RECT, | |
| nonOccludedBoundingBox : RECT, | |
| orientation : UINT32, | |
| }; | |
| FEEDBACK_TYPE :: enum { | |
| FEEDBACK_TOUCH_CONTACTVISUALIZATION = 1, | |
| FEEDBACK_PEN_BARRELVISUALIZATION = 2, | |
| FEEDBACK_PEN_TAP = 3, | |
| FEEDBACK_PEN_DOUBLETAP = 4, | |
| FEEDBACK_PEN_PRESSANDHOLD = 5, | |
| FEEDBACK_PEN_RIGHTTAP = 6, | |
| FEEDBACK_TOUCH_TAP = 7, | |
| FEEDBACK_TOUCH_DOUBLETAP = 8, | |
| FEEDBACK_TOUCH_PRESSANDHOLD = 9, | |
| FEEDBACK_TOUCH_RIGHTTAP = 10, | |
| FEEDBACK_GESTURE_PRESSANDTAP = 11, | |
| FEEDBACK_MAX = 0xFFFFFFFF, | |
| }; | |
| INPUT_TRANSFORM :: struct { | |
| u : struct #raw_union { | |
| s : struct { | |
| _11 : f32, | |
| _12 : f32, | |
| _13 : f32, | |
| _14 : f32, | |
| _21 : f32, | |
| _22 : f32, | |
| _23 : f32, | |
| _24 : f32, | |
| _31 : f32, | |
| _32 : f32, | |
| _33 : f32, | |
| _34 : f32, | |
| _41 : f32, | |
| _42 : f32, | |
| _43 : f32, | |
| _44 : f32, | |
| }, | |
| m : [4][4]f32, | |
| }, | |
| }; | |
| LASTINPUTINFO :: struct { | |
| cbSize : UINT, | |
| dwTime : u32, | |
| }; | |
| PLASTINPUTINFO :: ^struct { | |
| cbSize : UINT, | |
| dwTime : u32, | |
| }; | |
| TPMPARAMS :: struct { | |
| cbSize : UINT, | |
| rcExclude : RECT, | |
| }; | |
| LPTPMPARAMS :: ^TPMPARAMS; | |
| MENUINFO :: struct { | |
| cbSize : u32, | |
| fMask : u32, | |
| dwStyle : u32, | |
| cyMax : UINT, | |
| hbrBack : HBRUSH, | |
| dwContextHelpID : u32, | |
| dwMenuData : ULONG_PTR, | |
| }; | |
| LPMENUINFO :: ^struct { | |
| cbSize : u32, | |
| fMask : u32, | |
| dwStyle : u32, | |
| cyMax : UINT, | |
| hbrBack : HBRUSH, | |
| dwContextHelpID : u32, | |
| dwMenuData : ULONG_PTR, | |
| }; | |
| LPCMENUINFO :: ^MENUINFO; | |
| MENUGETOBJECTINFO :: struct { | |
| dwFlags : u32, | |
| uPos : UINT, | |
| hmenu : HMENU, | |
| riid : PVOID, | |
| pvObj : PVOID, | |
| }; | |
| PMENUGETOBJECTINFO :: ^struct { | |
| dwFlags : u32, | |
| uPos : UINT, | |
| hmenu : HMENU, | |
| riid : PVOID, | |
| pvObj : PVOID, | |
| }; | |
| MENUITEMINFOA :: struct { | |
| cbSize : UINT, | |
| fMask : UINT, | |
| fType : UINT, | |
| fState : UINT, | |
| wID : UINT, | |
| hSubMenu : HMENU, | |
| hbmpChecked : HBITMAP, | |
| hbmpUnchecked : HBITMAP, | |
| dwItemData : ULONG_PTR, | |
| dwTypeData : LPSTR, | |
| cch : UINT, | |
| hbmpItem : HBITMAP, | |
| }; | |
| LPMENUITEMINFOA :: ^struct { | |
| cbSize : UINT, | |
| fMask : UINT, | |
| fType : UINT, | |
| fState : UINT, | |
| wID : UINT, | |
| hSubMenu : HMENU, | |
| hbmpChecked : HBITMAP, | |
| hbmpUnchecked : HBITMAP, | |
| dwItemData : ULONG_PTR, | |
| dwTypeData : LPSTR, | |
| cch : UINT, | |
| hbmpItem : HBITMAP, | |
| }; | |
| MENUITEMINFOW :: struct { | |
| cbSize : UINT, | |
| fMask : UINT, | |
| fType : UINT, | |
| fState : UINT, | |
| wID : UINT, | |
| hSubMenu : HMENU, | |
| hbmpChecked : HBITMAP, | |
| hbmpUnchecked : HBITMAP, | |
| dwItemData : ULONG_PTR, | |
| dwTypeData : LPWSTR, | |
| cch : UINT, | |
| hbmpItem : HBITMAP, | |
| }; | |
| LPMENUITEMINFOW :: ^struct { | |
| cbSize : UINT, | |
| fMask : UINT, | |
| fType : UINT, | |
| fState : UINT, | |
| wID : UINT, | |
| hSubMenu : HMENU, | |
| hbmpChecked : HBITMAP, | |
| hbmpUnchecked : HBITMAP, | |
| dwItemData : ULONG_PTR, | |
| dwTypeData : LPWSTR, | |
| cch : UINT, | |
| hbmpItem : HBITMAP, | |
| }; | |
| MENUITEMINFO :: MENUITEMINFOA; | |
| LPMENUITEMINFO :: LPMENUITEMINFOA; | |
| LPCMENUITEMINFOA :: ^MENUITEMINFOA; | |
| LPCMENUITEMINFOW :: ^MENUITEMINFOW; | |
| LPCMENUITEMINFO :: LPCMENUITEMINFOA; | |
| DROPSTRUCT :: struct { | |
| hwndSource : HWND, | |
| hwndSink : HWND, | |
| wFmt : u32, | |
| dwData : ULONG_PTR, | |
| ptDrop : POINT, | |
| dwControlData : u32, | |
| }; | |
| PDROPSTRUCT :: ^struct { | |
| hwndSource : HWND, | |
| hwndSink : HWND, | |
| wFmt : u32, | |
| dwData : ULONG_PTR, | |
| ptDrop : POINT, | |
| dwControlData : u32, | |
| }; | |
| LPDROPSTRUCT :: ^struct { | |
| hwndSource : HWND, | |
| hwndSink : HWND, | |
| wFmt : u32, | |
| dwData : ULONG_PTR, | |
| ptDrop : POINT, | |
| dwControlData : u32, | |
| }; | |
| DRAWTEXTPARAMS :: struct { | |
| cbSize : UINT, | |
| iTabLength : i32, | |
| iLeftMargin : i32, | |
| iRightMargin : i32, | |
| uiLengthDrawn : UINT, | |
| }; | |
| LPDRAWTEXTPARAMS :: ^struct { | |
| cbSize : UINT, | |
| iTabLength : i32, | |
| iLeftMargin : i32, | |
| iRightMargin : i32, | |
| uiLengthDrawn : UINT, | |
| }; | |
| HELPINFO :: struct { | |
| cbSize : UINT, | |
| iContextType : i32, | |
| iCtrlId : i32, | |
| hItemHandle : HANDLE, | |
| dwContextId : DWORD_PTR, | |
| MousePos : POINT, | |
| }; | |
| LPHELPINFO :: ^struct { | |
| cbSize : UINT, | |
| iContextType : i32, | |
| iCtrlId : i32, | |
| hItemHandle : HANDLE, | |
| dwContextId : DWORD_PTR, | |
| MousePos : POINT, | |
| }; | |
| MSGBOXCALLBACK :: proc(lpHelpInfo : LPHELPINFO); | |
| MSGBOXPARAMSA :: struct { | |
| cbSize : UINT, | |
| hwndOwner : HWND, | |
| hInstance : HINSTANCE, | |
| lpszText : LPCSTR, | |
| lpszCaption : LPCSTR, | |
| dwStyle : u32, | |
| lpszIcon : LPCSTR, | |
| dwContextHelpId : DWORD_PTR, | |
| lpfnMsgBoxCallback : MSGBOXCALLBACK, | |
| dwLanguageId : u32, | |
| }; | |
| PMSGBOXPARAMSA :: ^struct { | |
| cbSize : UINT, | |
| hwndOwner : HWND, | |
| hInstance : HINSTANCE, | |
| lpszText : LPCSTR, | |
| lpszCaption : LPCSTR, | |
| dwStyle : u32, | |
| lpszIcon : LPCSTR, | |
| dwContextHelpId : DWORD_PTR, | |
| lpfnMsgBoxCallback : MSGBOXCALLBACK, | |
| dwLanguageId : u32, | |
| }; | |
| LPMSGBOXPARAMSA :: ^struct { | |
| cbSize : UINT, | |
| hwndOwner : HWND, | |
| hInstance : HINSTANCE, | |
| lpszText : LPCSTR, | |
| lpszCaption : LPCSTR, | |
| dwStyle : u32, | |
| lpszIcon : LPCSTR, | |
| dwContextHelpId : DWORD_PTR, | |
| lpfnMsgBoxCallback : MSGBOXCALLBACK, | |
| dwLanguageId : u32, | |
| }; | |
| MSGBOXPARAMSW :: struct { | |
| cbSize : UINT, | |
| hwndOwner : HWND, | |
| hInstance : HINSTANCE, | |
| lpszText : LPCWSTR, | |
| lpszCaption : LPCWSTR, | |
| dwStyle : u32, | |
| lpszIcon : LPCWSTR, | |
| dwContextHelpId : DWORD_PTR, | |
| lpfnMsgBoxCallback : MSGBOXCALLBACK, | |
| dwLanguageId : u32, | |
| }; | |
| PMSGBOXPARAMSW :: ^struct { | |
| cbSize : UINT, | |
| hwndOwner : HWND, | |
| hInstance : HINSTANCE, | |
| lpszText : LPCWSTR, | |
| lpszCaption : LPCWSTR, | |
| dwStyle : u32, | |
| lpszIcon : LPCWSTR, | |
| dwContextHelpId : DWORD_PTR, | |
| lpfnMsgBoxCallback : MSGBOXCALLBACK, | |
| dwLanguageId : u32, | |
| }; | |
| LPMSGBOXPARAMSW :: ^struct { | |
| cbSize : UINT, | |
| hwndOwner : HWND, | |
| hInstance : HINSTANCE, | |
| lpszText : LPCWSTR, | |
| lpszCaption : LPCWSTR, | |
| dwStyle : u32, | |
| lpszIcon : LPCWSTR, | |
| dwContextHelpId : DWORD_PTR, | |
| lpfnMsgBoxCallback : MSGBOXCALLBACK, | |
| dwLanguageId : u32, | |
| }; | |
| MSGBOXPARAMS :: MSGBOXPARAMSA; | |
| PMSGBOXPARAMS :: PMSGBOXPARAMSA; | |
| LPMSGBOXPARAMS :: LPMSGBOXPARAMSA; | |
| MENUITEMTEMPLATEHEADER :: struct { | |
| versionNumber : u16, | |
| offset : u16, | |
| }; | |
| PMENUITEMTEMPLATEHEADER :: ^struct { | |
| versionNumber : u16, | |
| offset : u16, | |
| }; | |
| MENUITEMTEMPLATE :: struct { | |
| mtOption : u16, | |
| mtID : u16, | |
| mtString : [1]WCHAR, | |
| }; | |
| PMENUITEMTEMPLATE :: ^struct { | |
| mtOption : u16, | |
| mtID : u16, | |
| mtString : [1]WCHAR, | |
| }; | |
| ICONINFO :: struct { | |
| fIcon : BOOL, | |
| xHotspot : u32, | |
| yHotspot : u32, | |
| hbmMask : HBITMAP, | |
| hbmColor : HBITMAP, | |
| }; | |
| PICONINFO :: ^ICONINFO; | |
| CURSORSHAPE :: struct { | |
| xHotSpot : i32, | |
| yHotSpot : i32, | |
| cx : i32, | |
| cy : i32, | |
| cbWidth : i32, | |
| Planes : BYTE, | |
| BitsPixel : BYTE, | |
| }; | |
| LPCURSORSHAPE :: ^struct { | |
| xHotSpot : i32, | |
| yHotSpot : i32, | |
| cx : i32, | |
| cy : i32, | |
| cbWidth : i32, | |
| Planes : BYTE, | |
| BitsPixel : BYTE, | |
| }; | |
| ICONINFOEXA :: struct { | |
| cbSize : u32, | |
| fIcon : BOOL, | |
| xHotspot : u32, | |
| yHotspot : u32, | |
| hbmMask : HBITMAP, | |
| hbmColor : HBITMAP, | |
| wResID : u16, | |
| szModName : [260]CHAR, | |
| szResName : [260]CHAR, | |
| }; | |
| PICONINFOEXA :: ^struct { | |
| cbSize : u32, | |
| fIcon : BOOL, | |
| xHotspot : u32, | |
| yHotspot : u32, | |
| hbmMask : HBITMAP, | |
| hbmColor : HBITMAP, | |
| wResID : u16, | |
| szModName : [260]CHAR, | |
| szResName : [260]CHAR, | |
| }; | |
| ICONINFOEXW :: struct { | |
| cbSize : u32, | |
| fIcon : BOOL, | |
| xHotspot : u32, | |
| yHotspot : u32, | |
| hbmMask : HBITMAP, | |
| hbmColor : HBITMAP, | |
| wResID : u16, | |
| szModName : [260]WCHAR, | |
| szResName : [260]WCHAR, | |
| }; | |
| PICONINFOEXW :: ^struct { | |
| cbSize : u32, | |
| fIcon : BOOL, | |
| xHotspot : u32, | |
| yHotspot : u32, | |
| hbmMask : HBITMAP, | |
| hbmColor : HBITMAP, | |
| wResID : u16, | |
| szModName : [260]WCHAR, | |
| szResName : [260]WCHAR, | |
| }; | |
| ICONINFOEX :: ICONINFOEXA; | |
| PICONINFOEX :: PICONINFOEXA; | |
| EDIT_CONTROL_FEATURE :: enum { | |
| EDIT_CONTROL_FEATURE_ENTERPRISE_DATA_PROTECTION_PASTE_SUPPORT = 0, | |
| EDIT_CONTROL_FEATURE_PASTE_NOTIFICATIONS = 1, | |
| }; | |
| SCROLLINFO :: struct { | |
| cbSize : UINT, | |
| fMask : UINT, | |
| nMin : i32, | |
| nMax : i32, | |
| nPage : UINT, | |
| nPos : i32, | |
| nTrackPos : i32, | |
| }; | |
| LPSCROLLINFO :: ^struct { | |
| cbSize : UINT, | |
| fMask : UINT, | |
| nMin : i32, | |
| nMax : i32, | |
| nPage : UINT, | |
| nPos : i32, | |
| nTrackPos : i32, | |
| }; | |
| LPCSCROLLINFO :: ^SCROLLINFO; | |
| MDICREATESTRUCTA :: struct { | |
| szClass : LPCSTR, | |
| szTitle : LPCSTR, | |
| hOwner : HANDLE, | |
| x : i32, | |
| y : i32, | |
| cx : i32, | |
| cy : i32, | |
| style : u32, | |
| lParam : LPARAM, | |
| }; | |
| LPMDICREATESTRUCTA :: ^struct { | |
| szClass : LPCSTR, | |
| szTitle : LPCSTR, | |
| hOwner : HANDLE, | |
| x : i32, | |
| y : i32, | |
| cx : i32, | |
| cy : i32, | |
| style : u32, | |
| lParam : LPARAM, | |
| }; | |
| MDICREATESTRUCTW :: struct { | |
| szClass : LPCWSTR, | |
| szTitle : LPCWSTR, | |
| hOwner : HANDLE, | |
| x : i32, | |
| y : i32, | |
| cx : i32, | |
| cy : i32, | |
| style : u32, | |
| lParam : LPARAM, | |
| }; | |
| LPMDICREATESTRUCTW :: ^struct { | |
| szClass : LPCWSTR, | |
| szTitle : LPCWSTR, | |
| hOwner : HANDLE, | |
| x : i32, | |
| y : i32, | |
| cx : i32, | |
| cy : i32, | |
| style : u32, | |
| lParam : LPARAM, | |
| }; | |
| MDICREATESTRUCT :: MDICREATESTRUCTA; | |
| LPMDICREATESTRUCT :: LPMDICREATESTRUCTA; | |
| CLIENTCREATESTRUCT :: struct { | |
| hWindowMenu : HANDLE, | |
| idFirstChild : UINT, | |
| }; | |
| LPCLIENTCREATESTRUCT :: ^struct { | |
| hWindowMenu : HANDLE, | |
| idFirstChild : UINT, | |
| }; | |
| HELPPOLY :: u32; | |
| MULTIKEYHELPA :: struct { | |
| mkSize : u32, | |
| mkKeylist : CHAR, | |
| szKeyphrase : [1]CHAR, | |
| }; | |
| PMULTIKEYHELPA :: ^struct { | |
| mkSize : u32, | |
| mkKeylist : CHAR, | |
| szKeyphrase : [1]CHAR, | |
| }; | |
| LPMULTIKEYHELPA :: ^struct { | |
| mkSize : u32, | |
| mkKeylist : CHAR, | |
| szKeyphrase : [1]CHAR, | |
| }; | |
| MULTIKEYHELPW :: struct { | |
| mkSize : u32, | |
| mkKeylist : WCHAR, | |
| szKeyphrase : [1]WCHAR, | |
| }; | |
| PMULTIKEYHELPW :: ^struct { | |
| mkSize : u32, | |
| mkKeylist : WCHAR, | |
| szKeyphrase : [1]WCHAR, | |
| }; | |
| LPMULTIKEYHELPW :: ^struct { | |
| mkSize : u32, | |
| mkKeylist : WCHAR, | |
| szKeyphrase : [1]WCHAR, | |
| }; | |
| MULTIKEYHELP :: MULTIKEYHELPA; | |
| PMULTIKEYHELP :: PMULTIKEYHELPA; | |
| LPMULTIKEYHELP :: LPMULTIKEYHELPA; | |
| HELPWININFOA :: struct { | |
| wStructSize : i32, | |
| x : i32, | |
| y : i32, | |
| dx : i32, | |
| dy : i32, | |
| wMax : i32, | |
| rgchMember : [2]CHAR, | |
| }; | |
| PHELPWININFOA :: ^struct { | |
| wStructSize : i32, | |
| x : i32, | |
| y : i32, | |
| dx : i32, | |
| dy : i32, | |
| wMax : i32, | |
| rgchMember : [2]CHAR, | |
| }; | |
| LPHELPWININFOA :: ^struct { | |
| wStructSize : i32, | |
| x : i32, | |
| y : i32, | |
| dx : i32, | |
| dy : i32, | |
| wMax : i32, | |
| rgchMember : [2]CHAR, | |
| }; | |
| HELPWININFOW :: struct { | |
| wStructSize : i32, | |
| x : i32, | |
| y : i32, | |
| dx : i32, | |
| dy : i32, | |
| wMax : i32, | |
| rgchMember : [2]WCHAR, | |
| }; | |
| PHELPWININFOW :: ^struct { | |
| wStructSize : i32, | |
| x : i32, | |
| y : i32, | |
| dx : i32, | |
| dy : i32, | |
| wMax : i32, | |
| rgchMember : [2]WCHAR, | |
| }; | |
| LPHELPWININFOW :: ^struct { | |
| wStructSize : i32, | |
| x : i32, | |
| y : i32, | |
| dx : i32, | |
| dy : i32, | |
| wMax : i32, | |
| rgchMember : [2]WCHAR, | |
| }; | |
| HELPWININFO :: HELPWININFOA; | |
| PHELPWININFO :: PHELPWININFOA; | |
| LPHELPWININFO :: LPHELPWININFOA; | |
| TOUCHPREDICTIONPARAMETERS :: struct { | |
| cbSize : UINT, | |
| dwLatency : UINT, | |
| dwSampleTime : UINT, | |
| bUseHWTimeStamp : UINT, | |
| }; | |
| PTOUCHPREDICTIONPARAMETERS :: ^struct { | |
| cbSize : UINT, | |
| dwLatency : UINT, | |
| dwSampleTime : UINT, | |
| bUseHWTimeStamp : UINT, | |
| }; | |
| HANDEDNESS :: enum { | |
| HANDEDNESS_LEFT = 0, | |
| HANDEDNESS_RIGHT, | |
| }; | |
| PHANDEDNESS :: ^enum { | |
| HANDEDNESS_LEFT = 0, | |
| HANDEDNESS_RIGHT, | |
| }; | |
| NONCLIENTMETRICSA :: struct { | |
| cbSize : UINT, | |
| iBorderWidth : i32, | |
| iScrollWidth : i32, | |
| iScrollHeight : i32, | |
| iCaptionWidth : i32, | |
| iCaptionHeight : i32, | |
| lfCaptionFont : LOGFONTA, | |
| iSmCaptionWidth : i32, | |
| iSmCaptionHeight : i32, | |
| lfSmCaptionFont : LOGFONTA, | |
| iMenuWidth : i32, | |
| iMenuHeight : i32, | |
| lfMenuFont : LOGFONTA, | |
| lfStatusFont : LOGFONTA, | |
| lfMessageFont : LOGFONTA, | |
| iPaddedBorderWidth : i32, | |
| }; | |
| PNONCLIENTMETRICSA :: ^struct { | |
| cbSize : UINT, | |
| iBorderWidth : i32, | |
| iScrollWidth : i32, | |
| iScrollHeight : i32, | |
| iCaptionWidth : i32, | |
| iCaptionHeight : i32, | |
| lfCaptionFont : LOGFONTA, | |
| iSmCaptionWidth : i32, | |
| iSmCaptionHeight : i32, | |
| lfSmCaptionFont : LOGFONTA, | |
| iMenuWidth : i32, | |
| iMenuHeight : i32, | |
| lfMenuFont : LOGFONTA, | |
| lfStatusFont : LOGFONTA, | |
| lfMessageFont : LOGFONTA, | |
| iPaddedBorderWidth : i32, | |
| }; | |
| LPNONCLIENTMETRICSA :: ^struct { | |
| cbSize : UINT, | |
| iBorderWidth : i32, | |
| iScrollWidth : i32, | |
| iScrollHeight : i32, | |
| iCaptionWidth : i32, | |
| iCaptionHeight : i32, | |
| lfCaptionFont : LOGFONTA, | |
| iSmCaptionWidth : i32, | |
| iSmCaptionHeight : i32, | |
| lfSmCaptionFont : LOGFONTA, | |
| iMenuWidth : i32, | |
| iMenuHeight : i32, | |
| lfMenuFont : LOGFONTA, | |
| lfStatusFont : LOGFONTA, | |
| lfMessageFont : LOGFONTA, | |
| iPaddedBorderWidth : i32, | |
| }; | |
| NONCLIENTMETRICSW :: struct { | |
| cbSize : UINT, | |
| iBorderWidth : i32, | |
| iScrollWidth : i32, | |
| iScrollHeight : i32, | |
| iCaptionWidth : i32, | |
| iCaptionHeight : i32, | |
| lfCaptionFont : LOGFONTW, | |
| iSmCaptionWidth : i32, | |
| iSmCaptionHeight : i32, | |
| lfSmCaptionFont : LOGFONTW, | |
| iMenuWidth : i32, | |
| iMenuHeight : i32, | |
| lfMenuFont : LOGFONTW, | |
| lfStatusFont : LOGFONTW, | |
| lfMessageFont : LOGFONTW, | |
| iPaddedBorderWidth : i32, | |
| }; | |
| PNONCLIENTMETRICSW :: ^struct { | |
| cbSize : UINT, | |
| iBorderWidth : i32, | |
| iScrollWidth : i32, | |
| iScrollHeight : i32, | |
| iCaptionWidth : i32, | |
| iCaptionHeight : i32, | |
| lfCaptionFont : LOGFONTW, | |
| iSmCaptionWidth : i32, | |
| iSmCaptionHeight : i32, | |
| lfSmCaptionFont : LOGFONTW, | |
| iMenuWidth : i32, | |
| iMenuHeight : i32, | |
| lfMenuFont : LOGFONTW, | |
| lfStatusFont : LOGFONTW, | |
| lfMessageFont : LOGFONTW, | |
| iPaddedBorderWidth : i32, | |
| }; | |
| LPNONCLIENTMETRICSW :: ^struct { | |
| cbSize : UINT, | |
| iBorderWidth : i32, | |
| iScrollWidth : i32, | |
| iScrollHeight : i32, | |
| iCaptionWidth : i32, | |
| iCaptionHeight : i32, | |
| lfCaptionFont : LOGFONTW, | |
| iSmCaptionWidth : i32, | |
| iSmCaptionHeight : i32, | |
| lfSmCaptionFont : LOGFONTW, | |
| iMenuWidth : i32, | |
| iMenuHeight : i32, | |
| lfMenuFont : LOGFONTW, | |
| lfStatusFont : LOGFONTW, | |
| lfMessageFont : LOGFONTW, | |
| iPaddedBorderWidth : i32, | |
| }; | |
| NONCLIENTMETRICS :: NONCLIENTMETRICSA; | |
| PNONCLIENTMETRICS :: PNONCLIENTMETRICSA; | |
| LPNONCLIENTMETRICS :: LPNONCLIENTMETRICSA; | |
| MINIMIZEDMETRICS :: struct { | |
| cbSize : UINT, | |
| iWidth : i32, | |
| iHorzGap : i32, | |
| iVertGap : i32, | |
| iArrange : i32, | |
| }; | |
| PMINIMIZEDMETRICS :: ^struct { | |
| cbSize : UINT, | |
| iWidth : i32, | |
| iHorzGap : i32, | |
| iVertGap : i32, | |
| iArrange : i32, | |
| }; | |
| LPMINIMIZEDMETRICS :: ^struct { | |
| cbSize : UINT, | |
| iWidth : i32, | |
| iHorzGap : i32, | |
| iVertGap : i32, | |
| iArrange : i32, | |
| }; | |
| ICONMETRICSA :: struct { | |
| cbSize : UINT, | |
| iHorzSpacing : i32, | |
| iVertSpacing : i32, | |
| iTitleWrap : i32, | |
| lfFont : LOGFONTA, | |
| }; | |
| PICONMETRICSA :: ^struct { | |
| cbSize : UINT, | |
| iHorzSpacing : i32, | |
| iVertSpacing : i32, | |
| iTitleWrap : i32, | |
| lfFont : LOGFONTA, | |
| }; | |
| LPICONMETRICSA :: ^struct { | |
| cbSize : UINT, | |
| iHorzSpacing : i32, | |
| iVertSpacing : i32, | |
| iTitleWrap : i32, | |
| lfFont : LOGFONTA, | |
| }; | |
| ICONMETRICSW :: struct { | |
| cbSize : UINT, | |
| iHorzSpacing : i32, | |
| iVertSpacing : i32, | |
| iTitleWrap : i32, | |
| lfFont : LOGFONTW, | |
| }; | |
| PICONMETRICSW :: ^struct { | |
| cbSize : UINT, | |
| iHorzSpacing : i32, | |
| iVertSpacing : i32, | |
| iTitleWrap : i32, | |
| lfFont : LOGFONTW, | |
| }; | |
| LPICONMETRICSW :: ^struct { | |
| cbSize : UINT, | |
| iHorzSpacing : i32, | |
| iVertSpacing : i32, | |
| iTitleWrap : i32, | |
| lfFont : LOGFONTW, | |
| }; | |
| ICONMETRICS :: ICONMETRICSA; | |
| PICONMETRICS :: PICONMETRICSA; | |
| LPICONMETRICS :: LPICONMETRICSA; | |
| ANIMATIONINFO :: struct { | |
| cbSize : UINT, | |
| iMinAnimate : i32, | |
| }; | |
| LPANIMATIONINFO :: ^struct { | |
| cbSize : UINT, | |
| iMinAnimate : i32, | |
| }; | |
| SERIALKEYSA :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| lpszActivePort : LPSTR, | |
| lpszPort : LPSTR, | |
| iBaudRate : UINT, | |
| iPortState : UINT, | |
| iActive : UINT, | |
| }; | |
| LPSERIALKEYSA :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| lpszActivePort : LPSTR, | |
| lpszPort : LPSTR, | |
| iBaudRate : UINT, | |
| iPortState : UINT, | |
| iActive : UINT, | |
| }; | |
| SERIALKEYSW :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| lpszActivePort : LPWSTR, | |
| lpszPort : LPWSTR, | |
| iBaudRate : UINT, | |
| iPortState : UINT, | |
| iActive : UINT, | |
| }; | |
| LPSERIALKEYSW :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| lpszActivePort : LPWSTR, | |
| lpszPort : LPWSTR, | |
| iBaudRate : UINT, | |
| iPortState : UINT, | |
| iActive : UINT, | |
| }; | |
| SERIALKEYS :: SERIALKEYSA; | |
| LPSERIALKEYS :: LPSERIALKEYSA; | |
| HIGHCONTRASTA :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| lpszDefaultScheme : LPSTR, | |
| }; | |
| LPHIGHCONTRASTA :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| lpszDefaultScheme : LPSTR, | |
| }; | |
| HIGHCONTRASTW :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| lpszDefaultScheme : LPWSTR, | |
| }; | |
| LPHIGHCONTRASTW :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| lpszDefaultScheme : LPWSTR, | |
| }; | |
| HIGHCONTRAST :: HIGHCONTRASTA; | |
| LPHIGHCONTRAST :: LPHIGHCONTRASTA; | |
| VIDEOPARAMETERS :: struct { | |
| Guid : GUID, | |
| dwOffset : ULONG, | |
| dwCommand : ULONG, | |
| dwFlags : ULONG, | |
| dwMode : ULONG, | |
| dwTVStandard : ULONG, | |
| dwAvailableModes : ULONG, | |
| dwAvailableTVStandard : ULONG, | |
| dwFlickerFilter : ULONG, | |
| dwOverScanX : ULONG, | |
| dwOverScanY : ULONG, | |
| dwMaxUnscaledX : ULONG, | |
| dwMaxUnscaledY : ULONG, | |
| dwPositionX : ULONG, | |
| dwPositionY : ULONG, | |
| dwBrightness : ULONG, | |
| dwContrast : ULONG, | |
| dwCPType : ULONG, | |
| dwCPCommand : ULONG, | |
| dwCPStandard : ULONG, | |
| dwCPKey : ULONG, | |
| bCP_APSTriggerBits : ULONG, | |
| bOEMCopyProtection : [256]UCHAR, | |
| }; | |
| PVIDEOPARAMETERS :: ^struct { | |
| Guid : GUID, | |
| dwOffset : ULONG, | |
| dwCommand : ULONG, | |
| dwFlags : ULONG, | |
| dwMode : ULONG, | |
| dwTVStandard : ULONG, | |
| dwAvailableModes : ULONG, | |
| dwAvailableTVStandard : ULONG, | |
| dwFlickerFilter : ULONG, | |
| dwOverScanX : ULONG, | |
| dwOverScanY : ULONG, | |
| dwMaxUnscaledX : ULONG, | |
| dwMaxUnscaledY : ULONG, | |
| dwPositionX : ULONG, | |
| dwPositionY : ULONG, | |
| dwBrightness : ULONG, | |
| dwContrast : ULONG, | |
| dwCPType : ULONG, | |
| dwCPCommand : ULONG, | |
| dwCPStandard : ULONG, | |
| dwCPKey : ULONG, | |
| bCP_APSTriggerBits : ULONG, | |
| bOEMCopyProtection : [256]UCHAR, | |
| }; | |
| LPVIDEOPARAMETERS :: ^struct { | |
| Guid : GUID, | |
| dwOffset : ULONG, | |
| dwCommand : ULONG, | |
| dwFlags : ULONG, | |
| dwMode : ULONG, | |
| dwTVStandard : ULONG, | |
| dwAvailableModes : ULONG, | |
| dwAvailableTVStandard : ULONG, | |
| dwFlickerFilter : ULONG, | |
| dwOverScanX : ULONG, | |
| dwOverScanY : ULONG, | |
| dwMaxUnscaledX : ULONG, | |
| dwMaxUnscaledY : ULONG, | |
| dwPositionX : ULONG, | |
| dwPositionY : ULONG, | |
| dwBrightness : ULONG, | |
| dwContrast : ULONG, | |
| dwCPType : ULONG, | |
| dwCPCommand : ULONG, | |
| dwCPStandard : ULONG, | |
| dwCPKey : ULONG, | |
| bCP_APSTriggerBits : ULONG, | |
| bOEMCopyProtection : [256]UCHAR, | |
| }; | |
| FILTERKEYS :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| iWaitMSec : u32, | |
| iDelayMSec : u32, | |
| iRepeatMSec : u32, | |
| iBounceMSec : u32, | |
| }; | |
| LPFILTERKEYS :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| iWaitMSec : u32, | |
| iDelayMSec : u32, | |
| iRepeatMSec : u32, | |
| iBounceMSec : u32, | |
| }; | |
| STICKYKEYS :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| }; | |
| LPSTICKYKEYS :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| }; | |
| MOUSEKEYS :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| iMaxSpeed : u32, | |
| iTimeToMaxSpeed : u32, | |
| iCtrlSpeed : u32, | |
| dwReserved1 : u32, | |
| dwReserved2 : u32, | |
| }; | |
| LPMOUSEKEYS :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| iMaxSpeed : u32, | |
| iTimeToMaxSpeed : u32, | |
| iCtrlSpeed : u32, | |
| dwReserved1 : u32, | |
| dwReserved2 : u32, | |
| }; | |
| ACCESSTIMEOUT :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| iTimeOutMSec : u32, | |
| }; | |
| LPACCESSTIMEOUT :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| iTimeOutMSec : u32, | |
| }; | |
| SOUNDSENTRYA :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| iFSTextEffect : u32, | |
| iFSTextEffectMSec : u32, | |
| iFSTextEffectColorBits : u32, | |
| iFSGrafEffect : u32, | |
| iFSGrafEffectMSec : u32, | |
| iFSGrafEffectColor : u32, | |
| iWindowsEffect : u32, | |
| iWindowsEffectMSec : u32, | |
| lpszWindowsEffectDLL : LPSTR, | |
| iWindowsEffectOrdinal : u32, | |
| }; | |
| LPSOUNDSENTRYA :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| iFSTextEffect : u32, | |
| iFSTextEffectMSec : u32, | |
| iFSTextEffectColorBits : u32, | |
| iFSGrafEffect : u32, | |
| iFSGrafEffectMSec : u32, | |
| iFSGrafEffectColor : u32, | |
| iWindowsEffect : u32, | |
| iWindowsEffectMSec : u32, | |
| lpszWindowsEffectDLL : LPSTR, | |
| iWindowsEffectOrdinal : u32, | |
| }; | |
| SOUNDSENTRYW :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| iFSTextEffect : u32, | |
| iFSTextEffectMSec : u32, | |
| iFSTextEffectColorBits : u32, | |
| iFSGrafEffect : u32, | |
| iFSGrafEffectMSec : u32, | |
| iFSGrafEffectColor : u32, | |
| iWindowsEffect : u32, | |
| iWindowsEffectMSec : u32, | |
| lpszWindowsEffectDLL : LPWSTR, | |
| iWindowsEffectOrdinal : u32, | |
| }; | |
| LPSOUNDSENTRYW :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| iFSTextEffect : u32, | |
| iFSTextEffectMSec : u32, | |
| iFSTextEffectColorBits : u32, | |
| iFSGrafEffect : u32, | |
| iFSGrafEffectMSec : u32, | |
| iFSGrafEffectColor : u32, | |
| iWindowsEffect : u32, | |
| iWindowsEffectMSec : u32, | |
| lpszWindowsEffectDLL : LPWSTR, | |
| iWindowsEffectOrdinal : u32, | |
| }; | |
| SOUNDSENTRY :: SOUNDSENTRYA; | |
| LPSOUNDSENTRY :: LPSOUNDSENTRYA; | |
| TOGGLEKEYS :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| }; | |
| LPTOGGLEKEYS :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| }; | |
| AUDIODESCRIPTION :: struct { | |
| cbSize : UINT, | |
| Enabled : BOOL, | |
| Locale : LCID, | |
| }; | |
| LPAUDIODESCRIPTION :: ^struct { | |
| cbSize : UINT, | |
| Enabled : BOOL, | |
| Locale : LCID, | |
| }; | |
| MONITORINFO :: struct { | |
| cbSize : u32, | |
| rcMonitor : RECT, | |
| rcWork : RECT, | |
| dwFlags : u32, | |
| }; | |
| LPMONITORINFO :: ^struct { | |
| cbSize : u32, | |
| rcMonitor : RECT, | |
| rcWork : RECT, | |
| dwFlags : u32, | |
| }; | |
| MONITORINFOEXA :: struct { | |
| s : MONITORINFO, | |
| szDevice : [32]CHAR, | |
| }; | |
| LPMONITORINFOEXA :: ^struct { | |
| s : MONITORINFO, | |
| szDevice : [32]CHAR, | |
| }; | |
| MONITORINFOEXW :: struct { | |
| s : MONITORINFO, | |
| szDevice : [32]WCHAR, | |
| }; | |
| LPMONITORINFOEXW :: ^struct { | |
| s : MONITORINFO, | |
| szDevice : [32]WCHAR, | |
| }; | |
| MONITORINFOEX :: MONITORINFOEXA; | |
| LPMONITORINFOEX :: LPMONITORINFOEXA; | |
| MONITORENUMPROC :: (proc(HMONITOR, HDC, LPRECT, LPARAM) -> BOOL); | |
| WINEVENTPROC :: proc(hWinEventHook : HWINEVENTHOOK, event : u32, hwnd : HWND, idObject : LONG, idChild : LONG, idEventThread : u32, dwmsEventTime : u32); | |
| GUITHREADINFO :: struct { | |
| cbSize : u32, | |
| flags : u32, | |
| hwndActive : HWND, | |
| hwndFocus : HWND, | |
| hwndCapture : HWND, | |
| hwndMenuOwner : HWND, | |
| hwndMoveSize : HWND, | |
| hwndCaret : HWND, | |
| rcCaret : RECT, | |
| }; | |
| PGUITHREADINFO :: ^struct { | |
| cbSize : u32, | |
| flags : u32, | |
| hwndActive : HWND, | |
| hwndFocus : HWND, | |
| hwndCapture : HWND, | |
| hwndMenuOwner : HWND, | |
| hwndMoveSize : HWND, | |
| hwndCaret : HWND, | |
| rcCaret : RECT, | |
| }; | |
| LPGUITHREADINFO :: ^struct { | |
| cbSize : u32, | |
| flags : u32, | |
| hwndActive : HWND, | |
| hwndFocus : HWND, | |
| hwndCapture : HWND, | |
| hwndMenuOwner : HWND, | |
| hwndMoveSize : HWND, | |
| hwndCaret : HWND, | |
| rcCaret : RECT, | |
| }; | |
| CURSORINFO :: struct { | |
| cbSize : u32, | |
| flags : u32, | |
| hCursor : HCURSOR, | |
| ptScreenPos : POINT, | |
| }; | |
| PCURSORINFO :: ^struct { | |
| cbSize : u32, | |
| flags : u32, | |
| hCursor : HCURSOR, | |
| ptScreenPos : POINT, | |
| }; | |
| LPCURSORINFO :: ^struct { | |
| cbSize : u32, | |
| flags : u32, | |
| hCursor : HCURSOR, | |
| ptScreenPos : POINT, | |
| }; | |
| WINDOWINFO :: struct { | |
| cbSize : u32, | |
| rcWindow : RECT, | |
| rcClient : RECT, | |
| dwStyle : u32, | |
| dwExStyle : u32, | |
| dwWindowStatus : u32, | |
| cxWindowBorders : UINT, | |
| cyWindowBorders : UINT, | |
| atomWindowType : ATOM, | |
| wCreatorVersion : u16, | |
| }; | |
| PWINDOWINFO :: ^struct { | |
| cbSize : u32, | |
| rcWindow : RECT, | |
| rcClient : RECT, | |
| dwStyle : u32, | |
| dwExStyle : u32, | |
| dwWindowStatus : u32, | |
| cxWindowBorders : UINT, | |
| cyWindowBorders : UINT, | |
| atomWindowType : ATOM, | |
| wCreatorVersion : u16, | |
| }; | |
| LPWINDOWINFO :: ^struct { | |
| cbSize : u32, | |
| rcWindow : RECT, | |
| rcClient : RECT, | |
| dwStyle : u32, | |
| dwExStyle : u32, | |
| dwWindowStatus : u32, | |
| cxWindowBorders : UINT, | |
| cyWindowBorders : UINT, | |
| atomWindowType : ATOM, | |
| wCreatorVersion : u16, | |
| }; | |
| TITLEBARINFO :: struct { | |
| cbSize : u32, | |
| rcTitleBar : RECT, | |
| rgstate : [5 + 1]u32, | |
| }; | |
| PTITLEBARINFO :: ^struct { | |
| cbSize : u32, | |
| rcTitleBar : RECT, | |
| rgstate : [5 + 1]u32, | |
| }; | |
| LPTITLEBARINFO :: ^struct { | |
| cbSize : u32, | |
| rcTitleBar : RECT, | |
| rgstate : [5 + 1]u32, | |
| }; | |
| TITLEBARINFOEX :: struct { | |
| cbSize : u32, | |
| rcTitleBar : RECT, | |
| rgstate : [5 + 1]u32, | |
| rgrect : [5 + 1]RECT, | |
| }; | |
| PTITLEBARINFOEX :: ^struct { | |
| cbSize : u32, | |
| rcTitleBar : RECT, | |
| rgstate : [5 + 1]u32, | |
| rgrect : [5 + 1]RECT, | |
| }; | |
| LPTITLEBARINFOEX :: ^struct { | |
| cbSize : u32, | |
| rcTitleBar : RECT, | |
| rgstate : [5 + 1]u32, | |
| rgrect : [5 + 1]RECT, | |
| }; | |
| MENUBARINFO :: struct { | |
| cbSize : u32, | |
| rcBar : RECT, | |
| hMenu : HMENU, | |
| hwndMenu : HWND, | |
| fBarFocused : , | |
| fFocused : , | |
| }; | |
| PMENUBARINFO :: ^struct { | |
| cbSize : u32, | |
| rcBar : RECT, | |
| hMenu : HMENU, | |
| hwndMenu : HWND, | |
| fBarFocused : , | |
| fFocused : , | |
| }; | |
| LPMENUBARINFO :: ^struct { | |
| cbSize : u32, | |
| rcBar : RECT, | |
| hMenu : HMENU, | |
| hwndMenu : HWND, | |
| fBarFocused : , | |
| fFocused : , | |
| }; | |
| SCROLLBARINFO :: struct { | |
| cbSize : u32, | |
| rcScrollBar : RECT, | |
| dxyLineButton : i32, | |
| xyThumbTop : i32, | |
| xyThumbBottom : i32, | |
| reserved : i32, | |
| rgstate : [5 + 1]u32, | |
| }; | |
| PSCROLLBARINFO :: ^struct { | |
| cbSize : u32, | |
| rcScrollBar : RECT, | |
| dxyLineButton : i32, | |
| xyThumbTop : i32, | |
| xyThumbBottom : i32, | |
| reserved : i32, | |
| rgstate : [5 + 1]u32, | |
| }; | |
| LPSCROLLBARINFO :: ^struct { | |
| cbSize : u32, | |
| rcScrollBar : RECT, | |
| dxyLineButton : i32, | |
| xyThumbTop : i32, | |
| xyThumbBottom : i32, | |
| reserved : i32, | |
| rgstate : [5 + 1]u32, | |
| }; | |
| COMBOBOXINFO :: struct { | |
| cbSize : u32, | |
| rcItem : RECT, | |
| rcButton : RECT, | |
| stateButton : u32, | |
| hwndCombo : HWND, | |
| hwndItem : HWND, | |
| hwndList : HWND, | |
| }; | |
| PCOMBOBOXINFO :: ^struct { | |
| cbSize : u32, | |
| rcItem : RECT, | |
| rcButton : RECT, | |
| stateButton : u32, | |
| hwndCombo : HWND, | |
| hwndItem : HWND, | |
| hwndList : HWND, | |
| }; | |
| LPCOMBOBOXINFO :: ^struct { | |
| cbSize : u32, | |
| rcItem : RECT, | |
| rcButton : RECT, | |
| stateButton : u32, | |
| hwndCombo : HWND, | |
| hwndItem : HWND, | |
| hwndList : HWND, | |
| }; | |
| ALTTABINFO :: struct { | |
| cbSize : u32, | |
| cItems : i32, | |
| cColumns : i32, | |
| cRows : i32, | |
| iColFocus : i32, | |
| iRowFocus : i32, | |
| cxItem : i32, | |
| cyItem : i32, | |
| ptStart : POINT, | |
| }; | |
| PALTTABINFO :: ^struct { | |
| cbSize : u32, | |
| cItems : i32, | |
| cColumns : i32, | |
| cRows : i32, | |
| iColFocus : i32, | |
| iRowFocus : i32, | |
| cxItem : i32, | |
| cyItem : i32, | |
| ptStart : POINT, | |
| }; | |
| LPALTTABINFO :: ^struct { | |
| cbSize : u32, | |
| cItems : i32, | |
| cColumns : i32, | |
| cRows : i32, | |
| iColFocus : i32, | |
| iRowFocus : i32, | |
| cxItem : i32, | |
| cyItem : i32, | |
| ptStart : POINT, | |
| }; | |
| HRAWINPUT__ :: struct { | |
| unused : i32, | |
| }; | |
| HRAWINPUT :: ^HRAWINPUT__; | |
| RAWINPUTHEADER :: struct { | |
| dwType : u32, | |
| dwSize : u32, | |
| hDevice : HANDLE, | |
| wParam : WPARAM, | |
| }; | |
| PRAWINPUTHEADER :: ^struct { | |
| dwType : u32, | |
| dwSize : u32, | |
| hDevice : HANDLE, | |
| wParam : WPARAM, | |
| }; | |
| LPRAWINPUTHEADER :: ^struct { | |
| dwType : u32, | |
| dwSize : u32, | |
| hDevice : HANDLE, | |
| wParam : WPARAM, | |
| }; | |
| RAWMOUSE :: struct { | |
| usFlags : USHORT, | |
| u : struct #raw_union { | |
| ulButtons : ULONG, | |
| s : struct { | |
| usButtonFlags : USHORT, | |
| usButtonData : USHORT, | |
| }, | |
| }, | |
| ulRawButtons : ULONG, | |
| lLastX : LONG, | |
| lLastY : LONG, | |
| ulExtraInformation : ULONG, | |
| }; | |
| PRAWMOUSE :: ^struct { | |
| usFlags : USHORT, | |
| u : struct #raw_union { | |
| ulButtons : ULONG, | |
| s : struct { | |
| usButtonFlags : USHORT, | |
| usButtonData : USHORT, | |
| }, | |
| }, | |
| ulRawButtons : ULONG, | |
| lLastX : LONG, | |
| lLastY : LONG, | |
| ulExtraInformation : ULONG, | |
| }; | |
| LPRAWMOUSE :: ^struct { | |
| usFlags : USHORT, | |
| u : struct #raw_union { | |
| ulButtons : ULONG, | |
| s : struct { | |
| usButtonFlags : USHORT, | |
| usButtonData : USHORT, | |
| }, | |
| }, | |
| ulRawButtons : ULONG, | |
| lLastX : LONG, | |
| lLastY : LONG, | |
| ulExtraInformation : ULONG, | |
| }; | |
| RAWKEYBOARD :: struct { | |
| MakeCode : USHORT, | |
| Flags : USHORT, | |
| Reserved : USHORT, | |
| VKey : USHORT, | |
| Message : UINT, | |
| ExtraInformation : ULONG, | |
| }; | |
| PRAWKEYBOARD :: ^struct { | |
| MakeCode : USHORT, | |
| Flags : USHORT, | |
| Reserved : USHORT, | |
| VKey : USHORT, | |
| Message : UINT, | |
| ExtraInformation : ULONG, | |
| }; | |
| LPRAWKEYBOARD :: ^struct { | |
| MakeCode : USHORT, | |
| Flags : USHORT, | |
| Reserved : USHORT, | |
| VKey : USHORT, | |
| Message : UINT, | |
| ExtraInformation : ULONG, | |
| }; | |
| RAWHID :: struct { | |
| dwSizeHid : u32, | |
| dwCount : u32, | |
| bRawData : [1]BYTE, | |
| }; | |
| PRAWHID :: ^struct { | |
| dwSizeHid : u32, | |
| dwCount : u32, | |
| bRawData : [1]BYTE, | |
| }; | |
| LPRAWHID :: ^struct { | |
| dwSizeHid : u32, | |
| dwCount : u32, | |
| bRawData : [1]BYTE, | |
| }; | |
| RAWINPUT :: struct { | |
| header : RAWINPUTHEADER, | |
| data : struct #raw_union { | |
| mouse : RAWMOUSE, | |
| keyboard : RAWKEYBOARD, | |
| hid : RAWHID, | |
| }, | |
| }; | |
| PRAWINPUT :: ^struct { | |
| header : RAWINPUTHEADER, | |
| data : struct #raw_union { | |
| mouse : RAWMOUSE, | |
| keyboard : RAWKEYBOARD, | |
| hid : RAWHID, | |
| }, | |
| }; | |
| LPRAWINPUT :: ^struct { | |
| header : RAWINPUTHEADER, | |
| data : struct #raw_union { | |
| mouse : RAWMOUSE, | |
| keyboard : RAWKEYBOARD, | |
| hid : RAWHID, | |
| }, | |
| }; | |
| RID_DEVICE_INFO_MOUSE :: struct { | |
| dwId : u32, | |
| dwNumberOfButtons : u32, | |
| dwSampleRate : u32, | |
| fHasHorizontalWheel : BOOL, | |
| }; | |
| PRID_DEVICE_INFO_MOUSE :: ^struct { | |
| dwId : u32, | |
| dwNumberOfButtons : u32, | |
| dwSampleRate : u32, | |
| fHasHorizontalWheel : BOOL, | |
| }; | |
| RID_DEVICE_INFO_KEYBOARD :: struct { | |
| dwType : u32, | |
| dwSubType : u32, | |
| dwKeyboardMode : u32, | |
| dwNumberOfFunctionKeys : u32, | |
| dwNumberOfIndicators : u32, | |
| dwNumberOfKeysTotal : u32, | |
| }; | |
| PRID_DEVICE_INFO_KEYBOARD :: ^struct { | |
| dwType : u32, | |
| dwSubType : u32, | |
| dwKeyboardMode : u32, | |
| dwNumberOfFunctionKeys : u32, | |
| dwNumberOfIndicators : u32, | |
| dwNumberOfKeysTotal : u32, | |
| }; | |
| RID_DEVICE_INFO_HID :: struct { | |
| dwVendorId : u32, | |
| dwProductId : u32, | |
| dwVersionNumber : u32, | |
| usUsagePage : USHORT, | |
| usUsage : USHORT, | |
| }; | |
| PRID_DEVICE_INFO_HID :: ^struct { | |
| dwVendorId : u32, | |
| dwProductId : u32, | |
| dwVersionNumber : u32, | |
| usUsagePage : USHORT, | |
| usUsage : USHORT, | |
| }; | |
| RID_DEVICE_INFO :: struct { | |
| cbSize : u32, | |
| dwType : u32, | |
| u : struct #raw_union { | |
| mouse : RID_DEVICE_INFO_MOUSE, | |
| keyboard : RID_DEVICE_INFO_KEYBOARD, | |
| hid : RID_DEVICE_INFO_HID, | |
| }, | |
| }; | |
| PRID_DEVICE_INFO :: ^struct { | |
| cbSize : u32, | |
| dwType : u32, | |
| u : struct #raw_union { | |
| mouse : RID_DEVICE_INFO_MOUSE, | |
| keyboard : RID_DEVICE_INFO_KEYBOARD, | |
| hid : RID_DEVICE_INFO_HID, | |
| }, | |
| }; | |
| LPRID_DEVICE_INFO :: ^struct { | |
| cbSize : u32, | |
| dwType : u32, | |
| u : struct #raw_union { | |
| mouse : RID_DEVICE_INFO_MOUSE, | |
| keyboard : RID_DEVICE_INFO_KEYBOARD, | |
| hid : RID_DEVICE_INFO_HID, | |
| }, | |
| }; | |
| RAWINPUTDEVICE :: struct { | |
| usUsagePage : USHORT, | |
| usUsage : USHORT, | |
| dwFlags : u32, | |
| hwndTarget : HWND, | |
| }; | |
| PRAWINPUTDEVICE :: ^struct { | |
| usUsagePage : USHORT, | |
| usUsage : USHORT, | |
| dwFlags : u32, | |
| hwndTarget : HWND, | |
| }; | |
| LPRAWINPUTDEVICE :: ^struct { | |
| usUsagePage : USHORT, | |
| usUsage : USHORT, | |
| dwFlags : u32, | |
| hwndTarget : HWND, | |
| }; | |
| PCRAWINPUTDEVICE :: ^RAWINPUTDEVICE; | |
| RAWINPUTDEVICELIST :: struct { | |
| hDevice : HANDLE, | |
| dwType : u32, | |
| }; | |
| PRAWINPUTDEVICELIST :: ^struct { | |
| hDevice : HANDLE, | |
| dwType : u32, | |
| }; | |
| POINTER_DEVICE_TYPE :: enum { | |
| POINTER_DEVICE_TYPE_INTEGRATED_PEN = 0x00000001, | |
| POINTER_DEVICE_TYPE_EXTERNAL_PEN = 0x00000002, | |
| POINTER_DEVICE_TYPE_TOUCH = 0x00000003, | |
| POINTER_DEVICE_TYPE_TOUCH_PAD = 0x00000004, | |
| POINTER_DEVICE_TYPE_MAX = 0xFFFFFFFF, | |
| }; | |
| POINTER_DEVICE_INFO :: struct { | |
| displayOrientation : u32, | |
| device : HANDLE, | |
| pointerDeviceType : POINTER_DEVICE_TYPE, | |
| monitor : HMONITOR, | |
| startingCursorId : ULONG, | |
| maxActiveContacts : USHORT, | |
| productString : [520]WCHAR, | |
| }; | |
| POINTER_DEVICE_PROPERTY :: struct { | |
| logicalMin : INT32, | |
| logicalMax : INT32, | |
| physicalMin : INT32, | |
| physicalMax : INT32, | |
| unit : UINT32, | |
| unitExponent : UINT32, | |
| usagePageId : USHORT, | |
| usageId : USHORT, | |
| }; | |
| POINTER_DEVICE_CURSOR_TYPE :: enum { | |
| POINTER_DEVICE_CURSOR_TYPE_UNKNOWN = 0x00000000, | |
| POINTER_DEVICE_CURSOR_TYPE_TIP = 0x00000001, | |
| POINTER_DEVICE_CURSOR_TYPE_ERASER = 0x00000002, | |
| POINTER_DEVICE_CURSOR_TYPE_MAX = 0xFFFFFFFF, | |
| }; | |
| POINTER_DEVICE_CURSOR_INFO :: struct { | |
| cursorId : UINT32, | |
| cursor : POINTER_DEVICE_CURSOR_TYPE, | |
| }; | |
| CHANGEFILTERSTRUCT :: struct { | |
| cbSize : u32, | |
| ExtStatus : u32, | |
| }; | |
| PCHANGEFILTERSTRUCT :: ^struct { | |
| cbSize : u32, | |
| ExtStatus : u32, | |
| }; | |
| HGESTUREINFO__ :: struct { | |
| unused : i32, | |
| }; | |
| HGESTUREINFO :: ^HGESTUREINFO__; | |
| GESTUREINFO :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| dwID : u32, | |
| hwndTarget : HWND, | |
| ptsLocation : POINTS, | |
| dwInstanceID : u32, | |
| dwSequenceID : u32, | |
| ullArguments : ULONGLONG, | |
| cbExtraArgs : UINT, | |
| }; | |
| PGESTUREINFO :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| dwID : u32, | |
| hwndTarget : HWND, | |
| ptsLocation : POINTS, | |
| dwInstanceID : u32, | |
| dwSequenceID : u32, | |
| ullArguments : ULONGLONG, | |
| cbExtraArgs : UINT, | |
| }; | |
| PCGESTUREINFO :: ^GESTUREINFO; | |
| GESTURENOTIFYSTRUCT :: struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| hwndTarget : HWND, | |
| ptsLocation : POINTS, | |
| dwInstanceID : u32, | |
| }; | |
| PGESTURENOTIFYSTRUCT :: ^struct { | |
| cbSize : UINT, | |
| dwFlags : u32, | |
| hwndTarget : HWND, | |
| ptsLocation : POINTS, | |
| dwInstanceID : u32, | |
| }; | |
| GESTURECONFIG :: struct { | |
| dwID : u32, | |
| dwWant : u32, | |
| dwBlock : u32, | |
| }; | |
| PGESTURECONFIG :: ^struct { | |
| dwID : u32, | |
| dwWant : u32, | |
| dwBlock : u32, | |
| }; | |
| INPUT_MESSAGE_DEVICE_TYPE :: enum { | |
| IMDT_UNAVAILABLE = 0x00000000, | |
| IMDT_KEYBOARD = 0x00000001, | |
| IMDT_MOUSE = 0x00000002, | |
| IMDT_TOUCH = 0x00000004, | |
| IMDT_PEN = 0x00000008, | |
| IMDT_TOUCHPAD = 0x00000010, | |
| }; | |
| INPUT_MESSAGE_ORIGIN_ID :: enum { | |
| IMO_UNAVAILABLE = 0x00000000, | |
| IMO_HARDWARE = 0x00000001, | |
| IMO_INJECTED = 0x00000002, | |
| IMO_SYSTEM = 0x00000004, | |
| }; | |
| INPUT_MESSAGE_SOURCE :: struct { | |
| deviceType : INPUT_MESSAGE_DEVICE_TYPE, | |
| originId : INPUT_MESSAGE_ORIGIN_ID, | |
| }; | |
| AR_STATE :: enum { | |
| AR_ENABLED = 0x0, | |
| AR_DISABLED = 0x1, | |
| AR_SUPPRESSED = 0x2, | |
| AR_REMOTESESSION = 0x4, | |
| AR_MULTIMON = 0x8, | |
| AR_NOSENSOR = 0x10, | |
| AR_NOT_SUPPORTED = 0x20, | |
| AR_DOCKED = 0x40, | |
| AR_LAPTOP = 0x80, | |
| }; | |
| PAR_STATE :: ^enum { | |
| AR_ENABLED = 0x0, | |
| AR_DISABLED = 0x1, | |
| AR_SUPPRESSED = 0x2, | |
| AR_REMOTESESSION = 0x4, | |
| AR_MULTIMON = 0x8, | |
| AR_NOSENSOR = 0x10, | |
| AR_NOT_SUPPORTED = 0x20, | |
| AR_DOCKED = 0x40, | |
| AR_LAPTOP = 0x80, | |
| }; | |
| ORIENTATION_PREFERENCE :: enum { | |
| ORIENTATION_PREFERENCE_NONE = 0x0, | |
| ORIENTATION_PREFERENCE_LANDSCAPE = 0x1, | |
| ORIENTATION_PREFERENCE_PORTRAIT = 0x2, | |
| ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED = 0x4, | |
| ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED = 0x8, | |
| }; | |
| LGRPID :: u32; | |
| LCTYPE :: u32; | |
| CALTYPE :: u32; | |
| CALID :: u32; | |
| CPINFO :: struct { | |
| MaxCharSize : UINT, | |
| DefaultChar : [2]BYTE, | |
| LeadByte : [12]BYTE, | |
| }; | |
| LPCPINFO :: ^struct { | |
| MaxCharSize : UINT, | |
| DefaultChar : [2]BYTE, | |
| LeadByte : [12]BYTE, | |
| }; | |
| GEOTYPE :: u32; | |
| GEOCLASS :: u32; | |
| GEOID :: LONG; | |
| CPINFOEXA :: struct { | |
| MaxCharSize : UINT, | |
| DefaultChar : [2]BYTE, | |
| LeadByte : [12]BYTE, | |
| UnicodeDefaultChar : WCHAR, | |
| CodePage : UINT, | |
| CodePageName : [260]CHAR, | |
| }; | |
| LPCPINFOEXA :: ^struct { | |
| MaxCharSize : UINT, | |
| DefaultChar : [2]BYTE, | |
| LeadByte : [12]BYTE, | |
| UnicodeDefaultChar : WCHAR, | |
| CodePage : UINT, | |
| CodePageName : [260]CHAR, | |
| }; | |
| CPINFOEXW :: struct { | |
| MaxCharSize : UINT, | |
| DefaultChar : [2]BYTE, | |
| LeadByte : [12]BYTE, | |
| UnicodeDefaultChar : WCHAR, | |
| CodePage : UINT, | |
| CodePageName : [260]WCHAR, | |
| }; | |
| LPCPINFOEXW :: ^struct { | |
| MaxCharSize : UINT, | |
| DefaultChar : [2]BYTE, | |
| LeadByte : [12]BYTE, | |
| UnicodeDefaultChar : WCHAR, | |
| CodePage : UINT, | |
| CodePageName : [260]WCHAR, | |
| }; | |
| CPINFOEX :: CPINFOEXA; | |
| LPCPINFOEX :: LPCPINFOEXA; | |
| NUMBERFMTA :: struct { | |
| NumDigits : UINT, | |
| LeadingZero : UINT, | |
| Grouping : UINT, | |
| lpDecimalSep : LPSTR, | |
| lpThousandSep : LPSTR, | |
| NegativeOrder : UINT, | |
| }; | |
| LPNUMBERFMTA :: ^struct { | |
| NumDigits : UINT, | |
| LeadingZero : UINT, | |
| Grouping : UINT, | |
| lpDecimalSep : LPSTR, | |
| lpThousandSep : LPSTR, | |
| NegativeOrder : UINT, | |
| }; | |
| NUMBERFMTW :: struct { | |
| NumDigits : UINT, | |
| LeadingZero : UINT, | |
| Grouping : UINT, | |
| lpDecimalSep : LPWSTR, | |
| lpThousandSep : LPWSTR, | |
| NegativeOrder : UINT, | |
| }; | |
| LPNUMBERFMTW :: ^struct { | |
| NumDigits : UINT, | |
| LeadingZero : UINT, | |
| Grouping : UINT, | |
| lpDecimalSep : LPWSTR, | |
| lpThousandSep : LPWSTR, | |
| NegativeOrder : UINT, | |
| }; | |
| NUMBERFMT :: NUMBERFMTA; | |
| LPNUMBERFMT :: LPNUMBERFMTA; | |
| CURRENCYFMTA :: struct { | |
| NumDigits : UINT, | |
| LeadingZero : UINT, | |
| Grouping : UINT, | |
| lpDecimalSep : LPSTR, | |
| lpThousandSep : LPSTR, | |
| NegativeOrder : UINT, | |
| PositiveOrder : UINT, | |
| lpCurrencySymbol : LPSTR, | |
| }; | |
| LPCURRENCYFMTA :: ^struct { | |
| NumDigits : UINT, | |
| LeadingZero : UINT, | |
| Grouping : UINT, | |
| lpDecimalSep : LPSTR, | |
| lpThousandSep : LPSTR, | |
| NegativeOrder : UINT, | |
| PositiveOrder : UINT, | |
| lpCurrencySymbol : LPSTR, | |
| }; | |
| CURRENCYFMTW :: struct { | |
| NumDigits : UINT, | |
| LeadingZero : UINT, | |
| Grouping : UINT, | |
| lpDecimalSep : LPWSTR, | |
| lpThousandSep : LPWSTR, | |
| NegativeOrder : UINT, | |
| PositiveOrder : UINT, | |
| lpCurrencySymbol : LPWSTR, | |
| }; | |
| LPCURRENCYFMTW :: ^struct { | |
| NumDigits : UINT, | |
| LeadingZero : UINT, | |
| Grouping : UINT, | |
| lpDecimalSep : LPWSTR, | |
| lpThousandSep : LPWSTR, | |
| NegativeOrder : UINT, | |
| PositiveOrder : UINT, | |
| lpCurrencySymbol : LPWSTR, | |
| }; | |
| CURRENCYFMT :: CURRENCYFMTA; | |
| LPCURRENCYFMT :: LPCURRENCYFMTA; | |
| SYSNLS_FUNCTION :: enum { | |
| COMPARE_STRING = 0x0001, | |
| }; | |
| NLS_FUNCTION :: u32; | |
| NLSVERSIONINFO :: struct { | |
| dwNLSVersionInfoSize : u32, | |
| dwNLSVersion : u32, | |
| dwDefinedVersion : u32, | |
| dwEffectiveId : u32, | |
| guidCustomVersion : GUID, | |
| }; | |
| LPNLSVERSIONINFO :: ^struct { | |
| dwNLSVersionInfoSize : u32, | |
| dwNLSVersion : u32, | |
| dwDefinedVersion : u32, | |
| dwEffectiveId : u32, | |
| guidCustomVersion : GUID, | |
| }; | |
| NLSVERSIONINFOEX :: struct { | |
| dwNLSVersionInfoSize : u32, | |
| dwNLSVersion : u32, | |
| dwDefinedVersion : u32, | |
| dwEffectiveId : u32, | |
| guidCustomVersion : GUID, | |
| }; | |
| LPNLSVERSIONINFOEX :: ^struct { | |
| dwNLSVersionInfoSize : u32, | |
| dwNLSVersion : u32, | |
| dwDefinedVersion : u32, | |
| dwEffectiveId : u32, | |
| guidCustomVersion : GUID, | |
| }; | |
| SYSGEOTYPE :: enum { | |
| GEO_NATION = 0x0001, | |
| GEO_LATITUDE = 0x0002, | |
| GEO_LONGITUDE = 0x0003, | |
| GEO_ISO2 = 0x0004, | |
| GEO_ISO3 = 0x0005, | |
| GEO_RFC1766 = 0x0006, | |
| GEO_LCID = 0x0007, | |
| GEO_FRIENDLYNAME = 0x0008, | |
| GEO_OFFICIALNAME = 0x0009, | |
| GEO_TIMEZONES = 0x000A, | |
| GEO_OFFICIALLANGUAGES = 0x000B, | |
| GEO_ISO_UN_NUMBER = 0x000C, | |
| GEO_PARENT = 0x000D, | |
| GEO_DIALINGCODE = 0x000E, | |
| GEO_CURRENCYCODE = 0x000F, | |
| GEO_CURRENCYSYMBOL = 0x0010, | |
| GEO_NAME = 0x0011, | |
| GEO_ID = 0x0012, | |
| }; | |
| SYSGEOCLASS :: enum { | |
| GEOCLASS_NATION = 16, | |
| GEOCLASS_REGION = 14, | |
| GEOCLASS_ALL = 0, | |
| }; | |
| NORM_FORM :: enum { | |
| NormalizationOther = 0, | |
| NormalizationC = 0x1, | |
| NormalizationD = 0x2, | |
| NormalizationKC = 0x5, | |
| NormalizationKD = 0x6, | |
| }; | |
| LANGUAGEGROUP_ENUMPROCA :: (proc(LGRPID, LPSTR, LPSTR, u32, LONG_PTR) -> BOOL); | |
| LANGGROUPLOCALE_ENUMPROCA :: (proc(LGRPID, LCID, LPSTR, LONG_PTR) -> BOOL); | |
| UILANGUAGE_ENUMPROCA :: (proc(LPSTR, LONG_PTR) -> BOOL); | |
| CODEPAGE_ENUMPROCA :: (proc(LPSTR) -> BOOL); | |
| DATEFMT_ENUMPROCA :: (proc(LPSTR) -> BOOL); | |
| DATEFMT_ENUMPROCEXA :: (proc(LPSTR, CALID) -> BOOL); | |
| TIMEFMT_ENUMPROCA :: (proc(LPSTR) -> BOOL); | |
| CALINFO_ENUMPROCA :: (proc(LPSTR) -> BOOL); | |
| CALINFO_ENUMPROCEXA :: (proc(LPSTR, CALID) -> BOOL); | |
| LOCALE_ENUMPROCA :: (proc(LPSTR) -> BOOL); | |
| LOCALE_ENUMPROCW :: (proc(LPWSTR) -> BOOL); | |
| LANGUAGEGROUP_ENUMPROCW :: (proc(LGRPID, LPWSTR, LPWSTR, u32, LONG_PTR) -> BOOL); | |
| LANGGROUPLOCALE_ENUMPROCW :: (proc(LGRPID, LCID, LPWSTR, LONG_PTR) -> BOOL); | |
| UILANGUAGE_ENUMPROCW :: (proc(LPWSTR, LONG_PTR) -> BOOL); | |
| CODEPAGE_ENUMPROCW :: (proc(LPWSTR) -> BOOL); | |
| DATEFMT_ENUMPROCW :: (proc(LPWSTR) -> BOOL); | |
| DATEFMT_ENUMPROCEXW :: (proc(LPWSTR, CALID) -> BOOL); | |
| TIMEFMT_ENUMPROCW :: (proc(LPWSTR) -> BOOL); | |
| CALINFO_ENUMPROCW :: (proc(LPWSTR) -> BOOL); | |
| CALINFO_ENUMPROCEXW :: (proc(LPWSTR, CALID) -> BOOL); | |
| GEO_ENUMPROC :: (proc(GEOID) -> BOOL); | |
| GEO_ENUMNAMEPROC :: (proc(PWSTR, LPARAM) -> BOOL); | |
| FILEMUIINFO :: struct { | |
| dwSize : u32, | |
| dwVersion : u32, | |
| dwFileType : u32, | |
| pChecksum : [16]BYTE, | |
| pServiceChecksum : [16]BYTE, | |
| dwLanguageNameOffset : u32, | |
| dwTypeIDMainSize : u32, | |
| dwTypeIDMainOffset : u32, | |
| dwTypeNameMainOffset : u32, | |
| dwTypeIDMUISize : u32, | |
| dwTypeIDMUIOffset : u32, | |
| dwTypeNameMUIOffset : u32, | |
| abBuffer : [8]BYTE, | |
| }; | |
| PFILEMUIINFO :: ^struct { | |
| dwSize : u32, | |
| dwVersion : u32, | |
| dwFileType : u32, | |
| pChecksum : [16]BYTE, | |
| pServiceChecksum : [16]BYTE, | |
| dwLanguageNameOffset : u32, | |
| dwTypeIDMainSize : u32, | |
| dwTypeIDMainOffset : u32, | |
| dwTypeNameMainOffset : u32, | |
| dwTypeIDMUISize : u32, | |
| dwTypeIDMUIOffset : u32, | |
| dwTypeNameMUIOffset : u32, | |
| abBuffer : [8]BYTE, | |
| }; | |
| CALINFO_ENUMPROCEXEX :: (proc(LPWSTR, CALID, LPWSTR, LPARAM) -> BOOL); | |
| DATEFMT_ENUMPROCEXEX :: (proc(LPWSTR, CALID, LPARAM) -> BOOL); | |
| TIMEFMT_ENUMPROCEX :: (proc(LPWSTR, LPARAM) -> BOOL); | |
| LOCALE_ENUMPROCEX :: (proc(LPWSTR, u32, LPARAM) -> BOOL); | |
| COORD :: struct { | |
| X : SHORT, | |
| Y : SHORT, | |
| }; | |
| PCOORD :: ^struct { | |
| X : SHORT, | |
| Y : SHORT, | |
| }; | |
| SMALL_RECT :: struct { | |
| Left : SHORT, | |
| Top : SHORT, | |
| Right : SHORT, | |
| Bottom : SHORT, | |
| }; | |
| PSMALL_RECT :: ^struct { | |
| Left : SHORT, | |
| Top : SHORT, | |
| Right : SHORT, | |
| Bottom : SHORT, | |
| }; | |
| KEY_EVENT_RECORD :: struct { | |
| bKeyDown : BOOL, | |
| wRepeatCount : u16, | |
| wVirtualKeyCode : u16, | |
| wVirtualScanCode : u16, | |
| uChar : struct #raw_union { | |
| UnicodeChar : WCHAR, | |
| AsciiChar : CHAR, | |
| }, | |
| dwControlKeyState : u32, | |
| }; | |
| PKEY_EVENT_RECORD :: ^struct { | |
| bKeyDown : BOOL, | |
| wRepeatCount : u16, | |
| wVirtualKeyCode : u16, | |
| wVirtualScanCode : u16, | |
| uChar : struct #raw_union { | |
| UnicodeChar : WCHAR, | |
| AsciiChar : CHAR, | |
| }, | |
| dwControlKeyState : u32, | |
| }; | |
| MOUSE_EVENT_RECORD :: struct { | |
| dwMousePosition : COORD, | |
| dwButtonState : u32, | |
| dwControlKeyState : u32, | |
| dwEventFlags : u32, | |
| }; | |
| PMOUSE_EVENT_RECORD :: ^struct { | |
| dwMousePosition : COORD, | |
| dwButtonState : u32, | |
| dwControlKeyState : u32, | |
| dwEventFlags : u32, | |
| }; | |
| WINDOW_BUFFER_SIZE_RECORD :: struct { | |
| dwSize : COORD, | |
| }; | |
| PWINDOW_BUFFER_SIZE_RECORD :: ^struct { | |
| dwSize : COORD, | |
| }; | |
| MENU_EVENT_RECORD :: struct { | |
| dwCommandId : UINT, | |
| }; | |
| PMENU_EVENT_RECORD :: ^struct { | |
| dwCommandId : UINT, | |
| }; | |
| FOCUS_EVENT_RECORD :: struct { | |
| bSetFocus : BOOL, | |
| }; | |
| PFOCUS_EVENT_RECORD :: ^struct { | |
| bSetFocus : BOOL, | |
| }; | |
| INPUT_RECORD :: struct { | |
| EventType : u16, | |
| Event : struct #raw_union { | |
| KeyEvent : KEY_EVENT_RECORD, | |
| MouseEvent : MOUSE_EVENT_RECORD, | |
| WindowBufferSizeEvent : WINDOW_BUFFER_SIZE_RECORD, | |
| MenuEvent : MENU_EVENT_RECORD, | |
| FocusEvent : FOCUS_EVENT_RECORD, | |
| }, | |
| }; | |
| PINPUT_RECORD :: ^struct { | |
| EventType : u16, | |
| Event : struct #raw_union { | |
| KeyEvent : KEY_EVENT_RECORD, | |
| MouseEvent : MOUSE_EVENT_RECORD, | |
| WindowBufferSizeEvent : WINDOW_BUFFER_SIZE_RECORD, | |
| MenuEvent : MENU_EVENT_RECORD, | |
| FocusEvent : FOCUS_EVENT_RECORD, | |
| }, | |
| }; | |
| CHAR_INFO :: struct { | |
| Char : struct #raw_union { | |
| UnicodeChar : WCHAR, | |
| AsciiChar : CHAR, | |
| }, | |
| Attributes : u16, | |
| }; | |
| PCHAR_INFO :: ^struct { | |
| Char : struct #raw_union { | |
| UnicodeChar : WCHAR, | |
| AsciiChar : CHAR, | |
| }, | |
| Attributes : u16, | |
| }; | |
| CONSOLE_FONT_INFO :: struct { | |
| nFont : u32, | |
| dwFontSize : COORD, | |
| }; | |
| PCONSOLE_FONT_INFO :: ^struct { | |
| nFont : u32, | |
| dwFontSize : COORD, | |
| }; | |
| HPCON :: rawptr; | |
| CONSOLE_READCONSOLE_CONTROL :: struct { | |
| nLength : ULONG, | |
| nInitialChars : ULONG, | |
| dwCtrlWakeupMask : ULONG, | |
| dwControlKeyState : ULONG, | |
| }; | |
| PCONSOLE_READCONSOLE_CONTROL :: ^struct { | |
| nLength : ULONG, | |
| nInitialChars : ULONG, | |
| dwCtrlWakeupMask : ULONG, | |
| dwControlKeyState : ULONG, | |
| }; | |
| PHANDLER_ROUTINE :: (proc(CtrlType : u32) -> BOOL); | |
| CONSOLE_CURSOR_INFO :: struct { | |
| dwSize : u32, | |
| bVisible : BOOL, | |
| }; | |
| PCONSOLE_CURSOR_INFO :: ^struct { | |
| dwSize : u32, | |
| bVisible : BOOL, | |
| }; | |
| CONSOLE_SCREEN_BUFFER_INFO :: struct { | |
| dwSize : COORD, | |
| dwCursorPosition : COORD, | |
| wAttributes : u16, | |
| srWindow : SMALL_RECT, | |
| dwMaximumWindowSize : COORD, | |
| }; | |
| PCONSOLE_SCREEN_BUFFER_INFO :: ^struct { | |
| dwSize : COORD, | |
| dwCursorPosition : COORD, | |
| wAttributes : u16, | |
| srWindow : SMALL_RECT, | |
| dwMaximumWindowSize : COORD, | |
| }; | |
| CONSOLE_SCREEN_BUFFER_INFOEX :: struct { | |
| cbSize : ULONG, | |
| dwSize : COORD, | |
| dwCursorPosition : COORD, | |
| wAttributes : u16, | |
| srWindow : SMALL_RECT, | |
| dwMaximumWindowSize : COORD, | |
| wPopupAttributes : u16, | |
| bFullscreenSupported : BOOL, | |
| ColorTable : [16]COLORREF, | |
| }; | |
| PCONSOLE_SCREEN_BUFFER_INFOEX :: ^struct { | |
| cbSize : ULONG, | |
| dwSize : COORD, | |
| dwCursorPosition : COORD, | |
| wAttributes : u16, | |
| srWindow : SMALL_RECT, | |
| dwMaximumWindowSize : COORD, | |
| wPopupAttributes : u16, | |
| bFullscreenSupported : BOOL, | |
| ColorTable : [16]COLORREF, | |
| }; | |
| CONSOLE_FONT_INFOEX :: struct { | |
| cbSize : ULONG, | |
| nFont : u32, | |
| dwFontSize : COORD, | |
| FontFamily : UINT, | |
| FontWeight : UINT, | |
| FaceName : [32]WCHAR, | |
| }; | |
| PCONSOLE_FONT_INFOEX :: ^struct { | |
| cbSize : ULONG, | |
| nFont : u32, | |
| dwFontSize : COORD, | |
| FontFamily : UINT, | |
| FontWeight : UINT, | |
| FaceName : [32]WCHAR, | |
| }; | |
| CONSOLE_SELECTION_INFO :: struct { | |
| dwFlags : u32, | |
| dwSelectionAnchor : COORD, | |
| srSelection : SMALL_RECT, | |
| }; | |
| PCONSOLE_SELECTION_INFO :: ^struct { | |
| dwFlags : u32, | |
| dwSelectionAnchor : COORD, | |
| srSelection : SMALL_RECT, | |
| }; | |
| CONSOLE_HISTORY_INFO :: struct { | |
| cbSize : UINT, | |
| HistoryBufferSize : UINT, | |
| NumberOfHistoryBuffers : UINT, | |
| dwFlags : u32, | |
| }; | |
| PCONSOLE_HISTORY_INFO :: ^struct { | |
| cbSize : UINT, | |
| HistoryBufferSize : UINT, | |
| NumberOfHistoryBuffers : UINT, | |
| dwFlags : u32, | |
| }; | |
| VS_FIXEDFILEINFO :: struct { | |
| dwSignature : u32, | |
| dwStrucVersion : u32, | |
| dwFileVersionMS : u32, | |
| dwFileVersionLS : u32, | |
| dwProductVersionMS : u32, | |
| dwProductVersionLS : u32, | |
| dwFileFlagsMask : u32, | |
| dwFileFlags : u32, | |
| dwFileOS : u32, | |
| dwFileType : u32, | |
| dwFileSubtype : u32, | |
| dwFileDateMS : u32, | |
| dwFileDateLS : u32, | |
| }; | |
| LSTATUS :: LONG; | |
| REGSAM :: ACCESS_MASK; | |
| val_context :: struct { | |
| valuelen : i32, | |
| value_context : LPVOID, | |
| val_buff_ptr : LPVOID, | |
| }; | |
| PVALCONTEXT :: ^val_context; | |
| PVALUEA :: struct { | |
| pv_valuename : LPSTR, | |
| pv_valuelen : i32, | |
| pv_value_context : LPVOID, | |
| pv_type : u32, | |
| }; | |
| PPVALUEA :: ^struct { | |
| pv_valuename : LPSTR, | |
| pv_valuelen : i32, | |
| pv_value_context : LPVOID, | |
| pv_type : u32, | |
| }; | |
| PVALUEW :: struct { | |
| pv_valuename : LPWSTR, | |
| pv_valuelen : i32, | |
| pv_value_context : LPVOID, | |
| pv_type : u32, | |
| }; | |
| PPVALUEW :: ^struct { | |
| pv_valuename : LPWSTR, | |
| pv_valuelen : i32, | |
| pv_value_context : LPVOID, | |
| pv_type : u32, | |
| }; | |
| PVALUE :: PVALUEA; | |
| PPVALUE :: PPVALUEA; | |
| QUERYHANDLER :: #type (proc(keycontext : LPVOID, val_list : PVALCONTEXT, num_vals : u32, outputbuffer : LPVOID, total_outlen : ^u32, input_blen : u32) -> u32); | |
| PQUERYHANDLER :: ^QUERYHANDLER; | |
| REG_PROVIDER :: struct { | |
| pi_R0_1val : PQUERYHANDLER, | |
| pi_R0_allvals : PQUERYHANDLER, | |
| pi_R3_1val : PQUERYHANDLER, | |
| pi_R3_allvals : PQUERYHANDLER, | |
| pi_flags : u32, | |
| pi_key_context : LPVOID, | |
| }; | |
| PPROVIDER :: ^REG_PROVIDER; | |
| VALENTA :: struct { | |
| ve_valuename : LPSTR, | |
| ve_valuelen : u32, | |
| ve_valueptr : DWORD_PTR, | |
| ve_type : u32, | |
| }; | |
| PVALENTA :: ^struct { | |
| ve_valuename : LPSTR, | |
| ve_valuelen : u32, | |
| ve_valueptr : DWORD_PTR, | |
| ve_type : u32, | |
| }; | |
| VALENTW :: struct { | |
| ve_valuename : LPWSTR, | |
| ve_valuelen : u32, | |
| ve_valueptr : DWORD_PTR, | |
| ve_type : u32, | |
| }; | |
| PVALENTW :: ^struct { | |
| ve_valuename : LPWSTR, | |
| ve_valuelen : u32, | |
| ve_valueptr : DWORD_PTR, | |
| ve_type : u32, | |
| }; | |
| VALENT :: VALENTA; | |
| PVALENT :: PVALENTA; | |
| NETRESOURCEA :: struct { | |
| dwScope : u32, | |
| dwType : u32, | |
| dwDisplayType : u32, | |
| dwUsage : u32, | |
| lpLocalName : LPSTR, | |
| lpRemoteName : LPSTR, | |
| lpComment : LPSTR, | |
| lpProvider : LPSTR, | |
| }; | |
| LPNETRESOURCEA :: ^struct { | |
| dwScope : u32, | |
| dwType : u32, | |
| dwDisplayType : u32, | |
| dwUsage : u32, | |
| lpLocalName : LPSTR, | |
| lpRemoteName : LPSTR, | |
| lpComment : LPSTR, | |
| lpProvider : LPSTR, | |
| }; | |
| NETRESOURCEW :: struct { | |
| dwScope : u32, | |
| dwType : u32, | |
| dwDisplayType : u32, | |
| dwUsage : u32, | |
| lpLocalName : LPWSTR, | |
| lpRemoteName : LPWSTR, | |
| lpComment : LPWSTR, | |
| lpProvider : LPWSTR, | |
| }; | |
| LPNETRESOURCEW :: ^struct { | |
| dwScope : u32, | |
| dwType : u32, | |
| dwDisplayType : u32, | |
| dwUsage : u32, | |
| lpLocalName : LPWSTR, | |
| lpRemoteName : LPWSTR, | |
| lpComment : LPWSTR, | |
| lpProvider : LPWSTR, | |
| }; | |
| NETRESOURCE :: NETRESOURCEA; | |
| LPNETRESOURCE :: LPNETRESOURCEA; | |
| CONNECTDLGSTRUCTA :: struct { | |
| cbStructure : u32, | |
| hwndOwner : HWND, | |
| lpConnRes : LPNETRESOURCEA, | |
| dwFlags : u32, | |
| dwDevNum : u32, | |
| }; | |
| LPCONNECTDLGSTRUCTA :: ^struct { | |
| cbStructure : u32, | |
| hwndOwner : HWND, | |
| lpConnRes : LPNETRESOURCEA, | |
| dwFlags : u32, | |
| dwDevNum : u32, | |
| }; | |
| CONNECTDLGSTRUCTW :: struct { | |
| cbStructure : u32, | |
| hwndOwner : HWND, | |
| lpConnRes : LPNETRESOURCEW, | |
| dwFlags : u32, | |
| dwDevNum : u32, | |
| }; | |
| LPCONNECTDLGSTRUCTW :: ^struct { | |
| cbStructure : u32, | |
| hwndOwner : HWND, | |
| lpConnRes : LPNETRESOURCEW, | |
| dwFlags : u32, | |
| dwDevNum : u32, | |
| }; | |
| CONNECTDLGSTRUCT :: CONNECTDLGSTRUCTA; | |
| LPCONNECTDLGSTRUCT :: LPCONNECTDLGSTRUCTA; | |
| DISCDLGSTRUCTA :: struct { | |
| cbStructure : u32, | |
| hwndOwner : HWND, | |
| lpLocalName : LPSTR, | |
| lpRemoteName : LPSTR, | |
| dwFlags : u32, | |
| }; | |
| LPDISCDLGSTRUCTA :: ^struct { | |
| cbStructure : u32, | |
| hwndOwner : HWND, | |
| lpLocalName : LPSTR, | |
| lpRemoteName : LPSTR, | |
| dwFlags : u32, | |
| }; | |
| DISCDLGSTRUCTW :: struct { | |
| cbStructure : u32, | |
| hwndOwner : HWND, | |
| lpLocalName : LPWSTR, | |
| lpRemoteName : LPWSTR, | |
| dwFlags : u32, | |
| }; | |
| LPDISCDLGSTRUCTW :: ^struct { | |
| cbStructure : u32, | |
| hwndOwner : HWND, | |
| lpLocalName : LPWSTR, | |
| lpRemoteName : LPWSTR, | |
| dwFlags : u32, | |
| }; | |
| DISCDLGSTRUCT :: DISCDLGSTRUCTA; | |
| LPDISCDLGSTRUCT :: LPDISCDLGSTRUCTA; | |
| UNIVERSAL_NAME_INFOA :: struct { | |
| lpUniversalName : LPSTR, | |
| }; | |
| LPUNIVERSAL_NAME_INFOA :: ^struct { | |
| lpUniversalName : LPSTR, | |
| }; | |
| UNIVERSAL_NAME_INFOW :: struct { | |
| lpUniversalName : LPWSTR, | |
| }; | |
| LPUNIVERSAL_NAME_INFOW :: ^struct { | |
| lpUniversalName : LPWSTR, | |
| }; | |
| UNIVERSAL_NAME_INFO :: UNIVERSAL_NAME_INFOA; | |
| LPUNIVERSAL_NAME_INFO :: LPUNIVERSAL_NAME_INFOA; | |
| REMOTE_NAME_INFOA :: struct { | |
| lpUniversalName : LPSTR, | |
| lpConnectionName : LPSTR, | |
| lpRemainingPath : LPSTR, | |
| }; | |
| LPREMOTE_NAME_INFOA :: ^struct { | |
| lpUniversalName : LPSTR, | |
| lpConnectionName : LPSTR, | |
| lpRemainingPath : LPSTR, | |
| }; | |
| REMOTE_NAME_INFOW :: struct { | |
| lpUniversalName : LPWSTR, | |
| lpConnectionName : LPWSTR, | |
| lpRemainingPath : LPWSTR, | |
| }; | |
| LPREMOTE_NAME_INFOW :: ^struct { | |
| lpUniversalName : LPWSTR, | |
| lpConnectionName : LPWSTR, | |
| lpRemainingPath : LPWSTR, | |
| }; | |
| REMOTE_NAME_INFO :: REMOTE_NAME_INFOA; | |
| LPREMOTE_NAME_INFO :: LPREMOTE_NAME_INFOA; | |
| NETINFOSTRUCT :: struct { | |
| cbStructure : u32, | |
| dwProviderVersion : u32, | |
| dwStatus : u32, | |
| dwCharacteristics : u32, | |
| dwHandle : ULONG_PTR, | |
| wNetType : u16, | |
| dwPrinters : u32, | |
| dwDrives : u32, | |
| }; | |
| LPNETINFOSTRUCT :: ^struct { | |
| cbStructure : u32, | |
| dwProviderVersion : u32, | |
| dwStatus : u32, | |
| dwCharacteristics : u32, | |
| dwHandle : ULONG_PTR, | |
| wNetType : u16, | |
| dwPrinters : u32, | |
| dwDrives : u32, | |
| }; | |
| NETCONNECTINFOSTRUCT :: struct { | |
| cbStructure : u32, | |
| dwFlags : u32, | |
| dwSpeed : u32, | |
| dwDelay : u32, | |
| dwOptDataSize : u32, | |
| }; | |
| LPNETCONNECTINFOSTRUCT :: ^struct { | |
| cbStructure : u32, | |
| dwFlags : u32, | |
| dwSpeed : u32, | |
| dwDelay : u32, | |
| dwOptDataSize : u32, | |
| }; | |
| DDEACK :: struct { | |
| bAppReturnCode : , | |
| reserved : , | |
| fBusy : , | |
| fAck : , | |
| }; | |
| DDEADVISE :: struct { | |
| reserved : , | |
| fDeferUpd : , | |
| fAckReq : , | |
| cfFormat : i16, | |
| }; | |
| DDEDATA :: struct { | |
| unused : , | |
| fResponse : , | |
| fRelease : , | |
| reserved : , | |
| fAckReq : , | |
| cfFormat : i16, | |
| Value : [1]BYTE, | |
| }; | |
| DDEPOKE :: struct { | |
| unused : , | |
| fRelease : , | |
| fReserved : , | |
| cfFormat : i16, | |
| Value : [1]BYTE, | |
| }; | |
| DDELN :: struct { | |
| unused : , | |
| fRelease : , | |
| fDeferUpd : , | |
| fAckReq : , | |
| cfFormat : i16, | |
| }; | |
| DDEUP :: struct { | |
| unused : , | |
| fAck : , | |
| fRelease : , | |
| fReserved : , | |
| fAckReq : , | |
| cfFormat : i16, | |
| rgb : [1]BYTE, | |
| }; | |
| HCONVLIST__ :: struct { | |
| unused : i32, | |
| }; | |
| HCONVLIST :: ^HCONVLIST__; | |
| HCONV__ :: struct { | |
| unused : i32, | |
| }; | |
| HCONV :: ^HCONV__; | |
| HSZ__ :: struct { | |
| unused : i32, | |
| }; | |
| HSZ :: ^HSZ__; | |
| HDDEDATA__ :: struct { | |
| unused : i32, | |
| }; | |
| HDDEDATA :: ^HDDEDATA__; | |
| HSZPAIR :: struct { | |
| hszSvc : HSZ, | |
| hszTopic : HSZ, | |
| }; | |
| PHSZPAIR :: ^struct { | |
| hszSvc : HSZ, | |
| hszTopic : HSZ, | |
| }; | |
| CONVCONTEXT :: struct { | |
| cb : UINT, | |
| wFlags : UINT, | |
| wCountryID : UINT, | |
| iCodePage : i32, | |
| dwLangID : u32, | |
| dwSecurity : u32, | |
| qos : SECURITY_QUALITY_OF_SERVICE, | |
| }; | |
| PCONVCONTEXT :: ^struct { | |
| cb : UINT, | |
| wFlags : UINT, | |
| wCountryID : UINT, | |
| iCodePage : i32, | |
| dwLangID : u32, | |
| dwSecurity : u32, | |
| qos : SECURITY_QUALITY_OF_SERVICE, | |
| }; | |
| CONVINFO :: struct { | |
| cb : u32, | |
| hUser : DWORD_PTR, | |
| hConvPartner : HCONV, | |
| hszSvcPartner : HSZ, | |
| hszServiceReq : HSZ, | |
| hszTopic : HSZ, | |
| hszItem : HSZ, | |
| wFmt : UINT, | |
| wType : UINT, | |
| wStatus : UINT, | |
| wConvst : UINT, | |
| wLastError : UINT, | |
| hConvList : HCONVLIST, | |
| ConvCtxt : CONVCONTEXT, | |
| hwnd : HWND, | |
| hwndPartner : HWND, | |
| }; | |
| PCONVINFO :: ^struct { | |
| cb : u32, | |
| hUser : DWORD_PTR, | |
| hConvPartner : HCONV, | |
| hszSvcPartner : HSZ, | |
| hszServiceReq : HSZ, | |
| hszTopic : HSZ, | |
| hszItem : HSZ, | |
| wFmt : UINT, | |
| wType : UINT, | |
| wStatus : UINT, | |
| wConvst : UINT, | |
| wLastError : UINT, | |
| hConvList : HCONVLIST, | |
| ConvCtxt : CONVCONTEXT, | |
| hwnd : HWND, | |
| hwndPartner : HWND, | |
| }; | |
| FNCALLBACK :: #type (proc(wType : UINT, wFmt : UINT, hConv : HCONV, hsz1 : HSZ, hsz2 : HSZ, hData : HDDEDATA, dwData1 : ULONG_PTR, dwData2 : ULONG_PTR) -> HDDEDATA); | |
| PFNCALLBACK :: (proc(wType : UINT, wFmt : UINT, hConv : HCONV, hsz1 : HSZ, hsz2 : HSZ, hData : HDDEDATA, dwData1 : ULONG_PTR, dwData2 : ULONG_PTR) -> HDDEDATA); | |
| DDEML_MSG_HOOK_DATA :: struct { | |
| uiLo : UINT_PTR, | |
| uiHi : UINT_PTR, | |
| cbData : u32, | |
| Data : [8]u32, | |
| }; | |
| PDDEML_MSG_HOOK_DATA :: ^struct { | |
| uiLo : UINT_PTR, | |
| uiHi : UINT_PTR, | |
| cbData : u32, | |
| Data : [8]u32, | |
| }; | |
| MONMSGSTRUCT :: struct { | |
| cb : UINT, | |
| hwndTo : HWND, | |
| dwTime : u32, | |
| hTask : HANDLE, | |
| wMsg : UINT, | |
| wParam : WPARAM, | |
| lParam : LPARAM, | |
| dmhd : DDEML_MSG_HOOK_DATA, | |
| }; | |
| PMONMSGSTRUCT :: ^struct { | |
| cb : UINT, | |
| hwndTo : HWND, | |
| dwTime : u32, | |
| hTask : HANDLE, | |
| wMsg : UINT, | |
| wParam : WPARAM, | |
| lParam : LPARAM, | |
| dmhd : DDEML_MSG_HOOK_DATA, | |
| }; | |
| MONCBSTRUCT :: struct { | |
| cb : UINT, | |
| dwTime : u32, | |
| hTask : HANDLE, | |
| dwRet : u32, | |
| wType : UINT, | |
| wFmt : UINT, | |
| hConv : HCONV, | |
| hsz1 : HSZ, | |
| hsz2 : HSZ, | |
| hData : HDDEDATA, | |
| dwData1 : ULONG_PTR, | |
| dwData2 : ULONG_PTR, | |
| cc : CONVCONTEXT, | |
| cbData : u32, | |
| Data : [8]u32, | |
| }; | |
| PMONCBSTRUCT :: ^struct { | |
| cb : UINT, | |
| dwTime : u32, | |
| hTask : HANDLE, | |
| dwRet : u32, | |
| wType : UINT, | |
| wFmt : UINT, | |
| hConv : HCONV, | |
| hsz1 : HSZ, | |
| hsz2 : HSZ, | |
| hData : HDDEDATA, | |
| dwData1 : ULONG_PTR, | |
| dwData2 : ULONG_PTR, | |
| cc : CONVCONTEXT, | |
| cbData : u32, | |
| Data : [8]u32, | |
| }; | |
| MONHSZSTRUCTA :: struct { | |
| cb : UINT, | |
| fsAction : BOOL, | |
| dwTime : u32, | |
| hsz : HSZ, | |
| hTask : HANDLE, | |
| str : [1]CHAR, | |
| }; | |
| PMONHSZSTRUCTA :: ^struct { | |
| cb : UINT, | |
| fsAction : BOOL, | |
| dwTime : u32, | |
| hsz : HSZ, | |
| hTask : HANDLE, | |
| str : [1]CHAR, | |
| }; | |
| MONHSZSTRUCTW :: struct { | |
| cb : UINT, | |
| fsAction : BOOL, | |
| dwTime : u32, | |
| hsz : HSZ, | |
| hTask : HANDLE, | |
| str : [1]WCHAR, | |
| }; | |
| PMONHSZSTRUCTW :: ^struct { | |
| cb : UINT, | |
| fsAction : BOOL, | |
| dwTime : u32, | |
| hsz : HSZ, | |
| hTask : HANDLE, | |
| str : [1]WCHAR, | |
| }; | |
| MONHSZSTRUCT :: MONHSZSTRUCTA; | |
| PMONHSZSTRUCT :: PMONHSZSTRUCTA; | |
| MONERRSTRUCT :: struct { | |
| cb : UINT, | |
| wLastError : UINT, | |
| dwTime : u32, | |
| hTask : HANDLE, | |
| }; | |
| PMONERRSTRUCT :: ^struct { | |
| cb : UINT, | |
| wLastError : UINT, | |
| dwTime : u32, | |
| hTask : HANDLE, | |
| }; | |
| MONLINKSTRUCT :: struct { | |
| cb : UINT, | |
| dwTime : u32, | |
| hTask : HANDLE, | |
| fEstablished : BOOL, | |
| fNoData : BOOL, | |
| hszSvc : HSZ, | |
| hszTopic : HSZ, | |
| hszItem : HSZ, | |
| wFmt : UINT, | |
| fServer : BOOL, | |
| hConvServer : HCONV, | |
| hConvClient : HCONV, | |
| }; | |
| PMONLINKSTRUCT :: ^struct { | |
| cb : UINT, | |
| dwTime : u32, | |
| hTask : HANDLE, | |
| fEstablished : BOOL, | |
| fNoData : BOOL, | |
| hszSvc : HSZ, | |
| hszTopic : HSZ, | |
| hszItem : HSZ, | |
| wFmt : UINT, | |
| fServer : BOOL, | |
| hConvServer : HCONV, | |
| hConvClient : HCONV, | |
| }; | |
| MONCONVSTRUCT :: struct { | |
| cb : UINT, | |
| fConnect : BOOL, | |
| dwTime : u32, | |
| hTask : HANDLE, | |
| hszSvc : HSZ, | |
| hszTopic : HSZ, | |
| hConvClient : HCONV, | |
| hConvServer : HCONV, | |
| }; | |
| PMONCONVSTRUCT :: ^struct { | |
| cb : UINT, | |
| fConnect : BOOL, | |
| dwTime : u32, | |
| hTask : HANDLE, | |
| hszSvc : HSZ, | |
| hszTopic : HSZ, | |
| hConvClient : HCONV, | |
| hConvServer : HCONV, | |
| }; | |
| CRGB :: struct { | |
| bRed : BYTE, | |
| bGreen : BYTE, | |
| bBlue : BYTE, | |
| bExtra : BYTE, | |
| }; | |
| MMVERSION :: UINT; | |
| MMRESULT :: UINT; | |
| LPUINT :: ^UINT; | |
| MMTIME :: struct { | |
| wType : UINT, | |
| u : struct #raw_union { | |
| ms : u32, | |
| sample : u32, | |
| cb : u32, | |
| ticks : u32, | |
| smpte : struct { | |
| hour : BYTE, | |
| min : BYTE, | |
| sec : BYTE, | |
| frame : BYTE, | |
| fps : BYTE, | |
| dummy : BYTE, | |
| pad : [2]BYTE, | |
| }, | |
| midi : struct { | |
| songptrpos : u32, | |
| }, | |
| }, | |
| }; | |
| PMMTIME :: ^struct { | |
| wType : UINT, | |
| u : struct #raw_union { | |
| ms : u32, | |
| sample : u32, | |
| cb : u32, | |
| ticks : u32, | |
| smpte : struct { | |
| hour : BYTE, | |
| min : BYTE, | |
| sec : BYTE, | |
| frame : BYTE, | |
| fps : BYTE, | |
| dummy : BYTE, | |
| pad : [2]BYTE, | |
| }, | |
| midi : struct { | |
| songptrpos : u32, | |
| }, | |
| }, | |
| }; | |
| NPMMTIME :: ^struct { | |
| wType : UINT, | |
| u : struct #raw_union { | |
| ms : u32, | |
| sample : u32, | |
| cb : u32, | |
| ticks : u32, | |
| smpte : struct { | |
| hour : BYTE, | |
| min : BYTE, | |
| sec : BYTE, | |
| frame : BYTE, | |
| fps : BYTE, | |
| dummy : BYTE, | |
| pad : [2]BYTE, | |
| }, | |
| midi : struct { | |
| songptrpos : u32, | |
| }, | |
| }, | |
| }; | |
| LPMMTIME :: ^struct { | |
| wType : UINT, | |
| u : struct #raw_union { | |
| ms : u32, | |
| sample : u32, | |
| cb : u32, | |
| ticks : u32, | |
| smpte : struct { | |
| hour : BYTE, | |
| min : BYTE, | |
| sec : BYTE, | |
| frame : BYTE, | |
| fps : BYTE, | |
| dummy : BYTE, | |
| pad : [2]BYTE, | |
| }, | |
| midi : struct { | |
| songptrpos : u32, | |
| }, | |
| }, | |
| }; | |
| HDRVR__ :: struct { | |
| unused : i32, | |
| }; | |
| HDRVR :: ^HDRVR__; | |
| DRVCALLBACK :: #type proc(hdrvr : HDRVR, uMsg : UINT, dwUser : DWORD_PTR, dw1 : DWORD_PTR, dw2 : DWORD_PTR); | |
| LPDRVCALLBACK :: ^DRVCALLBACK; | |
| PDRVCALLBACK :: ^DRVCALLBACK; | |
| MCIERROR :: u32; | |
| MCIDEVICEID :: UINT; | |
| YIELDPROC :: (proc(mciId : MCIDEVICEID, dwYieldData : u32) -> UINT); | |
| MCI_GENERIC_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| }; | |
| PMCI_GENERIC_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| }; | |
| LPMCI_GENERIC_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| }; | |
| MCI_OPEN_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| }; | |
| PMCI_OPEN_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| }; | |
| LPMCI_OPEN_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| }; | |
| MCI_OPEN_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| }; | |
| PMCI_OPEN_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| }; | |
| LPMCI_OPEN_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| }; | |
| MCI_OPEN_PARMS :: MCI_OPEN_PARMSA; | |
| PMCI_OPEN_PARMS :: PMCI_OPEN_PARMSA; | |
| LPMCI_OPEN_PARMS :: LPMCI_OPEN_PARMSA; | |
| MCI_PLAY_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| }; | |
| PMCI_PLAY_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| }; | |
| LPMCI_PLAY_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| }; | |
| MCI_SEEK_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwTo : u32, | |
| }; | |
| PMCI_SEEK_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwTo : u32, | |
| }; | |
| LPMCI_SEEK_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwTo : u32, | |
| }; | |
| MCI_STATUS_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwReturn : DWORD_PTR, | |
| dwItem : u32, | |
| dwTrack : u32, | |
| }; | |
| PMCI_STATUS_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwReturn : DWORD_PTR, | |
| dwItem : u32, | |
| dwTrack : u32, | |
| }; | |
| LPMCI_STATUS_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwReturn : DWORD_PTR, | |
| dwItem : u32, | |
| dwTrack : u32, | |
| }; | |
| MCI_INFO_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrReturn : LPSTR, | |
| dwRetSize : u32, | |
| }; | |
| LPMCI_INFO_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrReturn : LPSTR, | |
| dwRetSize : u32, | |
| }; | |
| MCI_INFO_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrReturn : LPWSTR, | |
| dwRetSize : u32, | |
| }; | |
| LPMCI_INFO_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrReturn : LPWSTR, | |
| dwRetSize : u32, | |
| }; | |
| MCI_INFO_PARMS :: MCI_INFO_PARMSA; | |
| LPMCI_INFO_PARMS :: LPMCI_INFO_PARMSA; | |
| MCI_GETDEVCAPS_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwReturn : u32, | |
| dwItem : u32, | |
| }; | |
| PMCI_GETDEVCAPS_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwReturn : u32, | |
| dwItem : u32, | |
| }; | |
| LPMCI_GETDEVCAPS_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwReturn : u32, | |
| dwItem : u32, | |
| }; | |
| MCI_SYSINFO_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrReturn : LPSTR, | |
| dwRetSize : u32, | |
| dwNumber : u32, | |
| wDeviceType : UINT, | |
| }; | |
| PMCI_SYSINFO_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrReturn : LPSTR, | |
| dwRetSize : u32, | |
| dwNumber : u32, | |
| wDeviceType : UINT, | |
| }; | |
| LPMCI_SYSINFO_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrReturn : LPSTR, | |
| dwRetSize : u32, | |
| dwNumber : u32, | |
| wDeviceType : UINT, | |
| }; | |
| MCI_SYSINFO_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrReturn : LPWSTR, | |
| dwRetSize : u32, | |
| dwNumber : u32, | |
| wDeviceType : UINT, | |
| }; | |
| PMCI_SYSINFO_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrReturn : LPWSTR, | |
| dwRetSize : u32, | |
| dwNumber : u32, | |
| wDeviceType : UINT, | |
| }; | |
| LPMCI_SYSINFO_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrReturn : LPWSTR, | |
| dwRetSize : u32, | |
| dwNumber : u32, | |
| wDeviceType : UINT, | |
| }; | |
| MCI_SYSINFO_PARMS :: MCI_SYSINFO_PARMSA; | |
| PMCI_SYSINFO_PARMS :: PMCI_SYSINFO_PARMSA; | |
| LPMCI_SYSINFO_PARMS :: LPMCI_SYSINFO_PARMSA; | |
| MCI_SET_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwTimeFormat : u32, | |
| dwAudio : u32, | |
| }; | |
| PMCI_SET_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwTimeFormat : u32, | |
| dwAudio : u32, | |
| }; | |
| LPMCI_SET_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwTimeFormat : u32, | |
| dwAudio : u32, | |
| }; | |
| MCI_BREAK_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| nVirtKey : i32, | |
| hwndBreak : HWND, | |
| }; | |
| PMCI_BREAK_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| nVirtKey : i32, | |
| hwndBreak : HWND, | |
| }; | |
| LPMCI_BREAK_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| nVirtKey : i32, | |
| hwndBreak : HWND, | |
| }; | |
| MCI_SAVE_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| }; | |
| PMCI_SAVE_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| }; | |
| LPMCI_SAVE_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| }; | |
| MCI_SAVE_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| }; | |
| PMCI_SAVE_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| }; | |
| LPMCI_SAVE_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| }; | |
| MCI_SAVE_PARMS :: MCI_SAVE_PARMSA; | |
| PMCI_SAVE_PARMS :: PMCI_SAVE_PARMSA; | |
| LPMCI_SAVE_PARMS :: LPMCI_SAVE_PARMSA; | |
| MCI_LOAD_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| }; | |
| PMCI_LOAD_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| }; | |
| LPMCI_LOAD_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| }; | |
| MCI_LOAD_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| }; | |
| PMCI_LOAD_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| }; | |
| LPMCI_LOAD_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| }; | |
| MCI_LOAD_PARMS :: MCI_LOAD_PARMSA; | |
| PMCI_LOAD_PARMS :: PMCI_LOAD_PARMSA; | |
| LPMCI_LOAD_PARMS :: LPMCI_LOAD_PARMSA; | |
| MCI_RECORD_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| }; | |
| LPMCI_RECORD_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| }; | |
| MCI_VD_PLAY_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| dwSpeed : u32, | |
| }; | |
| PMCI_VD_PLAY_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| dwSpeed : u32, | |
| }; | |
| LPMCI_VD_PLAY_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| dwSpeed : u32, | |
| }; | |
| MCI_VD_STEP_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrames : u32, | |
| }; | |
| PMCI_VD_STEP_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrames : u32, | |
| }; | |
| LPMCI_VD_STEP_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrames : u32, | |
| }; | |
| MCI_VD_ESCAPE_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrCommand : LPCSTR, | |
| }; | |
| PMCI_VD_ESCAPE_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrCommand : LPCSTR, | |
| }; | |
| LPMCI_VD_ESCAPE_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrCommand : LPCSTR, | |
| }; | |
| MCI_VD_ESCAPE_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrCommand : LPCWSTR, | |
| }; | |
| PMCI_VD_ESCAPE_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrCommand : LPCWSTR, | |
| }; | |
| LPMCI_VD_ESCAPE_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpstrCommand : LPCWSTR, | |
| }; | |
| MCI_VD_ESCAPE_PARMS :: MCI_VD_ESCAPE_PARMSA; | |
| PMCI_VD_ESCAPE_PARMS :: PMCI_VD_ESCAPE_PARMSA; | |
| LPMCI_VD_ESCAPE_PARMS :: LPMCI_VD_ESCAPE_PARMSA; | |
| MCI_WAVE_OPEN_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| dwBufferSeconds : u32, | |
| }; | |
| PMCI_WAVE_OPEN_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| dwBufferSeconds : u32, | |
| }; | |
| LPMCI_WAVE_OPEN_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| dwBufferSeconds : u32, | |
| }; | |
| MCI_WAVE_OPEN_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| dwBufferSeconds : u32, | |
| }; | |
| PMCI_WAVE_OPEN_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| dwBufferSeconds : u32, | |
| }; | |
| LPMCI_WAVE_OPEN_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| dwBufferSeconds : u32, | |
| }; | |
| MCI_WAVE_OPEN_PARMS :: MCI_WAVE_OPEN_PARMSA; | |
| PMCI_WAVE_OPEN_PARMS :: PMCI_WAVE_OPEN_PARMSA; | |
| LPMCI_WAVE_OPEN_PARMS :: LPMCI_WAVE_OPEN_PARMSA; | |
| MCI_WAVE_DELETE_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| }; | |
| PMCI_WAVE_DELETE_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| }; | |
| LPMCI_WAVE_DELETE_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| }; | |
| MCI_WAVE_SET_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwTimeFormat : u32, | |
| dwAudio : u32, | |
| wInput : UINT, | |
| wOutput : UINT, | |
| wFormatTag : u16, | |
| wReserved2 : u16, | |
| nChannels : u16, | |
| wReserved3 : u16, | |
| nSamplesPerSec : u32, | |
| nAvgBytesPerSec : u32, | |
| nBlockAlign : u16, | |
| wReserved4 : u16, | |
| wBitsPerSample : u16, | |
| wReserved5 : u16, | |
| }; | |
| PMCI_WAVE_SET_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwTimeFormat : u32, | |
| dwAudio : u32, | |
| wInput : UINT, | |
| wOutput : UINT, | |
| wFormatTag : u16, | |
| wReserved2 : u16, | |
| nChannels : u16, | |
| wReserved3 : u16, | |
| nSamplesPerSec : u32, | |
| nAvgBytesPerSec : u32, | |
| nBlockAlign : u16, | |
| wReserved4 : u16, | |
| wBitsPerSample : u16, | |
| wReserved5 : u16, | |
| }; | |
| LPMCI_WAVE_SET_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwTimeFormat : u32, | |
| dwAudio : u32, | |
| wInput : UINT, | |
| wOutput : UINT, | |
| wFormatTag : u16, | |
| wReserved2 : u16, | |
| nChannels : u16, | |
| wReserved3 : u16, | |
| nSamplesPerSec : u32, | |
| nAvgBytesPerSec : u32, | |
| nBlockAlign : u16, | |
| wReserved4 : u16, | |
| wBitsPerSample : u16, | |
| wReserved5 : u16, | |
| }; | |
| MCI_SEQ_SET_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwTimeFormat : u32, | |
| dwAudio : u32, | |
| dwTempo : u32, | |
| dwPort : u32, | |
| dwSlave : u32, | |
| dwMaster : u32, | |
| dwOffset : u32, | |
| }; | |
| PMCI_SEQ_SET_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwTimeFormat : u32, | |
| dwAudio : u32, | |
| dwTempo : u32, | |
| dwPort : u32, | |
| dwSlave : u32, | |
| dwMaster : u32, | |
| dwOffset : u32, | |
| }; | |
| LPMCI_SEQ_SET_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwTimeFormat : u32, | |
| dwAudio : u32, | |
| dwTempo : u32, | |
| dwPort : u32, | |
| dwSlave : u32, | |
| dwMaster : u32, | |
| dwOffset : u32, | |
| }; | |
| MCI_ANIM_OPEN_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| PMCI_ANIM_OPEN_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| LPMCI_ANIM_OPEN_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| MCI_ANIM_OPEN_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| PMCI_ANIM_OPEN_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| LPMCI_ANIM_OPEN_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| MCI_ANIM_OPEN_PARMS :: MCI_ANIM_OPEN_PARMSA; | |
| PMCI_ANIM_OPEN_PARMS :: PMCI_ANIM_OPEN_PARMSA; | |
| LPMCI_ANIM_OPEN_PARMS :: LPMCI_ANIM_OPEN_PARMSA; | |
| MCI_ANIM_PLAY_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| dwSpeed : u32, | |
| }; | |
| PMCI_ANIM_PLAY_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| dwSpeed : u32, | |
| }; | |
| LPMCI_ANIM_PLAY_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrom : u32, | |
| dwTo : u32, | |
| dwSpeed : u32, | |
| }; | |
| MCI_ANIM_STEP_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrames : u32, | |
| }; | |
| PMCI_ANIM_STEP_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrames : u32, | |
| }; | |
| LPMCI_ANIM_STEP_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| dwFrames : u32, | |
| }; | |
| MCI_ANIM_WINDOW_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCSTR, | |
| }; | |
| PMCI_ANIM_WINDOW_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCSTR, | |
| }; | |
| LPMCI_ANIM_WINDOW_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCSTR, | |
| }; | |
| MCI_ANIM_WINDOW_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCWSTR, | |
| }; | |
| PMCI_ANIM_WINDOW_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCWSTR, | |
| }; | |
| LPMCI_ANIM_WINDOW_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCWSTR, | |
| }; | |
| MCI_ANIM_WINDOW_PARMS :: MCI_ANIM_WINDOW_PARMSA; | |
| PMCI_ANIM_WINDOW_PARMS :: PMCI_ANIM_WINDOW_PARMSA; | |
| LPMCI_ANIM_WINDOW_PARMS :: LPMCI_ANIM_WINDOW_PARMSA; | |
| MCI_ANIM_RECT_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| rc : RECT, | |
| }; | |
| PMCI_ANIM_RECT_PARMS :: ^MCI_ANIM_RECT_PARMS; | |
| LPMCI_ANIM_RECT_PARMS :: ^MCI_ANIM_RECT_PARMS; | |
| MCI_ANIM_UPDATE_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| rc : RECT, | |
| hDC : HDC, | |
| }; | |
| PMCI_ANIM_UPDATE_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| rc : RECT, | |
| hDC : HDC, | |
| }; | |
| LPMCI_ANIM_UPDATE_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| rc : RECT, | |
| hDC : HDC, | |
| }; | |
| MCI_OVLY_OPEN_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| PMCI_OVLY_OPEN_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| LPMCI_OVLY_OPEN_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCSTR, | |
| lpstrElementName : LPCSTR, | |
| lpstrAlias : LPCSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| MCI_OVLY_OPEN_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| PMCI_OVLY_OPEN_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| LPMCI_OVLY_OPEN_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| wDeviceID : MCIDEVICEID, | |
| lpstrDeviceType : LPCWSTR, | |
| lpstrElementName : LPCWSTR, | |
| lpstrAlias : LPCWSTR, | |
| dwStyle : u32, | |
| hWndParent : HWND, | |
| }; | |
| MCI_OVLY_OPEN_PARMS :: MCI_OVLY_OPEN_PARMSA; | |
| PMCI_OVLY_OPEN_PARMS :: PMCI_OVLY_OPEN_PARMSA; | |
| LPMCI_OVLY_OPEN_PARMS :: LPMCI_OVLY_OPEN_PARMSA; | |
| MCI_OVLY_WINDOW_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCSTR, | |
| }; | |
| PMCI_OVLY_WINDOW_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCSTR, | |
| }; | |
| LPMCI_OVLY_WINDOW_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCSTR, | |
| }; | |
| MCI_OVLY_WINDOW_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCWSTR, | |
| }; | |
| PMCI_OVLY_WINDOW_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCWSTR, | |
| }; | |
| LPMCI_OVLY_WINDOW_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| hWnd : HWND, | |
| nCmdShow : UINT, | |
| lpstrText : LPCWSTR, | |
| }; | |
| MCI_OVLY_WINDOW_PARMS :: MCI_OVLY_WINDOW_PARMSA; | |
| PMCI_OVLY_WINDOW_PARMS :: PMCI_OVLY_WINDOW_PARMSA; | |
| LPMCI_OVLY_WINDOW_PARMS :: LPMCI_OVLY_WINDOW_PARMSA; | |
| MCI_OVLY_RECT_PARMS :: struct { | |
| dwCallback : DWORD_PTR, | |
| rc : RECT, | |
| }; | |
| PMCI_OVLY_RECT_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| rc : RECT, | |
| }; | |
| LPMCI_OVLY_RECT_PARMS :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| rc : RECT, | |
| }; | |
| MCI_OVLY_SAVE_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| rc : RECT, | |
| }; | |
| PMCI_OVLY_SAVE_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| rc : RECT, | |
| }; | |
| LPMCI_OVLY_SAVE_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| rc : RECT, | |
| }; | |
| MCI_OVLY_SAVE_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| rc : RECT, | |
| }; | |
| PMCI_OVLY_SAVE_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| rc : RECT, | |
| }; | |
| LPMCI_OVLY_SAVE_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| rc : RECT, | |
| }; | |
| MCI_OVLY_SAVE_PARMS :: MCI_OVLY_SAVE_PARMSA; | |
| PMCI_OVLY_SAVE_PARMS :: PMCI_OVLY_SAVE_PARMSA; | |
| LPMCI_OVLY_SAVE_PARMS :: LPMCI_OVLY_SAVE_PARMSA; | |
| MCI_OVLY_LOAD_PARMSA :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| rc : RECT, | |
| }; | |
| PMCI_OVLY_LOAD_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| rc : RECT, | |
| }; | |
| LPMCI_OVLY_LOAD_PARMSA :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCSTR, | |
| rc : RECT, | |
| }; | |
| MCI_OVLY_LOAD_PARMSW :: struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| rc : RECT, | |
| }; | |
| PMCI_OVLY_LOAD_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| rc : RECT, | |
| }; | |
| LPMCI_OVLY_LOAD_PARMSW :: ^struct { | |
| dwCallback : DWORD_PTR, | |
| lpfilename : LPCWSTR, | |
| rc : RECT, | |
| }; | |
| MCI_OVLY_LOAD_PARMS :: MCI_OVLY_LOAD_PARMSA; | |
| PMCI_OVLY_LOAD_PARMS :: PMCI_OVLY_LOAD_PARMSA; | |
| LPMCI_OVLY_LOAD_PARMS :: LPMCI_OVLY_LOAD_PARMSA; | |
| DRVCONFIGINFOEX :: struct { | |
| dwDCISize : u32, | |
| lpszDCISectionName : LPCWSTR, | |
| lpszDCIAliasName : LPCWSTR, | |
| dnDevNode : u32, | |
| }; | |
| PDRVCONFIGINFOEX :: ^struct { | |
| dwDCISize : u32, | |
| lpszDCISectionName : LPCWSTR, | |
| lpszDCIAliasName : LPCWSTR, | |
| dnDevNode : u32, | |
| }; | |
| NPDRVCONFIGINFOEX :: ^struct { | |
| dwDCISize : u32, | |
| lpszDCISectionName : LPCWSTR, | |
| lpszDCIAliasName : LPCWSTR, | |
| dnDevNode : u32, | |
| }; | |
| LPDRVCONFIGINFOEX :: ^struct { | |
| dwDCISize : u32, | |
| lpszDCISectionName : LPCWSTR, | |
| lpszDCIAliasName : LPCWSTR, | |
| dnDevNode : u32, | |
| }; | |
| DRVCONFIGINFO :: struct { | |
| dwDCISize : u32, | |
| lpszDCISectionName : LPCWSTR, | |
| lpszDCIAliasName : LPCWSTR, | |
| }; | |
| PDRVCONFIGINFO :: ^struct { | |
| dwDCISize : u32, | |
| lpszDCISectionName : LPCWSTR, | |
| lpszDCIAliasName : LPCWSTR, | |
| }; | |
| NPDRVCONFIGINFO :: ^struct { | |
| dwDCISize : u32, | |
| lpszDCISectionName : LPCWSTR, | |
| lpszDCIAliasName : LPCWSTR, | |
| }; | |
| LPDRVCONFIGINFO :: ^struct { | |
| dwDCISize : u32, | |
| lpszDCISectionName : LPCWSTR, | |
| lpszDCIAliasName : LPCWSTR, | |
| }; | |
| DRIVERPROC :: (proc(DWORD_PTR, HDRVR, UINT, LPARAM, LPARAM) -> LRESULT); | |
| DRIVERMSGPROC :: (proc(u32, u32, DWORD_PTR, DWORD_PTR, DWORD_PTR) -> u32); | |
| FOURCC :: u32; | |
| HPSTR :: cstring; | |
| HMMIO__ :: struct { | |
| unused : i32, | |
| }; | |
| HMMIO :: ^HMMIO__; | |
| MMIOPROC :: #type (proc(lpmmioinfo : LPSTR, uMsg : UINT, lParam1 : LPARAM, lParam2 : LPARAM) -> LRESULT); | |
| LPMMIOPROC :: ^MMIOPROC; | |
| MMIOINFO :: struct { | |
| dwFlags : u32, | |
| fccIOProc : FOURCC, | |
| pIOProc : LPMMIOPROC, | |
| wErrorRet : UINT, | |
| htask : HTASK, | |
| cchBuffer : LONG, | |
| pchBuffer : HPSTR, | |
| pchNext : HPSTR, | |
| pchEndRead : HPSTR, | |
| pchEndWrite : HPSTR, | |
| lBufOffset : LONG, | |
| lDiskOffset : LONG, | |
| adwInfo : [3]u32, | |
| dwReserved1 : u32, | |
| dwReserved2 : u32, | |
| hmmio : HMMIO, | |
| }; | |
| PMMIOINFO :: ^struct { | |
| dwFlags : u32, | |
| fccIOProc : FOURCC, | |
| pIOProc : LPMMIOPROC, | |
| wErrorRet : UINT, | |
| htask : HTASK, | |
| cchBuffer : LONG, | |
| pchBuffer : HPSTR, | |
| pchNext : HPSTR, | |
| pchEndRead : HPSTR, | |
| pchEndWrite : HPSTR, | |
| lBufOffset : LONG, | |
| lDiskOffset : LONG, | |
| adwInfo : [3]u32, | |
| dwReserved1 : u32, | |
| dwReserved2 : u32, | |
| hmmio : HMMIO, | |
| }; | |
| NPMMIOINFO :: ^struct { | |
| dwFlags : u32, | |
| fccIOProc : FOURCC, | |
| pIOProc : LPMMIOPROC, | |
| wErrorRet : UINT, | |
| htask : HTASK, | |
| cchBuffer : LONG, | |
| pchBuffer : HPSTR, | |
| pchNext : HPSTR, | |
| pchEndRead : HPSTR, | |
| pchEndWrite : HPSTR, | |
| lBufOffset : LONG, | |
| lDiskOffset : LONG, | |
| adwInfo : [3]u32, | |
| dwReserved1 : u32, | |
| dwReserved2 : u32, | |
| hmmio : HMMIO, | |
| }; | |
| LPMMIOINFO :: ^struct { | |
| dwFlags : u32, | |
| fccIOProc : FOURCC, | |
| pIOProc : LPMMIOPROC, | |
| wErrorRet : UINT, | |
| htask : HTASK, | |
| cchBuffer : LONG, | |
| pchBuffer : HPSTR, | |
| pchNext : HPSTR, | |
| pchEndRead : HPSTR, | |
| pchEndWrite : HPSTR, | |
| lBufOffset : LONG, | |
| lDiskOffset : LONG, | |
| adwInfo : [3]u32, | |
| dwReserved1 : u32, | |
| dwReserved2 : u32, | |
| hmmio : HMMIO, | |
| }; | |
| LPCMMIOINFO :: ^MMIOINFO; | |
| MMCKINFO :: struct { | |
| ckid : FOURCC, | |
| cksize : u32, | |
| fccType : FOURCC, | |
| dwDataOffset : u32, | |
| dwFlags : u32, | |
| }; | |
| PMMCKINFO :: ^struct { | |
| ckid : FOURCC, | |
| cksize : u32, | |
| fccType : FOURCC, | |
| dwDataOffset : u32, | |
| dwFlags : u32, | |
| }; | |
| NPMMCKINFO :: ^struct { | |
| ckid : FOURCC, | |
| cksize : u32, | |
| fccType : FOURCC, | |
| dwDataOffset : u32, | |
| dwFlags : u32, | |
| }; | |
| LPMMCKINFO :: ^struct { | |
| ckid : FOURCC, | |
| cksize : u32, | |
| fccType : FOURCC, | |
| dwDataOffset : u32, | |
| dwFlags : u32, | |
| }; | |
| LPCMMCKINFO :: ^MMCKINFO; | |
| TIMECALLBACK :: #type proc(uTimerID : UINT, uMsg : UINT, dwUser : DWORD_PTR, dw1 : DWORD_PTR, dw2 : DWORD_PTR); | |
| LPTIMECALLBACK :: ^TIMECALLBACK; | |
| HWAVE__ :: struct { | |
| unused : i32, | |
| }; | |
| HWAVE :: ^HWAVE__; | |
| HWAVEIN__ :: struct { | |
| unused : i32, | |
| }; | |
| HWAVEIN :: ^HWAVEIN__; | |
| HWAVEOUT__ :: struct { | |
| unused : i32, | |
| }; | |
| HWAVEOUT :: ^HWAVEOUT__; | |
| LPHWAVEIN :: ^HWAVEIN; | |
| LPHWAVEOUT :: ^HWAVEOUT; | |
| WAVECALLBACK :: DRVCALLBACK; | |
| LPWAVECALLBACK :: ^WAVECALLBACK; | |
| WAVEHDR :: struct { | |
| lpData : LPSTR, | |
| dwBufferLength : u32, | |
| dwBytesRecorded : u32, | |
| dwUser : DWORD_PTR, | |
| dwFlags : u32, | |
| dwLoops : u32, | |
| lpNext : ^WAVEHDR, | |
| reserved : DWORD_PTR, | |
| }; | |
| PWAVEHDR :: ^struct { | |
| lpData : LPSTR, | |
| dwBufferLength : u32, | |
| dwBytesRecorded : u32, | |
| dwUser : DWORD_PTR, | |
| dwFlags : u32, | |
| dwLoops : u32, | |
| lpNext : ^WAVEHDR, | |
| reserved : DWORD_PTR, | |
| }; | |
| NPWAVEHDR :: ^struct { | |
| lpData : LPSTR, | |
| dwBufferLength : u32, | |
| dwBytesRecorded : u32, | |
| dwUser : DWORD_PTR, | |
| dwFlags : u32, | |
| dwLoops : u32, | |
| lpNext : ^WAVEHDR, | |
| reserved : DWORD_PTR, | |
| }; | |
| LPWAVEHDR :: ^struct { | |
| lpData : LPSTR, | |
| dwBufferLength : u32, | |
| dwBytesRecorded : u32, | |
| dwUser : DWORD_PTR, | |
| dwFlags : u32, | |
| dwLoops : u32, | |
| lpNext : ^WAVEHDR, | |
| reserved : DWORD_PTR, | |
| }; | |
| WAVEOUTCAPSA :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| PWAVEOUTCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| NPWAVEOUTCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| LPWAVEOUTCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| WAVEOUTCAPSW :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| PWAVEOUTCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| NPWAVEOUTCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| LPWAVEOUTCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| WAVEOUTCAPS :: WAVEOUTCAPSA; | |
| PWAVEOUTCAPS :: PWAVEOUTCAPSA; | |
| NPWAVEOUTCAPS :: NPWAVEOUTCAPSA; | |
| LPWAVEOUTCAPS :: LPWAVEOUTCAPSA; | |
| WAVEOUTCAPS2A :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PWAVEOUTCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPWAVEOUTCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPWAVEOUTCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| WAVEOUTCAPS2W :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PWAVEOUTCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPWAVEOUTCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPWAVEOUTCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| WAVEOUTCAPS2 :: WAVEOUTCAPS2A; | |
| PWAVEOUTCAPS2 :: PWAVEOUTCAPS2A; | |
| NPWAVEOUTCAPS2 :: NPWAVEOUTCAPS2A; | |
| LPWAVEOUTCAPS2 :: LPWAVEOUTCAPS2A; | |
| WAVEINCAPSA :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| }; | |
| PWAVEINCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| }; | |
| NPWAVEINCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| }; | |
| LPWAVEINCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| }; | |
| WAVEINCAPSW :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| }; | |
| PWAVEINCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| }; | |
| NPWAVEINCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| }; | |
| LPWAVEINCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| }; | |
| WAVEINCAPS :: WAVEINCAPSA; | |
| PWAVEINCAPS :: PWAVEINCAPSA; | |
| NPWAVEINCAPS :: NPWAVEINCAPSA; | |
| LPWAVEINCAPS :: LPWAVEINCAPSA; | |
| WAVEINCAPS2A :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PWAVEINCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPWAVEINCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPWAVEINCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| WAVEINCAPS2W :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PWAVEINCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPWAVEINCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPWAVEINCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwFormats : u32, | |
| wChannels : u16, | |
| wReserved1 : u16, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| WAVEINCAPS2 :: WAVEINCAPS2A; | |
| PWAVEINCAPS2 :: PWAVEINCAPS2A; | |
| NPWAVEINCAPS2 :: NPWAVEINCAPS2A; | |
| LPWAVEINCAPS2 :: LPWAVEINCAPS2A; | |
| WAVEFORMAT :: struct { | |
| wFormatTag : u16, | |
| nChannels : u16, | |
| nSamplesPerSec : u32, | |
| nAvgBytesPerSec : u32, | |
| nBlockAlign : u16, | |
| }; | |
| PWAVEFORMAT :: ^struct { | |
| wFormatTag : u16, | |
| nChannels : u16, | |
| nSamplesPerSec : u32, | |
| nAvgBytesPerSec : u32, | |
| nBlockAlign : u16, | |
| }; | |
| NPWAVEFORMAT :: ^struct { | |
| wFormatTag : u16, | |
| nChannels : u16, | |
| nSamplesPerSec : u32, | |
| nAvgBytesPerSec : u32, | |
| nBlockAlign : u16, | |
| }; | |
| LPWAVEFORMAT :: ^struct { | |
| wFormatTag : u16, | |
| nChannels : u16, | |
| nSamplesPerSec : u32, | |
| nAvgBytesPerSec : u32, | |
| nBlockAlign : u16, | |
| }; | |
| PCMWAVEFORMAT :: struct { | |
| wf : WAVEFORMAT, | |
| wBitsPerSample : u16, | |
| }; | |
| PPCMWAVEFORMAT :: ^struct { | |
| wf : WAVEFORMAT, | |
| wBitsPerSample : u16, | |
| }; | |
| NPPCMWAVEFORMAT :: ^struct { | |
| wf : WAVEFORMAT, | |
| wBitsPerSample : u16, | |
| }; | |
| LPPCMWAVEFORMAT :: ^struct { | |
| wf : WAVEFORMAT, | |
| wBitsPerSample : u16, | |
| }; | |
| WAVEFORMATEX :: struct { | |
| wFormatTag : u16, | |
| nChannels : u16, | |
| nSamplesPerSec : u32, | |
| nAvgBytesPerSec : u32, | |
| nBlockAlign : u16, | |
| wBitsPerSample : u16, | |
| cbSize : u16, | |
| }; | |
| PWAVEFORMATEX :: ^struct { | |
| wFormatTag : u16, | |
| nChannels : u16, | |
| nSamplesPerSec : u32, | |
| nAvgBytesPerSec : u32, | |
| nBlockAlign : u16, | |
| wBitsPerSample : u16, | |
| cbSize : u16, | |
| }; | |
| NPWAVEFORMATEX :: ^struct { | |
| wFormatTag : u16, | |
| nChannels : u16, | |
| nSamplesPerSec : u32, | |
| nAvgBytesPerSec : u32, | |
| nBlockAlign : u16, | |
| wBitsPerSample : u16, | |
| cbSize : u16, | |
| }; | |
| LPWAVEFORMATEX :: ^struct { | |
| wFormatTag : u16, | |
| nChannels : u16, | |
| nSamplesPerSec : u32, | |
| nAvgBytesPerSec : u32, | |
| nBlockAlign : u16, | |
| wBitsPerSample : u16, | |
| cbSize : u16, | |
| }; | |
| LPCWAVEFORMATEX :: ^WAVEFORMATEX; | |
| HMIDI__ :: struct { | |
| unused : i32, | |
| }; | |
| HMIDI :: ^HMIDI__; | |
| HMIDIIN__ :: struct { | |
| unused : i32, | |
| }; | |
| HMIDIIN :: ^HMIDIIN__; | |
| HMIDIOUT__ :: struct { | |
| unused : i32, | |
| }; | |
| HMIDIOUT :: ^HMIDIOUT__; | |
| HMIDISTRM__ :: struct { | |
| unused : i32, | |
| }; | |
| HMIDISTRM :: ^HMIDISTRM__; | |
| LPHMIDI :: ^HMIDI; | |
| LPHMIDIIN :: ^HMIDIIN; | |
| LPHMIDIOUT :: ^HMIDIOUT; | |
| LPHMIDISTRM :: ^HMIDISTRM; | |
| MIDICALLBACK :: DRVCALLBACK; | |
| LPMIDICALLBACK :: ^MIDICALLBACK; | |
| PATCHARRAY :: [128]u16; | |
| LPPATCHARRAY :: ^u16; | |
| KEYARRAY :: [128]u16; | |
| LPKEYARRAY :: ^u16; | |
| MIDIOUTCAPSA :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| }; | |
| PMIDIOUTCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| }; | |
| NPMIDIOUTCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| }; | |
| LPMIDIOUTCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| }; | |
| MIDIOUTCAPSW :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| }; | |
| PMIDIOUTCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| }; | |
| NPMIDIOUTCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| }; | |
| LPMIDIOUTCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| }; | |
| MIDIOUTCAPS :: MIDIOUTCAPSA; | |
| PMIDIOUTCAPS :: PMIDIOUTCAPSA; | |
| NPMIDIOUTCAPS :: NPMIDIOUTCAPSA; | |
| LPMIDIOUTCAPS :: LPMIDIOUTCAPSA; | |
| MIDIOUTCAPS2A :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PMIDIOUTCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPMIDIOUTCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPMIDIOUTCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| MIDIOUTCAPS2W :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PMIDIOUTCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPMIDIOUTCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPMIDIOUTCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wVoices : u16, | |
| wNotes : u16, | |
| wChannelMask : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| MIDIOUTCAPS2 :: MIDIOUTCAPS2A; | |
| PMIDIOUTCAPS2 :: PMIDIOUTCAPS2A; | |
| NPMIDIOUTCAPS2 :: NPMIDIOUTCAPS2A; | |
| LPMIDIOUTCAPS2 :: LPMIDIOUTCAPS2A; | |
| MIDIINCAPSA :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwSupport : u32, | |
| }; | |
| PMIDIINCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwSupport : u32, | |
| }; | |
| NPMIDIINCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwSupport : u32, | |
| }; | |
| LPMIDIINCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwSupport : u32, | |
| }; | |
| MIDIINCAPSW :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwSupport : u32, | |
| }; | |
| PMIDIINCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwSupport : u32, | |
| }; | |
| NPMIDIINCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwSupport : u32, | |
| }; | |
| LPMIDIINCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwSupport : u32, | |
| }; | |
| MIDIINCAPS :: MIDIINCAPSA; | |
| PMIDIINCAPS :: PMIDIINCAPSA; | |
| NPMIDIINCAPS :: NPMIDIINCAPSA; | |
| LPMIDIINCAPS :: LPMIDIINCAPSA; | |
| MIDIINCAPS2A :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PMIDIINCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPMIDIINCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPMIDIINCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| MIDIINCAPS2W :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PMIDIINCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPMIDIINCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPMIDIINCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| MIDIINCAPS2 :: MIDIINCAPS2A; | |
| PMIDIINCAPS2 :: PMIDIINCAPS2A; | |
| NPMIDIINCAPS2 :: NPMIDIINCAPS2A; | |
| LPMIDIINCAPS2 :: LPMIDIINCAPS2A; | |
| MIDIHDR :: struct { | |
| lpData : LPSTR, | |
| dwBufferLength : u32, | |
| dwBytesRecorded : u32, | |
| dwUser : DWORD_PTR, | |
| dwFlags : u32, | |
| lpNext : ^MIDIHDR, | |
| reserved : DWORD_PTR, | |
| dwOffset : u32, | |
| dwReserved : [8]DWORD_PTR, | |
| }; | |
| PMIDIHDR :: ^struct { | |
| lpData : LPSTR, | |
| dwBufferLength : u32, | |
| dwBytesRecorded : u32, | |
| dwUser : DWORD_PTR, | |
| dwFlags : u32, | |
| lpNext : ^MIDIHDR, | |
| reserved : DWORD_PTR, | |
| dwOffset : u32, | |
| dwReserved : [8]DWORD_PTR, | |
| }; | |
| NPMIDIHDR :: ^struct { | |
| lpData : LPSTR, | |
| dwBufferLength : u32, | |
| dwBytesRecorded : u32, | |
| dwUser : DWORD_PTR, | |
| dwFlags : u32, | |
| lpNext : ^MIDIHDR, | |
| reserved : DWORD_PTR, | |
| dwOffset : u32, | |
| dwReserved : [8]DWORD_PTR, | |
| }; | |
| LPMIDIHDR :: ^struct { | |
| lpData : LPSTR, | |
| dwBufferLength : u32, | |
| dwBytesRecorded : u32, | |
| dwUser : DWORD_PTR, | |
| dwFlags : u32, | |
| lpNext : ^MIDIHDR, | |
| reserved : DWORD_PTR, | |
| dwOffset : u32, | |
| dwReserved : [8]DWORD_PTR, | |
| }; | |
| MIDIEVENT :: struct { | |
| dwDeltaTime : u32, | |
| dwStreamID : u32, | |
| dwEvent : u32, | |
| dwParms : [1]u32, | |
| }; | |
| MIDISTRMBUFFVER :: struct { | |
| dwVersion : u32, | |
| dwMid : u32, | |
| dwOEMVersion : u32, | |
| }; | |
| MIDIPROPTIMEDIV :: struct { | |
| cbStruct : u32, | |
| dwTimeDiv : u32, | |
| }; | |
| LPMIDIPROPTIMEDIV :: ^struct { | |
| cbStruct : u32, | |
| dwTimeDiv : u32, | |
| }; | |
| MIDIPROPTEMPO :: struct { | |
| cbStruct : u32, | |
| dwTempo : u32, | |
| }; | |
| LPMIDIPROPTEMPO :: ^struct { | |
| cbStruct : u32, | |
| dwTempo : u32, | |
| }; | |
| AUXCAPSA :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| PAUXCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| NPAUXCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| LPAUXCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| AUXCAPSW :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| PAUXCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| NPAUXCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| LPAUXCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| }; | |
| AUXCAPS :: AUXCAPSA; | |
| PAUXCAPS :: PAUXCAPSA; | |
| NPAUXCAPS :: NPAUXCAPSA; | |
| LPAUXCAPS :: LPAUXCAPSA; | |
| AUXCAPS2A :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PAUXCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPAUXCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPAUXCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| AUXCAPS2W :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PAUXCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPAUXCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPAUXCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| wTechnology : u16, | |
| wReserved1 : u16, | |
| dwSupport : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| AUXCAPS2 :: AUXCAPS2A; | |
| PAUXCAPS2 :: PAUXCAPS2A; | |
| NPAUXCAPS2 :: NPAUXCAPS2A; | |
| LPAUXCAPS2 :: LPAUXCAPS2A; | |
| HMIXEROBJ__ :: struct { | |
| unused : i32, | |
| }; | |
| HMIXEROBJ :: ^HMIXEROBJ__; | |
| LPHMIXEROBJ :: ^HMIXEROBJ; | |
| HMIXER__ :: struct { | |
| unused : i32, | |
| }; | |
| HMIXER :: ^HMIXER__; | |
| LPHMIXER :: ^HMIXER; | |
| MIXERCAPSA :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| }; | |
| PMIXERCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| }; | |
| LPMIXERCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| }; | |
| MIXERCAPSW :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| }; | |
| PMIXERCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| }; | |
| LPMIXERCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| }; | |
| MIXERCAPS :: MIXERCAPSA; | |
| PMIXERCAPS :: PMIXERCAPSA; | |
| LPMIXERCAPS :: LPMIXERCAPSA; | |
| MIXERCAPS2A :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PMIXERCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPMIXERCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| MIXERCAPS2W :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PMIXERCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPMIXERCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| fdwSupport : u32, | |
| cDestinations : u32, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| MIXERCAPS2 :: MIXERCAPS2A; | |
| PMIXERCAPS2 :: PMIXERCAPS2A; | |
| LPMIXERCAPS2 :: LPMIXERCAPS2A; | |
| MIXERLINEA :: struct { | |
| cbStruct : u32, | |
| dwDestination : u32, | |
| dwSource : u32, | |
| dwLineID : u32, | |
| fdwLine : u32, | |
| dwUser : DWORD_PTR, | |
| dwComponentType : u32, | |
| cChannels : u32, | |
| cConnections : u32, | |
| cControls : u32, | |
| szShortName : [16]CHAR, | |
| szName : [64]CHAR, | |
| Target : struct { | |
| dwType : u32, | |
| dwDeviceID : u32, | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| }, | |
| }; | |
| PMIXERLINEA :: ^struct { | |
| cbStruct : u32, | |
| dwDestination : u32, | |
| dwSource : u32, | |
| dwLineID : u32, | |
| fdwLine : u32, | |
| dwUser : DWORD_PTR, | |
| dwComponentType : u32, | |
| cChannels : u32, | |
| cConnections : u32, | |
| cControls : u32, | |
| szShortName : [16]CHAR, | |
| szName : [64]CHAR, | |
| Target : struct { | |
| dwType : u32, | |
| dwDeviceID : u32, | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| }, | |
| }; | |
| LPMIXERLINEA :: ^struct { | |
| cbStruct : u32, | |
| dwDestination : u32, | |
| dwSource : u32, | |
| dwLineID : u32, | |
| fdwLine : u32, | |
| dwUser : DWORD_PTR, | |
| dwComponentType : u32, | |
| cChannels : u32, | |
| cConnections : u32, | |
| cControls : u32, | |
| szShortName : [16]CHAR, | |
| szName : [64]CHAR, | |
| Target : struct { | |
| dwType : u32, | |
| dwDeviceID : u32, | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]CHAR, | |
| }, | |
| }; | |
| MIXERLINEW :: struct { | |
| cbStruct : u32, | |
| dwDestination : u32, | |
| dwSource : u32, | |
| dwLineID : u32, | |
| fdwLine : u32, | |
| dwUser : DWORD_PTR, | |
| dwComponentType : u32, | |
| cChannels : u32, | |
| cConnections : u32, | |
| cControls : u32, | |
| szShortName : [16]WCHAR, | |
| szName : [64]WCHAR, | |
| Target : struct { | |
| dwType : u32, | |
| dwDeviceID : u32, | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| }, | |
| }; | |
| PMIXERLINEW :: ^struct { | |
| cbStruct : u32, | |
| dwDestination : u32, | |
| dwSource : u32, | |
| dwLineID : u32, | |
| fdwLine : u32, | |
| dwUser : DWORD_PTR, | |
| dwComponentType : u32, | |
| cChannels : u32, | |
| cConnections : u32, | |
| cControls : u32, | |
| szShortName : [16]WCHAR, | |
| szName : [64]WCHAR, | |
| Target : struct { | |
| dwType : u32, | |
| dwDeviceID : u32, | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| }, | |
| }; | |
| LPMIXERLINEW :: ^struct { | |
| cbStruct : u32, | |
| dwDestination : u32, | |
| dwSource : u32, | |
| dwLineID : u32, | |
| fdwLine : u32, | |
| dwUser : DWORD_PTR, | |
| dwComponentType : u32, | |
| cChannels : u32, | |
| cConnections : u32, | |
| cControls : u32, | |
| szShortName : [16]WCHAR, | |
| szName : [64]WCHAR, | |
| Target : struct { | |
| dwType : u32, | |
| dwDeviceID : u32, | |
| wMid : u16, | |
| wPid : u16, | |
| vDriverVersion : MMVERSION, | |
| szPname : [32]WCHAR, | |
| }, | |
| }; | |
| MIXERLINE :: MIXERLINEA; | |
| PMIXERLINE :: PMIXERLINEA; | |
| LPMIXERLINE :: LPMIXERLINEA; | |
| MIXERCONTROLA :: struct { | |
| cbStruct : u32, | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| fdwControl : u32, | |
| cMultipleItems : u32, | |
| szShortName : [16]CHAR, | |
| szName : [64]CHAR, | |
| Bounds : struct #raw_union { | |
| s : struct { | |
| lMinimum : LONG, | |
| lMaximum : LONG, | |
| }, | |
| s2 : struct { | |
| dwMinimum : u32, | |
| dwMaximum : u32, | |
| }, | |
| dwReserved : [6]u32, | |
| }, | |
| Metrics : struct #raw_union { | |
| cSteps : u32, | |
| cbCustomData : u32, | |
| dwReserved : [6]u32, | |
| }, | |
| }; | |
| PMIXERCONTROLA :: ^struct { | |
| cbStruct : u32, | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| fdwControl : u32, | |
| cMultipleItems : u32, | |
| szShortName : [16]CHAR, | |
| szName : [64]CHAR, | |
| Bounds : struct #raw_union { | |
| s : struct { | |
| lMinimum : LONG, | |
| lMaximum : LONG, | |
| }, | |
| s2 : struct { | |
| dwMinimum : u32, | |
| dwMaximum : u32, | |
| }, | |
| dwReserved : [6]u32, | |
| }, | |
| Metrics : struct #raw_union { | |
| cSteps : u32, | |
| cbCustomData : u32, | |
| dwReserved : [6]u32, | |
| }, | |
| }; | |
| LPMIXERCONTROLA :: ^struct { | |
| cbStruct : u32, | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| fdwControl : u32, | |
| cMultipleItems : u32, | |
| szShortName : [16]CHAR, | |
| szName : [64]CHAR, | |
| Bounds : struct #raw_union { | |
| s : struct { | |
| lMinimum : LONG, | |
| lMaximum : LONG, | |
| }, | |
| s2 : struct { | |
| dwMinimum : u32, | |
| dwMaximum : u32, | |
| }, | |
| dwReserved : [6]u32, | |
| }, | |
| Metrics : struct #raw_union { | |
| cSteps : u32, | |
| cbCustomData : u32, | |
| dwReserved : [6]u32, | |
| }, | |
| }; | |
| MIXERCONTROLW :: struct { | |
| cbStruct : u32, | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| fdwControl : u32, | |
| cMultipleItems : u32, | |
| szShortName : [16]WCHAR, | |
| szName : [64]WCHAR, | |
| Bounds : struct #raw_union { | |
| s : struct { | |
| lMinimum : LONG, | |
| lMaximum : LONG, | |
| }, | |
| s2 : struct { | |
| dwMinimum : u32, | |
| dwMaximum : u32, | |
| }, | |
| dwReserved : [6]u32, | |
| }, | |
| Metrics : struct #raw_union { | |
| cSteps : u32, | |
| cbCustomData : u32, | |
| dwReserved : [6]u32, | |
| }, | |
| }; | |
| PMIXERCONTROLW :: ^struct { | |
| cbStruct : u32, | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| fdwControl : u32, | |
| cMultipleItems : u32, | |
| szShortName : [16]WCHAR, | |
| szName : [64]WCHAR, | |
| Bounds : struct #raw_union { | |
| s : struct { | |
| lMinimum : LONG, | |
| lMaximum : LONG, | |
| }, | |
| s2 : struct { | |
| dwMinimum : u32, | |
| dwMaximum : u32, | |
| }, | |
| dwReserved : [6]u32, | |
| }, | |
| Metrics : struct #raw_union { | |
| cSteps : u32, | |
| cbCustomData : u32, | |
| dwReserved : [6]u32, | |
| }, | |
| }; | |
| LPMIXERCONTROLW :: ^struct { | |
| cbStruct : u32, | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| fdwControl : u32, | |
| cMultipleItems : u32, | |
| szShortName : [16]WCHAR, | |
| szName : [64]WCHAR, | |
| Bounds : struct #raw_union { | |
| s : struct { | |
| lMinimum : LONG, | |
| lMaximum : LONG, | |
| }, | |
| s2 : struct { | |
| dwMinimum : u32, | |
| dwMaximum : u32, | |
| }, | |
| dwReserved : [6]u32, | |
| }, | |
| Metrics : struct #raw_union { | |
| cSteps : u32, | |
| cbCustomData : u32, | |
| dwReserved : [6]u32, | |
| }, | |
| }; | |
| MIXERCONTROL :: MIXERCONTROLA; | |
| PMIXERCONTROL :: PMIXERCONTROLA; | |
| LPMIXERCONTROL :: LPMIXERCONTROLA; | |
| MIXERLINECONTROLSA :: struct { | |
| cbStruct : u32, | |
| dwLineID : u32, | |
| u : struct #raw_union { | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| }, | |
| cControls : u32, | |
| cbmxctrl : u32, | |
| pamxctrl : LPMIXERCONTROLA, | |
| }; | |
| PMIXERLINECONTROLSA :: ^struct { | |
| cbStruct : u32, | |
| dwLineID : u32, | |
| u : struct #raw_union { | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| }, | |
| cControls : u32, | |
| cbmxctrl : u32, | |
| pamxctrl : LPMIXERCONTROLA, | |
| }; | |
| LPMIXERLINECONTROLSA :: ^struct { | |
| cbStruct : u32, | |
| dwLineID : u32, | |
| u : struct #raw_union { | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| }, | |
| cControls : u32, | |
| cbmxctrl : u32, | |
| pamxctrl : LPMIXERCONTROLA, | |
| }; | |
| MIXERLINECONTROLSW :: struct { | |
| cbStruct : u32, | |
| dwLineID : u32, | |
| u : struct #raw_union { | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| }, | |
| cControls : u32, | |
| cbmxctrl : u32, | |
| pamxctrl : LPMIXERCONTROLW, | |
| }; | |
| PMIXERLINECONTROLSW :: ^struct { | |
| cbStruct : u32, | |
| dwLineID : u32, | |
| u : struct #raw_union { | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| }, | |
| cControls : u32, | |
| cbmxctrl : u32, | |
| pamxctrl : LPMIXERCONTROLW, | |
| }; | |
| LPMIXERLINECONTROLSW :: ^struct { | |
| cbStruct : u32, | |
| dwLineID : u32, | |
| u : struct #raw_union { | |
| dwControlID : u32, | |
| dwControlType : u32, | |
| }, | |
| cControls : u32, | |
| cbmxctrl : u32, | |
| pamxctrl : LPMIXERCONTROLW, | |
| }; | |
| MIXERLINECONTROLS :: MIXERLINECONTROLSA; | |
| PMIXERLINECONTROLS :: PMIXERLINECONTROLSA; | |
| LPMIXERLINECONTROLS :: LPMIXERLINECONTROLSA; | |
| MIXERCONTROLDETAILS :: struct { | |
| cbStruct : u32, | |
| dwControlID : u32, | |
| cChannels : u32, | |
| u : struct #raw_union { | |
| hwndOwner : HWND, | |
| cMultipleItems : u32, | |
| }, | |
| cbDetails : u32, | |
| paDetails : LPVOID, | |
| }; | |
| PMIXERCONTROLDETAILS :: ^struct { | |
| cbStruct : u32, | |
| dwControlID : u32, | |
| cChannels : u32, | |
| u : struct #raw_union { | |
| hwndOwner : HWND, | |
| cMultipleItems : u32, | |
| }, | |
| cbDetails : u32, | |
| paDetails : LPVOID, | |
| }; | |
| LPMIXERCONTROLDETAILS :: ^struct { | |
| cbStruct : u32, | |
| dwControlID : u32, | |
| cChannels : u32, | |
| u : struct #raw_union { | |
| hwndOwner : HWND, | |
| cMultipleItems : u32, | |
| }, | |
| cbDetails : u32, | |
| paDetails : LPVOID, | |
| }; | |
| MIXERCONTROLDETAILS_LISTTEXTA :: struct { | |
| dwParam1 : u32, | |
| dwParam2 : u32, | |
| szName : [64]CHAR, | |
| }; | |
| PMIXERCONTROLDETAILS_LISTTEXTA :: ^struct { | |
| dwParam1 : u32, | |
| dwParam2 : u32, | |
| szName : [64]CHAR, | |
| }; | |
| LPMIXERCONTROLDETAILS_LISTTEXTA :: ^struct { | |
| dwParam1 : u32, | |
| dwParam2 : u32, | |
| szName : [64]CHAR, | |
| }; | |
| MIXERCONTROLDETAILS_LISTTEXTW :: struct { | |
| dwParam1 : u32, | |
| dwParam2 : u32, | |
| szName : [64]WCHAR, | |
| }; | |
| PMIXERCONTROLDETAILS_LISTTEXTW :: ^struct { | |
| dwParam1 : u32, | |
| dwParam2 : u32, | |
| szName : [64]WCHAR, | |
| }; | |
| LPMIXERCONTROLDETAILS_LISTTEXTW :: ^struct { | |
| dwParam1 : u32, | |
| dwParam2 : u32, | |
| szName : [64]WCHAR, | |
| }; | |
| MIXERCONTROLDETAILS_LISTTEXT :: MIXERCONTROLDETAILS_LISTTEXTA; | |
| PMIXERCONTROLDETAILS_LISTTEXT :: PMIXERCONTROLDETAILS_LISTTEXTA; | |
| LPMIXERCONTROLDETAILS_LISTTEXT :: LPMIXERCONTROLDETAILS_LISTTEXTA; | |
| MIXERCONTROLDETAILS_BOOLEAN :: struct { | |
| fValue : LONG, | |
| }; | |
| PMIXERCONTROLDETAILS_BOOLEAN :: ^struct { | |
| fValue : LONG, | |
| }; | |
| LPMIXERCONTROLDETAILS_BOOLEAN :: ^struct { | |
| fValue : LONG, | |
| }; | |
| MIXERCONTROLDETAILS_SIGNED :: struct { | |
| lValue : LONG, | |
| }; | |
| PMIXERCONTROLDETAILS_SIGNED :: ^struct { | |
| lValue : LONG, | |
| }; | |
| LPMIXERCONTROLDETAILS_SIGNED :: ^struct { | |
| lValue : LONG, | |
| }; | |
| MIXERCONTROLDETAILS_UNSIGNED :: struct { | |
| dwValue : u32, | |
| }; | |
| PMIXERCONTROLDETAILS_UNSIGNED :: ^struct { | |
| dwValue : u32, | |
| }; | |
| LPMIXERCONTROLDETAILS_UNSIGNED :: ^struct { | |
| dwValue : u32, | |
| }; | |
| TIMECAPS :: struct { | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| }; | |
| PTIMECAPS :: ^struct { | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| }; | |
| NPTIMECAPS :: ^struct { | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| }; | |
| LPTIMECAPS :: ^struct { | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| }; | |
| JOYCAPSA :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]CHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]CHAR, | |
| szOEMVxD : [260]CHAR, | |
| }; | |
| PJOYCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]CHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]CHAR, | |
| szOEMVxD : [260]CHAR, | |
| }; | |
| NPJOYCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]CHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]CHAR, | |
| szOEMVxD : [260]CHAR, | |
| }; | |
| LPJOYCAPSA :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]CHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]CHAR, | |
| szOEMVxD : [260]CHAR, | |
| }; | |
| JOYCAPSW :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]WCHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]WCHAR, | |
| szOEMVxD : [260]WCHAR, | |
| }; | |
| PJOYCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]WCHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]WCHAR, | |
| szOEMVxD : [260]WCHAR, | |
| }; | |
| NPJOYCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]WCHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]WCHAR, | |
| szOEMVxD : [260]WCHAR, | |
| }; | |
| LPJOYCAPSW :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]WCHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]WCHAR, | |
| szOEMVxD : [260]WCHAR, | |
| }; | |
| JOYCAPS :: JOYCAPSA; | |
| PJOYCAPS :: PJOYCAPSA; | |
| NPJOYCAPS :: NPJOYCAPSA; | |
| LPJOYCAPS :: LPJOYCAPSA; | |
| JOYCAPS2A :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]CHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]CHAR, | |
| szOEMVxD : [260]CHAR, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PJOYCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]CHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]CHAR, | |
| szOEMVxD : [260]CHAR, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPJOYCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]CHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]CHAR, | |
| szOEMVxD : [260]CHAR, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPJOYCAPS2A :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]CHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]CHAR, | |
| szOEMVxD : [260]CHAR, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| JOYCAPS2W :: struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]WCHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]WCHAR, | |
| szOEMVxD : [260]WCHAR, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| PJOYCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]WCHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]WCHAR, | |
| szOEMVxD : [260]WCHAR, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| NPJOYCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]WCHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]WCHAR, | |
| szOEMVxD : [260]WCHAR, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| LPJOYCAPS2W :: ^struct { | |
| wMid : u16, | |
| wPid : u16, | |
| szPname : [32]WCHAR, | |
| wXmin : UINT, | |
| wXmax : UINT, | |
| wYmin : UINT, | |
| wYmax : UINT, | |
| wZmin : UINT, | |
| wZmax : UINT, | |
| wNumButtons : UINT, | |
| wPeriodMin : UINT, | |
| wPeriodMax : UINT, | |
| wRmin : UINT, | |
| wRmax : UINT, | |
| wUmin : UINT, | |
| wUmax : UINT, | |
| wVmin : UINT, | |
| wVmax : UINT, | |
| wCaps : UINT, | |
| wMaxAxes : UINT, | |
| wNumAxes : UINT, | |
| wMaxButtons : UINT, | |
| szRegKey : [32]WCHAR, | |
| szOEMVxD : [260]WCHAR, | |
| ManufacturerGuid : GUID, | |
| ProductGuid : GUID, | |
| NameGuid : GUID, | |
| }; | |
| JOYCAPS2 :: JOYCAPS2A; | |
| PJOYCAPS2 :: PJOYCAPS2A; | |
| NPJOYCAPS2 :: NPJOYCAPS2A; | |
| LPJOYCAPS2 :: LPJOYCAPS2A; | |
| JOYINFO :: struct { | |
| wXpos : UINT, | |
| wYpos : UINT, | |
| wZpos : UINT, | |
| wButtons : UINT, | |
| }; | |
| PJOYINFO :: ^struct { | |
| wXpos : UINT, | |
| wYpos : UINT, | |
| wZpos : UINT, | |
| wButtons : UINT, | |
| }; | |
| NPJOYINFO :: ^struct { | |
| wXpos : UINT, | |
| wYpos : UINT, | |
| wZpos : UINT, | |
| wButtons : UINT, | |
| }; | |
| LPJOYINFO :: ^struct { | |
| wXpos : UINT, | |
| wYpos : UINT, | |
| wZpos : UINT, | |
| wButtons : UINT, | |
| }; | |
| JOYINFOEX :: struct { | |
| dwSize : u32, | |
| dwFlags : u32, | |
| dwXpos : u32, | |
| dwYpos : u32, | |
| dwZpos : u32, | |
| dwRpos : u32, | |
| dwUpos : u32, | |
| dwVpos : u32, | |
| dwButtons : u32, | |
| dwButtonNumber : u32, | |
| dwPOV : u32, | |
| dwReserved1 : u32, | |
| dwReserved2 : u32, | |
| }; | |
| PJOYINFOEX :: ^struct { | |
| dwSize : u32, | |
| dwFlags : u32, | |
| dwXpos : u32, | |
| dwYpos : u32, | |
| dwZpos : u32, | |
| dwRpos : u32, | |
| dwUpos : u32, | |
| dwVpos : u32, | |
| dwButtons : u32, | |
| dwButtonNumber : u32, | |
| dwPOV : u32, | |
| dwReserved1 : u32, | |
| dwReserved2 : u32, | |
| }; | |
| NPJOYINFOEX :: ^struct { | |
| dwSize : u32, | |
| dwFlags : u32, | |
| dwXpos : u32, | |
| dwYpos : u32, | |
| dwZpos : u32, | |
| dwRpos : u32, | |
| dwUpos : u32, | |
| dwVpos : u32, | |
| dwButtons : u32, | |
| dwButtonNumber : u32, | |
| dwPOV : u32, | |
| dwReserved1 : u32, | |
| dwReserved2 : u32, | |
| }; | |
| LPJOYINFOEX :: ^struct { | |
| dwSize : u32, | |
| dwFlags : u32, | |
| dwXpos : u32, | |
| dwYpos : u32, | |
| dwZpos : u32, | |
| dwRpos : u32, | |
| dwUpos : u32, | |
| dwVpos : u32, | |
| dwButtons : u32, | |
| dwButtonNumber : u32, | |
| dwPOV : u32, | |
| dwReserved1 : u32, | |
| dwReserved2 : u32, | |
| }; | |
| NCB :: struct { | |
| ncb_command : UCHAR, | |
| ncb_retcode : UCHAR, | |
| ncb_lsn : UCHAR, | |
| ncb_num : UCHAR, | |
| ncb_buffer : PUCHAR, | |
| ncb_length : u16, | |
| ncb_callname : [16]UCHAR, | |
| ncb_name : [16]UCHAR, | |
| ncb_rto : UCHAR, | |
| ncb_sto : UCHAR, | |
| ncb_post : proc(^NCB), | |
| ncb_lana_num : UCHAR, | |
| ncb_cmd_cplt : UCHAR, | |
| ncb_reserve : [10]UCHAR, | |
| ncb_event : HANDLE, | |
| }; | |
| PNCB :: ^struct { | |
| ncb_command : UCHAR, | |
| ncb_retcode : UCHAR, | |
| ncb_lsn : UCHAR, | |
| ncb_num : UCHAR, | |
| ncb_buffer : PUCHAR, | |
| ncb_length : u16, | |
| ncb_callname : [16]UCHAR, | |
| ncb_name : [16]UCHAR, | |
| ncb_rto : UCHAR, | |
| ncb_sto : UCHAR, | |
| ncb_post : proc(^NCB), | |
| ncb_lana_num : UCHAR, | |
| ncb_cmd_cplt : UCHAR, | |
| ncb_reserve : [10]UCHAR, | |
| ncb_event : HANDLE, | |
| }; | |
| ADAPTER_STATUS :: struct { | |
| adapter_address : [6]UCHAR, | |
| rev_major : UCHAR, | |
| reserved0 : UCHAR, | |
| adapter_type : UCHAR, | |
| rev_minor : UCHAR, | |
| duration : u16, | |
| frmr_recv : u16, | |
| frmr_xmit : u16, | |
| iframe_recv_err : u16, | |
| xmit_aborts : u16, | |
| xmit_success : u32, | |
| recv_success : u32, | |
| iframe_xmit_err : u16, | |
| recv_buff_unavail : u16, | |
| t1_timeouts : u16, | |
| ti_timeouts : u16, | |
| reserved1 : u32, | |
| free_ncbs : u16, | |
| max_cfg_ncbs : u16, | |
| max_ncbs : u16, | |
| xmit_buf_unavail : u16, | |
| max_dgram_size : u16, | |
| pending_sess : u16, | |
| max_cfg_sess : u16, | |
| max_sess : u16, | |
| max_sess_pkt_size : u16, | |
| name_count : u16, | |
| }; | |
| PADAPTER_STATUS :: ^struct { | |
| adapter_address : [6]UCHAR, | |
| rev_major : UCHAR, | |
| reserved0 : UCHAR, | |
| adapter_type : UCHAR, | |
| rev_minor : UCHAR, | |
| duration : u16, | |
| frmr_recv : u16, | |
| frmr_xmit : u16, | |
| iframe_recv_err : u16, | |
| xmit_aborts : u16, | |
| xmit_success : u32, | |
| recv_success : u32, | |
| iframe_xmit_err : u16, | |
| recv_buff_unavail : u16, | |
| t1_timeouts : u16, | |
| ti_timeouts : u16, | |
| reserved1 : u32, | |
| free_ncbs : u16, | |
| max_cfg_ncbs : u16, | |
| max_ncbs : u16, | |
| xmit_buf_unavail : u16, | |
| max_dgram_size : u16, | |
| pending_sess : u16, | |
| max_cfg_sess : u16, | |
| max_sess : u16, | |
| max_sess_pkt_size : u16, | |
| name_count : u16, | |
| }; | |
| NAME_BUFFER :: struct { | |
| name : [16]UCHAR, | |
| name_num : UCHAR, | |
| name_flags : UCHAR, | |
| }; | |
| PNAME_BUFFER :: ^struct { | |
| name : [16]UCHAR, | |
| name_num : UCHAR, | |
| name_flags : UCHAR, | |
| }; | |
| SESSION_HEADER :: struct { | |
| sess_name : UCHAR, | |
| num_sess : UCHAR, | |
| rcv_dg_outstanding : UCHAR, | |
| rcv_any_outstanding : UCHAR, | |
| }; | |
| PSESSION_HEADER :: ^struct { | |
| sess_name : UCHAR, | |
| num_sess : UCHAR, | |
| rcv_dg_outstanding : UCHAR, | |
| rcv_any_outstanding : UCHAR, | |
| }; | |
| SESSION_BUFFER :: struct { | |
| lsn : UCHAR, | |
| state : UCHAR, | |
| local_name : [16]UCHAR, | |
| remote_name : [16]UCHAR, | |
| rcvs_outstanding : UCHAR, | |
| sends_outstanding : UCHAR, | |
| }; | |
| PSESSION_BUFFER :: ^struct { | |
| lsn : UCHAR, | |
| state : UCHAR, | |
| local_name : [16]UCHAR, | |
| remote_name : [16]UCHAR, | |
| rcvs_outstanding : UCHAR, | |
| sends_outstanding : UCHAR, | |
| }; | |
| LANA_ENUM :: struct { | |
| length : UCHAR, | |
| lana : [254 + 1]UCHAR, | |
| }; | |
| PLANA_ENUM :: ^struct { | |
| length : UCHAR, | |
| lana : [254 + 1]UCHAR, | |
| }; | |
| FIND_NAME_HEADER :: struct { | |
| node_count : u16, | |
| reserved : UCHAR, | |
| unique_group : UCHAR, | |
| }; | |
| PFIND_NAME_HEADER :: ^struct { | |
| node_count : u16, | |
| reserved : UCHAR, | |
| unique_group : UCHAR, | |
| }; | |
| FIND_NAME_BUFFER :: struct { | |
| length : UCHAR, | |
| access_control : UCHAR, | |
| frame_control : UCHAR, | |
| destination_addr : [6]UCHAR, | |
| source_addr : [6]UCHAR, | |
| routing_info : [18]UCHAR, | |
| }; | |
| PFIND_NAME_BUFFER :: ^struct { | |
| length : UCHAR, | |
| access_control : UCHAR, | |
| frame_control : UCHAR, | |
| destination_addr : [6]UCHAR, | |
| source_addr : [6]UCHAR, | |
| routing_info : [18]UCHAR, | |
| }; | |
| ACTION_HEADER :: struct { | |
| transport_id : ULONG, | |
| action_code : USHORT, | |
| reserved : USHORT, | |
| }; | |
| PACTION_HEADER :: ^struct { | |
| transport_id : ULONG, | |
| action_code : USHORT, | |
| reserved : USHORT, | |
| }; | |
| I_RPC_HANDLE :: rawptr; | |
| RPC_STATUS :: i64; | |
| RPC_CSTR :: cstring; | |
| RPC_WSTR :: ^u16; | |
| RPC_CWSTR :: ^u16; | |
| RPC_BINDING_HANDLE :: I_RPC_HANDLE; | |
| handle_t :: RPC_BINDING_HANDLE; | |
| UUID :: GUID; | |
| RPC_BINDING_VECTOR :: struct { | |
| Count : u64, | |
| BindingH : [1]RPC_BINDING_HANDLE, | |
| }; | |
| UUID_VECTOR :: struct { | |
| Count : u64, | |
| Uuid : [1]^UUID, | |
| }; | |
| RPC_IF_HANDLE :: rawptr; | |
| RPC_IF_ID :: struct { | |
| Uuid : UUID, | |
| VersMajor : u16, | |
| VersMinor : u16, | |
| }; | |
| RPC_PROTSEQ_VECTORA :: struct { | |
| Count : u32, | |
| Protseq : [1]cstring, | |
| }; | |
| RPC_PROTSEQ_VECTORW :: struct { | |
| Count : u32, | |
| Protseq : [1]^u16, | |
| }; | |
| RPC_POLICY :: struct { | |
| Length : u32, | |
| EndpointFlags : u64, | |
| NICFlags : u64, | |
| }; | |
| PRPC_POLICY :: ^struct { | |
| Length : u32, | |
| EndpointFlags : u64, | |
| NICFlags : u64, | |
| }; | |
| RPC_OBJECT_INQ_FN :: #type proc(ObjectUuid : ^UUID, TypeUuid : ^UUID, Status : ^RPC_STATUS); | |
| RPC_IF_CALLBACK_FN :: #type (proc(InterfaceUuid : RPC_IF_HANDLE, Context : rawptr) -> RPC_STATUS); | |
| RPC_SECURITY_CALLBACK_FN :: #type proc(Context : rawptr); | |
| RPC_STATS_VECTOR :: struct { | |
| Count : u32, | |
| Stats : [1]u64, | |
| }; | |
| RPC_IF_ID_VECTOR :: struct { | |
| Count : u64, | |
| IfId : [1]^RPC_IF_ID, | |
| }; | |
| RPC_AUTH_IDENTITY_HANDLE :: rawptr; | |
| RPC_AUTHZ_HANDLE :: rawptr; | |
| RPC_SECURITY_QOS :: struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| }; | |
| PRPC_SECURITY_QOS :: ^struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| }; | |
| SEC_WINNT_AUTH_IDENTITY_W :: struct { | |
| User : ^u16, | |
| UserLength : u64, | |
| Domain : ^u16, | |
| DomainLength : u64, | |
| Password : ^u16, | |
| PasswordLength : u64, | |
| Flags : u64, | |
| }; | |
| PSEC_WINNT_AUTH_IDENTITY_W :: ^struct { | |
| User : ^u16, | |
| UserLength : u64, | |
| Domain : ^u16, | |
| DomainLength : u64, | |
| Password : ^u16, | |
| PasswordLength : u64, | |
| Flags : u64, | |
| }; | |
| SEC_WINNT_AUTH_IDENTITY_A :: struct { | |
| User : cstring, | |
| UserLength : u64, | |
| Domain : cstring, | |
| DomainLength : u64, | |
| Password : cstring, | |
| PasswordLength : u64, | |
| Flags : u64, | |
| }; | |
| PSEC_WINNT_AUTH_IDENTITY_A :: ^struct { | |
| User : cstring, | |
| UserLength : u64, | |
| Domain : cstring, | |
| DomainLength : u64, | |
| Password : cstring, | |
| PasswordLength : u64, | |
| Flags : u64, | |
| }; | |
| RPC_HTTP_TRANSPORT_CREDENTIALS_W :: struct { | |
| TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_W, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : ^u16, | |
| }; | |
| PRPC_HTTP_TRANSPORT_CREDENTIALS_W :: ^struct { | |
| TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_W, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : ^u16, | |
| }; | |
| RPC_HTTP_TRANSPORT_CREDENTIALS_A :: struct { | |
| TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_A, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : cstring, | |
| }; | |
| PRPC_HTTP_TRANSPORT_CREDENTIALS_A :: ^struct { | |
| TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_A, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : cstring, | |
| }; | |
| RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W :: struct { | |
| TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_W, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : ^u16, | |
| ProxyCredentials : ^SEC_WINNT_AUTH_IDENTITY_W, | |
| NumberOfProxyAuthnSchemes : u64, | |
| ProxyAuthnSchemes : ^u64, | |
| }; | |
| PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_W :: ^struct { | |
| TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_W, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : ^u16, | |
| ProxyCredentials : ^SEC_WINNT_AUTH_IDENTITY_W, | |
| NumberOfProxyAuthnSchemes : u64, | |
| ProxyAuthnSchemes : ^u64, | |
| }; | |
| RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A :: struct { | |
| TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_A, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : cstring, | |
| ProxyCredentials : ^SEC_WINNT_AUTH_IDENTITY_A, | |
| NumberOfProxyAuthnSchemes : u64, | |
| ProxyAuthnSchemes : ^u64, | |
| }; | |
| PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_A :: ^struct { | |
| TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_A, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : cstring, | |
| ProxyCredentials : ^SEC_WINNT_AUTH_IDENTITY_A, | |
| NumberOfProxyAuthnSchemes : u64, | |
| ProxyAuthnSchemes : ^u64, | |
| }; | |
| RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W :: struct { | |
| TransportCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : ^u16, | |
| ProxyCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
| NumberOfProxyAuthnSchemes : u64, | |
| ProxyAuthnSchemes : ^u64, | |
| }; | |
| PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_W :: ^struct { | |
| TransportCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : ^u16, | |
| ProxyCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
| NumberOfProxyAuthnSchemes : u64, | |
| ProxyAuthnSchemes : ^u64, | |
| }; | |
| RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A :: struct { | |
| TransportCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : cstring, | |
| ProxyCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
| NumberOfProxyAuthnSchemes : u64, | |
| ProxyAuthnSchemes : ^u64, | |
| }; | |
| PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_A :: ^struct { | |
| TransportCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
| Flags : u64, | |
| AuthenticationTarget : u64, | |
| NumberOfAuthnSchemes : u64, | |
| AuthnSchemes : ^u64, | |
| ServerCertificateSubject : cstring, | |
| ProxyCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
| NumberOfProxyAuthnSchemes : u64, | |
| ProxyAuthnSchemes : ^u64, | |
| }; | |
| RPC_SECURITY_QOS_V2_W :: struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
| }, | |
| }; | |
| PRPC_SECURITY_QOS_V2_W :: ^struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
| }, | |
| }; | |
| RPC_SECURITY_QOS_V2_A :: struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
| }, | |
| }; | |
| PRPC_SECURITY_QOS_V2_A :: ^struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
| }, | |
| }; | |
| RPC_SECURITY_QOS_V3_W :: struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
| }, | |
| Sid : rawptr, | |
| }; | |
| PRPC_SECURITY_QOS_V3_W :: ^struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
| }, | |
| Sid : rawptr, | |
| }; | |
| RPC_SECURITY_QOS_V3_A :: struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
| }, | |
| Sid : rawptr, | |
| }; | |
| PRPC_SECURITY_QOS_V3_A :: ^struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
| }, | |
| Sid : rawptr, | |
| }; | |
| RPC_SECURITY_QOS_V4_W :: struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
| }, | |
| Sid : rawptr, | |
| EffectiveOnly : u32, | |
| }; | |
| PRPC_SECURITY_QOS_V4_W :: ^struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
| }, | |
| Sid : rawptr, | |
| EffectiveOnly : u32, | |
| }; | |
| RPC_SECURITY_QOS_V4_A :: struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
| }, | |
| Sid : rawptr, | |
| EffectiveOnly : u32, | |
| }; | |
| PRPC_SECURITY_QOS_V4_A :: ^struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
| }, | |
| Sid : rawptr, | |
| EffectiveOnly : u32, | |
| }; | |
| RPC_SECURITY_QOS_V5_W :: struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
| }, | |
| Sid : rawptr, | |
| EffectiveOnly : u32, | |
| ServerSecurityDescriptor : rawptr, | |
| }; | |
| PRPC_SECURITY_QOS_V5_W :: ^struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
| }, | |
| Sid : rawptr, | |
| EffectiveOnly : u32, | |
| ServerSecurityDescriptor : rawptr, | |
| }; | |
| RPC_SECURITY_QOS_V5_A :: struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
| }, | |
| Sid : rawptr, | |
| EffectiveOnly : u32, | |
| ServerSecurityDescriptor : rawptr, | |
| }; | |
| PRPC_SECURITY_QOS_V5_A :: ^struct { | |
| Version : u64, | |
| Capabilities : u64, | |
| IdentityTracking : u64, | |
| ImpersonationType : u64, | |
| AdditionalSecurityInfoType : u64, | |
| u : struct #raw_union { | |
| HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
| }, | |
| Sid : rawptr, | |
| EffectiveOnly : u32, | |
| ServerSecurityDescriptor : rawptr, | |
| }; | |
| RPC_BINDING_HANDLE_TEMPLATE_V1_W :: struct { | |
| Version : u64, | |
| Flags : u64, | |
| ProtocolSequence : u64, | |
| NetworkAddress : ^u16, | |
| StringEndpoint : ^u16, | |
| u1 : struct #raw_union { | |
| Reserved : ^u16, | |
| }, | |
| ObjectUuid : UUID, | |
| }; | |
| PRPC_BINDING_HANDLE_TEMPLATE_V1_W :: ^struct { | |
| Version : u64, | |
| Flags : u64, | |
| ProtocolSequence : u64, | |
| NetworkAddress : ^u16, | |
| StringEndpoint : ^u16, | |
| u1 : struct #raw_union { | |
| Reserved : ^u16, | |
| }, | |
| ObjectUuid : UUID, | |
| }; | |
| RPC_BINDING_HANDLE_TEMPLATE_V1_A :: struct { | |
| Version : u64, | |
| Flags : u64, | |
| ProtocolSequence : u64, | |
| NetworkAddress : cstring, | |
| StringEndpoint : cstring, | |
| u1 : struct #raw_union { | |
| Reserved : cstring, | |
| }, | |
| ObjectUuid : UUID, | |
| }; | |
| PRPC_BINDING_HANDLE_TEMPLATE_V1_A :: ^struct { | |
| Version : u64, | |
| Flags : u64, | |
| ProtocolSequence : u64, | |
| NetworkAddress : cstring, | |
| StringEndpoint : cstring, | |
| u1 : struct #raw_union { | |
| Reserved : cstring, | |
| }, | |
| ObjectUuid : UUID, | |
| }; | |
| RPC_BINDING_HANDLE_SECURITY_V1_W :: struct { | |
| Version : u64, | |
| ServerPrincName : ^u16, | |
| AuthnLevel : u64, | |
| AuthnSvc : u64, | |
| AuthIdentity : ^SEC_WINNT_AUTH_IDENTITY_W, | |
| SecurityQos : ^RPC_SECURITY_QOS, | |
| }; | |
| PRPC_BINDING_HANDLE_SECURITY_V1_W :: ^struct { | |
| Version : u64, | |
| ServerPrincName : ^u16, | |
| AuthnLevel : u64, | |
| AuthnSvc : u64, | |
| AuthIdentity : ^SEC_WINNT_AUTH_IDENTITY_W, | |
| SecurityQos : ^RPC_SECURITY_QOS, | |
| }; | |
| RPC_BINDING_HANDLE_SECURITY_V1_A :: struct { | |
| Version : u64, | |
| ServerPrincName : cstring, | |
| AuthnLevel : u64, | |
| AuthnSvc : u64, | |
| AuthIdentity : ^SEC_WINNT_AUTH_IDENTITY_A, | |
| SecurityQos : ^RPC_SECURITY_QOS, | |
| }; | |
| PRPC_BINDING_HANDLE_SECURITY_V1_A :: ^struct { | |
| Version : u64, | |
| ServerPrincName : cstring, | |
| AuthnLevel : u64, | |
| AuthnSvc : u64, | |
| AuthIdentity : ^SEC_WINNT_AUTH_IDENTITY_A, | |
| SecurityQos : ^RPC_SECURITY_QOS, | |
| }; | |
| RPC_BINDING_HANDLE_OPTIONS_V1 :: struct { | |
| Version : u64, | |
| Flags : u64, | |
| ComTimeout : u64, | |
| CallTimeout : u64, | |
| }; | |
| PRPC_BINDING_HANDLE_OPTIONS_V1 :: ^struct { | |
| Version : u64, | |
| Flags : u64, | |
| ComTimeout : u64, | |
| CallTimeout : u64, | |
| }; | |
| RPC_HTTP_REDIRECTOR_STAGE :: enum { | |
| RPCHTTP_RS_REDIRECT = 1, | |
| RPCHTTP_RS_ACCESS_1, | |
| RPCHTTP_RS_SESSION, | |
| RPCHTTP_RS_ACCESS_2, | |
| RPCHTTP_RS_INTERFACE, | |
| }; | |
| RPC_NEW_HTTP_PROXY_CHANNEL :: (proc(RedirectorStage : RPC_HTTP_REDIRECTOR_STAGE, ServerName : RPC_WSTR, ServerPort : RPC_WSTR, RemoteUser : RPC_WSTR, AuthType : RPC_WSTR, ResourceUuid : rawptr, SessionId : rawptr, Interface : rawptr, Reserved : rawptr, Flags : u64, NewServerName : ^RPC_WSTR, NewServerPort : ^RPC_WSTR) -> RPC_STATUS); | |
| RPC_HTTP_PROXY_FREE_STRING :: proc(String : RPC_WSTR); | |
| RPC_AUTH_KEY_RETRIEVAL_FN :: proc(Arg : rawptr, ServerPrincName : RPC_WSTR, KeyVer : u64, Key : ^rawptr, Status : ^RPC_STATUS); | |
| RPC_CLIENT_INFORMATION1 :: struct { | |
| UserName : cstring, | |
| ComputerName : cstring, | |
| Privilege : u16, | |
| AuthFlags : u64, | |
| }; | |
| PRPC_CLIENT_INFORMATION1 :: ^struct { | |
| UserName : cstring, | |
| ComputerName : cstring, | |
| Privilege : u16, | |
| AuthFlags : u64, | |
| }; | |
| RPC_EP_INQ_HANDLE :: ^I_RPC_HANDLE; | |
| RPC_MGMT_AUTHORIZATION_FN :: (proc(ClientBinding : RPC_BINDING_HANDLE, RequestedMgmtOperation : u64, Status : ^RPC_STATUS) -> i32); | |
| RPC_INTERFACE_GROUP :: rawptr; | |
| PRPC_INTERFACE_GROUP :: ^rawptr; | |
| RPC_ENDPOINT_TEMPLATEW :: struct { | |
| Version : u64, | |
| ProtSeq : RPC_WSTR, | |
| Endpoint : RPC_WSTR, | |
| SecurityDescriptor : rawptr, | |
| Backlog : u64, | |
| }; | |
| PRPC_ENDPOINT_TEMPLATEW :: ^struct { | |
| Version : u64, | |
| ProtSeq : RPC_WSTR, | |
| Endpoint : RPC_WSTR, | |
| SecurityDescriptor : rawptr, | |
| Backlog : u64, | |
| }; | |
| RPC_ENDPOINT_TEMPLATEA :: struct { | |
| Version : u64, | |
| ProtSeq : RPC_CSTR, | |
| Endpoint : RPC_CSTR, | |
| SecurityDescriptor : rawptr, | |
| Backlog : u64, | |
| }; | |
| PRPC_ENDPOINT_TEMPLATEA :: ^struct { | |
| Version : u64, | |
| ProtSeq : RPC_CSTR, | |
| Endpoint : RPC_CSTR, | |
| SecurityDescriptor : rawptr, | |
| Backlog : u64, | |
| }; | |
| RPC_INTERFACE_TEMPLATEA :: struct { | |
| Version : u64, | |
| IfSpec : RPC_IF_HANDLE, | |
| MgrTypeUuid : ^UUID, | |
| MgrEpv : rawptr, | |
| Flags : u32, | |
| MaxCalls : u32, | |
| MaxRpcSize : u32, | |
| IfCallback : ^RPC_IF_CALLBACK_FN, | |
| UuidVector : ^UUID_VECTOR, | |
| Annotation : RPC_CSTR, | |
| SecurityDescriptor : rawptr, | |
| }; | |
| PRPC_INTERFACE_TEMPLATEA :: ^struct { | |
| Version : u64, | |
| IfSpec : RPC_IF_HANDLE, | |
| MgrTypeUuid : ^UUID, | |
| MgrEpv : rawptr, | |
| Flags : u32, | |
| MaxCalls : u32, | |
| MaxRpcSize : u32, | |
| IfCallback : ^RPC_IF_CALLBACK_FN, | |
| UuidVector : ^UUID_VECTOR, | |
| Annotation : RPC_CSTR, | |
| SecurityDescriptor : rawptr, | |
| }; | |
| RPC_INTERFACE_TEMPLATEW :: struct { | |
| Version : u64, | |
| IfSpec : RPC_IF_HANDLE, | |
| MgrTypeUuid : ^UUID, | |
| MgrEpv : rawptr, | |
| Flags : u32, | |
| MaxCalls : u32, | |
| MaxRpcSize : u32, | |
| IfCallback : ^RPC_IF_CALLBACK_FN, | |
| UuidVector : ^UUID_VECTOR, | |
| Annotation : RPC_WSTR, | |
| SecurityDescriptor : rawptr, | |
| }; | |
| PRPC_INTERFACE_TEMPLATEW :: ^struct { | |
| Version : u64, | |
| IfSpec : RPC_IF_HANDLE, | |
| MgrTypeUuid : ^UUID, | |
| MgrEpv : rawptr, | |
| Flags : u32, | |
| MaxCalls : u32, | |
| MaxRpcSize : u32, | |
| IfCallback : ^RPC_IF_CALLBACK_FN, | |
| UuidVector : ^UUID_VECTOR, | |
| Annotation : RPC_WSTR, | |
| SecurityDescriptor : rawptr, | |
| }; | |
| RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN :: #type proc(IfGroup : RPC_INTERFACE_GROUP, IdleCallbackContext : rawptr, IsGroupIdle : u64); | |
| RPC_VERSION :: struct { | |
| MajorVersion : u16, | |
| MinorVersion : u16, | |
| }; | |
| RPC_SYNTAX_IDENTIFIER :: struct { | |
| SyntaxGUID : GUID, | |
| SyntaxVersion : RPC_VERSION, | |
| }; | |
| PRPC_SYNTAX_IDENTIFIER :: ^struct { | |
| SyntaxGUID : GUID, | |
| SyntaxVersion : RPC_VERSION, | |
| }; | |
| RPC_MESSAGE :: struct { | |
| Handle : RPC_BINDING_HANDLE, | |
| DataRepresentation : u64, | |
| Buffer : rawptr, | |
| BufferLength : u32, | |
| ProcNum : u32, | |
| TransferSyntax : PRPC_SYNTAX_IDENTIFIER, | |
| RpcInterfaceInformation : rawptr, | |
| ReservedForRuntime : rawptr, | |
| ManagerEpv : rawptr, | |
| ImportContext : rawptr, | |
| RpcFlags : u64, | |
| }; | |
| PRPC_MESSAGE :: ^struct { | |
| Handle : RPC_BINDING_HANDLE, | |
| DataRepresentation : u64, | |
| Buffer : rawptr, | |
| BufferLength : u32, | |
| ProcNum : u32, | |
| TransferSyntax : PRPC_SYNTAX_IDENTIFIER, | |
| RpcInterfaceInformation : rawptr, | |
| ReservedForRuntime : rawptr, | |
| ManagerEpv : rawptr, | |
| ImportContext : rawptr, | |
| RpcFlags : u64, | |
| }; | |
| RPC_FORWARD_FUNCTION :: #type (proc(InterfaceId : ^UUID, InterfaceVersion : ^RPC_VERSION, ObjectId : ^UUID, Rpcpro : cstring, ppDestEndpoint : ^rawptr) -> RPC_STATUS); | |
| RPC_ADDRESS_CHANGE_TYPE :: enum { | |
| PROTOCOL_NOT_LOADED = 1, | |
| PROTOCOL_LOADED, | |
| PROTOCOL_ADDRESS_CHANGE, | |
| }; | |
| RPC_ADDRESS_CHANGE_FN :: #type proc(arg : rawptr); | |
| RPC_DISPATCH_FUNCTION :: proc(Message : PRPC_MESSAGE); | |
| RPC_DISPATCH_TABLE :: struct { | |
| DispatchTableCount : u32, | |
| DispatchTable : ^RPC_DISPATCH_FUNCTION, | |
| Reserved : LONG_PTR, | |
| }; | |
| PRPC_DISPATCH_TABLE :: ^struct { | |
| DispatchTableCount : u32, | |
| DispatchTable : ^RPC_DISPATCH_FUNCTION, | |
| Reserved : LONG_PTR, | |
| }; | |
| RPC_PROTSEQ_ENDPOINT :: struct { | |
| RpcProtocolSequence : cstring, | |
| Endpoint : cstring, | |
| }; | |
| PRPC_PROTSEQ_ENDPOINT :: ^struct { | |
| RpcProtocolSequence : cstring, | |
| Endpoint : cstring, | |
| }; | |
| RPC_SERVER_INTERFACE :: struct { | |
| Length : u32, | |
| InterfaceId : RPC_SYNTAX_IDENTIFIER, | |
| TransferSyntax : RPC_SYNTAX_IDENTIFIER, | |
| DispatchTable : PRPC_DISPATCH_TABLE, | |
| RpcProtseqEndpointCount : u32, | |
| RpcProtseqEndpoint : PRPC_PROTSEQ_ENDPOINT, | |
| DefaultManagerEpv : rawptr, | |
| InterpreterInfo : ^void, | |
| Flags : u32, | |
| }; | |
| PRPC_SERVER_INTERFACE :: ^struct { | |
| Length : u32, | |
| InterfaceId : RPC_SYNTAX_IDENTIFIER, | |
| TransferSyntax : RPC_SYNTAX_IDENTIFIER, | |
| DispatchTable : PRPC_DISPATCH_TABLE, | |
| RpcProtseqEndpointCount : u32, | |
| RpcProtseqEndpoint : PRPC_PROTSEQ_ENDPOINT, | |
| DefaultManagerEpv : rawptr, | |
| InterpreterInfo : ^void, | |
| Flags : u32, | |
| }; | |
| RPC_CLIENT_INTERFACE :: struct { | |
| Length : u32, | |
| InterfaceId : RPC_SYNTAX_IDENTIFIER, | |
| TransferSyntax : RPC_SYNTAX_IDENTIFIER, | |
| DispatchTable : PRPC_DISPATCH_TABLE, | |
| RpcProtseqEndpointCount : u32, | |
| RpcProtseqEndpoint : PRPC_PROTSEQ_ENDPOINT, | |
| Reserved : ULONG_PTR, | |
| InterpreterInfo : ^void, | |
| Flags : u32, | |
| }; | |
| PRPC_CLIENT_INTERFACE :: ^struct { | |
| Length : u32, | |
| InterfaceId : RPC_SYNTAX_IDENTIFIER, | |
| TransferSyntax : RPC_SYNTAX_IDENTIFIER, | |
| DispatchTable : PRPC_DISPATCH_TABLE, | |
| RpcProtseqEndpointCount : u32, | |
| RpcProtseqEndpoint : PRPC_PROTSEQ_ENDPOINT, | |
| Reserved : ULONG_PTR, | |
| InterpreterInfo : ^void, | |
| Flags : u32, | |
| }; | |
| I_RPC_MUTEX :: rawptr; | |
| LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION :: enum { | |
| MarshalDirectionMarshal, | |
| MarshalDirectionUnmarshal, | |
| }; | |
| PRPC_RUNDOWN :: proc(AssociationContext : rawptr); | |
| RPC_SEC_CONTEXT_KEY_INFO :: struct { | |
| EncryptAlgorithm : u64, | |
| KeySize : u64, | |
| SignatureAlgorithm : u64, | |
| }; | |
| PRPC_SEC_CONTEXT_KEY_INFO :: ^struct { | |
| EncryptAlgorithm : u64, | |
| KeySize : u64, | |
| SignatureAlgorithm : u64, | |
| }; | |
| RPC_TRANSFER_SYNTAX :: struct { | |
| Uuid : UUID, | |
| VersMajor : u16, | |
| VersMinor : u16, | |
| }; | |
| RPCLT_PDU_FILTER_FUNC :: proc(Buffer : rawptr, BufferLength : u32, fDatagram : i32); | |
| RPC_SETFILTER_FUNC :: proc(pfnFilter : RPCLT_PDU_FILTER_FUNC); | |
| RPC_BLOCKING_FN :: (proc(hWnd : rawptr, Context : rawptr, hSyncEvent : rawptr) -> RPC_STATUS); | |
| RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR :: struct { | |
| BufferSize : u64, | |
| Buffer : cstring, | |
| }; | |
| RDR_CALLOUT_STATE :: struct { | |
| LastError : RPC_STATUS, | |
| LastEEInfo : rawptr, | |
| LastCalledStage : RPC_HTTP_REDIRECTOR_STAGE, | |
| ServerName : ^u16, | |
| ServerPort : ^u16, | |
| RemoteUser : ^u16, | |
| AuthType : ^u16, | |
| ResourceTypePresent : u8, | |
| SessionIdPresent : u8, | |
| InterfacePresent : u8, | |
| ResourceType : UUID, | |
| SessionId : UUID, | |
| Interface : RPC_SYNTAX_IDENTIFIER, | |
| CertContext : rawptr, | |
| }; | |
| I_RpcProxyIsValidMachineFn :: (proc(Machine : RPC_WSTR, DotMachine : RPC_WSTR, PortNumber : u64) -> RPC_STATUS); | |
| I_RpcProxyGetClientAddressFn :: (proc(Context : rawptr, Buffer : cstring, BufferLength : ^u64) -> RPC_STATUS); | |
| I_RpcProxyGetConnectionTimeoutFn :: (proc(ConnectionTimeout : ^u64) -> RPC_STATUS); | |
| I_RpcPerformCalloutFn :: (proc(Context : rawptr, CallOutState : ^RDR_CALLOUT_STATE, Stage : RPC_HTTP_REDIRECTOR_STAGE) -> RPC_STATUS); | |
| I_RpcFreeCalloutStateFn :: proc(CallOutState : ^RDR_CALLOUT_STATE); | |
| I_RpcProxyGetClientSessionAndResourceUUID :: (proc(Context : rawptr, SessionIdPresent : ^i32, SessionId : ^UUID, ResourceIdPresent : ^i32, ResourceId : ^UUID) -> RPC_STATUS); | |
| I_RpcProxyFilterIfFn :: (proc(Context : rawptr, IfUuid : ^UUID, IfMajorVersion : u16, fAllow : ^i32) -> RPC_STATUS); | |
| RpcPerfCounters :: enum { | |
| RpcCurrentUniqueUser = 1, | |
| RpcBackEndConnectionAttempts, | |
| RpcBackEndConnectionFailed, | |
| RpcRequestsPerSecond, | |
| RpcIncomingConnections, | |
| RpcIncomingBandwidth, | |
| RpcOutgoingBandwidth, | |
| RpcAttemptedLbsDecisions, | |
| RpcFailedLbsDecisions, | |
| RpcAttemptedLbsMessages, | |
| RpcFailedLbsMessages, | |
| RpcLastCounter, | |
| }; | |
| I_RpcProxyUpdatePerfCounterFn :: proc(Counter : RpcPerfCounters, ModifyTrend : i32, Size : u64); | |
| I_RpcProxyUpdatePerfCounterBackendServerFn :: proc(MachineName : ^u16, IsConnectEvent : i32); | |
| I_RpcProxyCallbackInterface :: struct { | |
| IsValidMachineFn : I_RpcProxyIsValidMachineFn, | |
| GetClientAddressFn : I_RpcProxyGetClientAddressFn, | |
| GetConnectionTimeoutFn : I_RpcProxyGetConnectionTimeoutFn, | |
| PerformCalloutFn : I_RpcPerformCalloutFn, | |
| FreeCalloutStateFn : I_RpcFreeCalloutStateFn, | |
| GetClientSessionAndResourceUUIDFn : I_RpcProxyGetClientSessionAndResourceUUID, | |
| ProxyFilterIfFn : I_RpcProxyFilterIfFn, | |
| RpcProxyUpdatePerfCounterFn : I_RpcProxyUpdatePerfCounterFn, | |
| RpcProxyUpdatePerfCounterBackendServerFn : I_RpcProxyUpdatePerfCounterBackendServerFn, | |
| }; | |
| RPC_NS_HANDLE :: rawptr; | |
| RPC_NOTIFICATION_TYPES :: enum { | |
| RpcNotificationTypeNone, | |
| RpcNotificationTypeEvent, | |
| RpcNotificationTypeApc, | |
| RpcNotificationTypeIoc, | |
| RpcNotificationTypeHwnd, | |
| RpcNotificationTypeCallback, | |
| }; | |
| RPC_ASYNC_EVENT :: enum { | |
| RpcCallComplete, | |
| RpcSendComplete, | |
| RpcReceiveComplete, | |
| RpcClientDisconnect, | |
| RpcClientCancel, | |
| }; | |
| RPCNOTIFICATION_ROUTINE :: #type proc(pAsync : ^RPC_ASYNC_STATE, Context : rawptr, Event : RPC_ASYNC_EVENT); | |
| PFN_RPCNOTIFICATION_ROUTINE :: ^RPCNOTIFICATION_ROUTINE; | |
| RPC_ASYNC_NOTIFICATION_INFO :: struct #raw_union { | |
| APC : struct { | |
| NotificationRoutine : PFN_RPCNOTIFICATION_ROUTINE, | |
| hThread : HANDLE, | |
| }, | |
| IOC : struct { | |
| hIOPort : HANDLE, | |
| dwNumberOfBytesTransferred : u32, | |
| dwCompletionKey : DWORD_PTR, | |
| lpOverlapped : LPOVERLAPPED, | |
| }, | |
| HWND : struct { | |
| hWnd : HWND, | |
| Msg : UINT, | |
| }, | |
| hEvent : HANDLE, | |
| NotificationRoutine : PFN_RPCNOTIFICATION_ROUTINE, | |
| }; | |
| PRPC_ASYNC_NOTIFICATION_INFO :: ^struct #raw_union { | |
| APC : struct { | |
| NotificationRoutine : PFN_RPCNOTIFICATION_ROUTINE, | |
| hThread : HANDLE, | |
| }, | |
| IOC : struct { | |
| hIOPort : HANDLE, | |
| dwNumberOfBytesTransferred : u32, | |
| dwCompletionKey : DWORD_PTR, | |
| lpOverlapped : LPOVERLAPPED, | |
| }, | |
| HWND : struct { | |
| hWnd : HWND, | |
| Msg : UINT, | |
| }, | |
| hEvent : HANDLE, | |
| NotificationRoutine : PFN_RPCNOTIFICATION_ROUTINE, | |
| }; | |
| RPC_ASYNC_STATE :: struct { | |
| Size : u32, | |
| Signature : u64, | |
| Lock : i64, | |
| Flags : u64, | |
| StubInfo : rawptr, | |
| UserInfo : rawptr, | |
| RuntimeInfo : rawptr, | |
| Event : RPC_ASYNC_EVENT, | |
| NotificationType : RPC_NOTIFICATION_TYPES, | |
| u : RPC_ASYNC_NOTIFICATION_INFO, | |
| Reserved : [4]LONG_PTR, | |
| }; | |
| PRPC_ASYNC_STATE :: ^struct { | |
| Size : u32, | |
| Signature : u64, | |
| Lock : i64, | |
| Flags : u64, | |
| StubInfo : rawptr, | |
| UserInfo : rawptr, | |
| RuntimeInfo : rawptr, | |
| Event : RPC_ASYNC_EVENT, | |
| NotificationType : RPC_NOTIFICATION_TYPES, | |
| u : RPC_ASYNC_NOTIFICATION_INFO, | |
| Reserved : [4]LONG_PTR, | |
| }; | |
| ExtendedErrorParamTypes :: enum { | |
| eeptAnsiString = 1, | |
| eeptUnicodeString, | |
| eeptLongVal, | |
| eeptShortVal, | |
| eeptPointerVal, | |
| eeptNone, | |
| eeptBinary, | |
| }; | |
| BinaryParam :: struct { | |
| Buffer : rawptr, | |
| Size : i16, | |
| }; | |
| RPC_EE_INFO_PARAM :: struct { | |
| ParameterType : ExtendedErrorParamTypes, | |
| u : struct #raw_union { | |
| AnsiString : LPSTR, | |
| UnicodeString : LPWSTR, | |
| LVal : i64, | |
| SVal : i16, | |
| PVal : ULONGLONG, | |
| BVal : BinaryParam, | |
| }, | |
| }; | |
| RPC_EXTENDED_ERROR_INFO :: struct { | |
| Version : ULONG, | |
| ComputerName : LPWSTR, | |
| ProcessID : ULONG, | |
| u : struct #raw_union { | |
| SystemTime : SYSTEMTIME, | |
| FileTime : FILETIME, | |
| }, | |
| GeneratingComponent : ULONG, | |
| Status : ULONG, | |
| DetectionLocation : USHORT, | |
| Flags : USHORT, | |
| NumberOfParameters : i32, | |
| Parameters : [4]RPC_EE_INFO_PARAM, | |
| }; | |
| RPC_ERROR_ENUM_HANDLE :: struct { | |
| Signature : ULONG, | |
| CurrentPos : rawptr, | |
| Head : rawptr, | |
| }; | |
| RpcLocalAddressFormat :: enum { | |
| rlafInvalid = 0, | |
| rlafIPv4, | |
| rlafIPv6, | |
| }; | |
| RPC_CALL_LOCAL_ADDRESS_V1 :: struct { | |
| Version : u32, | |
| Buffer : rawptr, | |
| BufferSize : u64, | |
| AddressFormat : RpcLocalAddressFormat, | |
| }; | |
| PRPC_CALL_LOCAL_ADDRESS_V1 :: ^struct { | |
| Version : u32, | |
| Buffer : rawptr, | |
| BufferSize : u64, | |
| AddressFormat : RpcLocalAddressFormat, | |
| }; | |
| RPC_CALL_ATTRIBUTES_V1_W :: struct { | |
| Version : u32, | |
| Flags : u64, | |
| ServerPrincipalNameBufferLength : u64, | |
| ServerPrincipalName : ^u16, | |
| ClientPrincipalNameBufferLength : u64, | |
| ClientPrincipalName : ^u16, | |
| AuthenticationLevel : u64, | |
| AuthenticationService : u64, | |
| NullSession : BOOL, | |
| }; | |
| RPC_CALL_ATTRIBUTES_V1_A :: struct { | |
| Version : u32, | |
| Flags : u64, | |
| ServerPrincipalNameBufferLength : u64, | |
| ServerPrincipalName : cstring, | |
| ClientPrincipalNameBufferLength : u64, | |
| ClientPrincipalName : cstring, | |
| AuthenticationLevel : u64, | |
| AuthenticationService : u64, | |
| NullSession : BOOL, | |
| }; | |
| RpcCallType :: enum { | |
| rctInvalid = 0, | |
| rctNormal, | |
| rctTraining, | |
| rctGuaranteed, | |
| }; | |
| RpcCallClientLocality :: enum { | |
| rcclInvalid = 0, | |
| rcclLocal, | |
| rcclRemote, | |
| rcclClientUnknownLocality, | |
| }; | |
| RPC_CALL_ATTRIBUTES_V2_W :: struct { | |
| Version : u32, | |
| Flags : u64, | |
| ServerPrincipalNameBufferLength : u64, | |
| ServerPrincipalName : ^u16, | |
| ClientPrincipalNameBufferLength : u64, | |
| ClientPrincipalName : ^u16, | |
| AuthenticationLevel : u64, | |
| AuthenticationService : u64, | |
| NullSession : BOOL, | |
| KernelModeCaller : BOOL, | |
| ProtocolSequence : u64, | |
| IsClientLocal : RpcCallClientLocality, | |
| ClientPID : HANDLE, | |
| CallStatus : u64, | |
| CallType : RpcCallType, | |
| CallLocalAddress : ^RPC_CALL_LOCAL_ADDRESS_V1, | |
| OpNum : u16, | |
| InterfaceUuid : UUID, | |
| }; | |
| RPC_CALL_ATTRIBUTES_V2_A :: struct { | |
| Version : u32, | |
| Flags : u64, | |
| ServerPrincipalNameBufferLength : u64, | |
| ServerPrincipalName : cstring, | |
| ClientPrincipalNameBufferLength : u64, | |
| ClientPrincipalName : cstring, | |
| AuthenticationLevel : u64, | |
| AuthenticationService : u64, | |
| NullSession : BOOL, | |
| KernelModeCaller : BOOL, | |
| ProtocolSequence : u64, | |
| IsClientLocal : u64, | |
| ClientPID : HANDLE, | |
| CallStatus : u64, | |
| CallType : RpcCallType, | |
| CallLocalAddress : ^RPC_CALL_LOCAL_ADDRESS_V1, | |
| OpNum : u16, | |
| InterfaceUuid : UUID, | |
| }; | |
| RPC_CALL_ATTRIBUTES_V3_W :: struct { | |
| Version : u32, | |
| Flags : u64, | |
| ServerPrincipalNameBufferLength : u64, | |
| ServerPrincipalName : ^u16, | |
| ClientPrincipalNameBufferLength : u64, | |
| ClientPrincipalName : ^u16, | |
| AuthenticationLevel : u64, | |
| AuthenticationService : u64, | |
| NullSession : BOOL, | |
| KernelModeCaller : BOOL, | |
| ProtocolSequence : u64, | |
| IsClientLocal : RpcCallClientLocality, | |
| ClientPID : HANDLE, | |
| CallStatus : u64, | |
| CallType : RpcCallType, | |
| CallLocalAddress : ^RPC_CALL_LOCAL_ADDRESS_V1, | |
| OpNum : u16, | |
| InterfaceUuid : UUID, | |
| ClientIdentifierBufferLength : u64, | |
| ClientIdentifier : cstring, | |
| }; | |
| RPC_CALL_ATTRIBUTES_V3_A :: struct { | |
| Version : u32, | |
| Flags : u64, | |
| ServerPrincipalNameBufferLength : u64, | |
| ServerPrincipalName : cstring, | |
| ClientPrincipalNameBufferLength : u64, | |
| ClientPrincipalName : cstring, | |
| AuthenticationLevel : u64, | |
| AuthenticationService : u64, | |
| NullSession : BOOL, | |
| KernelModeCaller : BOOL, | |
| ProtocolSequence : u64, | |
| IsClientLocal : u64, | |
| ClientPID : HANDLE, | |
| CallStatus : u64, | |
| CallType : RpcCallType, | |
| CallLocalAddress : ^RPC_CALL_LOCAL_ADDRESS_V1, | |
| OpNum : u16, | |
| InterfaceUuid : UUID, | |
| ClientIdentifierBufferLength : u64, | |
| ClientIdentifier : cstring, | |
| }; | |
| RPC_CALL_ATTRIBUTES :: RPC_CALL_ATTRIBUTES_V3_A; | |
| RPC_NOTIFICATIONS :: enum { | |
| RpcNotificationCallNone = 0, | |
| RpcNotificationClientDisconnect = 1, | |
| RpcNotificationCallCancel = 2, | |
| }; | |
| HDROP__ :: struct { | |
| unused : i32, | |
| }; | |
| HDROP :: ^HDROP__; | |
| DRAGINFOA :: struct { | |
| uSize : UINT, | |
| pt : POINT, | |
| fNC : BOOL, | |
| lpFileList : PZZSTR, | |
| grfKeyState : u32, | |
| }; | |
| LPDRAGINFOA :: ^struct { | |
| uSize : UINT, | |
| pt : POINT, | |
| fNC : BOOL, | |
| lpFileList : PZZSTR, | |
| grfKeyState : u32, | |
| }; | |
| DRAGINFOW :: struct { | |
| uSize : UINT, | |
| pt : POINT, | |
| fNC : BOOL, | |
| lpFileList : PZZWSTR, | |
| grfKeyState : u32, | |
| }; | |
| LPDRAGINFOW :: ^struct { | |
| uSize : UINT, | |
| pt : POINT, | |
| fNC : BOOL, | |
| lpFileList : PZZWSTR, | |
| grfKeyState : u32, | |
| }; | |
| DRAGINFO :: DRAGINFOA; | |
| LPDRAGINFO :: LPDRAGINFOA; | |
| APPBARDATA :: struct { | |
| cbSize : u32, | |
| hWnd : HWND, | |
| uCallbackMessage : UINT, | |
| uEdge : UINT, | |
| rc : RECT, | |
| lParam : LPARAM, | |
| }; | |
| PAPPBARDATA :: ^struct { | |
| cbSize : u32, | |
| hWnd : HWND, | |
| uCallbackMessage : UINT, | |
| uEdge : UINT, | |
| rc : RECT, | |
| lParam : LPARAM, | |
| }; | |
| FILEOP_FLAGS :: u16; | |
| PRINTEROP_FLAGS :: u16; | |
| SHFILEOPSTRUCTA :: struct { | |
| hwnd : HWND, | |
| wFunc : UINT, | |
| pFrom : PCZZSTR, | |
| pTo : PCZZSTR, | |
| fFlags : FILEOP_FLAGS, | |
| fAnyOperationsAborted : BOOL, | |
| hNameMappings : LPVOID, | |
| lpszProgressTitle : PCSTR, | |
| }; | |
| LPSHFILEOPSTRUCTA :: ^struct { | |
| hwnd : HWND, | |
| wFunc : UINT, | |
| pFrom : PCZZSTR, | |
| pTo : PCZZSTR, | |
| fFlags : FILEOP_FLAGS, | |
| fAnyOperationsAborted : BOOL, | |
| hNameMappings : LPVOID, | |
| lpszProgressTitle : PCSTR, | |
| }; | |
| SHFILEOPSTRUCTW :: struct { | |
| hwnd : HWND, | |
| wFunc : UINT, | |
| pFrom : PCZZWSTR, | |
| pTo : PCZZWSTR, | |
| fFlags : FILEOP_FLAGS, | |
| fAnyOperationsAborted : BOOL, | |
| hNameMappings : LPVOID, | |
| lpszProgressTitle : PCWSTR, | |
| }; | |
| LPSHFILEOPSTRUCTW :: ^struct { | |
| hwnd : HWND, | |
| wFunc : UINT, | |
| pFrom : PCZZWSTR, | |
| pTo : PCZZWSTR, | |
| fFlags : FILEOP_FLAGS, | |
| fAnyOperationsAborted : BOOL, | |
| hNameMappings : LPVOID, | |
| lpszProgressTitle : PCWSTR, | |
| }; | |
| SHFILEOPSTRUCT :: SHFILEOPSTRUCTA; | |
| LPSHFILEOPSTRUCT :: LPSHFILEOPSTRUCTA; | |
| SHNAMEMAPPINGA :: struct { | |
| pszOldPath : LPSTR, | |
| pszNewPath : LPSTR, | |
| cchOldPath : i32, | |
| cchNewPath : i32, | |
| }; | |
| LPSHNAMEMAPPINGA :: ^struct { | |
| pszOldPath : LPSTR, | |
| pszNewPath : LPSTR, | |
| cchOldPath : i32, | |
| cchNewPath : i32, | |
| }; | |
| SHNAMEMAPPINGW :: struct { | |
| pszOldPath : LPWSTR, | |
| pszNewPath : LPWSTR, | |
| cchOldPath : i32, | |
| cchNewPath : i32, | |
| }; | |
| LPSHNAMEMAPPINGW :: ^struct { | |
| pszOldPath : LPWSTR, | |
| pszNewPath : LPWSTR, | |
| cchOldPath : i32, | |
| cchNewPath : i32, | |
| }; | |
| SHNAMEMAPPING :: SHNAMEMAPPINGA; | |
| LPSHNAMEMAPPING :: LPSHNAMEMAPPINGA; | |
| SHELLEXECUTEINFOA :: struct { | |
| cbSize : u32, | |
| fMask : ULONG, | |
| hwnd : HWND, | |
| lpVerb : LPCSTR, | |
| lpFile : LPCSTR, | |
| lpParameters : LPCSTR, | |
| lpDirectory : LPCSTR, | |
| nShow : i32, | |
| hInstApp : HINSTANCE, | |
| lpIDList : rawptr, | |
| lpClass : LPCSTR, | |
| hkeyClass : HKEY, | |
| dwHotKey : u32, | |
| u : struct #raw_union { | |
| hIcon : HANDLE, | |
| hMonitor : HANDLE, | |
| }, | |
| hProcess : HANDLE, | |
| }; | |
| LPSHELLEXECUTEINFOA :: ^struct { | |
| cbSize : u32, | |
| fMask : ULONG, | |
| hwnd : HWND, | |
| lpVerb : LPCSTR, | |
| lpFile : LPCSTR, | |
| lpParameters : LPCSTR, | |
| lpDirectory : LPCSTR, | |
| nShow : i32, | |
| hInstApp : HINSTANCE, | |
| lpIDList : rawptr, | |
| lpClass : LPCSTR, | |
| hkeyClass : HKEY, | |
| dwHotKey : u32, | |
| u : struct #raw_union { | |
| hIcon : HANDLE, | |
| hMonitor : HANDLE, | |
| }, | |
| hProcess : HANDLE, | |
| }; | |
| SHELLEXECUTEINFOW :: struct { | |
| cbSize : u32, | |
| fMask : ULONG, | |
| hwnd : HWND, | |
| lpVerb : LPCWSTR, | |
| lpFile : LPCWSTR, | |
| lpParameters : LPCWSTR, | |
| lpDirectory : LPCWSTR, | |
| nShow : i32, | |
| hInstApp : HINSTANCE, | |
| lpIDList : rawptr, | |
| lpClass : LPCWSTR, | |
| hkeyClass : HKEY, | |
| dwHotKey : u32, | |
| u : struct #raw_union { | |
| hIcon : HANDLE, | |
| hMonitor : HANDLE, | |
| }, | |
| hProcess : HANDLE, | |
| }; | |
| LPSHELLEXECUTEINFOW :: ^struct { | |
| cbSize : u32, | |
| fMask : ULONG, | |
| hwnd : HWND, | |
| lpVerb : LPCWSTR, | |
| lpFile : LPCWSTR, | |
| lpParameters : LPCWSTR, | |
| lpDirectory : LPCWSTR, | |
| nShow : i32, | |
| hInstApp : HINSTANCE, | |
| lpIDList : rawptr, | |
| lpClass : LPCWSTR, | |
| hkeyClass : HKEY, | |
| dwHotKey : u32, | |
| u : struct #raw_union { | |
| hIcon : HANDLE, | |
| hMonitor : HANDLE, | |
| }, | |
| hProcess : HANDLE, | |
| }; | |
| SHELLEXECUTEINFO :: SHELLEXECUTEINFOA; | |
| LPSHELLEXECUTEINFO :: LPSHELLEXECUTEINFOA; | |
| SHCREATEPROCESSINFOW :: struct { | |
| cbSize : u32, | |
| fMask : ULONG, | |
| hwnd : HWND, | |
| pszFile : LPCWSTR, | |
| pszParameters : LPCWSTR, | |
| pszCurrentDirectory : LPCWSTR, | |
| hUserToken : HANDLE, | |
| lpProcessAttributes : LPSECURITY_ATTRIBUTES, | |
| lpThreadAttributes : LPSECURITY_ATTRIBUTES, | |
| bInheritHandles : BOOL, | |
| dwCreationFlags : u32, | |
| lpStartupInfo : LPSTARTUPINFOW, | |
| lpProcessInformation : LPPROCESS_INFORMATION, | |
| }; | |
| PSHCREATEPROCESSINFOW :: ^struct { | |
| cbSize : u32, | |
| fMask : ULONG, | |
| hwnd : HWND, | |
| pszFile : LPCWSTR, | |
| pszParameters : LPCWSTR, | |
| pszCurrentDirectory : LPCWSTR, | |
| hUserToken : HANDLE, | |
| lpProcessAttributes : LPSECURITY_ATTRIBUTES, | |
| lpThreadAttributes : LPSECURITY_ATTRIBUTES, | |
| bInheritHandles : BOOL, | |
| dwCreationFlags : u32, | |
| lpStartupInfo : LPSTARTUPINFOW, | |
| lpProcessInformation : LPPROCESS_INFORMATION, | |
| }; | |
| ASSOCCLASS :: enum { | |
| ASSOCCLASS_SHELL_KEY = 0, | |
| ASSOCCLASS_PROGID_KEY, | |
| ASSOCCLASS_PROGID_STR, | |
| ASSOCCLASS_CLSID_KEY, | |
| ASSOCCLASS_CLSID_STR, | |
| ASSOCCLASS_APP_KEY, | |
| ASSOCCLASS_APP_STR, | |
| ASSOCCLASS_SYSTEM_STR, | |
| ASSOCCLASS_FOLDER, | |
| ASSOCCLASS_STAR, | |
| ASSOCCLASS_FIXED_PROGID_STR, | |
| ASSOCCLASS_PROTOCOL_STR, | |
| }; | |
| ASSOCIATIONELEMENT :: struct { | |
| ac : ASSOCCLASS, | |
| hkClass : HKEY, | |
| pszClass : PCWSTR, | |
| }; | |
| SHQUERYRBINFO :: struct { | |
| cbSize : u32, | |
| i64Size : i64, | |
| i64NumItems : i64, | |
| }; | |
| LPSHQUERYRBINFO :: ^struct { | |
| cbSize : u32, | |
| i64Size : i64, | |
| i64NumItems : i64, | |
| }; | |
| QUERY_USER_NOTIFICATION_STATE :: enum { | |
| QUNS_NOT_PRESENT = 1, | |
| QUNS_BUSY = 2, | |
| QUNS_RUNNING_D3D_FULL_SCREEN = 3, | |
| QUNS_PRESENTATION_MODE = 4, | |
| QUNS_ACCEPTS_NOTIFICATIONS = 5, | |
| QUNS_QUIET_TIME = 6, | |
| QUNS_APP = 7, | |
| }; | |
| NOTIFYICONDATAA :: struct { | |
| cbSize : u32, | |
| hWnd : HWND, | |
| uID : UINT, | |
| uFlags : UINT, | |
| uCallbackMessage : UINT, | |
| hIcon : HICON, | |
| szTip : [128]CHAR, | |
| dwState : u32, | |
| dwStateMask : u32, | |
| szInfo : [256]CHAR, | |
| u : struct #raw_union { | |
| uTimeout : UINT, | |
| uVersion : UINT, | |
| }, | |
| szInfoTitle : [64]CHAR, | |
| dwInfoFlags : u32, | |
| guidItem : GUID, | |
| hBalloonIcon : HICON, | |
| }; | |
| PNOTIFYICONDATAA :: ^struct { | |
| cbSize : u32, | |
| hWnd : HWND, | |
| uID : UINT, | |
| uFlags : UINT, | |
| uCallbackMessage : UINT, | |
| hIcon : HICON, | |
| szTip : [128]CHAR, | |
| dwState : u32, | |
| dwStateMask : u32, | |
| szInfo : [256]CHAR, | |
| u : struct #raw_union { | |
| uTimeout : UINT, | |
| uVersion : UINT, | |
| }, | |
| szInfoTitle : [64]CHAR, | |
| dwInfoFlags : u32, | |
| guidItem : GUID, | |
| hBalloonIcon : HICON, | |
| }; | |
| NOTIFYICONDATAW :: struct { | |
| cbSize : u32, | |
| hWnd : HWND, | |
| uID : UINT, | |
| uFlags : UINT, | |
| uCallbackMessage : UINT, | |
| hIcon : HICON, | |
| szTip : [128]WCHAR, | |
| dwState : u32, | |
| dwStateMask : u32, | |
| szInfo : [256]WCHAR, | |
| u : struct #raw_union { | |
| uTimeout : UINT, | |
| uVersion : UINT, | |
| }, | |
| szInfoTitle : [64]WCHAR, | |
| dwInfoFlags : u32, | |
| guidItem : GUID, | |
| hBalloonIcon : HICON, | |
| }; | |
| PNOTIFYICONDATAW :: ^struct { | |
| cbSize : u32, | |
| hWnd : HWND, | |
| uID : UINT, | |
| uFlags : UINT, | |
| uCallbackMessage : UINT, | |
| hIcon : HICON, | |
| szTip : [128]WCHAR, | |
| dwState : u32, | |
| dwStateMask : u32, | |
| szInfo : [256]WCHAR, | |
| u : struct #raw_union { | |
| uTimeout : UINT, | |
| uVersion : UINT, | |
| }, | |
| szInfoTitle : [64]WCHAR, | |
| dwInfoFlags : u32, | |
| guidItem : GUID, | |
| hBalloonIcon : HICON, | |
| }; | |
| NOTIFYICONDATA :: NOTIFYICONDATAA; | |
| PNOTIFYICONDATA :: PNOTIFYICONDATAA; | |
| NOTIFYICONIDENTIFIER :: struct { | |
| cbSize : u32, | |
| hWnd : HWND, | |
| uID : UINT, | |
| guidItem : GUID, | |
| }; | |
| PNOTIFYICONIDENTIFIER :: ^struct { | |
| cbSize : u32, | |
| hWnd : HWND, | |
| uID : UINT, | |
| guidItem : GUID, | |
| }; | |
| SHFILEINFOA :: struct { | |
| hIcon : HICON, | |
| iIcon : i32, | |
| dwAttributes : u32, | |
| szDisplayName : [260]CHAR, | |
| szTypeName : [80]CHAR, | |
| }; | |
| SHFILEINFOW :: struct { | |
| hIcon : HICON, | |
| iIcon : i32, | |
| dwAttributes : u32, | |
| szDisplayName : [260]WCHAR, | |
| szTypeName : [80]WCHAR, | |
| }; | |
| SHFILEINFO :: SHFILEINFOA; | |
| SHSTOCKICONINFO :: struct { | |
| cbSize : u32, | |
| hIcon : HICON, | |
| iSysImageIndex : i32, | |
| iIcon : i32, | |
| szPath : [260]WCHAR, | |
| }; | |
| SHSTOCKICONID :: enum { | |
| SIID_DOCNOASSOC = 0, | |
| SIID_DOCASSOC = 1, | |
| SIID_APPLICATION = 2, | |
| SIID_FOLDER = 3, | |
| SIID_FOLDEROPEN = 4, | |
| SIID_DRIVE525 = 5, | |
| SIID_DRIVE35 = 6, | |
| SIID_DRIVEREMOVE = 7, | |
| SIID_DRIVEFIXED = 8, | |
| SIID_DRIVENET = 9, | |
| SIID_DRIVENETDISABLED = 10, | |
| SIID_DRIVECD = 11, | |
| SIID_DRIVERAM = 12, | |
| SIID_WORLD = 13, | |
| SIID_SERVER = 15, | |
| SIID_PRINTER = 16, | |
| SIID_MYNETWORK = 17, | |
| SIID_FIND = 22, | |
| SIID_HELP = 23, | |
| SIID_SHARE = 28, | |
| SIID_LINK = 29, | |
| SIID_SLOWFILE = 30, | |
| SIID_RECYCLER = 31, | |
| SIID_RECYCLERFULL = 32, | |
| SIID_MEDIACDAUDIO = 40, | |
| SIID_LOCK = 47, | |
| SIID_AUTOLIST = 49, | |
| SIID_PRINTERNET = 50, | |
| SIID_SERVERSHARE = 51, | |
| SIID_PRINTERFAX = 52, | |
| SIID_PRINTERFAXNET = 53, | |
| SIID_PRINTERFILE = 54, | |
| SIID_STACK = 55, | |
| SIID_MEDIASVCD = 56, | |
| SIID_STUFFEDFOLDER = 57, | |
| SIID_DRIVEUNKNOWN = 58, | |
| SIID_DRIVEDVD = 59, | |
| SIID_MEDIADVD = 60, | |
| SIID_MEDIADVDRAM = 61, | |
| SIID_MEDIADVDRW = 62, | |
| SIID_MEDIADVDR = 63, | |
| SIID_MEDIADVDROM = 64, | |
| SIID_MEDIACDAUDIOPLUS = 65, | |
| SIID_MEDIACDRW = 66, | |
| SIID_MEDIACDR = 67, | |
| SIID_MEDIACDBURN = 68, | |
| SIID_MEDIABLANKCD = 69, | |
| SIID_MEDIACDROM = 70, | |
| SIID_AUDIOFILES = 71, | |
| SIID_IMAGEFILES = 72, | |
| SIID_VIDEOFILES = 73, | |
| SIID_MIXEDFILES = 74, | |
| SIID_FOLDERBACK = 75, | |
| SIID_FOLDERFRONT = 76, | |
| SIID_SHIELD = 77, | |
| SIID_WARNING = 78, | |
| SIID_INFO = 79, | |
| SIID_ERROR = 80, | |
| SIID_KEY = 81, | |
| SIID_SOFTWARE = 82, | |
| SIID_RENAME = 83, | |
| SIID_DELETE = 84, | |
| SIID_MEDIAAUDIODVD = 85, | |
| SIID_MEDIAMOVIEDVD = 86, | |
| SIID_MEDIAENHANCEDCD = 87, | |
| SIID_MEDIAENHANCEDDVD = 88, | |
| SIID_MEDIAHDDVD = 89, | |
| SIID_MEDIABLURAY = 90, | |
| SIID_MEDIAVCD = 91, | |
| SIID_MEDIADVDPLUSR = 92, | |
| SIID_MEDIADVDPLUSRW = 93, | |
| SIID_DESKTOPPC = 94, | |
| SIID_MOBILEPC = 95, | |
| SIID_USERS = 96, | |
| SIID_MEDIASMARTMEDIA = 97, | |
| SIID_MEDIACOMPACTFLASH = 98, | |
| SIID_DEVICECELLPHONE = 99, | |
| SIID_DEVICECAMERA = 100, | |
| SIID_DEVICEVIDEOCAMERA = 101, | |
| SIID_DEVICEAUDIOPLAYER = 102, | |
| SIID_NETWORKCONNECT = 103, | |
| SIID_INTERNET = 104, | |
| SIID_ZIPFILE = 105, | |
| SIID_SETTINGS = 106, | |
| SIID_DRIVEHDDVD = 132, | |
| SIID_DRIVEBD = 133, | |
| SIID_MEDIAHDDVDROM = 134, | |
| SIID_MEDIAHDDVDR = 135, | |
| SIID_MEDIAHDDVDRAM = 136, | |
| SIID_MEDIABDROM = 137, | |
| SIID_MEDIABDR = 138, | |
| SIID_MEDIABDRE = 139, | |
| SIID_CLUSTEREDDRIVE = 140, | |
| SIID_MAX_ICONS = 181, | |
| }; | |
| OPEN_PRINTER_PROPS_INFOA :: struct { | |
| dwSize : u32, | |
| pszSheetName : LPSTR, | |
| uSheetIndex : UINT, | |
| dwFlags : u32, | |
| bModal : BOOL, | |
| }; | |
| POPEN_PRINTER_PROPS_INFOA :: ^struct { | |
| dwSize : u32, | |
| pszSheetName : LPSTR, | |
| uSheetIndex : UINT, | |
| dwFlags : u32, | |
| bModal : BOOL, | |
| }; | |
| OPEN_PRINTER_PROPS_INFOW :: struct { | |
| dwSize : u32, | |
| pszSheetName : LPWSTR, | |
| uSheetIndex : UINT, | |
| dwFlags : u32, | |
| bModal : BOOL, | |
| }; | |
| POPEN_PRINTER_PROPS_INFOW :: ^struct { | |
| dwSize : u32, | |
| pszSheetName : LPWSTR, | |
| uSheetIndex : UINT, | |
| dwFlags : u32, | |
| bModal : BOOL, | |
| }; | |
| OPEN_PRINTER_PROPS_INFO :: OPEN_PRINTER_PROPS_INFOA; | |
| POPEN_PRINTER_PROPS_INFO :: POPEN_PRINTER_PROPS_INFOA; | |
| PFNCANSHAREFOLDERW :: (proc(pszPath : PCWSTR) -> HRESULT); | |
| PFNSHOWSHAREFOLDERUIW :: (proc(hwndParent : HWND, pszPath : PCWSTR) -> HRESULT); | |
| NC_ADDRESS :: struct { | |
| pAddrInfo : ^NET_ADDRESS_INFO_, | |
| PortNumber : USHORT, | |
| PrefixLength : BYTE, | |
| }; | |
| PNC_ADDRESS :: ^struct { | |
| pAddrInfo : ^NET_ADDRESS_INFO_, | |
| PortNumber : USHORT, | |
| PrefixLength : BYTE, | |
| }; | |
| PERF_DATA_BLOCK :: struct { | |
| Signature : [4]WCHAR, | |
| LittleEndian : u32, | |
| Version : u32, | |
| Revision : u32, | |
| TotalByteLength : u32, | |
| HeaderLength : u32, | |
| NumObjectTypes : u32, | |
| DefaultObject : LONG, | |
| SystemTime : SYSTEMTIME, | |
| PerfTime : LARGE_INTEGER, | |
| PerfFreq : LARGE_INTEGER, | |
| PerfTime100nSec : LARGE_INTEGER, | |
| SystemNameLength : u32, | |
| SystemNameOffset : u32, | |
| }; | |
| PPERF_DATA_BLOCK :: ^struct { | |
| Signature : [4]WCHAR, | |
| LittleEndian : u32, | |
| Version : u32, | |
| Revision : u32, | |
| TotalByteLength : u32, | |
| HeaderLength : u32, | |
| NumObjectTypes : u32, | |
| DefaultObject : LONG, | |
| SystemTime : SYSTEMTIME, | |
| PerfTime : LARGE_INTEGER, | |
| PerfFreq : LARGE_INTEGER, | |
| PerfTime100nSec : LARGE_INTEGER, | |
| SystemNameLength : u32, | |
| SystemNameOffset : u32, | |
| }; | |
| PERF_OBJECT_TYPE :: struct { | |
| TotalByteLength : u32, | |
| DefinitionLength : u32, | |
| HeaderLength : u32, | |
| ObjectNameTitleIndex : u32, | |
| ObjectNameTitle : LPWSTR, | |
| ObjectHelpTitleIndex : u32, | |
| ObjectHelpTitle : LPWSTR, | |
| DetailLevel : u32, | |
| NumCounters : u32, | |
| DefaultCounter : LONG, | |
| NumInstances : LONG, | |
| CodePage : u32, | |
| PerfTime : LARGE_INTEGER, | |
| PerfFreq : LARGE_INTEGER, | |
| }; | |
| PPERF_OBJECT_TYPE :: ^struct { | |
| TotalByteLength : u32, | |
| DefinitionLength : u32, | |
| HeaderLength : u32, | |
| ObjectNameTitleIndex : u32, | |
| ObjectNameTitle : LPWSTR, | |
| ObjectHelpTitleIndex : u32, | |
| ObjectHelpTitle : LPWSTR, | |
| DetailLevel : u32, | |
| NumCounters : u32, | |
| DefaultCounter : LONG, | |
| NumInstances : LONG, | |
| CodePage : u32, | |
| PerfTime : LARGE_INTEGER, | |
| PerfFreq : LARGE_INTEGER, | |
| }; | |
| PERF_COUNTER_DEFINITION :: struct { | |
| ByteLength : u32, | |
| CounterNameTitleIndex : u32, | |
| CounterNameTitle : LPWSTR, | |
| CounterHelpTitleIndex : u32, | |
| CounterHelpTitle : LPWSTR, | |
| DefaultScale : LONG, | |
| DetailLevel : u32, | |
| CounterType : u32, | |
| CounterSize : u32, | |
| CounterOffset : u32, | |
| }; | |
| PPERF_COUNTER_DEFINITION :: ^struct { | |
| ByteLength : u32, | |
| CounterNameTitleIndex : u32, | |
| CounterNameTitle : LPWSTR, | |
| CounterHelpTitleIndex : u32, | |
| CounterHelpTitle : LPWSTR, | |
| DefaultScale : LONG, | |
| DetailLevel : u32, | |
| CounterType : u32, | |
| CounterSize : u32, | |
| CounterOffset : u32, | |
| }; | |
| PERF_INSTANCE_DEFINITION :: struct { | |
| ByteLength : u32, | |
| ParentObjectTitleIndex : u32, | |
| ParentObjectInstance : u32, | |
| UniqueID : LONG, | |
| NameOffset : u32, | |
| NameLength : u32, | |
| }; | |
| PPERF_INSTANCE_DEFINITION :: ^struct { | |
| ByteLength : u32, | |
| ParentObjectTitleIndex : u32, | |
| ParentObjectInstance : u32, | |
| UniqueID : LONG, | |
| NameOffset : u32, | |
| NameLength : u32, | |
| }; | |
| PERF_COUNTER_BLOCK :: struct { | |
| ByteLength : u32, | |
| }; | |
| PPERF_COUNTER_BLOCK :: ^struct { | |
| ByteLength : u32, | |
| }; | |
| PM_OPEN_PROC :: #type (proc(LPWSTR) -> u32); | |
| PM_COLLECT_PROC :: #type (proc(lpValueName : LPWSTR, lppData : ^LPVOID, lpcbTotalBytes : LPDWORD, lpNumObjectTypes : LPDWORD) -> u32); | |
| PM_CLOSE_PROC :: #type (proc(void) -> u32); | |
| PM_QUERY_PROC :: #type (proc(LPDWORD, ^LPVOID, LPDWORD, LPDWORD) -> u32); | |
| u_char :: u8; | |
| u_short :: u16; | |
| u_int :: u32; | |
| u_long :: u64; | |
| SOCKET :: UINT_PTR; | |
| FD_SET :: struct { | |
| fd_count : u_int, | |
| fd_array : [64]SOCKET, | |
| }; | |
| TIMEVAL :: struct { | |
| tv_sec : i64, | |
| tv_usec : i64, | |
| }; | |
| HOSTENT :: struct { | |
| h_name : cstring, | |
| h_aliases : ^cstring, | |
| h_addrtype : i16, | |
| h_length : i16, | |
| h_addr_list : ^cstring, | |
| }; | |
| netent :: struct { | |
| n_name : cstring, | |
| n_aliases : ^cstring, | |
| n_addrtype : i16, | |
| n_net : u_long, | |
| }; | |
| SERVENT :: struct { | |
| s_name : cstring, | |
| s_aliases : ^cstring, | |
| s_port : i16, | |
| s_proto : cstring, | |
| }; | |
| PROTOENT :: struct { | |
| p_name : cstring, | |
| p_aliases : ^cstring, | |
| p_proto : i16, | |
| }; | |
| IN_ADDR :: struct { | |
| S_un : struct #raw_union { | |
| S_un_b : struct { | |
| s_b1 : UCHAR, | |
| s_b2 : UCHAR, | |
| s_b3 : UCHAR, | |
| s_b4 : UCHAR, | |
| }, | |
| S_un_w : struct { | |
| s_w1 : USHORT, | |
| s_w2 : USHORT, | |
| }, | |
| S_addr : ULONG, | |
| }, | |
| }; | |
| PIN_ADDR :: ^struct { | |
| S_un : struct #raw_union { | |
| S_un_b : struct { | |
| s_b1 : UCHAR, | |
| s_b2 : UCHAR, | |
| s_b3 : UCHAR, | |
| s_b4 : UCHAR, | |
| }, | |
| S_un_w : struct { | |
| s_w1 : USHORT, | |
| s_w2 : USHORT, | |
| }, | |
| S_addr : ULONG, | |
| }, | |
| }; | |
| LPIN_ADDR :: ^struct { | |
| S_un : struct #raw_union { | |
| S_un_b : struct { | |
| s_b1 : UCHAR, | |
| s_b2 : UCHAR, | |
| s_b3 : UCHAR, | |
| s_b4 : UCHAR, | |
| }, | |
| S_un_w : struct { | |
| s_w1 : USHORT, | |
| s_w2 : USHORT, | |
| }, | |
| S_addr : ULONG, | |
| }, | |
| }; | |
| SOCKADDR_IN :: struct { | |
| sin_family : i16, | |
| sin_port : u_short, | |
| sin_addr : IN_ADDR, | |
| sin_zero : [8]u8, | |
| }; | |
| WSADATA :: struct { | |
| wVersion : u16, | |
| wHighVersion : u16, | |
| szDescription : [256 + 1]u8, | |
| szSystemStatus : [128 + 1]u8, | |
| iMaxSockets : u16, | |
| iMaxUdpDg : u16, | |
| lpVendorInfo : cstring, | |
| }; | |
| LPWSADATA :: ^WSADATA; | |
| ip_mreq :: struct { | |
| imr_multiaddr : IN_ADDR, | |
| imr_interface : IN_ADDR, | |
| }; | |
| SOCKADDR :: struct { | |
| sa_family : u_short, | |
| sa_data : [14]u8, | |
| }; | |
| sockproto :: struct { | |
| sp_family : u_short, | |
| sp_protocol : u_short, | |
| }; | |
| LINGER :: struct { | |
| l_onoff : u_short, | |
| l_linger : u_short, | |
| }; | |
| TRANSMIT_FILE_BUFFERS :: struct { | |
| Head : PVOID, | |
| HeadLength : u32, | |
| Tail : PVOID, | |
| TailLength : u32, | |
| }; | |
| PTRANSMIT_FILE_BUFFERS :: ^struct { | |
| Head : PVOID, | |
| HeadLength : u32, | |
| Tail : PVOID, | |
| TailLength : u32, | |
| }; | |
| LPTRANSMIT_FILE_BUFFERS :: ^struct { | |
| Head : PVOID, | |
| HeadLength : u32, | |
| Tail : PVOID, | |
| TailLength : u32, | |
| }; | |
| SOCKADDR :: struct {}; | |
| ; | |
| PSOCKADDR :: ^SOCKADDR; | |
| LPSOCKADDR :: ^SOCKADDR; | |
| SOCKADDR_IN :: struct {}; | |
| ; | |
| PSOCKADDR_IN :: ^SOCKADDR_IN; | |
| LPSOCKADDR_IN :: ^SOCKADDR_IN; | |
| LINGER :: struct {}; | |
| ; | |
| PLINGER :: ^LINGER; | |
| LPLINGER :: ^LINGER; | |
| FD_SET :: struct {}; | |
| ; | |
| PFD_SET :: ^FD_SET; | |
| LPFD_SET :: ^FD_SET; | |
| HOSTENT :: struct {}; | |
| ; | |
| PHOSTENT :: ^HOSTENT; | |
| LPHOSTENT :: ^HOSTENT; | |
| SERVENT :: struct {}; | |
| ; | |
| PSERVENT :: ^SERVENT; | |
| LPSERVENT :: ^SERVENT; | |
| PROTOENT :: struct {}; | |
| ; | |
| PPROTOENT :: ^PROTOENT; | |
| LPPROTOENT :: ^PROTOENT; | |
| TIMEVAL :: struct {}; | |
| ; | |
| PTIMEVAL :: ^TIMEVAL; | |
| LPTIMEVAL :: ^TIMEVAL; | |
| ALG_ID :: u32; | |
| HCRYPTPROV :: ULONG_PTR; | |
| HCRYPTKEY :: ULONG_PTR; | |
| HCRYPTHASH :: ULONG_PTR; | |
| CMS_KEY_INFO :: struct { | |
| dwVersion : u32, | |
| Algid : ALG_ID, | |
| pbOID : ^BYTE, | |
| cbOID : u32, | |
| }; | |
| PCMS_KEY_INFO :: ^struct { | |
| dwVersion : u32, | |
| Algid : ALG_ID, | |
| pbOID : ^BYTE, | |
| cbOID : u32, | |
| }; | |
| HMAC_INFO :: struct { | |
| HashAlgid : ALG_ID, | |
| pbInnerString : ^BYTE, | |
| cbInnerString : u32, | |
| pbOuterString : ^BYTE, | |
| cbOuterString : u32, | |
| }; | |
| PHMAC_INFO :: ^struct { | |
| HashAlgid : ALG_ID, | |
| pbInnerString : ^BYTE, | |
| cbInnerString : u32, | |
| pbOuterString : ^BYTE, | |
| cbOuterString : u32, | |
| }; | |
| SCHANNEL_ALG :: struct { | |
| dwUse : u32, | |
| Algid : ALG_ID, | |
| cBits : u32, | |
| dwFlags : u32, | |
| dwReserved : u32, | |
| }; | |
| PSCHANNEL_ALG :: ^struct { | |
| dwUse : u32, | |
| Algid : ALG_ID, | |
| cBits : u32, | |
| dwFlags : u32, | |
| dwReserved : u32, | |
| }; | |
| PROV_ENUMALGS :: struct { | |
| aiAlgid : ALG_ID, | |
| dwBitLen : u32, | |
| dwNameLen : u32, | |
| szName : [20]CHAR, | |
| }; | |
| PROV_ENUMALGS_EX :: struct { | |
| aiAlgid : ALG_ID, | |
| dwDefaultLen : u32, | |
| dwMinLen : u32, | |
| dwMaxLen : u32, | |
| dwProtocols : u32, | |
| dwNameLen : u32, | |
| szName : [20]CHAR, | |
| dwLongNameLen : u32, | |
| szLongName : [40]CHAR, | |
| }; | |
| BLOBHEADER :: struct { | |
| bType : BYTE, | |
| bVersion : BYTE, | |
| reserved : u16, | |
| aiKeyAlg : ALG_ID, | |
| }; | |
| PUBLICKEYSTRUC :: struct { | |
| bType : BYTE, | |
| bVersion : BYTE, | |
| reserved : u16, | |
| aiKeyAlg : ALG_ID, | |
| }; | |
| RSAPUBKEY :: struct { | |
| magic : u32, | |
| bitlen : u32, | |
| pubexp : u32, | |
| }; | |
| DHPUBKEY :: struct { | |
| magic : u32, | |
| bitlen : u32, | |
| }; | |
| DSSPUBKEY :: struct { | |
| magic : u32, | |
| bitlen : u32, | |
| }; | |
| KEAPUBKEY :: struct { | |
| magic : u32, | |
| bitlen : u32, | |
| }; | |
| TEKPUBKEY :: struct { | |
| magic : u32, | |
| bitlen : u32, | |
| }; | |
| DSSSEED :: struct { | |
| counter : u32, | |
| seed : [20]BYTE, | |
| }; | |
| DHPUBKEY_VER3 :: struct { | |
| magic : u32, | |
| bitlenP : u32, | |
| bitlenQ : u32, | |
| bitlenJ : u32, | |
| DSSSeed : DSSSEED, | |
| }; | |
| DSSPUBKEY_VER3 :: struct { | |
| magic : u32, | |
| bitlenP : u32, | |
| bitlenQ : u32, | |
| bitlenJ : u32, | |
| DSSSeed : DSSSEED, | |
| }; | |
| DHPRIVKEY_VER3 :: struct { | |
| magic : u32, | |
| bitlenP : u32, | |
| bitlenQ : u32, | |
| bitlenJ : u32, | |
| bitlenX : u32, | |
| DSSSeed : DSSSEED, | |
| }; | |
| DSSPRIVKEY_VER3 :: struct { | |
| magic : u32, | |
| bitlenP : u32, | |
| bitlenQ : u32, | |
| bitlenJ : u32, | |
| bitlenX : u32, | |
| DSSSeed : DSSSEED, | |
| }; | |
| KEY_TYPE_SUBTYPE :: struct { | |
| dwKeySpec : u32, | |
| Type : GUID, | |
| Subtype : GUID, | |
| }; | |
| PKEY_TYPE_SUBTYPE :: ^struct { | |
| dwKeySpec : u32, | |
| Type : GUID, | |
| Subtype : GUID, | |
| }; | |
| CERT_FORTEZZA_DATA_PROP :: struct { | |
| SerialNumber : [8]u8, | |
| CertIndex : i32, | |
| CertLabel : [36]u8, | |
| }; | |
| CRYPT_RC4_KEY_STATE :: struct { | |
| Key : [16]u8, | |
| SBox : [256]u8, | |
| i : u8, | |
| j : u8, | |
| }; | |
| PCRYPT_RC4_KEY_STATE :: ^struct { | |
| Key : [16]u8, | |
| SBox : [256]u8, | |
| i : u8, | |
| j : u8, | |
| }; | |
| CRYPT_DES_KEY_STATE :: struct { | |
| Key : [8]u8, | |
| IV : [8]u8, | |
| Feedback : [8]u8, | |
| }; | |
| PCRYPT_DES_KEY_STATE :: ^struct { | |
| Key : [8]u8, | |
| IV : [8]u8, | |
| Feedback : [8]u8, | |
| }; | |
| CRYPT_3DES_KEY_STATE :: struct { | |
| Key : [24]u8, | |
| IV : [8]u8, | |
| Feedback : [8]u8, | |
| }; | |
| PCRYPT_3DES_KEY_STATE :: ^struct { | |
| Key : [24]u8, | |
| IV : [8]u8, | |
| Feedback : [8]u8, | |
| }; | |
| CRYPT_AES_128_KEY_STATE :: struct { | |
| Key : [16]u8, | |
| IV : [16]u8, | |
| EncryptionState : [11][16]u8, | |
| DecryptionState : [11][16]u8, | |
| Feedback : [16]u8, | |
| }; | |
| PCRYPT_AES_128_KEY_STATE :: ^struct { | |
| Key : [16]u8, | |
| IV : [16]u8, | |
| EncryptionState : [11][16]u8, | |
| DecryptionState : [11][16]u8, | |
| Feedback : [16]u8, | |
| }; | |
| CRYPT_AES_256_KEY_STATE :: struct { | |
| Key : [32]u8, | |
| IV : [16]u8, | |
| EncryptionState : [15][16]u8, | |
| DecryptionState : [15][16]u8, | |
| Feedback : [16]u8, | |
| }; | |
| PCRYPT_AES_256_KEY_STATE :: ^struct { | |
| Key : [32]u8, | |
| IV : [16]u8, | |
| EncryptionState : [15][16]u8, | |
| DecryptionState : [15][16]u8, | |
| Feedback : [16]u8, | |
| }; | |
| CRYPT_INTEGER_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCRYPT_INTEGER_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CRYPT_UINT_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCRYPT_UINT_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CRYPT_OBJID_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCRYPT_OBJID_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CERT_NAME_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCERT_NAME_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CERT_RDN_VALUE_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCERT_RDN_VALUE_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CERT_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCERT_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CRL_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCRL_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| DATA_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PDATA_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CRYPT_DATA_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCRYPT_DATA_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CRYPT_HASH_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCRYPT_HASH_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CRYPT_DIGEST_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCRYPT_DIGEST_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CRYPT_DER_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCRYPT_DER_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CRYPT_ATTR_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| PCRYPT_ATTR_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| }; | |
| CMS_DH_KEY_INFO :: struct { | |
| dwVersion : u32, | |
| Algid : ALG_ID, | |
| pszContentEncObjId : LPSTR, | |
| PubInfo : CRYPT_DATA_BLOB, | |
| pReserved : rawptr, | |
| }; | |
| PCMS_DH_KEY_INFO :: ^struct { | |
| dwVersion : u32, | |
| Algid : ALG_ID, | |
| pszContentEncObjId : LPSTR, | |
| PubInfo : CRYPT_DATA_BLOB, | |
| pReserved : rawptr, | |
| }; | |
| NTSTATUS :: LONG; | |
| PNTSTATUS :: ^NTSTATUS; | |
| BCRYPT_KEY_LENGTHS_STRUCT :: struct { | |
| dwMinLength : ULONG, | |
| dwMaxLength : ULONG, | |
| dwIncrement : ULONG, | |
| }; | |
| BCRYPT_AUTH_TAG_LENGTHS_STRUCT :: BCRYPT_KEY_LENGTHS_STRUCT; | |
| BCRYPT_OID :: struct { | |
| cbOID : ULONG, | |
| pbOID : PUCHAR, | |
| }; | |
| BCRYPT_OID_LIST :: struct { | |
| dwOIDCount : ULONG, | |
| pOIDs : ^BCRYPT_OID, | |
| }; | |
| BCRYPT_PKCS1_PADDING_INFO :: struct { | |
| pszAlgId : LPCWSTR, | |
| }; | |
| BCRYPT_PSS_PADDING_INFO :: struct { | |
| pszAlgId : LPCWSTR, | |
| cbSalt : ULONG, | |
| }; | |
| BCRYPT_OAEP_PADDING_INFO :: struct { | |
| pszAlgId : LPCWSTR, | |
| pbLabel : PUCHAR, | |
| cbLabel : ULONG, | |
| }; | |
| BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO :: struct { | |
| cbSize : ULONG, | |
| dwInfoVersion : ULONG, | |
| pbNonce : PUCHAR, | |
| cbNonce : ULONG, | |
| pbAuthData : PUCHAR, | |
| cbAuthData : ULONG, | |
| pbTag : PUCHAR, | |
| cbTag : ULONG, | |
| pbMacContext : PUCHAR, | |
| cbMacContext : ULONG, | |
| cbAAD : ULONG, | |
| cbData : ULONGLONG, | |
| dwFlags : ULONG, | |
| }; | |
| PBCRYPT_AUTHENTICATED_CIPHER_MODE_INFO :: ^struct { | |
| cbSize : ULONG, | |
| dwInfoVersion : ULONG, | |
| pbNonce : PUCHAR, | |
| cbNonce : ULONG, | |
| pbAuthData : PUCHAR, | |
| cbAuthData : ULONG, | |
| pbTag : PUCHAR, | |
| cbTag : ULONG, | |
| pbMacContext : PUCHAR, | |
| cbMacContext : ULONG, | |
| cbAAD : ULONG, | |
| cbData : ULONGLONG, | |
| dwFlags : ULONG, | |
| }; | |
| BCryptBuffer :: struct { | |
| cbBuffer : ULONG, | |
| BufferType : ULONG, | |
| pvBuffer : PVOID, | |
| }; | |
| PBCryptBuffer :: ^struct { | |
| cbBuffer : ULONG, | |
| BufferType : ULONG, | |
| pvBuffer : PVOID, | |
| }; | |
| BCryptBufferDesc :: struct { | |
| ulVersion : ULONG, | |
| cBuffers : ULONG, | |
| pBuffers : PBCryptBuffer, | |
| }; | |
| PBCryptBufferDesc :: ^struct { | |
| ulVersion : ULONG, | |
| cBuffers : ULONG, | |
| pBuffers : PBCryptBuffer, | |
| }; | |
| BCRYPT_HANDLE :: PVOID; | |
| BCRYPT_ALG_HANDLE :: PVOID; | |
| BCRYPT_KEY_HANDLE :: PVOID; | |
| BCRYPT_HASH_HANDLE :: PVOID; | |
| BCRYPT_SECRET_HANDLE :: PVOID; | |
| BCRYPT_KEY_BLOB :: struct { | |
| Magic : ULONG, | |
| }; | |
| BCRYPT_RSAKEY_BLOB :: struct { | |
| Magic : ULONG, | |
| BitLength : ULONG, | |
| cbPublicExp : ULONG, | |
| cbModulus : ULONG, | |
| cbPrime1 : ULONG, | |
| cbPrime2 : ULONG, | |
| }; | |
| BCRYPT_ECCKEY_BLOB :: struct { | |
| dwMagic : ULONG, | |
| cbKey : ULONG, | |
| }; | |
| PBCRYPT_ECCKEY_BLOB :: ^struct { | |
| dwMagic : ULONG, | |
| cbKey : ULONG, | |
| }; | |
| SSL_ECCKEY_BLOB :: struct { | |
| dwCurveType : ULONG, | |
| cbKey : ULONG, | |
| }; | |
| PSSL_ECCKEY_BLOB :: ^struct { | |
| dwCurveType : ULONG, | |
| cbKey : ULONG, | |
| }; | |
| ECC_CURVE_TYPE_ENUM :: enum { | |
| BCRYPT_ECC_PRIME_SHORT_WEIERSTRASS_CURVE = 0x1, | |
| BCRYPT_ECC_PRIME_TWISTED_EDWARDS_CURVE = 0x2, | |
| BCRYPT_ECC_PRIME_MONTGOMERY_CURVE = 0x3, | |
| }; | |
| ECC_CURVE_ALG_ID_ENUM :: enum { | |
| BCRYPT_NO_CURVE_GENERATION_ALG_ID = 0x0, | |
| }; | |
| BCRYPT_ECCFULLKEY_BLOB :: struct { | |
| dwMagic : ULONG, | |
| dwVersion : ULONG, | |
| dwCurveType : ECC_CURVE_TYPE_ENUM, | |
| dwCurveGenerationAlgId : ECC_CURVE_ALG_ID_ENUM, | |
| cbFieldLength : ULONG, | |
| cbSubgroupOrder : ULONG, | |
| cbCofactor : ULONG, | |
| cbSeed : ULONG, | |
| }; | |
| PBCRYPT_ECCFULLKEY_BLOB :: ^struct { | |
| dwMagic : ULONG, | |
| dwVersion : ULONG, | |
| dwCurveType : ECC_CURVE_TYPE_ENUM, | |
| dwCurveGenerationAlgId : ECC_CURVE_ALG_ID_ENUM, | |
| cbFieldLength : ULONG, | |
| cbSubgroupOrder : ULONG, | |
| cbCofactor : ULONG, | |
| cbSeed : ULONG, | |
| }; | |
| BCRYPT_DH_KEY_BLOB :: struct { | |
| dwMagic : ULONG, | |
| cbKey : ULONG, | |
| }; | |
| PBCRYPT_DH_KEY_BLOB :: ^struct { | |
| dwMagic : ULONG, | |
| cbKey : ULONG, | |
| }; | |
| BCRYPT_DH_PARAMETER_HEADER :: struct { | |
| cbLength : ULONG, | |
| dwMagic : ULONG, | |
| cbKeyLength : ULONG, | |
| }; | |
| BCRYPT_DSA_KEY_BLOB :: struct { | |
| dwMagic : ULONG, | |
| cbKey : ULONG, | |
| Count : [4]UCHAR, | |
| Seed : [20]UCHAR, | |
| q : [20]UCHAR, | |
| }; | |
| PBCRYPT_DSA_KEY_BLOB :: ^struct { | |
| dwMagic : ULONG, | |
| cbKey : ULONG, | |
| Count : [4]UCHAR, | |
| Seed : [20]UCHAR, | |
| q : [20]UCHAR, | |
| }; | |
| HASHALGORITHM_ENUM :: enum { | |
| DSA_HASH_ALGORITHM_SHA1, | |
| DSA_HASH_ALGORITHM_SHA256, | |
| DSA_HASH_ALGORITHM_SHA512, | |
| }; | |
| DSAFIPSVERSION_ENUM :: enum { | |
| DSA_FIPS186_2, | |
| DSA_FIPS186_3, | |
| }; | |
| BCRYPT_DSA_KEY_BLOB_V2 :: struct { | |
| dwMagic : ULONG, | |
| cbKey : ULONG, | |
| hashAlgorithm : HASHALGORITHM_ENUM, | |
| standardVersion : DSAFIPSVERSION_ENUM, | |
| cbSeedLength : ULONG, | |
| cbGroupSize : ULONG, | |
| Count : [4]UCHAR, | |
| }; | |
| PBCRYPT_DSA_KEY_BLOB_V2 :: ^struct { | |
| dwMagic : ULONG, | |
| cbKey : ULONG, | |
| hashAlgorithm : HASHALGORITHM_ENUM, | |
| standardVersion : DSAFIPSVERSION_ENUM, | |
| cbSeedLength : ULONG, | |
| cbGroupSize : ULONG, | |
| Count : [4]UCHAR, | |
| }; | |
| BCRYPT_KEY_DATA_BLOB_HEADER :: struct { | |
| dwMagic : ULONG, | |
| dwVersion : ULONG, | |
| cbKeyData : ULONG, | |
| }; | |
| PBCRYPT_KEY_DATA_BLOB_HEADER :: ^struct { | |
| dwMagic : ULONG, | |
| dwVersion : ULONG, | |
| cbKeyData : ULONG, | |
| }; | |
| BCRYPT_DSA_PARAMETER_HEADER :: struct { | |
| cbLength : ULONG, | |
| dwMagic : ULONG, | |
| cbKeyLength : ULONG, | |
| Count : [4]UCHAR, | |
| Seed : [20]UCHAR, | |
| q : [20]UCHAR, | |
| }; | |
| BCRYPT_DSA_PARAMETER_HEADER_V2 :: struct { | |
| cbLength : ULONG, | |
| dwMagic : ULONG, | |
| cbKeyLength : ULONG, | |
| hashAlgorithm : HASHALGORITHM_ENUM, | |
| standardVersion : DSAFIPSVERSION_ENUM, | |
| cbSeedLength : ULONG, | |
| cbGroupSize : ULONG, | |
| Count : [4]UCHAR, | |
| }; | |
| BCRYPT_ECC_CURVE_NAMES :: struct { | |
| dwEccCurveNames : ULONG, | |
| pEccCurveNames : ^LPWSTR, | |
| }; | |
| BCRYPT_HASH_OPERATION_TYPE :: enum { | |
| BCRYPT_HASH_OPERATION_HASH_DATA = 1, | |
| BCRYPT_HASH_OPERATION_FINISH_HASH = 2, | |
| }; | |
| BCRYPT_MULTI_HASH_OPERATION :: struct { | |
| iHash : ULONG, | |
| hashOperation : BCRYPT_HASH_OPERATION_TYPE, | |
| pbBuffer : PUCHAR, | |
| cbBuffer : ULONG, | |
| }; | |
| BCRYPT_MULTI_OPERATION_TYPE :: enum { | |
| BCRYPT_OPERATION_TYPE_HASH = 1, | |
| }; | |
| BCRYPT_MULTI_OBJECT_LENGTH_STRUCT :: struct { | |
| cbPerObject : ULONG, | |
| cbPerElement : ULONG, | |
| }; | |
| BCRYPT_ALGORITHM_IDENTIFIER :: struct { | |
| pszName : LPWSTR, | |
| dwClass : ULONG, | |
| dwFlags : ULONG, | |
| }; | |
| BCRYPT_PROVIDER_NAME :: struct { | |
| pszProviderName : LPWSTR, | |
| }; | |
| BCRYPT_INTERFACE_VERSION :: struct { | |
| MajorVersion : USHORT, | |
| MinorVersion : USHORT, | |
| }; | |
| PBCRYPT_INTERFACE_VERSION :: ^struct { | |
| MajorVersion : USHORT, | |
| MinorVersion : USHORT, | |
| }; | |
| CRYPT_INTERFACE_REG :: struct { | |
| dwInterface : ULONG, | |
| dwFlags : ULONG, | |
| cFunctions : ULONG, | |
| rgpszFunctions : ^PWSTR, | |
| }; | |
| PCRYPT_INTERFACE_REG :: ^struct { | |
| dwInterface : ULONG, | |
| dwFlags : ULONG, | |
| cFunctions : ULONG, | |
| rgpszFunctions : ^PWSTR, | |
| }; | |
| CRYPT_IMAGE_REG :: struct { | |
| pszImage : PWSTR, | |
| cInterfaces : ULONG, | |
| rgpInterfaces : ^PCRYPT_INTERFACE_REG, | |
| }; | |
| PCRYPT_IMAGE_REG :: ^struct { | |
| pszImage : PWSTR, | |
| cInterfaces : ULONG, | |
| rgpInterfaces : ^PCRYPT_INTERFACE_REG, | |
| }; | |
| CRYPT_PROVIDER_REG :: struct { | |
| cAliases : ULONG, | |
| rgpszAliases : ^PWSTR, | |
| pUM : PCRYPT_IMAGE_REG, | |
| pKM : PCRYPT_IMAGE_REG, | |
| }; | |
| PCRYPT_PROVIDER_REG :: ^struct { | |
| cAliases : ULONG, | |
| rgpszAliases : ^PWSTR, | |
| pUM : PCRYPT_IMAGE_REG, | |
| pKM : PCRYPT_IMAGE_REG, | |
| }; | |
| CRYPT_PROVIDERS :: struct { | |
| cProviders : ULONG, | |
| rgpszProviders : ^PWSTR, | |
| }; | |
| PCRYPT_PROVIDERS :: ^struct { | |
| cProviders : ULONG, | |
| rgpszProviders : ^PWSTR, | |
| }; | |
| CRYPT_CONTEXT_CONFIG :: struct { | |
| dwFlags : ULONG, | |
| dwReserved : ULONG, | |
| }; | |
| PCRYPT_CONTEXT_CONFIG :: ^struct { | |
| dwFlags : ULONG, | |
| dwReserved : ULONG, | |
| }; | |
| CRYPT_CONTEXT_FUNCTION_CONFIG :: struct { | |
| dwFlags : ULONG, | |
| dwReserved : ULONG, | |
| }; | |
| PCRYPT_CONTEXT_FUNCTION_CONFIG :: ^struct { | |
| dwFlags : ULONG, | |
| dwReserved : ULONG, | |
| }; | |
| CRYPT_CONTEXTS :: struct { | |
| cContexts : ULONG, | |
| rgpszContexts : ^PWSTR, | |
| }; | |
| PCRYPT_CONTEXTS :: ^struct { | |
| cContexts : ULONG, | |
| rgpszContexts : ^PWSTR, | |
| }; | |
| CRYPT_CONTEXT_FUNCTIONS :: struct { | |
| cFunctions : ULONG, | |
| rgpszFunctions : ^PWSTR, | |
| }; | |
| PCRYPT_CONTEXT_FUNCTIONS :: ^struct { | |
| cFunctions : ULONG, | |
| rgpszFunctions : ^PWSTR, | |
| }; | |
| CRYPT_CONTEXT_FUNCTION_PROVIDERS :: struct { | |
| cProviders : ULONG, | |
| rgpszProviders : ^PWSTR, | |
| }; | |
| PCRYPT_CONTEXT_FUNCTION_PROVIDERS :: ^struct { | |
| cProviders : ULONG, | |
| rgpszProviders : ^PWSTR, | |
| }; | |
| CRYPT_PROPERTY_REF :: struct { | |
| pszProperty : PWSTR, | |
| cbValue : ULONG, | |
| pbValue : PUCHAR, | |
| }; | |
| PCRYPT_PROPERTY_REF :: ^struct { | |
| pszProperty : PWSTR, | |
| cbValue : ULONG, | |
| pbValue : PUCHAR, | |
| }; | |
| CRYPT_IMAGE_REF :: struct { | |
| pszImage : PWSTR, | |
| dwFlags : ULONG, | |
| }; | |
| PCRYPT_IMAGE_REF :: ^struct { | |
| pszImage : PWSTR, | |
| dwFlags : ULONG, | |
| }; | |
| CRYPT_PROVIDER_REF :: struct { | |
| dwInterface : ULONG, | |
| pszFunction : PWSTR, | |
| pszProvider : PWSTR, | |
| cProperties : ULONG, | |
| rgpProperties : ^PCRYPT_PROPERTY_REF, | |
| pUM : PCRYPT_IMAGE_REF, | |
| pKM : PCRYPT_IMAGE_REF, | |
| }; | |
| PCRYPT_PROVIDER_REF :: ^struct { | |
| dwInterface : ULONG, | |
| pszFunction : PWSTR, | |
| pszProvider : PWSTR, | |
| cProperties : ULONG, | |
| rgpProperties : ^PCRYPT_PROPERTY_REF, | |
| pUM : PCRYPT_IMAGE_REF, | |
| pKM : PCRYPT_IMAGE_REF, | |
| }; | |
| CRYPT_PROVIDER_REFS :: struct { | |
| cProviders : ULONG, | |
| rgpProviders : ^PCRYPT_PROVIDER_REF, | |
| }; | |
| PCRYPT_PROVIDER_REFS :: ^struct { | |
| cProviders : ULONG, | |
| rgpProviders : ^PCRYPT_PROVIDER_REF, | |
| }; | |
| SECURITY_STATUS :: LONG; | |
| PFN_NCRYPT_ALLOC :: (proc(cbSize : SIZE_T) -> LPVOID); | |
| PFN_NCRYPT_FREE :: proc(pv : LPVOID); | |
| NCRYPT_ALLOC_PARA :: struct { | |
| cbSize : u32, | |
| pfnAlloc : PFN_NCRYPT_ALLOC, | |
| pfnFree : PFN_NCRYPT_FREE, | |
| }; | |
| NCryptBuffer :: BCryptBuffer; | |
| PNCryptBuffer :: ^BCryptBuffer; | |
| NCryptBufferDesc :: BCryptBufferDesc; | |
| PNCryptBufferDesc :: ^BCryptBufferDesc; | |
| NCRYPT_HANDLE :: ULONG_PTR; | |
| NCRYPT_PROV_HANDLE :: ULONG_PTR; | |
| NCRYPT_KEY_HANDLE :: ULONG_PTR; | |
| NCRYPT_HASH_HANDLE :: ULONG_PTR; | |
| NCRYPT_SECRET_HANDLE :: ULONG_PTR; | |
| NCRYPT_CIPHER_PADDING_INFO :: struct { | |
| cbSize : ULONG, | |
| dwFlags : u32, | |
| pbIV : PUCHAR, | |
| cbIV : ULONG, | |
| pbOtherInfo : PUCHAR, | |
| cbOtherInfo : ULONG, | |
| }; | |
| PNCRYPT_CIPHER_PADDING_INFO :: ^struct { | |
| cbSize : ULONG, | |
| dwFlags : u32, | |
| pbIV : PUCHAR, | |
| cbIV : ULONG, | |
| pbOtherInfo : PUCHAR, | |
| cbOtherInfo : ULONG, | |
| }; | |
| NCRYPT_PLATFORM_ATTEST_PADDING_INFO :: struct { | |
| magic : ULONG, | |
| pcrMask : ULONG, | |
| }; | |
| NCRYPT_KEY_ATTEST_PADDING_INFO :: struct { | |
| magic : ULONG, | |
| pbKeyBlob : PUCHAR, | |
| cbKeyBlob : ULONG, | |
| pbKeyAuth : PUCHAR, | |
| cbKeyAuth : ULONG, | |
| }; | |
| NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES :: struct { | |
| Version : ULONG, | |
| Flags : ULONG, | |
| cbPublicKeyBlob : ULONG, | |
| }; | |
| PNCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES :: ^struct { | |
| Version : ULONG, | |
| Flags : ULONG, | |
| cbPublicKeyBlob : ULONG, | |
| }; | |
| NCRYPT_VSM_KEY_ATTESTATION_STATEMENT :: struct { | |
| Magic : ULONG, | |
| Version : ULONG, | |
| cbSignature : ULONG, | |
| cbReport : ULONG, | |
| cbAttributes : ULONG, | |
| }; | |
| PNCRYPT_VSM_KEY_ATTESTATION_STATEMENT :: ^struct { | |
| Magic : ULONG, | |
| Version : ULONG, | |
| cbSignature : ULONG, | |
| cbReport : ULONG, | |
| cbAttributes : ULONG, | |
| }; | |
| NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS :: struct { | |
| Version : ULONG, | |
| TrustletId : ULONGLONG, | |
| MinSvn : ULONG, | |
| FlagsMask : ULONG, | |
| FlagsExpected : ULONG, | |
| AllowDebugging : , | |
| Reserved : , | |
| }; | |
| PNCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS :: ^struct { | |
| Version : ULONG, | |
| TrustletId : ULONGLONG, | |
| MinSvn : ULONG, | |
| FlagsMask : ULONG, | |
| FlagsExpected : ULONG, | |
| AllowDebugging : , | |
| Reserved : , | |
| }; | |
| NCRYPT_EXPORTED_ISOLATED_KEY_HEADER :: struct { | |
| Version : ULONG, | |
| KeyUsage : ULONG, | |
| PerBootKey : , | |
| Reserved : , | |
| cbAlgName : ULONG, | |
| cbNonce : ULONG, | |
| cbAuthTag : ULONG, | |
| cbWrappingKey : ULONG, | |
| cbIsolatedKey : ULONG, | |
| }; | |
| PNCRYPT_EXPORTED_ISOLATED_KEY_HEADER :: ^struct { | |
| Version : ULONG, | |
| KeyUsage : ULONG, | |
| PerBootKey : , | |
| Reserved : , | |
| cbAlgName : ULONG, | |
| cbNonce : ULONG, | |
| cbAuthTag : ULONG, | |
| cbWrappingKey : ULONG, | |
| cbIsolatedKey : ULONG, | |
| }; | |
| NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE :: struct { | |
| Header : NCRYPT_EXPORTED_ISOLATED_KEY_HEADER, | |
| }; | |
| PNCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE :: ^struct { | |
| Header : NCRYPT_EXPORTED_ISOLATED_KEY_HEADER, | |
| }; | |
| NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT :: struct { | |
| Magic : UINT32, | |
| Version : UINT32, | |
| HeaderSize : UINT32, | |
| cbCertifyInfo : UINT32, | |
| cbSignature : UINT32, | |
| cbTpmPublic : UINT32, | |
| }; | |
| PNCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT :: ^struct { | |
| Magic : UINT32, | |
| Version : UINT32, | |
| HeaderSize : UINT32, | |
| cbCertifyInfo : UINT32, | |
| cbSignature : UINT32, | |
| cbTpmPublic : UINT32, | |
| }; | |
| NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT :: struct { | |
| Magic : ULONG, | |
| Version : ULONG, | |
| pcrAlg : ULONG, | |
| cbSignature : ULONG, | |
| cbQuote : ULONG, | |
| cbPcrs : ULONG, | |
| }; | |
| PNCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT :: ^struct { | |
| Magic : ULONG, | |
| Version : ULONG, | |
| pcrAlg : ULONG, | |
| cbSignature : ULONG, | |
| cbQuote : ULONG, | |
| cbPcrs : ULONG, | |
| }; | |
| NCryptAlgorithmName :: struct { | |
| pszName : LPWSTR, | |
| dwClass : u32, | |
| dwAlgOperations : u32, | |
| dwFlags : u32, | |
| }; | |
| NCryptKeyName :: struct { | |
| pszName : LPWSTR, | |
| pszAlgid : LPWSTR, | |
| dwLegacyKeySpec : u32, | |
| dwFlags : u32, | |
| }; | |
| NCryptProviderName :: struct { | |
| pszName : LPWSTR, | |
| pszComment : LPWSTR, | |
| }; | |
| NCRYPT_UI_POLICY :: struct { | |
| dwVersion : u32, | |
| dwFlags : u32, | |
| pszCreationTitle : LPCWSTR, | |
| pszFriendlyName : LPCWSTR, | |
| pszDescription : LPCWSTR, | |
| }; | |
| NCRYPT_KEY_ACCESS_POLICY_BLOB :: struct { | |
| dwVersion : u32, | |
| dwPolicyFlags : u32, | |
| cbUserSid : u32, | |
| cbApplicationSid : u32, | |
| }; | |
| NCRYPT_SUPPORTED_LENGTHS :: struct { | |
| dwMinLength : u32, | |
| dwMaxLength : u32, | |
| dwIncrement : u32, | |
| dwDefaultLength : u32, | |
| }; | |
| NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO :: struct { | |
| dwVersion : u32, | |
| iExpiration : INT32, | |
| pabNonce : [32]BYTE, | |
| pabPolicyRef : [32]BYTE, | |
| pabHMAC : [32]BYTE, | |
| }; | |
| NCRYPT_PCP_TPM_FW_VERSION_INFO :: struct { | |
| major1 : UINT16, | |
| major2 : UINT16, | |
| minor1 : UINT16, | |
| minor2 : UINT16, | |
| }; | |
| NCRYPT_PCP_RAW_POLICYDIGEST_INFO :: struct { | |
| dwVersion : u32, | |
| cbDigest : u32, | |
| }; | |
| NCRYPT_KEY_BLOB_HEADER :: struct { | |
| cbSize : ULONG, | |
| dwMagic : ULONG, | |
| cbAlgName : ULONG, | |
| cbKeyData : ULONG, | |
| }; | |
| PNCRYPT_KEY_BLOB_HEADER :: ^struct { | |
| cbSize : ULONG, | |
| dwMagic : ULONG, | |
| cbAlgName : ULONG, | |
| cbKeyData : ULONG, | |
| }; | |
| NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER :: struct { | |
| magic : u32, | |
| cbHeader : u32, | |
| cbPublic : u32, | |
| cbPrivate : u32, | |
| cbName : u32, | |
| }; | |
| PNCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER :: ^struct { | |
| magic : u32, | |
| cbHeader : u32, | |
| cbPublic : u32, | |
| cbPrivate : u32, | |
| cbName : u32, | |
| }; | |
| HCRYPTPROV_OR_NCRYPT_KEY_HANDLE :: ULONG_PTR; | |
| HCRYPTPROV_LEGACY :: ULONG_PTR; | |
| CRYPT_BIT_BLOB :: struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| cUnusedBits : u32, | |
| }; | |
| PCRYPT_BIT_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : ^BYTE, | |
| cUnusedBits : u32, | |
| }; | |
| CRYPT_ALGORITHM_IDENTIFIER :: struct { | |
| pszObjId : LPSTR, | |
| Parameters : CRYPT_OBJID_BLOB, | |
| }; | |
| PCRYPT_ALGORITHM_IDENTIFIER :: ^struct { | |
| pszObjId : LPSTR, | |
| Parameters : CRYPT_OBJID_BLOB, | |
| }; | |
| CRYPT_OBJID_TABLE :: struct { | |
| dwAlgId : u32, | |
| pszObjId : LPCSTR, | |
| }; | |
| PCRYPT_OBJID_TABLE :: ^struct { | |
| dwAlgId : u32, | |
| pszObjId : LPCSTR, | |
| }; | |
| CRYPT_HASH_INFO :: struct { | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Hash : CRYPT_HASH_BLOB, | |
| }; | |
| PCRYPT_HASH_INFO :: ^struct { | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Hash : CRYPT_HASH_BLOB, | |
| }; | |
| CERT_EXTENSION :: struct { | |
| pszObjId : LPSTR, | |
| fCritical : BOOL, | |
| Value : CRYPT_OBJID_BLOB, | |
| }; | |
| PCERT_EXTENSION :: ^struct { | |
| pszObjId : LPSTR, | |
| fCritical : BOOL, | |
| Value : CRYPT_OBJID_BLOB, | |
| }; | |
| PCCERT_EXTENSION :: ^CERT_EXTENSION; | |
| CRYPT_ATTRIBUTE_TYPE_VALUE :: struct { | |
| pszObjId : LPSTR, | |
| Value : CRYPT_OBJID_BLOB, | |
| }; | |
| PCRYPT_ATTRIBUTE_TYPE_VALUE :: ^struct { | |
| pszObjId : LPSTR, | |
| Value : CRYPT_OBJID_BLOB, | |
| }; | |
| CRYPT_ATTRIBUTE :: struct { | |
| pszObjId : LPSTR, | |
| cValue : u32, | |
| rgValue : PCRYPT_ATTR_BLOB, | |
| }; | |
| PCRYPT_ATTRIBUTE :: ^struct { | |
| pszObjId : LPSTR, | |
| cValue : u32, | |
| rgValue : PCRYPT_ATTR_BLOB, | |
| }; | |
| CRYPT_ATTRIBUTES :: struct { | |
| cAttr : u32, | |
| rgAttr : PCRYPT_ATTRIBUTE, | |
| }; | |
| PCRYPT_ATTRIBUTES :: ^struct { | |
| cAttr : u32, | |
| rgAttr : PCRYPT_ATTRIBUTE, | |
| }; | |
| CERT_RDN_ATTR :: struct { | |
| pszObjId : LPSTR, | |
| dwValueType : u32, | |
| Value : CERT_RDN_VALUE_BLOB, | |
| }; | |
| PCERT_RDN_ATTR :: ^struct { | |
| pszObjId : LPSTR, | |
| dwValueType : u32, | |
| Value : CERT_RDN_VALUE_BLOB, | |
| }; | |
| CERT_RDN :: struct { | |
| cRDNAttr : u32, | |
| rgRDNAttr : PCERT_RDN_ATTR, | |
| }; | |
| PCERT_RDN :: ^struct { | |
| cRDNAttr : u32, | |
| rgRDNAttr : PCERT_RDN_ATTR, | |
| }; | |
| CERT_NAME_INFO :: struct { | |
| cRDN : u32, | |
| rgRDN : PCERT_RDN, | |
| }; | |
| PCERT_NAME_INFO :: ^struct { | |
| cRDN : u32, | |
| rgRDN : PCERT_RDN, | |
| }; | |
| CERT_NAME_VALUE :: struct { | |
| dwValueType : u32, | |
| Value : CERT_RDN_VALUE_BLOB, | |
| }; | |
| PCERT_NAME_VALUE :: ^struct { | |
| dwValueType : u32, | |
| Value : CERT_RDN_VALUE_BLOB, | |
| }; | |
| CERT_PUBLIC_KEY_INFO :: struct { | |
| Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| PublicKey : CRYPT_BIT_BLOB, | |
| }; | |
| PCERT_PUBLIC_KEY_INFO :: ^struct { | |
| Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| PublicKey : CRYPT_BIT_BLOB, | |
| }; | |
| CRYPT_ECC_PRIVATE_KEY_INFO :: struct { | |
| dwVersion : u32, | |
| PrivateKey : CRYPT_DER_BLOB, | |
| szCurveOid : LPSTR, | |
| PublicKey : CRYPT_BIT_BLOB, | |
| }; | |
| PCRYPT_ECC_PRIVATE_KEY_INFO :: ^struct { | |
| dwVersion : u32, | |
| PrivateKey : CRYPT_DER_BLOB, | |
| szCurveOid : LPSTR, | |
| PublicKey : CRYPT_BIT_BLOB, | |
| }; | |
| CRYPT_PRIVATE_KEY_INFO :: struct { | |
| Version : u32, | |
| Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| PrivateKey : CRYPT_DER_BLOB, | |
| pAttributes : PCRYPT_ATTRIBUTES, | |
| }; | |
| PCRYPT_PRIVATE_KEY_INFO :: ^struct { | |
| Version : u32, | |
| Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| PrivateKey : CRYPT_DER_BLOB, | |
| pAttributes : PCRYPT_ATTRIBUTES, | |
| }; | |
| CRYPT_ENCRYPTED_PRIVATE_KEY_INFO :: struct { | |
| EncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedPrivateKey : CRYPT_DATA_BLOB, | |
| }; | |
| PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO :: ^struct { | |
| EncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedPrivateKey : CRYPT_DATA_BLOB, | |
| }; | |
| PCRYPT_DECRYPT_PRIVATE_KEY_FUNC :: (proc(Algorithm : CRYPT_ALGORITHM_IDENTIFIER, EncryptedPrivateKey : CRYPT_DATA_BLOB, pbClearTextKey : ^BYTE, pcbClearTextKey : ^u32, pVoidDecryptFunc : LPVOID) -> BOOL); | |
| PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC :: (proc(pAlgorithm : ^CRYPT_ALGORITHM_IDENTIFIER, pClearTextPrivateKey : ^CRYPT_DATA_BLOB, pbEncryptedKey : ^BYTE, pcbEncryptedKey : ^u32, pVoidEncryptFunc : LPVOID) -> BOOL); | |
| PCRYPT_RESOLVE_HCRYPTPROV_FUNC :: (proc(pPrivateKeyInfo : ^CRYPT_PRIVATE_KEY_INFO, phCryptProv : ^HCRYPTPROV, pVoidResolveFunc : LPVOID) -> BOOL); | |
| CRYPT_PKCS8_IMPORT_PARAMS :: struct { | |
| PrivateKey : CRYPT_DIGEST_BLOB, | |
| pResolvehCryptProvFunc : PCRYPT_RESOLVE_HCRYPTPROV_FUNC, | |
| pVoidResolveFunc : LPVOID, | |
| pDecryptPrivateKeyFunc : PCRYPT_DECRYPT_PRIVATE_KEY_FUNC, | |
| pVoidDecryptFunc : LPVOID, | |
| }; | |
| PCRYPT_PKCS8_IMPORT_PARAMS :: ^struct { | |
| PrivateKey : CRYPT_DIGEST_BLOB, | |
| pResolvehCryptProvFunc : PCRYPT_RESOLVE_HCRYPTPROV_FUNC, | |
| pVoidResolveFunc : LPVOID, | |
| pDecryptPrivateKeyFunc : PCRYPT_DECRYPT_PRIVATE_KEY_FUNC, | |
| pVoidDecryptFunc : LPVOID, | |
| }; | |
| CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS :: struct { | |
| PrivateKey : CRYPT_DIGEST_BLOB, | |
| pResolvehCryptProvFunc : PCRYPT_RESOLVE_HCRYPTPROV_FUNC, | |
| pVoidResolveFunc : LPVOID, | |
| pDecryptPrivateKeyFunc : PCRYPT_DECRYPT_PRIVATE_KEY_FUNC, | |
| pVoidDecryptFunc : LPVOID, | |
| }; | |
| PCRYPT_PRIVATE_KEY_BLOB_AND_PARAMS :: ^struct { | |
| PrivateKey : CRYPT_DIGEST_BLOB, | |
| pResolvehCryptProvFunc : PCRYPT_RESOLVE_HCRYPTPROV_FUNC, | |
| pVoidResolveFunc : LPVOID, | |
| pDecryptPrivateKeyFunc : PCRYPT_DECRYPT_PRIVATE_KEY_FUNC, | |
| pVoidDecryptFunc : LPVOID, | |
| }; | |
| CRYPT_PKCS8_EXPORT_PARAMS :: struct { | |
| hCryptProv : HCRYPTPROV, | |
| dwKeySpec : u32, | |
| pszPrivateKeyObjId : LPSTR, | |
| pEncryptPrivateKeyFunc : PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC, | |
| pVoidEncryptFunc : LPVOID, | |
| }; | |
| PCRYPT_PKCS8_EXPORT_PARAMS :: ^struct { | |
| hCryptProv : HCRYPTPROV, | |
| dwKeySpec : u32, | |
| pszPrivateKeyObjId : LPSTR, | |
| pEncryptPrivateKeyFunc : PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC, | |
| pVoidEncryptFunc : LPVOID, | |
| }; | |
| CERT_INFO :: struct { | |
| dwVersion : u32, | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| SignatureAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Issuer : CERT_NAME_BLOB, | |
| NotBefore : FILETIME, | |
| NotAfter : FILETIME, | |
| Subject : CERT_NAME_BLOB, | |
| SubjectPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
| IssuerUniqueId : CRYPT_BIT_BLOB, | |
| SubjectUniqueId : CRYPT_BIT_BLOB, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| PCERT_INFO :: ^struct { | |
| dwVersion : u32, | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| SignatureAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Issuer : CERT_NAME_BLOB, | |
| NotBefore : FILETIME, | |
| NotAfter : FILETIME, | |
| Subject : CERT_NAME_BLOB, | |
| SubjectPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
| IssuerUniqueId : CRYPT_BIT_BLOB, | |
| SubjectUniqueId : CRYPT_BIT_BLOB, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| CRL_ENTRY :: struct { | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| RevocationDate : FILETIME, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| PCRL_ENTRY :: ^struct { | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| RevocationDate : FILETIME, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| CRL_INFO :: struct { | |
| dwVersion : u32, | |
| SignatureAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Issuer : CERT_NAME_BLOB, | |
| ThisUpdate : FILETIME, | |
| NextUpdate : FILETIME, | |
| cCRLEntry : u32, | |
| rgCRLEntry : PCRL_ENTRY, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| PCRL_INFO :: ^struct { | |
| dwVersion : u32, | |
| SignatureAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Issuer : CERT_NAME_BLOB, | |
| ThisUpdate : FILETIME, | |
| NextUpdate : FILETIME, | |
| cCRLEntry : u32, | |
| rgCRLEntry : PCRL_ENTRY, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| CERT_OR_CRL_BLOB :: struct { | |
| dwChoice : u32, | |
| cbEncoded : u32, | |
| pbEncoded : ^BYTE, | |
| }; | |
| PCERT_OR_CRL_BLOB :: ^struct { | |
| dwChoice : u32, | |
| cbEncoded : u32, | |
| pbEncoded : ^BYTE, | |
| }; | |
| CERT_OR_CRL_BUNDLE :: struct { | |
| cItem : u32, | |
| rgItem : PCERT_OR_CRL_BLOB, | |
| }; | |
| PCERT_OR_CRL_BUNDLE :: ^struct { | |
| cItem : u32, | |
| rgItem : PCERT_OR_CRL_BLOB, | |
| }; | |
| CERT_REQUEST_INFO :: struct { | |
| dwVersion : u32, | |
| Subject : CERT_NAME_BLOB, | |
| SubjectPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
| cAttribute : u32, | |
| rgAttribute : PCRYPT_ATTRIBUTE, | |
| }; | |
| PCERT_REQUEST_INFO :: ^struct { | |
| dwVersion : u32, | |
| Subject : CERT_NAME_BLOB, | |
| SubjectPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
| cAttribute : u32, | |
| rgAttribute : PCRYPT_ATTRIBUTE, | |
| }; | |
| CERT_KEYGEN_REQUEST_INFO :: struct { | |
| dwVersion : u32, | |
| SubjectPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
| pwszChallengeString : LPWSTR, | |
| }; | |
| PCERT_KEYGEN_REQUEST_INFO :: ^struct { | |
| dwVersion : u32, | |
| SubjectPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
| pwszChallengeString : LPWSTR, | |
| }; | |
| CERT_SIGNED_CONTENT_INFO :: struct { | |
| ToBeSigned : CRYPT_DER_BLOB, | |
| SignatureAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Signature : CRYPT_BIT_BLOB, | |
| }; | |
| PCERT_SIGNED_CONTENT_INFO :: ^struct { | |
| ToBeSigned : CRYPT_DER_BLOB, | |
| SignatureAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Signature : CRYPT_BIT_BLOB, | |
| }; | |
| CTL_USAGE :: struct { | |
| cUsageIdentifier : u32, | |
| rgpszUsageIdentifier : ^LPSTR, | |
| }; | |
| PCTL_USAGE :: ^struct { | |
| cUsageIdentifier : u32, | |
| rgpszUsageIdentifier : ^LPSTR, | |
| }; | |
| CERT_ENHKEY_USAGE :: struct { | |
| cUsageIdentifier : u32, | |
| rgpszUsageIdentifier : ^LPSTR, | |
| }; | |
| PCERT_ENHKEY_USAGE :: ^struct { | |
| cUsageIdentifier : u32, | |
| rgpszUsageIdentifier : ^LPSTR, | |
| }; | |
| PCCTL_USAGE :: ^CTL_USAGE; | |
| PCCERT_ENHKEY_USAGE :: ^CERT_ENHKEY_USAGE; | |
| CTL_ENTRY :: struct { | |
| SubjectIdentifier : CRYPT_DATA_BLOB, | |
| cAttribute : u32, | |
| rgAttribute : PCRYPT_ATTRIBUTE, | |
| }; | |
| PCTL_ENTRY :: ^struct { | |
| SubjectIdentifier : CRYPT_DATA_BLOB, | |
| cAttribute : u32, | |
| rgAttribute : PCRYPT_ATTRIBUTE, | |
| }; | |
| CTL_INFO :: struct { | |
| dwVersion : u32, | |
| SubjectUsage : CTL_USAGE, | |
| ListIdentifier : CRYPT_DATA_BLOB, | |
| SequenceNumber : CRYPT_INTEGER_BLOB, | |
| ThisUpdate : FILETIME, | |
| NextUpdate : FILETIME, | |
| SubjectAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| cCTLEntry : u32, | |
| rgCTLEntry : PCTL_ENTRY, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| PCTL_INFO :: ^struct { | |
| dwVersion : u32, | |
| SubjectUsage : CTL_USAGE, | |
| ListIdentifier : CRYPT_DATA_BLOB, | |
| SequenceNumber : CRYPT_INTEGER_BLOB, | |
| ThisUpdate : FILETIME, | |
| NextUpdate : FILETIME, | |
| SubjectAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| cCTLEntry : u32, | |
| rgCTLEntry : PCTL_ENTRY, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| CRYPT_TIME_STAMP_REQUEST_INFO :: struct { | |
| pszTimeStampAlgorithm : LPSTR, | |
| pszContentType : LPSTR, | |
| Content : CRYPT_OBJID_BLOB, | |
| cAttribute : u32, | |
| rgAttribute : PCRYPT_ATTRIBUTE, | |
| }; | |
| PCRYPT_TIME_STAMP_REQUEST_INFO :: ^struct { | |
| pszTimeStampAlgorithm : LPSTR, | |
| pszContentType : LPSTR, | |
| Content : CRYPT_OBJID_BLOB, | |
| cAttribute : u32, | |
| rgAttribute : PCRYPT_ATTRIBUTE, | |
| }; | |
| CRYPT_ENROLLMENT_NAME_VALUE_PAIR :: struct { | |
| pwszName : LPWSTR, | |
| pwszValue : LPWSTR, | |
| }; | |
| PCRYPT_ENROLLMENT_NAME_VALUE_PAIR :: ^struct { | |
| pwszName : LPWSTR, | |
| pwszValue : LPWSTR, | |
| }; | |
| CRYPT_CSP_PROVIDER :: struct { | |
| dwKeySpec : u32, | |
| pwszProviderName : LPWSTR, | |
| Signature : CRYPT_BIT_BLOB, | |
| }; | |
| PCRYPT_CSP_PROVIDER :: ^struct { | |
| dwKeySpec : u32, | |
| pwszProviderName : LPWSTR, | |
| Signature : CRYPT_BIT_BLOB, | |
| }; | |
| PFN_CRYPT_ALLOC :: (proc(cbSize : uint) -> LPVOID); | |
| PFN_CRYPT_FREE :: proc(pv : LPVOID); | |
| CRYPT_ENCODE_PARA :: struct { | |
| cbSize : u32, | |
| pfnAlloc : PFN_CRYPT_ALLOC, | |
| pfnFree : PFN_CRYPT_FREE, | |
| }; | |
| PCRYPT_ENCODE_PARA :: ^struct { | |
| cbSize : u32, | |
| pfnAlloc : PFN_CRYPT_ALLOC, | |
| pfnFree : PFN_CRYPT_FREE, | |
| }; | |
| CRYPT_DECODE_PARA :: struct { | |
| cbSize : u32, | |
| pfnAlloc : PFN_CRYPT_ALLOC, | |
| pfnFree : PFN_CRYPT_FREE, | |
| }; | |
| PCRYPT_DECODE_PARA :: ^struct { | |
| cbSize : u32, | |
| pfnAlloc : PFN_CRYPT_ALLOC, | |
| pfnFree : PFN_CRYPT_FREE, | |
| }; | |
| CERT_EXTENSIONS :: struct { | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| PCERT_EXTENSIONS :: ^struct { | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| CERT_AUTHORITY_KEY_ID_INFO :: struct { | |
| KeyId : CRYPT_DATA_BLOB, | |
| CertIssuer : CERT_NAME_BLOB, | |
| CertSerialNumber : CRYPT_INTEGER_BLOB, | |
| }; | |
| PCERT_AUTHORITY_KEY_ID_INFO :: ^struct { | |
| KeyId : CRYPT_DATA_BLOB, | |
| CertIssuer : CERT_NAME_BLOB, | |
| CertSerialNumber : CRYPT_INTEGER_BLOB, | |
| }; | |
| CERT_PRIVATE_KEY_VALIDITY :: struct { | |
| NotBefore : FILETIME, | |
| NotAfter : FILETIME, | |
| }; | |
| PCERT_PRIVATE_KEY_VALIDITY :: ^struct { | |
| NotBefore : FILETIME, | |
| NotAfter : FILETIME, | |
| }; | |
| CERT_KEY_ATTRIBUTES_INFO :: struct { | |
| KeyId : CRYPT_DATA_BLOB, | |
| IntendedKeyUsage : CRYPT_BIT_BLOB, | |
| pPrivateKeyUsagePeriod : PCERT_PRIVATE_KEY_VALIDITY, | |
| }; | |
| PCERT_KEY_ATTRIBUTES_INFO :: ^struct { | |
| KeyId : CRYPT_DATA_BLOB, | |
| IntendedKeyUsage : CRYPT_BIT_BLOB, | |
| pPrivateKeyUsagePeriod : PCERT_PRIVATE_KEY_VALIDITY, | |
| }; | |
| CERT_POLICY_ID :: struct { | |
| cCertPolicyElementId : u32, | |
| rgpszCertPolicyElementId : ^LPSTR, | |
| }; | |
| PCERT_POLICY_ID :: ^struct { | |
| cCertPolicyElementId : u32, | |
| rgpszCertPolicyElementId : ^LPSTR, | |
| }; | |
| CERT_KEY_USAGE_RESTRICTION_INFO :: struct { | |
| cCertPolicyId : u32, | |
| rgCertPolicyId : PCERT_POLICY_ID, | |
| RestrictedKeyUsage : CRYPT_BIT_BLOB, | |
| }; | |
| PCERT_KEY_USAGE_RESTRICTION_INFO :: ^struct { | |
| cCertPolicyId : u32, | |
| rgCertPolicyId : PCERT_POLICY_ID, | |
| RestrictedKeyUsage : CRYPT_BIT_BLOB, | |
| }; | |
| CERT_OTHER_NAME :: struct { | |
| pszObjId : LPSTR, | |
| Value : CRYPT_OBJID_BLOB, | |
| }; | |
| PCERT_OTHER_NAME :: ^struct { | |
| pszObjId : LPSTR, | |
| Value : CRYPT_OBJID_BLOB, | |
| }; | |
| CERT_ALT_NAME_ENTRY :: struct { | |
| dwAltNameChoice : u32, | |
| u : struct #raw_union { | |
| pOtherName : PCERT_OTHER_NAME, | |
| pwszRfc822Name : LPWSTR, | |
| pwszDNSName : LPWSTR, | |
| DirectoryName : CERT_NAME_BLOB, | |
| pwszURL : LPWSTR, | |
| IPAddress : CRYPT_DATA_BLOB, | |
| pszRegisteredID : LPSTR, | |
| }, | |
| }; | |
| PCERT_ALT_NAME_ENTRY :: ^struct { | |
| dwAltNameChoice : u32, | |
| u : struct #raw_union { | |
| pOtherName : PCERT_OTHER_NAME, | |
| pwszRfc822Name : LPWSTR, | |
| pwszDNSName : LPWSTR, | |
| DirectoryName : CERT_NAME_BLOB, | |
| pwszURL : LPWSTR, | |
| IPAddress : CRYPT_DATA_BLOB, | |
| pszRegisteredID : LPSTR, | |
| }, | |
| }; | |
| CERT_ALT_NAME_INFO :: struct { | |
| cAltEntry : u32, | |
| rgAltEntry : PCERT_ALT_NAME_ENTRY, | |
| }; | |
| PCERT_ALT_NAME_INFO :: ^struct { | |
| cAltEntry : u32, | |
| rgAltEntry : PCERT_ALT_NAME_ENTRY, | |
| }; | |
| CERT_BASIC_CONSTRAINTS_INFO :: struct { | |
| SubjectType : CRYPT_BIT_BLOB, | |
| fPathLenConstraint : BOOL, | |
| dwPathLenConstraint : u32, | |
| cSubtreesConstraint : u32, | |
| rgSubtreesConstraint : ^CERT_NAME_BLOB, | |
| }; | |
| PCERT_BASIC_CONSTRAINTS_INFO :: ^struct { | |
| SubjectType : CRYPT_BIT_BLOB, | |
| fPathLenConstraint : BOOL, | |
| dwPathLenConstraint : u32, | |
| cSubtreesConstraint : u32, | |
| rgSubtreesConstraint : ^CERT_NAME_BLOB, | |
| }; | |
| CERT_BASIC_CONSTRAINTS2_INFO :: struct { | |
| fCA : BOOL, | |
| fPathLenConstraint : BOOL, | |
| dwPathLenConstraint : u32, | |
| }; | |
| PCERT_BASIC_CONSTRAINTS2_INFO :: ^struct { | |
| fCA : BOOL, | |
| fPathLenConstraint : BOOL, | |
| dwPathLenConstraint : u32, | |
| }; | |
| CERT_POLICY_QUALIFIER_INFO :: struct { | |
| pszPolicyQualifierId : LPSTR, | |
| Qualifier : CRYPT_OBJID_BLOB, | |
| }; | |
| PCERT_POLICY_QUALIFIER_INFO :: ^struct { | |
| pszPolicyQualifierId : LPSTR, | |
| Qualifier : CRYPT_OBJID_BLOB, | |
| }; | |
| CERT_POLICY_INFO :: struct { | |
| pszPolicyIdentifier : LPSTR, | |
| cPolicyQualifier : u32, | |
| rgPolicyQualifier : ^CERT_POLICY_QUALIFIER_INFO, | |
| }; | |
| PCERT_POLICY_INFO :: ^struct { | |
| pszPolicyIdentifier : LPSTR, | |
| cPolicyQualifier : u32, | |
| rgPolicyQualifier : ^CERT_POLICY_QUALIFIER_INFO, | |
| }; | |
| CERT_POLICIES_INFO :: struct { | |
| cPolicyInfo : u32, | |
| rgPolicyInfo : ^CERT_POLICY_INFO, | |
| }; | |
| PCERT_POLICIES_INFO :: ^struct { | |
| cPolicyInfo : u32, | |
| rgPolicyInfo : ^CERT_POLICY_INFO, | |
| }; | |
| CERT_POLICY_QUALIFIER_NOTICE_REFERENCE :: struct { | |
| pszOrganization : LPSTR, | |
| cNoticeNumbers : u32, | |
| rgNoticeNumbers : ^i32, | |
| }; | |
| PCERT_POLICY_QUALIFIER_NOTICE_REFERENCE :: ^struct { | |
| pszOrganization : LPSTR, | |
| cNoticeNumbers : u32, | |
| rgNoticeNumbers : ^i32, | |
| }; | |
| CERT_POLICY_QUALIFIER_USER_NOTICE :: struct { | |
| pNoticeReference : ^CERT_POLICY_QUALIFIER_NOTICE_REFERENCE, | |
| pszDisplayText : LPWSTR, | |
| }; | |
| PCERT_POLICY_QUALIFIER_USER_NOTICE :: ^struct { | |
| pNoticeReference : ^CERT_POLICY_QUALIFIER_NOTICE_REFERENCE, | |
| pszDisplayText : LPWSTR, | |
| }; | |
| CPS_URLS :: struct { | |
| pszURL : LPWSTR, | |
| pAlgorithm : ^CRYPT_ALGORITHM_IDENTIFIER, | |
| pDigest : ^CRYPT_DATA_BLOB, | |
| }; | |
| PCPS_URLS :: ^struct { | |
| pszURL : LPWSTR, | |
| pAlgorithm : ^CRYPT_ALGORITHM_IDENTIFIER, | |
| pDigest : ^CRYPT_DATA_BLOB, | |
| }; | |
| CERT_POLICY95_QUALIFIER1 :: struct { | |
| pszPracticesReference : LPWSTR, | |
| pszNoticeIdentifier : LPSTR, | |
| pszNSINoticeIdentifier : LPSTR, | |
| cCPSURLs : u32, | |
| rgCPSURLs : ^CPS_URLS, | |
| }; | |
| PCERT_POLICY95_QUALIFIER1 :: ^struct { | |
| pszPracticesReference : LPWSTR, | |
| pszNoticeIdentifier : LPSTR, | |
| pszNSINoticeIdentifier : LPSTR, | |
| cCPSURLs : u32, | |
| rgCPSURLs : ^CPS_URLS, | |
| }; | |
| CERT_POLICY_MAPPING :: struct { | |
| pszIssuerDomainPolicy : LPSTR, | |
| pszSubjectDomainPolicy : LPSTR, | |
| }; | |
| PCERT_POLICY_MAPPING :: ^struct { | |
| pszIssuerDomainPolicy : LPSTR, | |
| pszSubjectDomainPolicy : LPSTR, | |
| }; | |
| CERT_POLICY_MAPPINGS_INFO :: struct { | |
| cPolicyMapping : u32, | |
| rgPolicyMapping : PCERT_POLICY_MAPPING, | |
| }; | |
| PCERT_POLICY_MAPPINGS_INFO :: ^struct { | |
| cPolicyMapping : u32, | |
| rgPolicyMapping : PCERT_POLICY_MAPPING, | |
| }; | |
| CERT_POLICY_CONSTRAINTS_INFO :: struct { | |
| fRequireExplicitPolicy : BOOL, | |
| dwRequireExplicitPolicySkipCerts : u32, | |
| fInhibitPolicyMapping : BOOL, | |
| dwInhibitPolicyMappingSkipCerts : u32, | |
| }; | |
| PCERT_POLICY_CONSTRAINTS_INFO :: ^struct { | |
| fRequireExplicitPolicy : BOOL, | |
| dwRequireExplicitPolicySkipCerts : u32, | |
| fInhibitPolicyMapping : BOOL, | |
| dwInhibitPolicyMappingSkipCerts : u32, | |
| }; | |
| CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY :: struct { | |
| pszObjId : LPSTR, | |
| cValue : u32, | |
| rgValue : PCRYPT_DER_BLOB, | |
| }; | |
| PCRYPT_CONTENT_INFO_SEQUENCE_OF_ANY :: ^struct { | |
| pszObjId : LPSTR, | |
| cValue : u32, | |
| rgValue : PCRYPT_DER_BLOB, | |
| }; | |
| CRYPT_CONTENT_INFO :: struct { | |
| pszObjId : LPSTR, | |
| Content : CRYPT_DER_BLOB, | |
| }; | |
| PCRYPT_CONTENT_INFO :: ^struct { | |
| pszObjId : LPSTR, | |
| Content : CRYPT_DER_BLOB, | |
| }; | |
| CRYPT_SEQUENCE_OF_ANY :: struct { | |
| cValue : u32, | |
| rgValue : PCRYPT_DER_BLOB, | |
| }; | |
| PCRYPT_SEQUENCE_OF_ANY :: ^struct { | |
| cValue : u32, | |
| rgValue : PCRYPT_DER_BLOB, | |
| }; | |
| CERT_AUTHORITY_KEY_ID2_INFO :: struct { | |
| KeyId : CRYPT_DATA_BLOB, | |
| AuthorityCertIssuer : CERT_ALT_NAME_INFO, | |
| AuthorityCertSerialNumber : CRYPT_INTEGER_BLOB, | |
| }; | |
| PCERT_AUTHORITY_KEY_ID2_INFO :: ^struct { | |
| KeyId : CRYPT_DATA_BLOB, | |
| AuthorityCertIssuer : CERT_ALT_NAME_INFO, | |
| AuthorityCertSerialNumber : CRYPT_INTEGER_BLOB, | |
| }; | |
| CERT_ACCESS_DESCRIPTION :: struct { | |
| pszAccessMethod : LPSTR, | |
| AccessLocation : CERT_ALT_NAME_ENTRY, | |
| }; | |
| PCERT_ACCESS_DESCRIPTION :: ^struct { | |
| pszAccessMethod : LPSTR, | |
| AccessLocation : CERT_ALT_NAME_ENTRY, | |
| }; | |
| CERT_AUTHORITY_INFO_ACCESS :: struct { | |
| cAccDescr : u32, | |
| rgAccDescr : PCERT_ACCESS_DESCRIPTION, | |
| }; | |
| PCERT_AUTHORITY_INFO_ACCESS :: ^struct { | |
| cAccDescr : u32, | |
| rgAccDescr : PCERT_ACCESS_DESCRIPTION, | |
| }; | |
| CERT_SUBJECT_INFO_ACCESS :: struct { | |
| cAccDescr : u32, | |
| rgAccDescr : PCERT_ACCESS_DESCRIPTION, | |
| }; | |
| PCERT_SUBJECT_INFO_ACCESS :: ^struct { | |
| cAccDescr : u32, | |
| rgAccDescr : PCERT_ACCESS_DESCRIPTION, | |
| }; | |
| CRL_DIST_POINT_NAME :: struct { | |
| dwDistPointNameChoice : u32, | |
| u : struct #raw_union { | |
| FullName : CERT_ALT_NAME_INFO, | |
| }, | |
| }; | |
| PCRL_DIST_POINT_NAME :: ^struct { | |
| dwDistPointNameChoice : u32, | |
| u : struct #raw_union { | |
| FullName : CERT_ALT_NAME_INFO, | |
| }, | |
| }; | |
| CRL_DIST_POINT :: struct { | |
| DistPointName : CRL_DIST_POINT_NAME, | |
| ReasonFlags : CRYPT_BIT_BLOB, | |
| CRLIssuer : CERT_ALT_NAME_INFO, | |
| }; | |
| PCRL_DIST_POINT :: ^struct { | |
| DistPointName : CRL_DIST_POINT_NAME, | |
| ReasonFlags : CRYPT_BIT_BLOB, | |
| CRLIssuer : CERT_ALT_NAME_INFO, | |
| }; | |
| CRL_DIST_POINTS_INFO :: struct { | |
| cDistPoint : u32, | |
| rgDistPoint : PCRL_DIST_POINT, | |
| }; | |
| PCRL_DIST_POINTS_INFO :: ^struct { | |
| cDistPoint : u32, | |
| rgDistPoint : PCRL_DIST_POINT, | |
| }; | |
| CROSS_CERT_DIST_POINTS_INFO :: struct { | |
| dwSyncDeltaTime : u32, | |
| cDistPoint : u32, | |
| rgDistPoint : PCERT_ALT_NAME_INFO, | |
| }; | |
| PCROSS_CERT_DIST_POINTS_INFO :: ^struct { | |
| dwSyncDeltaTime : u32, | |
| cDistPoint : u32, | |
| rgDistPoint : PCERT_ALT_NAME_INFO, | |
| }; | |
| CERT_PAIR :: struct { | |
| Forward : CERT_BLOB, | |
| Reverse : CERT_BLOB, | |
| }; | |
| PCERT_PAIR :: ^struct { | |
| Forward : CERT_BLOB, | |
| Reverse : CERT_BLOB, | |
| }; | |
| CRL_ISSUING_DIST_POINT :: struct { | |
| DistPointName : CRL_DIST_POINT_NAME, | |
| fOnlyContainsUserCerts : BOOL, | |
| fOnlyContainsCACerts : BOOL, | |
| OnlySomeReasonFlags : CRYPT_BIT_BLOB, | |
| fIndirectCRL : BOOL, | |
| }; | |
| PCRL_ISSUING_DIST_POINT :: ^struct { | |
| DistPointName : CRL_DIST_POINT_NAME, | |
| fOnlyContainsUserCerts : BOOL, | |
| fOnlyContainsCACerts : BOOL, | |
| OnlySomeReasonFlags : CRYPT_BIT_BLOB, | |
| fIndirectCRL : BOOL, | |
| }; | |
| CERT_GENERAL_SUBTREE :: struct { | |
| Base : CERT_ALT_NAME_ENTRY, | |
| dwMinimum : u32, | |
| fMaximum : BOOL, | |
| dwMaximum : u32, | |
| }; | |
| PCERT_GENERAL_SUBTREE :: ^struct { | |
| Base : CERT_ALT_NAME_ENTRY, | |
| dwMinimum : u32, | |
| fMaximum : BOOL, | |
| dwMaximum : u32, | |
| }; | |
| CERT_NAME_CONSTRAINTS_INFO :: struct { | |
| cPermittedSubtree : u32, | |
| rgPermittedSubtree : PCERT_GENERAL_SUBTREE, | |
| cExcludedSubtree : u32, | |
| rgExcludedSubtree : PCERT_GENERAL_SUBTREE, | |
| }; | |
| PCERT_NAME_CONSTRAINTS_INFO :: ^struct { | |
| cPermittedSubtree : u32, | |
| rgPermittedSubtree : PCERT_GENERAL_SUBTREE, | |
| cExcludedSubtree : u32, | |
| rgExcludedSubtree : PCERT_GENERAL_SUBTREE, | |
| }; | |
| CERT_DSS_PARAMETERS :: struct { | |
| p : CRYPT_UINT_BLOB, | |
| q : CRYPT_UINT_BLOB, | |
| g : CRYPT_UINT_BLOB, | |
| }; | |
| PCERT_DSS_PARAMETERS :: ^struct { | |
| p : CRYPT_UINT_BLOB, | |
| q : CRYPT_UINT_BLOB, | |
| g : CRYPT_UINT_BLOB, | |
| }; | |
| CERT_DH_PARAMETERS :: struct { | |
| p : CRYPT_UINT_BLOB, | |
| g : CRYPT_UINT_BLOB, | |
| }; | |
| PCERT_DH_PARAMETERS :: ^struct { | |
| p : CRYPT_UINT_BLOB, | |
| g : CRYPT_UINT_BLOB, | |
| }; | |
| CERT_ECC_SIGNATURE :: struct { | |
| r : CRYPT_UINT_BLOB, | |
| s : CRYPT_UINT_BLOB, | |
| }; | |
| PCERT_ECC_SIGNATURE :: ^struct { | |
| r : CRYPT_UINT_BLOB, | |
| s : CRYPT_UINT_BLOB, | |
| }; | |
| CERT_X942_DH_VALIDATION_PARAMS :: struct { | |
| seed : CRYPT_BIT_BLOB, | |
| pgenCounter : u32, | |
| }; | |
| PCERT_X942_DH_VALIDATION_PARAMS :: ^struct { | |
| seed : CRYPT_BIT_BLOB, | |
| pgenCounter : u32, | |
| }; | |
| CERT_X942_DH_PARAMETERS :: struct { | |
| p : CRYPT_UINT_BLOB, | |
| g : CRYPT_UINT_BLOB, | |
| q : CRYPT_UINT_BLOB, | |
| j : CRYPT_UINT_BLOB, | |
| pValidationParams : PCERT_X942_DH_VALIDATION_PARAMS, | |
| }; | |
| PCERT_X942_DH_PARAMETERS :: ^struct { | |
| p : CRYPT_UINT_BLOB, | |
| g : CRYPT_UINT_BLOB, | |
| q : CRYPT_UINT_BLOB, | |
| j : CRYPT_UINT_BLOB, | |
| pValidationParams : PCERT_X942_DH_VALIDATION_PARAMS, | |
| }; | |
| CRYPT_X942_OTHER_INFO :: struct { | |
| pszContentEncryptionObjId : LPSTR, | |
| rgbCounter : [4]BYTE, | |
| rgbKeyLength : [4]BYTE, | |
| PubInfo : CRYPT_DATA_BLOB, | |
| }; | |
| PCRYPT_X942_OTHER_INFO :: ^struct { | |
| pszContentEncryptionObjId : LPSTR, | |
| rgbCounter : [4]BYTE, | |
| rgbKeyLength : [4]BYTE, | |
| PubInfo : CRYPT_DATA_BLOB, | |
| }; | |
| CRYPT_ECC_CMS_SHARED_INFO :: struct { | |
| Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EntityUInfo : CRYPT_DATA_BLOB, | |
| rgbSuppPubInfo : [4]BYTE, | |
| }; | |
| PCRYPT_ECC_CMS_SHARED_INFO :: ^struct { | |
| Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EntityUInfo : CRYPT_DATA_BLOB, | |
| rgbSuppPubInfo : [4]BYTE, | |
| }; | |
| CRYPT_RC2_CBC_PARAMETERS :: struct { | |
| dwVersion : u32, | |
| fIV : BOOL, | |
| rgbIV : [8]BYTE, | |
| }; | |
| PCRYPT_RC2_CBC_PARAMETERS :: ^struct { | |
| dwVersion : u32, | |
| fIV : BOOL, | |
| rgbIV : [8]BYTE, | |
| }; | |
| CRYPT_SMIME_CAPABILITY :: struct { | |
| pszObjId : LPSTR, | |
| Parameters : CRYPT_OBJID_BLOB, | |
| }; | |
| PCRYPT_SMIME_CAPABILITY :: ^struct { | |
| pszObjId : LPSTR, | |
| Parameters : CRYPT_OBJID_BLOB, | |
| }; | |
| CRYPT_SMIME_CAPABILITIES :: struct { | |
| cCapability : u32, | |
| rgCapability : PCRYPT_SMIME_CAPABILITY, | |
| }; | |
| PCRYPT_SMIME_CAPABILITIES :: ^struct { | |
| cCapability : u32, | |
| rgCapability : PCRYPT_SMIME_CAPABILITY, | |
| }; | |
| CERT_QC_STATEMENT :: struct { | |
| pszStatementId : LPSTR, | |
| StatementInfo : CRYPT_OBJID_BLOB, | |
| }; | |
| PCERT_QC_STATEMENT :: ^struct { | |
| pszStatementId : LPSTR, | |
| StatementInfo : CRYPT_OBJID_BLOB, | |
| }; | |
| CERT_QC_STATEMENTS_EXT_INFO :: struct { | |
| cStatement : u32, | |
| rgStatement : PCERT_QC_STATEMENT, | |
| }; | |
| PCERT_QC_STATEMENTS_EXT_INFO :: ^struct { | |
| cStatement : u32, | |
| rgStatement : PCERT_QC_STATEMENT, | |
| }; | |
| CRYPT_MASK_GEN_ALGORITHM :: struct { | |
| pszObjId : LPSTR, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| }; | |
| PCRYPT_MASK_GEN_ALGORITHM :: ^struct { | |
| pszObjId : LPSTR, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| }; | |
| CRYPT_RSA_SSA_PSS_PARAMETERS :: struct { | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| MaskGenAlgorithm : CRYPT_MASK_GEN_ALGORITHM, | |
| dwSaltLength : u32, | |
| dwTrailerField : u32, | |
| }; | |
| PCRYPT_RSA_SSA_PSS_PARAMETERS :: ^struct { | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| MaskGenAlgorithm : CRYPT_MASK_GEN_ALGORITHM, | |
| dwSaltLength : u32, | |
| dwTrailerField : u32, | |
| }; | |
| CRYPT_PSOURCE_ALGORITHM :: struct { | |
| pszObjId : LPSTR, | |
| EncodingParameters : CRYPT_DATA_BLOB, | |
| }; | |
| PCRYPT_PSOURCE_ALGORITHM :: ^struct { | |
| pszObjId : LPSTR, | |
| EncodingParameters : CRYPT_DATA_BLOB, | |
| }; | |
| CRYPT_RSAES_OAEP_PARAMETERS :: struct { | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| MaskGenAlgorithm : CRYPT_MASK_GEN_ALGORITHM, | |
| PSourceAlgorithm : CRYPT_PSOURCE_ALGORITHM, | |
| }; | |
| PCRYPT_RSAES_OAEP_PARAMETERS :: ^struct { | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| MaskGenAlgorithm : CRYPT_MASK_GEN_ALGORITHM, | |
| PSourceAlgorithm : CRYPT_PSOURCE_ALGORITHM, | |
| }; | |
| CMC_TAGGED_ATTRIBUTE :: struct { | |
| dwBodyPartID : u32, | |
| Attribute : CRYPT_ATTRIBUTE, | |
| }; | |
| PCMC_TAGGED_ATTRIBUTE :: ^struct { | |
| dwBodyPartID : u32, | |
| Attribute : CRYPT_ATTRIBUTE, | |
| }; | |
| CMC_TAGGED_CERT_REQUEST :: struct { | |
| dwBodyPartID : u32, | |
| SignedCertRequest : CRYPT_DER_BLOB, | |
| }; | |
| PCMC_TAGGED_CERT_REQUEST :: ^struct { | |
| dwBodyPartID : u32, | |
| SignedCertRequest : CRYPT_DER_BLOB, | |
| }; | |
| CMC_TAGGED_REQUEST :: struct { | |
| dwTaggedRequestChoice : u32, | |
| u : struct #raw_union { | |
| pTaggedCertRequest : PCMC_TAGGED_CERT_REQUEST, | |
| }, | |
| }; | |
| PCMC_TAGGED_REQUEST :: ^struct { | |
| dwTaggedRequestChoice : u32, | |
| u : struct #raw_union { | |
| pTaggedCertRequest : PCMC_TAGGED_CERT_REQUEST, | |
| }, | |
| }; | |
| CMC_TAGGED_CONTENT_INFO :: struct { | |
| dwBodyPartID : u32, | |
| EncodedContentInfo : CRYPT_DER_BLOB, | |
| }; | |
| PCMC_TAGGED_CONTENT_INFO :: ^struct { | |
| dwBodyPartID : u32, | |
| EncodedContentInfo : CRYPT_DER_BLOB, | |
| }; | |
| CMC_TAGGED_OTHER_MSG :: struct { | |
| dwBodyPartID : u32, | |
| pszObjId : LPSTR, | |
| Value : CRYPT_OBJID_BLOB, | |
| }; | |
| PCMC_TAGGED_OTHER_MSG :: ^struct { | |
| dwBodyPartID : u32, | |
| pszObjId : LPSTR, | |
| Value : CRYPT_OBJID_BLOB, | |
| }; | |
| CMC_DATA_INFO :: struct { | |
| cTaggedAttribute : u32, | |
| rgTaggedAttribute : PCMC_TAGGED_ATTRIBUTE, | |
| cTaggedRequest : u32, | |
| rgTaggedRequest : PCMC_TAGGED_REQUEST, | |
| cTaggedContentInfo : u32, | |
| rgTaggedContentInfo : PCMC_TAGGED_CONTENT_INFO, | |
| cTaggedOtherMsg : u32, | |
| rgTaggedOtherMsg : PCMC_TAGGED_OTHER_MSG, | |
| }; | |
| PCMC_DATA_INFO :: ^struct { | |
| cTaggedAttribute : u32, | |
| rgTaggedAttribute : PCMC_TAGGED_ATTRIBUTE, | |
| cTaggedRequest : u32, | |
| rgTaggedRequest : PCMC_TAGGED_REQUEST, | |
| cTaggedContentInfo : u32, | |
| rgTaggedContentInfo : PCMC_TAGGED_CONTENT_INFO, | |
| cTaggedOtherMsg : u32, | |
| rgTaggedOtherMsg : PCMC_TAGGED_OTHER_MSG, | |
| }; | |
| CMC_RESPONSE_INFO :: struct { | |
| cTaggedAttribute : u32, | |
| rgTaggedAttribute : PCMC_TAGGED_ATTRIBUTE, | |
| cTaggedContentInfo : u32, | |
| rgTaggedContentInfo : PCMC_TAGGED_CONTENT_INFO, | |
| cTaggedOtherMsg : u32, | |
| rgTaggedOtherMsg : PCMC_TAGGED_OTHER_MSG, | |
| }; | |
| PCMC_RESPONSE_INFO :: ^struct { | |
| cTaggedAttribute : u32, | |
| rgTaggedAttribute : PCMC_TAGGED_ATTRIBUTE, | |
| cTaggedContentInfo : u32, | |
| rgTaggedContentInfo : PCMC_TAGGED_CONTENT_INFO, | |
| cTaggedOtherMsg : u32, | |
| rgTaggedOtherMsg : PCMC_TAGGED_OTHER_MSG, | |
| }; | |
| CMC_PEND_INFO :: struct { | |
| PendToken : CRYPT_DATA_BLOB, | |
| PendTime : FILETIME, | |
| }; | |
| PCMC_PEND_INFO :: ^struct { | |
| PendToken : CRYPT_DATA_BLOB, | |
| PendTime : FILETIME, | |
| }; | |
| CMC_STATUS_INFO :: struct { | |
| dwStatus : u32, | |
| cBodyList : u32, | |
| rgdwBodyList : ^u32, | |
| pwszStatusString : LPWSTR, | |
| dwOtherInfoChoice : u32, | |
| u : struct #raw_union { | |
| dwFailInfo : u32, | |
| pPendInfo : PCMC_PEND_INFO, | |
| }, | |
| }; | |
| PCMC_STATUS_INFO :: ^struct { | |
| dwStatus : u32, | |
| cBodyList : u32, | |
| rgdwBodyList : ^u32, | |
| pwszStatusString : LPWSTR, | |
| dwOtherInfoChoice : u32, | |
| u : struct #raw_union { | |
| dwFailInfo : u32, | |
| pPendInfo : PCMC_PEND_INFO, | |
| }, | |
| }; | |
| CMC_ADD_EXTENSIONS_INFO :: struct { | |
| dwCmcDataReference : u32, | |
| cCertReference : u32, | |
| rgdwCertReference : ^u32, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| PCMC_ADD_EXTENSIONS_INFO :: ^struct { | |
| dwCmcDataReference : u32, | |
| cCertReference : u32, | |
| rgdwCertReference : ^u32, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| CMC_ADD_ATTRIBUTES_INFO :: struct { | |
| dwCmcDataReference : u32, | |
| cCertReference : u32, | |
| rgdwCertReference : ^u32, | |
| cAttribute : u32, | |
| rgAttribute : PCRYPT_ATTRIBUTE, | |
| }; | |
| PCMC_ADD_ATTRIBUTES_INFO :: ^struct { | |
| dwCmcDataReference : u32, | |
| cCertReference : u32, | |
| rgdwCertReference : ^u32, | |
| cAttribute : u32, | |
| rgAttribute : PCRYPT_ATTRIBUTE, | |
| }; | |
| CERT_TEMPLATE_EXT :: struct { | |
| pszObjId : LPSTR, | |
| dwMajorVersion : u32, | |
| fMinorVersion : BOOL, | |
| dwMinorVersion : u32, | |
| }; | |
| PCERT_TEMPLATE_EXT :: ^struct { | |
| pszObjId : LPSTR, | |
| dwMajorVersion : u32, | |
| fMinorVersion : BOOL, | |
| dwMinorVersion : u32, | |
| }; | |
| CERT_HASHED_URL :: struct { | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Hash : CRYPT_HASH_BLOB, | |
| pwszUrl : LPWSTR, | |
| }; | |
| PCERT_HASHED_URL :: ^struct { | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Hash : CRYPT_HASH_BLOB, | |
| pwszUrl : LPWSTR, | |
| }; | |
| CERT_LOGOTYPE_DETAILS :: struct { | |
| pwszMimeType : LPWSTR, | |
| cHashedUrl : u32, | |
| rgHashedUrl : PCERT_HASHED_URL, | |
| }; | |
| PCERT_LOGOTYPE_DETAILS :: ^struct { | |
| pwszMimeType : LPWSTR, | |
| cHashedUrl : u32, | |
| rgHashedUrl : PCERT_HASHED_URL, | |
| }; | |
| CERT_LOGOTYPE_REFERENCE :: struct { | |
| cHashedUrl : u32, | |
| rgHashedUrl : PCERT_HASHED_URL, | |
| }; | |
| PCERT_LOGOTYPE_REFERENCE :: ^struct { | |
| cHashedUrl : u32, | |
| rgHashedUrl : PCERT_HASHED_URL, | |
| }; | |
| CERT_LOGOTYPE_IMAGE_INFO :: struct { | |
| dwLogotypeImageInfoChoice : u32, | |
| dwFileSize : u32, | |
| dwXSize : u32, | |
| dwYSize : u32, | |
| dwLogotypeImageResolutionChoice : u32, | |
| u : struct #raw_union { | |
| dwNumBits : u32, | |
| dwTableSize : u32, | |
| }, | |
| pwszLanguage : LPWSTR, | |
| }; | |
| PCERT_LOGOTYPE_IMAGE_INFO :: ^struct { | |
| dwLogotypeImageInfoChoice : u32, | |
| dwFileSize : u32, | |
| dwXSize : u32, | |
| dwYSize : u32, | |
| dwLogotypeImageResolutionChoice : u32, | |
| u : struct #raw_union { | |
| dwNumBits : u32, | |
| dwTableSize : u32, | |
| }, | |
| pwszLanguage : LPWSTR, | |
| }; | |
| CERT_LOGOTYPE_IMAGE :: struct { | |
| LogotypeDetails : CERT_LOGOTYPE_DETAILS, | |
| pLogotypeImageInfo : PCERT_LOGOTYPE_IMAGE_INFO, | |
| }; | |
| PCERT_LOGOTYPE_IMAGE :: ^struct { | |
| LogotypeDetails : CERT_LOGOTYPE_DETAILS, | |
| pLogotypeImageInfo : PCERT_LOGOTYPE_IMAGE_INFO, | |
| }; | |
| CERT_LOGOTYPE_AUDIO_INFO :: struct { | |
| dwFileSize : u32, | |
| dwPlayTime : u32, | |
| dwChannels : u32, | |
| dwSampleRate : u32, | |
| pwszLanguage : LPWSTR, | |
| }; | |
| PCERT_LOGOTYPE_AUDIO_INFO :: ^struct { | |
| dwFileSize : u32, | |
| dwPlayTime : u32, | |
| dwChannels : u32, | |
| dwSampleRate : u32, | |
| pwszLanguage : LPWSTR, | |
| }; | |
| CERT_LOGOTYPE_AUDIO :: struct { | |
| LogotypeDetails : CERT_LOGOTYPE_DETAILS, | |
| pLogotypeAudioInfo : PCERT_LOGOTYPE_AUDIO_INFO, | |
| }; | |
| PCERT_LOGOTYPE_AUDIO :: ^struct { | |
| LogotypeDetails : CERT_LOGOTYPE_DETAILS, | |
| pLogotypeAudioInfo : PCERT_LOGOTYPE_AUDIO_INFO, | |
| }; | |
| CERT_LOGOTYPE_DATA :: struct { | |
| cLogotypeImage : u32, | |
| rgLogotypeImage : PCERT_LOGOTYPE_IMAGE, | |
| cLogotypeAudio : u32, | |
| rgLogotypeAudio : PCERT_LOGOTYPE_AUDIO, | |
| }; | |
| PCERT_LOGOTYPE_DATA :: ^struct { | |
| cLogotypeImage : u32, | |
| rgLogotypeImage : PCERT_LOGOTYPE_IMAGE, | |
| cLogotypeAudio : u32, | |
| rgLogotypeAudio : PCERT_LOGOTYPE_AUDIO, | |
| }; | |
| CERT_LOGOTYPE_INFO :: struct { | |
| dwLogotypeInfoChoice : u32, | |
| u : struct #raw_union { | |
| pLogotypeDirectInfo : PCERT_LOGOTYPE_DATA, | |
| pLogotypeIndirectInfo : PCERT_LOGOTYPE_REFERENCE, | |
| }, | |
| }; | |
| PCERT_LOGOTYPE_INFO :: ^struct { | |
| dwLogotypeInfoChoice : u32, | |
| u : struct #raw_union { | |
| pLogotypeDirectInfo : PCERT_LOGOTYPE_DATA, | |
| pLogotypeIndirectInfo : PCERT_LOGOTYPE_REFERENCE, | |
| }, | |
| }; | |
| CERT_OTHER_LOGOTYPE_INFO :: struct { | |
| pszObjId : LPSTR, | |
| LogotypeInfo : CERT_LOGOTYPE_INFO, | |
| }; | |
| PCERT_OTHER_LOGOTYPE_INFO :: ^struct { | |
| pszObjId : LPSTR, | |
| LogotypeInfo : CERT_LOGOTYPE_INFO, | |
| }; | |
| CERT_LOGOTYPE_EXT_INFO :: struct { | |
| cCommunityLogo : u32, | |
| rgCommunityLogo : PCERT_LOGOTYPE_INFO, | |
| pIssuerLogo : PCERT_LOGOTYPE_INFO, | |
| pSubjectLogo : PCERT_LOGOTYPE_INFO, | |
| cOtherLogo : u32, | |
| rgOtherLogo : PCERT_OTHER_LOGOTYPE_INFO, | |
| }; | |
| PCERT_LOGOTYPE_EXT_INFO :: ^struct { | |
| cCommunityLogo : u32, | |
| rgCommunityLogo : PCERT_LOGOTYPE_INFO, | |
| pIssuerLogo : PCERT_LOGOTYPE_INFO, | |
| pSubjectLogo : PCERT_LOGOTYPE_INFO, | |
| cOtherLogo : u32, | |
| rgOtherLogo : PCERT_OTHER_LOGOTYPE_INFO, | |
| }; | |
| CERT_BIOMETRIC_DATA :: struct { | |
| dwTypeOfBiometricDataChoice : u32, | |
| u : struct #raw_union { | |
| dwPredefined : u32, | |
| pszObjId : LPSTR, | |
| }, | |
| HashedUrl : CERT_HASHED_URL, | |
| }; | |
| PCERT_BIOMETRIC_DATA :: ^struct { | |
| dwTypeOfBiometricDataChoice : u32, | |
| u : struct #raw_union { | |
| dwPredefined : u32, | |
| pszObjId : LPSTR, | |
| }, | |
| HashedUrl : CERT_HASHED_URL, | |
| }; | |
| CERT_BIOMETRIC_EXT_INFO :: struct { | |
| cBiometricData : u32, | |
| rgBiometricData : PCERT_BIOMETRIC_DATA, | |
| }; | |
| PCERT_BIOMETRIC_EXT_INFO :: ^struct { | |
| cBiometricData : u32, | |
| rgBiometricData : PCERT_BIOMETRIC_DATA, | |
| }; | |
| OCSP_SIGNATURE_INFO :: struct { | |
| SignatureAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Signature : CRYPT_BIT_BLOB, | |
| cCertEncoded : u32, | |
| rgCertEncoded : PCERT_BLOB, | |
| }; | |
| POCSP_SIGNATURE_INFO :: ^struct { | |
| SignatureAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| Signature : CRYPT_BIT_BLOB, | |
| cCertEncoded : u32, | |
| rgCertEncoded : PCERT_BLOB, | |
| }; | |
| OCSP_SIGNED_REQUEST_INFO :: struct { | |
| ToBeSigned : CRYPT_DER_BLOB, | |
| pOptionalSignatureInfo : POCSP_SIGNATURE_INFO, | |
| }; | |
| POCSP_SIGNED_REQUEST_INFO :: ^struct { | |
| ToBeSigned : CRYPT_DER_BLOB, | |
| pOptionalSignatureInfo : POCSP_SIGNATURE_INFO, | |
| }; | |
| OCSP_CERT_ID :: struct { | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| IssuerNameHash : CRYPT_HASH_BLOB, | |
| IssuerKeyHash : CRYPT_HASH_BLOB, | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| }; | |
| POCSP_CERT_ID :: ^struct { | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| IssuerNameHash : CRYPT_HASH_BLOB, | |
| IssuerKeyHash : CRYPT_HASH_BLOB, | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| }; | |
| OCSP_REQUEST_ENTRY :: struct { | |
| CertId : OCSP_CERT_ID, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| POCSP_REQUEST_ENTRY :: ^struct { | |
| CertId : OCSP_CERT_ID, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| OCSP_REQUEST_INFO :: struct { | |
| dwVersion : u32, | |
| pRequestorName : PCERT_ALT_NAME_ENTRY, | |
| cRequestEntry : u32, | |
| rgRequestEntry : POCSP_REQUEST_ENTRY, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| POCSP_REQUEST_INFO :: ^struct { | |
| dwVersion : u32, | |
| pRequestorName : PCERT_ALT_NAME_ENTRY, | |
| cRequestEntry : u32, | |
| rgRequestEntry : POCSP_REQUEST_ENTRY, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| OCSP_RESPONSE_INFO :: struct { | |
| dwStatus : u32, | |
| pszObjId : LPSTR, | |
| Value : CRYPT_OBJID_BLOB, | |
| }; | |
| POCSP_RESPONSE_INFO :: ^struct { | |
| dwStatus : u32, | |
| pszObjId : LPSTR, | |
| Value : CRYPT_OBJID_BLOB, | |
| }; | |
| OCSP_BASIC_SIGNED_RESPONSE_INFO :: struct { | |
| ToBeSigned : CRYPT_DER_BLOB, | |
| SignatureInfo : OCSP_SIGNATURE_INFO, | |
| }; | |
| POCSP_BASIC_SIGNED_RESPONSE_INFO :: ^struct { | |
| ToBeSigned : CRYPT_DER_BLOB, | |
| SignatureInfo : OCSP_SIGNATURE_INFO, | |
| }; | |
| OCSP_BASIC_REVOKED_INFO :: struct { | |
| RevocationDate : FILETIME, | |
| dwCrlReasonCode : u32, | |
| }; | |
| POCSP_BASIC_REVOKED_INFO :: ^struct { | |
| RevocationDate : FILETIME, | |
| dwCrlReasonCode : u32, | |
| }; | |
| OCSP_BASIC_RESPONSE_ENTRY :: struct { | |
| CertId : OCSP_CERT_ID, | |
| dwCertStatus : u32, | |
| u : struct #raw_union { | |
| pRevokedInfo : POCSP_BASIC_REVOKED_INFO, | |
| }, | |
| ThisUpdate : FILETIME, | |
| NextUpdate : FILETIME, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| POCSP_BASIC_RESPONSE_ENTRY :: ^struct { | |
| CertId : OCSP_CERT_ID, | |
| dwCertStatus : u32, | |
| u : struct #raw_union { | |
| pRevokedInfo : POCSP_BASIC_REVOKED_INFO, | |
| }, | |
| ThisUpdate : FILETIME, | |
| NextUpdate : FILETIME, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| OCSP_BASIC_RESPONSE_INFO :: struct { | |
| dwVersion : u32, | |
| dwResponderIdChoice : u32, | |
| u : struct #raw_union { | |
| ByNameResponderId : CERT_NAME_BLOB, | |
| ByKeyResponderId : CRYPT_HASH_BLOB, | |
| }, | |
| ProducedAt : FILETIME, | |
| cResponseEntry : u32, | |
| rgResponseEntry : POCSP_BASIC_RESPONSE_ENTRY, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| POCSP_BASIC_RESPONSE_INFO :: ^struct { | |
| dwVersion : u32, | |
| dwResponderIdChoice : u32, | |
| u : struct #raw_union { | |
| ByNameResponderId : CERT_NAME_BLOB, | |
| ByKeyResponderId : CRYPT_HASH_BLOB, | |
| }, | |
| ProducedAt : FILETIME, | |
| cResponseEntry : u32, | |
| rgResponseEntry : POCSP_BASIC_RESPONSE_ENTRY, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| CERT_SUPPORTED_ALGORITHM_INFO :: struct { | |
| Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| IntendedKeyUsage : CRYPT_BIT_BLOB, | |
| IntendedCertPolicies : CERT_POLICIES_INFO, | |
| }; | |
| PCERT_SUPPORTED_ALGORITHM_INFO :: ^struct { | |
| Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| IntendedKeyUsage : CRYPT_BIT_BLOB, | |
| IntendedCertPolicies : CERT_POLICIES_INFO, | |
| }; | |
| CERT_TPM_SPECIFICATION_INFO :: struct { | |
| pwszFamily : LPWSTR, | |
| dwLevel : u32, | |
| dwRevision : u32, | |
| }; | |
| PCERT_TPM_SPECIFICATION_INFO :: ^struct { | |
| pwszFamily : LPWSTR, | |
| dwLevel : u32, | |
| dwRevision : u32, | |
| }; | |
| HCRYPTOIDFUNCSET :: rawptr; | |
| HCRYPTOIDFUNCADDR :: rawptr; | |
| CRYPT_OID_FUNC_ENTRY :: struct { | |
| pszOID : LPCSTR, | |
| pvFuncAddr : rawptr, | |
| }; | |
| PCRYPT_OID_FUNC_ENTRY :: ^struct { | |
| pszOID : LPCSTR, | |
| pvFuncAddr : rawptr, | |
| }; | |
| PFN_CRYPT_ENUM_OID_FUNC :: (proc(dwEncodingType : u32, pszFuncName : LPCSTR, pszOID : LPCSTR, cValue : u32, rgdwValueType : []u32, rgpwszValueName : []LPCWSTR, rgpbValueData : []^BYTE, rgcbValueData : []u32, pvArg : rawptr) -> BOOL); | |
| CRYPT_OID_INFO :: struct { | |
| cbSize : u32, | |
| pszOID : LPCSTR, | |
| pwszName : LPCWSTR, | |
| dwGroupId : u32, | |
| u : struct #raw_union { | |
| dwValue : u32, | |
| Algid : ALG_ID, | |
| dwLength : u32, | |
| }, | |
| ExtraInfo : CRYPT_DATA_BLOB, | |
| }; | |
| PCRYPT_OID_INFO :: ^struct { | |
| cbSize : u32, | |
| pszOID : LPCSTR, | |
| pwszName : LPCWSTR, | |
| dwGroupId : u32, | |
| u : struct #raw_union { | |
| dwValue : u32, | |
| Algid : ALG_ID, | |
| dwLength : u32, | |
| }, | |
| ExtraInfo : CRYPT_DATA_BLOB, | |
| }; | |
| CCRYPT_OID_INFO :: CRYPT_OID_INFO; | |
| PCCRYPT_OID_INFO :: ^CRYPT_OID_INFO; | |
| PFN_CRYPT_ENUM_OID_INFO :: (proc(pInfo : PCCRYPT_OID_INFO, pvArg : rawptr) -> BOOL); | |
| CERT_STRONG_SIGN_SERIALIZED_INFO :: struct { | |
| dwFlags : u32, | |
| pwszCNGSignHashAlgids : LPWSTR, | |
| pwszCNGPubKeyMinBitLengths : LPWSTR, | |
| }; | |
| PCERT_STRONG_SIGN_SERIALIZED_INFO :: ^struct { | |
| dwFlags : u32, | |
| pwszCNGSignHashAlgids : LPWSTR, | |
| pwszCNGPubKeyMinBitLengths : LPWSTR, | |
| }; | |
| CERT_STRONG_SIGN_PARA :: struct { | |
| cbSize : u32, | |
| dwInfoChoice : u32, | |
| u : struct #raw_union { | |
| pvInfo : rawptr, | |
| pSerializedInfo : PCERT_STRONG_SIGN_SERIALIZED_INFO, | |
| pszOID : LPSTR, | |
| }, | |
| }; | |
| PCERT_STRONG_SIGN_PARA :: ^struct { | |
| cbSize : u32, | |
| dwInfoChoice : u32, | |
| u : struct #raw_union { | |
| pvInfo : rawptr, | |
| pSerializedInfo : PCERT_STRONG_SIGN_SERIALIZED_INFO, | |
| pszOID : LPSTR, | |
| }, | |
| }; | |
| PCCERT_STRONG_SIGN_PARA :: ^CERT_STRONG_SIGN_PARA; | |
| HCRYPTMSG :: rawptr; | |
| CERT_ISSUER_SERIAL_NUMBER :: struct { | |
| Issuer : CERT_NAME_BLOB, | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| }; | |
| PCERT_ISSUER_SERIAL_NUMBER :: ^struct { | |
| Issuer : CERT_NAME_BLOB, | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| }; | |
| CERT_ID :: struct { | |
| dwIdChoice : u32, | |
| u : struct #raw_union { | |
| IssuerSerialNumber : CERT_ISSUER_SERIAL_NUMBER, | |
| KeyId : CRYPT_HASH_BLOB, | |
| HashId : CRYPT_HASH_BLOB, | |
| }, | |
| }; | |
| PCERT_ID :: ^struct { | |
| dwIdChoice : u32, | |
| u : struct #raw_union { | |
| IssuerSerialNumber : CERT_ISSUER_SERIAL_NUMBER, | |
| KeyId : CRYPT_HASH_BLOB, | |
| HashId : CRYPT_HASH_BLOB, | |
| }, | |
| }; | |
| CMSG_SIGNER_ENCODE_INFO :: struct { | |
| cbSize : u32, | |
| pCertInfo : PCERT_INFO, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvHashAuxInfo : rawptr, | |
| cAuthAttr : u32, | |
| rgAuthAttr : PCRYPT_ATTRIBUTE, | |
| cUnauthAttr : u32, | |
| rgUnauthAttr : PCRYPT_ATTRIBUTE, | |
| }; | |
| PCMSG_SIGNER_ENCODE_INFO :: ^struct { | |
| cbSize : u32, | |
| pCertInfo : PCERT_INFO, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvHashAuxInfo : rawptr, | |
| cAuthAttr : u32, | |
| rgAuthAttr : PCRYPT_ATTRIBUTE, | |
| cUnauthAttr : u32, | |
| rgUnauthAttr : PCRYPT_ATTRIBUTE, | |
| }; | |
| CMSG_SIGNED_ENCODE_INFO :: struct { | |
| cbSize : u32, | |
| cSigners : u32, | |
| rgSigners : PCMSG_SIGNER_ENCODE_INFO, | |
| cCertEncoded : u32, | |
| rgCertEncoded : PCERT_BLOB, | |
| cCrlEncoded : u32, | |
| rgCrlEncoded : PCRL_BLOB, | |
| }; | |
| PCMSG_SIGNED_ENCODE_INFO :: ^struct { | |
| cbSize : u32, | |
| cSigners : u32, | |
| rgSigners : PCMSG_SIGNER_ENCODE_INFO, | |
| cCertEncoded : u32, | |
| rgCertEncoded : PCERT_BLOB, | |
| cCrlEncoded : u32, | |
| rgCrlEncoded : PCRL_BLOB, | |
| }; | |
| CMSG_RECIPIENT_ENCODE_INFO :: struct {}; | |
| PCMSG_RECIPIENT_ENCODE_INFO :: ^CMSG_RECIPIENT_ENCODE_INFO; | |
| CMSG_ENVELOPED_ENCODE_INFO :: struct { | |
| cbSize : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvEncryptionAuxInfo : rawptr, | |
| cRecipients : u32, | |
| rgpRecipients : ^PCERT_INFO, | |
| }; | |
| PCMSG_ENVELOPED_ENCODE_INFO :: ^struct { | |
| cbSize : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvEncryptionAuxInfo : rawptr, | |
| cRecipients : u32, | |
| rgpRecipients : ^PCERT_INFO, | |
| }; | |
| CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO :: struct { | |
| cbSize : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvKeyEncryptionAuxInfo : rawptr, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| RecipientPublicKey : CRYPT_BIT_BLOB, | |
| RecipientId : CERT_ID, | |
| }; | |
| PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO :: ^struct { | |
| cbSize : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvKeyEncryptionAuxInfo : rawptr, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| RecipientPublicKey : CRYPT_BIT_BLOB, | |
| RecipientId : CERT_ID, | |
| }; | |
| CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO :: struct { | |
| cbSize : u32, | |
| RecipientPublicKey : CRYPT_BIT_BLOB, | |
| RecipientId : CERT_ID, | |
| Date : FILETIME, | |
| pOtherAttr : PCRYPT_ATTRIBUTE_TYPE_VALUE, | |
| }; | |
| PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO :: ^struct { | |
| cbSize : u32, | |
| RecipientPublicKey : CRYPT_BIT_BLOB, | |
| RecipientId : CERT_ID, | |
| Date : FILETIME, | |
| pOtherAttr : PCRYPT_ATTRIBUTE_TYPE_VALUE, | |
| }; | |
| CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO :: struct { | |
| cbSize : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvKeyEncryptionAuxInfo : rawptr, | |
| KeyWrapAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvKeyWrapAuxInfo : rawptr, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| dwKeySpec : u32, | |
| dwKeyChoice : u32, | |
| u : struct #raw_union { | |
| pEphemeralAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, | |
| pSenderId : PCERT_ID, | |
| }, | |
| UserKeyingMaterial : CRYPT_DATA_BLOB, | |
| cRecipientEncryptedKeys : u32, | |
| rgpRecipientEncryptedKeys : ^PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO, | |
| }; | |
| PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO :: ^struct { | |
| cbSize : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvKeyEncryptionAuxInfo : rawptr, | |
| KeyWrapAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvKeyWrapAuxInfo : rawptr, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| dwKeySpec : u32, | |
| dwKeyChoice : u32, | |
| u : struct #raw_union { | |
| pEphemeralAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, | |
| pSenderId : PCERT_ID, | |
| }, | |
| UserKeyingMaterial : CRYPT_DATA_BLOB, | |
| cRecipientEncryptedKeys : u32, | |
| rgpRecipientEncryptedKeys : ^PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO, | |
| }; | |
| CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO :: struct { | |
| cbSize : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvKeyEncryptionAuxInfo : rawptr, | |
| hCryptProv : HCRYPTPROV, | |
| dwKeyChoice : u32, | |
| u : struct #raw_union { | |
| hKeyEncryptionKey : HCRYPTKEY, | |
| pvKeyEncryptionKey : rawptr, | |
| }, | |
| KeyId : CRYPT_DATA_BLOB, | |
| Date : FILETIME, | |
| pOtherAttr : PCRYPT_ATTRIBUTE_TYPE_VALUE, | |
| }; | |
| PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO :: ^struct { | |
| cbSize : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvKeyEncryptionAuxInfo : rawptr, | |
| hCryptProv : HCRYPTPROV, | |
| dwKeyChoice : u32, | |
| u : struct #raw_union { | |
| hKeyEncryptionKey : HCRYPTKEY, | |
| pvKeyEncryptionKey : rawptr, | |
| }, | |
| KeyId : CRYPT_DATA_BLOB, | |
| Date : FILETIME, | |
| pOtherAttr : PCRYPT_ATTRIBUTE_TYPE_VALUE, | |
| }; | |
| CMSG_RECIPIENT_ENCODE_INFO :: struct { | |
| dwRecipientChoice : u32, | |
| u : struct #raw_union { | |
| pKeyTrans : PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, | |
| pKeyAgree : PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, | |
| pMailList : PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, | |
| }, | |
| }; | |
| CMSG_RC2_AUX_INFO :: struct { | |
| cbSize : u32, | |
| dwBitLen : u32, | |
| }; | |
| PCMSG_RC2_AUX_INFO :: ^struct { | |
| cbSize : u32, | |
| dwBitLen : u32, | |
| }; | |
| CMSG_SP3_COMPATIBLE_AUX_INFO :: struct { | |
| cbSize : u32, | |
| dwFlags : u32, | |
| }; | |
| PCMSG_SP3_COMPATIBLE_AUX_INFO :: ^struct { | |
| cbSize : u32, | |
| dwFlags : u32, | |
| }; | |
| CMSG_RC4_AUX_INFO :: struct { | |
| cbSize : u32, | |
| dwBitLen : u32, | |
| }; | |
| PCMSG_RC4_AUX_INFO :: ^struct { | |
| cbSize : u32, | |
| dwBitLen : u32, | |
| }; | |
| CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO :: struct { | |
| cbSize : u32, | |
| SignedInfo : CMSG_SIGNED_ENCODE_INFO, | |
| EnvelopedInfo : CMSG_ENVELOPED_ENCODE_INFO, | |
| }; | |
| PCMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO :: ^struct { | |
| cbSize : u32, | |
| SignedInfo : CMSG_SIGNED_ENCODE_INFO, | |
| EnvelopedInfo : CMSG_ENVELOPED_ENCODE_INFO, | |
| }; | |
| CMSG_HASHED_ENCODE_INFO :: struct { | |
| cbSize : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvHashAuxInfo : rawptr, | |
| }; | |
| PCMSG_HASHED_ENCODE_INFO :: ^struct { | |
| cbSize : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvHashAuxInfo : rawptr, | |
| }; | |
| CMSG_ENCRYPTED_ENCODE_INFO :: struct { | |
| cbSize : u32, | |
| ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvEncryptionAuxInfo : rawptr, | |
| }; | |
| PCMSG_ENCRYPTED_ENCODE_INFO :: ^struct { | |
| cbSize : u32, | |
| ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvEncryptionAuxInfo : rawptr, | |
| }; | |
| PFN_CMSG_STREAM_OUTPUT :: (proc(pvArg : rawptr, pbData : ^BYTE, cbData : u32, fFinal : BOOL) -> BOOL); | |
| CMSG_STREAM_INFO :: struct { | |
| cbContent : u32, | |
| pfnStreamOutput : PFN_CMSG_STREAM_OUTPUT, | |
| pvArg : rawptr, | |
| }; | |
| PCMSG_STREAM_INFO :: ^struct { | |
| cbContent : u32, | |
| pfnStreamOutput : PFN_CMSG_STREAM_OUTPUT, | |
| pvArg : rawptr, | |
| }; | |
| CMSG_SIGNER_INFO :: struct { | |
| dwVersion : u32, | |
| Issuer : CERT_NAME_BLOB, | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| HashEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedHash : CRYPT_DATA_BLOB, | |
| AuthAttrs : CRYPT_ATTRIBUTES, | |
| UnauthAttrs : CRYPT_ATTRIBUTES, | |
| }; | |
| PCMSG_SIGNER_INFO :: ^struct { | |
| dwVersion : u32, | |
| Issuer : CERT_NAME_BLOB, | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| HashEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedHash : CRYPT_DATA_BLOB, | |
| AuthAttrs : CRYPT_ATTRIBUTES, | |
| UnauthAttrs : CRYPT_ATTRIBUTES, | |
| }; | |
| CMSG_CMS_SIGNER_INFO :: struct { | |
| dwVersion : u32, | |
| SignerId : CERT_ID, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| HashEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedHash : CRYPT_DATA_BLOB, | |
| AuthAttrs : CRYPT_ATTRIBUTES, | |
| UnauthAttrs : CRYPT_ATTRIBUTES, | |
| }; | |
| PCMSG_CMS_SIGNER_INFO :: ^struct { | |
| dwVersion : u32, | |
| SignerId : CERT_ID, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| HashEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedHash : CRYPT_DATA_BLOB, | |
| AuthAttrs : CRYPT_ATTRIBUTES, | |
| UnauthAttrs : CRYPT_ATTRIBUTES, | |
| }; | |
| CMSG_ATTR :: CRYPT_ATTRIBUTES; | |
| PCMSG_ATTR :: ^CRYPT_ATTRIBUTES; | |
| CMSG_KEY_TRANS_RECIPIENT_INFO :: struct { | |
| dwVersion : u32, | |
| RecipientId : CERT_ID, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| }; | |
| PCMSG_KEY_TRANS_RECIPIENT_INFO :: ^struct { | |
| dwVersion : u32, | |
| RecipientId : CERT_ID, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| }; | |
| CMSG_RECIPIENT_ENCRYPTED_KEY_INFO :: struct { | |
| RecipientId : CERT_ID, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| Date : FILETIME, | |
| pOtherAttr : PCRYPT_ATTRIBUTE_TYPE_VALUE, | |
| }; | |
| PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO :: ^struct { | |
| RecipientId : CERT_ID, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| Date : FILETIME, | |
| pOtherAttr : PCRYPT_ATTRIBUTE_TYPE_VALUE, | |
| }; | |
| CMSG_KEY_AGREE_RECIPIENT_INFO :: struct { | |
| dwVersion : u32, | |
| dwOriginatorChoice : u32, | |
| u : struct #raw_union { | |
| OriginatorCertId : CERT_ID, | |
| OriginatorPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
| }, | |
| UserKeyingMaterial : CRYPT_DATA_BLOB, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| cRecipientEncryptedKeys : u32, | |
| rgpRecipientEncryptedKeys : ^PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO, | |
| }; | |
| PCMSG_KEY_AGREE_RECIPIENT_INFO :: ^struct { | |
| dwVersion : u32, | |
| dwOriginatorChoice : u32, | |
| u : struct #raw_union { | |
| OriginatorCertId : CERT_ID, | |
| OriginatorPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
| }, | |
| UserKeyingMaterial : CRYPT_DATA_BLOB, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| cRecipientEncryptedKeys : u32, | |
| rgpRecipientEncryptedKeys : ^PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO, | |
| }; | |
| CMSG_MAIL_LIST_RECIPIENT_INFO :: struct { | |
| dwVersion : u32, | |
| KeyId : CRYPT_DATA_BLOB, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| Date : FILETIME, | |
| pOtherAttr : PCRYPT_ATTRIBUTE_TYPE_VALUE, | |
| }; | |
| PCMSG_MAIL_LIST_RECIPIENT_INFO :: ^struct { | |
| dwVersion : u32, | |
| KeyId : CRYPT_DATA_BLOB, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| Date : FILETIME, | |
| pOtherAttr : PCRYPT_ATTRIBUTE_TYPE_VALUE, | |
| }; | |
| CMSG_CMS_RECIPIENT_INFO :: struct { | |
| dwRecipientChoice : u32, | |
| u : struct #raw_union { | |
| pKeyTrans : PCMSG_KEY_TRANS_RECIPIENT_INFO, | |
| pKeyAgree : PCMSG_KEY_AGREE_RECIPIENT_INFO, | |
| pMailList : PCMSG_MAIL_LIST_RECIPIENT_INFO, | |
| }, | |
| }; | |
| PCMSG_CMS_RECIPIENT_INFO :: ^struct { | |
| dwRecipientChoice : u32, | |
| u : struct #raw_union { | |
| pKeyTrans : PCMSG_KEY_TRANS_RECIPIENT_INFO, | |
| pKeyAgree : PCMSG_KEY_AGREE_RECIPIENT_INFO, | |
| pMailList : PCMSG_MAIL_LIST_RECIPIENT_INFO, | |
| }, | |
| }; | |
| CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA :: struct { | |
| cbSize : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| dwSignerIndex : u32, | |
| dwSignerType : u32, | |
| pvSigner : rawptr, | |
| }; | |
| PCMSG_CTRL_VERIFY_SIGNATURE_EX_PARA :: ^struct { | |
| cbSize : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| dwSignerIndex : u32, | |
| dwSignerType : u32, | |
| pvSigner : rawptr, | |
| }; | |
| CMSG_CTRL_DECRYPT_PARA :: struct { | |
| cbSize : u32, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| dwRecipientIndex : u32, | |
| }; | |
| PCMSG_CTRL_DECRYPT_PARA :: ^struct { | |
| cbSize : u32, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| dwRecipientIndex : u32, | |
| }; | |
| CMSG_CTRL_KEY_TRANS_DECRYPT_PARA :: struct { | |
| cbSize : u32, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| pKeyTrans : PCMSG_KEY_TRANS_RECIPIENT_INFO, | |
| dwRecipientIndex : u32, | |
| }; | |
| PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA :: ^struct { | |
| cbSize : u32, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| pKeyTrans : PCMSG_KEY_TRANS_RECIPIENT_INFO, | |
| dwRecipientIndex : u32, | |
| }; | |
| CMSG_CTRL_KEY_AGREE_DECRYPT_PARA :: struct { | |
| cbSize : u32, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| pKeyAgree : PCMSG_KEY_AGREE_RECIPIENT_INFO, | |
| dwRecipientIndex : u32, | |
| dwRecipientEncryptedKeyIndex : u32, | |
| OriginatorPublicKey : CRYPT_BIT_BLOB, | |
| }; | |
| PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA :: ^struct { | |
| cbSize : u32, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| pKeyAgree : PCMSG_KEY_AGREE_RECIPIENT_INFO, | |
| dwRecipientIndex : u32, | |
| dwRecipientEncryptedKeyIndex : u32, | |
| OriginatorPublicKey : CRYPT_BIT_BLOB, | |
| }; | |
| CMSG_CTRL_MAIL_LIST_DECRYPT_PARA :: struct { | |
| cbSize : u32, | |
| hCryptProv : HCRYPTPROV, | |
| pMailList : PCMSG_MAIL_LIST_RECIPIENT_INFO, | |
| dwRecipientIndex : u32, | |
| dwKeyChoice : u32, | |
| u : struct #raw_union { | |
| hKeyEncryptionKey : HCRYPTKEY, | |
| pvKeyEncryptionKey : rawptr, | |
| }, | |
| }; | |
| PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA :: ^struct { | |
| cbSize : u32, | |
| hCryptProv : HCRYPTPROV, | |
| pMailList : PCMSG_MAIL_LIST_RECIPIENT_INFO, | |
| dwRecipientIndex : u32, | |
| dwKeyChoice : u32, | |
| u : struct #raw_union { | |
| hKeyEncryptionKey : HCRYPTKEY, | |
| pvKeyEncryptionKey : rawptr, | |
| }, | |
| }; | |
| CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA :: struct { | |
| cbSize : u32, | |
| dwSignerIndex : u32, | |
| blob : CRYPT_DATA_BLOB, | |
| }; | |
| PCMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA :: ^struct { | |
| cbSize : u32, | |
| dwSignerIndex : u32, | |
| blob : CRYPT_DATA_BLOB, | |
| }; | |
| CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA :: struct { | |
| cbSize : u32, | |
| dwSignerIndex : u32, | |
| dwUnauthAttrIndex : u32, | |
| }; | |
| PCMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA :: ^struct { | |
| cbSize : u32, | |
| dwSignerIndex : u32, | |
| dwUnauthAttrIndex : u32, | |
| }; | |
| PFN_CMSG_ALLOC :: (proc(cb : uint) -> rawptr); | |
| PFN_CMSG_FREE :: proc(pv : rawptr); | |
| PFN_CMSG_GEN_ENCRYPT_KEY :: (proc(phCryptProv : ^HCRYPTPROV, paiEncrypt : PCRYPT_ALGORITHM_IDENTIFIER, pvEncryptAuxInfo : PVOID, pPublicKeyInfo : PCERT_PUBLIC_KEY_INFO, pfnAlloc : PFN_CMSG_ALLOC, phEncryptKey : ^HCRYPTKEY, ppbEncryptParameters : ^PBYTE, pcbEncryptParameters : PDWORD) -> BOOL); | |
| PFN_CMSG_EXPORT_ENCRYPT_KEY :: (proc(hCryptProv : HCRYPTPROV, hEncryptKey : HCRYPTKEY, pPublicKeyInfo : PCERT_PUBLIC_KEY_INFO, pbData : PBYTE, pcbData : PDWORD) -> BOOL); | |
| PFN_CMSG_IMPORT_ENCRYPT_KEY :: (proc(hCryptProv : HCRYPTPROV, dwKeySpec : u32, paiEncrypt : PCRYPT_ALGORITHM_IDENTIFIER, paiPubKey : PCRYPT_ALGORITHM_IDENTIFIER, pbEncodedKey : PBYTE, cbEncodedKey : u32, phEncryptKey : ^HCRYPTKEY) -> BOOL); | |
| CMSG_CONTENT_ENCRYPT_INFO :: struct { | |
| cbSize : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvEncryptionAuxInfo : rawptr, | |
| cRecipients : u32, | |
| rgCmsRecipients : PCMSG_RECIPIENT_ENCODE_INFO, | |
| pfnAlloc : PFN_CMSG_ALLOC, | |
| pfnFree : PFN_CMSG_FREE, | |
| dwEncryptFlags : u32, | |
| u : struct #raw_union { | |
| hContentEncryptKey : HCRYPTKEY, | |
| hCNGContentEncryptKey : BCRYPT_KEY_HANDLE, | |
| }, | |
| dwFlags : u32, | |
| fCNG : BOOL, | |
| pbCNGContentEncryptKeyObject : ^BYTE, | |
| pbContentEncryptKey : ^BYTE, | |
| cbContentEncryptKey : u32, | |
| }; | |
| PCMSG_CONTENT_ENCRYPT_INFO :: ^struct { | |
| cbSize : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvEncryptionAuxInfo : rawptr, | |
| cRecipients : u32, | |
| rgCmsRecipients : PCMSG_RECIPIENT_ENCODE_INFO, | |
| pfnAlloc : PFN_CMSG_ALLOC, | |
| pfnFree : PFN_CMSG_FREE, | |
| dwEncryptFlags : u32, | |
| u : struct #raw_union { | |
| hContentEncryptKey : HCRYPTKEY, | |
| hCNGContentEncryptKey : BCRYPT_KEY_HANDLE, | |
| }, | |
| dwFlags : u32, | |
| fCNG : BOOL, | |
| pbCNGContentEncryptKeyObject : ^BYTE, | |
| pbContentEncryptKey : ^BYTE, | |
| cbContentEncryptKey : u32, | |
| }; | |
| PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY :: (proc(pContentEncryptInfo : PCMSG_CONTENT_ENCRYPT_INFO, dwFlags : u32, pvReserved : rawptr) -> BOOL); | |
| CMSG_KEY_TRANS_ENCRYPT_INFO :: struct { | |
| cbSize : u32, | |
| dwRecipientIndex : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| dwFlags : u32, | |
| }; | |
| PCMSG_KEY_TRANS_ENCRYPT_INFO :: ^struct { | |
| cbSize : u32, | |
| dwRecipientIndex : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| dwFlags : u32, | |
| }; | |
| PFN_CMSG_EXPORT_KEY_TRANS :: (proc(pContentEncryptInfo : PCMSG_CONTENT_ENCRYPT_INFO, pKeyTransEncodeInfo : PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, pKeyTransEncryptInfo : PCMSG_KEY_TRANS_ENCRYPT_INFO, dwFlags : u32, pvReserved : rawptr) -> BOOL); | |
| CMSG_KEY_AGREE_KEY_ENCRYPT_INFO :: struct { | |
| cbSize : u32, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| }; | |
| PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO :: ^struct { | |
| cbSize : u32, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| }; | |
| CMSG_KEY_AGREE_ENCRYPT_INFO :: struct { | |
| cbSize : u32, | |
| dwRecipientIndex : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| UserKeyingMaterial : CRYPT_DATA_BLOB, | |
| dwOriginatorChoice : u32, | |
| u : struct #raw_union { | |
| OriginatorCertId : CERT_ID, | |
| OriginatorPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
| }, | |
| cKeyAgreeKeyEncryptInfo : u32, | |
| rgpKeyAgreeKeyEncryptInfo : ^PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO, | |
| dwFlags : u32, | |
| }; | |
| PCMSG_KEY_AGREE_ENCRYPT_INFO :: ^struct { | |
| cbSize : u32, | |
| dwRecipientIndex : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| UserKeyingMaterial : CRYPT_DATA_BLOB, | |
| dwOriginatorChoice : u32, | |
| u : struct #raw_union { | |
| OriginatorCertId : CERT_ID, | |
| OriginatorPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
| }, | |
| cKeyAgreeKeyEncryptInfo : u32, | |
| rgpKeyAgreeKeyEncryptInfo : ^PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO, | |
| dwFlags : u32, | |
| }; | |
| PFN_CMSG_EXPORT_KEY_AGREE :: (proc(pContentEncryptInfo : PCMSG_CONTENT_ENCRYPT_INFO, pKeyAgreeEncodeInfo : PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, pKeyAgreeEncryptInfo : PCMSG_KEY_AGREE_ENCRYPT_INFO, dwFlags : u32, pvReserved : rawptr) -> BOOL); | |
| CMSG_MAIL_LIST_ENCRYPT_INFO :: struct { | |
| cbSize : u32, | |
| dwRecipientIndex : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| dwFlags : u32, | |
| }; | |
| PCMSG_MAIL_LIST_ENCRYPT_INFO :: ^struct { | |
| cbSize : u32, | |
| dwRecipientIndex : u32, | |
| KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| EncryptedKey : CRYPT_DATA_BLOB, | |
| dwFlags : u32, | |
| }; | |
| PFN_CMSG_EXPORT_MAIL_LIST :: (proc(pContentEncryptInfo : PCMSG_CONTENT_ENCRYPT_INFO, pMailListEncodeInfo : PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, pMailListEncryptInfo : PCMSG_MAIL_LIST_ENCRYPT_INFO, dwFlags : u32, pvReserved : rawptr) -> BOOL); | |
| PFN_CMSG_IMPORT_KEY_TRANS :: (proc(pContentEncryptionAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, pKeyTransDecryptPara : PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA, dwFlags : u32, pvReserved : rawptr, phContentEncryptKey : ^HCRYPTKEY) -> BOOL); | |
| PFN_CMSG_IMPORT_KEY_AGREE :: (proc(pContentEncryptionAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, pKeyAgreeDecryptPara : PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA, dwFlags : u32, pvReserved : rawptr, phContentEncryptKey : ^HCRYPTKEY) -> BOOL); | |
| PFN_CMSG_IMPORT_MAIL_LIST :: (proc(pContentEncryptionAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, pMailListDecryptPara : PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA, dwFlags : u32, pvReserved : rawptr, phContentEncryptKey : ^HCRYPTKEY) -> BOOL); | |
| CMSG_CNG_CONTENT_DECRYPT_INFO :: struct { | |
| cbSize : u32, | |
| ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pfnAlloc : PFN_CMSG_ALLOC, | |
| pfnFree : PFN_CMSG_FREE, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| pbContentEncryptKey : ^BYTE, | |
| cbContentEncryptKey : u32, | |
| hCNGContentEncryptKey : BCRYPT_KEY_HANDLE, | |
| pbCNGContentEncryptKeyObject : ^BYTE, | |
| }; | |
| PCMSG_CNG_CONTENT_DECRYPT_INFO :: ^struct { | |
| cbSize : u32, | |
| ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pfnAlloc : PFN_CMSG_ALLOC, | |
| pfnFree : PFN_CMSG_FREE, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| pbContentEncryptKey : ^BYTE, | |
| cbContentEncryptKey : u32, | |
| hCNGContentEncryptKey : BCRYPT_KEY_HANDLE, | |
| pbCNGContentEncryptKeyObject : ^BYTE, | |
| }; | |
| PFN_CMSG_CNG_IMPORT_KEY_TRANS :: (proc(pCNGContentDecryptInfo : PCMSG_CNG_CONTENT_DECRYPT_INFO, pKeyTransDecryptPara : PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA, dwFlags : u32, pvReserved : rawptr) -> BOOL); | |
| PFN_CMSG_CNG_IMPORT_KEY_AGREE :: (proc(pCNGContentDecryptInfo : PCMSG_CNG_CONTENT_DECRYPT_INFO, pKeyAgreeDecryptPara : PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA, dwFlags : u32, pvReserved : rawptr) -> BOOL); | |
| PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY :: (proc(pCNGContentDecryptInfo : PCMSG_CNG_CONTENT_DECRYPT_INFO, dwFlags : u32, pvReserved : rawptr) -> BOOL); | |
| HCERTSTORE :: rawptr; | |
| CERT_CONTEXT :: struct { | |
| dwCertEncodingType : u32, | |
| pbCertEncoded : ^BYTE, | |
| cbCertEncoded : u32, | |
| pCertInfo : PCERT_INFO, | |
| hCertStore : HCERTSTORE, | |
| }; | |
| PCERT_CONTEXT :: ^struct { | |
| dwCertEncodingType : u32, | |
| pbCertEncoded : ^BYTE, | |
| cbCertEncoded : u32, | |
| pCertInfo : PCERT_INFO, | |
| hCertStore : HCERTSTORE, | |
| }; | |
| PCCERT_CONTEXT :: ^CERT_CONTEXT; | |
| CRL_CONTEXT :: struct { | |
| dwCertEncodingType : u32, | |
| pbCrlEncoded : ^BYTE, | |
| cbCrlEncoded : u32, | |
| pCrlInfo : PCRL_INFO, | |
| hCertStore : HCERTSTORE, | |
| }; | |
| PCRL_CONTEXT :: ^struct { | |
| dwCertEncodingType : u32, | |
| pbCrlEncoded : ^BYTE, | |
| cbCrlEncoded : u32, | |
| pCrlInfo : PCRL_INFO, | |
| hCertStore : HCERTSTORE, | |
| }; | |
| PCCRL_CONTEXT :: ^CRL_CONTEXT; | |
| CTL_CONTEXT :: struct { | |
| dwMsgAndCertEncodingType : u32, | |
| pbCtlEncoded : ^BYTE, | |
| cbCtlEncoded : u32, | |
| pCtlInfo : PCTL_INFO, | |
| hCertStore : HCERTSTORE, | |
| hCryptMsg : HCRYPTMSG, | |
| pbCtlContent : ^BYTE, | |
| cbCtlContent : u32, | |
| }; | |
| PCTL_CONTEXT :: ^struct { | |
| dwMsgAndCertEncodingType : u32, | |
| pbCtlEncoded : ^BYTE, | |
| cbCtlEncoded : u32, | |
| pCtlInfo : PCTL_INFO, | |
| hCertStore : HCERTSTORE, | |
| hCryptMsg : HCRYPTMSG, | |
| pbCtlContent : ^BYTE, | |
| cbCtlContent : u32, | |
| }; | |
| PCCTL_CONTEXT :: ^CTL_CONTEXT; | |
| CertKeyType :: enum { | |
| KeyTypeOther = 0, | |
| KeyTypeVirtualSmartCard = 1, | |
| KeyTypePhysicalSmartCard = 2, | |
| KeyTypePassport = 3, | |
| KeyTypePassportRemote = 4, | |
| KeyTypePassportSmartCard = 5, | |
| KeyTypeHardware = 6, | |
| KeyTypeSoftware = 7, | |
| KeyTypeSelfSigned = 8, | |
| }; | |
| CRYPT_KEY_PROV_PARAM :: struct { | |
| dwParam : u32, | |
| pbData : ^BYTE, | |
| cbData : u32, | |
| dwFlags : u32, | |
| }; | |
| PCRYPT_KEY_PROV_PARAM :: ^struct { | |
| dwParam : u32, | |
| pbData : ^BYTE, | |
| cbData : u32, | |
| dwFlags : u32, | |
| }; | |
| CRYPT_KEY_PROV_INFO :: struct { | |
| pwszContainerName : LPWSTR, | |
| pwszProvName : LPWSTR, | |
| dwProvType : u32, | |
| dwFlags : u32, | |
| cProvParam : u32, | |
| rgProvParam : PCRYPT_KEY_PROV_PARAM, | |
| dwKeySpec : u32, | |
| }; | |
| PCRYPT_KEY_PROV_INFO :: ^struct { | |
| pwszContainerName : LPWSTR, | |
| pwszProvName : LPWSTR, | |
| dwProvType : u32, | |
| dwFlags : u32, | |
| cProvParam : u32, | |
| rgProvParam : PCRYPT_KEY_PROV_PARAM, | |
| dwKeySpec : u32, | |
| }; | |
| CERT_KEY_CONTEXT :: struct { | |
| cbSize : u32, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| }; | |
| PCERT_KEY_CONTEXT :: ^struct { | |
| cbSize : u32, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| }; | |
| ROOT_INFO_LUID :: struct { | |
| LowPart : u32, | |
| HighPart : LONG, | |
| }; | |
| PROOT_INFO_LUID :: ^struct { | |
| LowPart : u32, | |
| HighPart : LONG, | |
| }; | |
| CRYPT_SMART_CARD_ROOT_INFO :: struct { | |
| rgbCardID : [16]BYTE, | |
| luid : ROOT_INFO_LUID, | |
| }; | |
| PCRYPT_SMART_CARD_ROOT_INFO :: ^struct { | |
| rgbCardID : [16]BYTE, | |
| luid : ROOT_INFO_LUID, | |
| }; | |
| CERT_SYSTEM_STORE_RELOCATE_PARA :: struct { | |
| u : struct #raw_union { | |
| hKeyBase : HKEY, | |
| pvBase : rawptr, | |
| }, | |
| u2 : struct #raw_union { | |
| pvSystemStore : rawptr, | |
| pszSystemStore : LPCSTR, | |
| pwszSystemStore : LPCWSTR, | |
| }, | |
| }; | |
| PCERT_SYSTEM_STORE_RELOCATE_PARA :: ^struct { | |
| u : struct #raw_union { | |
| hKeyBase : HKEY, | |
| pvBase : rawptr, | |
| }, | |
| u2 : struct #raw_union { | |
| pvSystemStore : rawptr, | |
| pszSystemStore : LPCSTR, | |
| pwszSystemStore : LPCWSTR, | |
| }, | |
| }; | |
| CERT_REGISTRY_STORE_CLIENT_GPT_PARA :: struct { | |
| hKeyBase : HKEY, | |
| pwszRegPath : LPWSTR, | |
| }; | |
| PCERT_REGISTRY_STORE_CLIENT_GPT_PARA :: ^struct { | |
| hKeyBase : HKEY, | |
| pwszRegPath : LPWSTR, | |
| }; | |
| CERT_REGISTRY_STORE_ROAMING_PARA :: struct { | |
| hKey : HKEY, | |
| pwszStoreDirectory : LPWSTR, | |
| }; | |
| PCERT_REGISTRY_STORE_ROAMING_PARA :: ^struct { | |
| hKey : HKEY, | |
| pwszStoreDirectory : LPWSTR, | |
| }; | |
| CERT_LDAP_STORE_OPENED_PARA :: struct { | |
| pvLdapSessionHandle : rawptr, | |
| pwszLdapUrl : LPCWSTR, | |
| }; | |
| PCERT_LDAP_STORE_OPENED_PARA :: ^struct { | |
| pvLdapSessionHandle : rawptr, | |
| pwszLdapUrl : LPCWSTR, | |
| }; | |
| HCERTSTOREPROV :: rawptr; | |
| CERT_STORE_PROV_INFO :: struct { | |
| cbSize : u32, | |
| cStoreProvFunc : u32, | |
| rgpvStoreProvFunc : ^rawptr, | |
| hStoreProv : HCERTSTOREPROV, | |
| dwStoreProvFlags : u32, | |
| hStoreProvFuncAddr2 : HCRYPTOIDFUNCADDR, | |
| }; | |
| PCERT_STORE_PROV_INFO :: ^struct { | |
| cbSize : u32, | |
| cStoreProvFunc : u32, | |
| rgpvStoreProvFunc : ^rawptr, | |
| hStoreProv : HCERTSTOREPROV, | |
| dwStoreProvFlags : u32, | |
| hStoreProvFuncAddr2 : HCRYPTOIDFUNCADDR, | |
| }; | |
| PFN_CERT_DLL_OPEN_STORE_PROV_FUNC :: (proc(lpszStoreProvider : LPCSTR, dwEncodingType : u32, hCryptProv : HCRYPTPROV_LEGACY, dwFlags : u32, pvPara : rawptr, hCertStore : HCERTSTORE, pStoreProvInfo : PCERT_STORE_PROV_INFO) -> BOOL); | |
| PFN_CERT_STORE_PROV_CLOSE :: proc(hStoreProv : HCERTSTOREPROV, dwFlags : u32); | |
| PFN_CERT_STORE_PROV_READ_CERT :: (proc(hStoreProv : HCERTSTOREPROV, pStoreCertContext : PCCERT_CONTEXT, dwFlags : u32, ppProvCertContext : ^PCCERT_CONTEXT) -> BOOL); | |
| PFN_CERT_STORE_PROV_WRITE_CERT :: (proc(hStoreProv : HCERTSTOREPROV, pCertContext : PCCERT_CONTEXT, dwFlags : u32) -> BOOL); | |
| PFN_CERT_STORE_PROV_DELETE_CERT :: (proc(hStoreProv : HCERTSTOREPROV, pCertContext : PCCERT_CONTEXT, dwFlags : u32) -> BOOL); | |
| PFN_CERT_STORE_PROV_SET_CERT_PROPERTY :: (proc(hStoreProv : HCERTSTOREPROV, pCertContext : PCCERT_CONTEXT, dwPropId : u32, dwFlags : u32, pvData : rawptr) -> BOOL); | |
| PFN_CERT_STORE_PROV_READ_CRL :: (proc(hStoreProv : HCERTSTOREPROV, pStoreCrlContext : PCCRL_CONTEXT, dwFlags : u32, ppProvCrlContext : ^PCCRL_CONTEXT) -> BOOL); | |
| PFN_CERT_STORE_PROV_WRITE_CRL :: (proc(hStoreProv : HCERTSTOREPROV, pCrlContext : PCCRL_CONTEXT, dwFlags : u32) -> BOOL); | |
| PFN_CERT_STORE_PROV_DELETE_CRL :: (proc(hStoreProv : HCERTSTOREPROV, pCrlContext : PCCRL_CONTEXT, dwFlags : u32) -> BOOL); | |
| PFN_CERT_STORE_PROV_SET_CRL_PROPERTY :: (proc(hStoreProv : HCERTSTOREPROV, pCrlContext : PCCRL_CONTEXT, dwPropId : u32, dwFlags : u32, pvData : rawptr) -> BOOL); | |
| PFN_CERT_STORE_PROV_READ_CTL :: (proc(hStoreProv : HCERTSTOREPROV, pStoreCtlContext : PCCTL_CONTEXT, dwFlags : u32, ppProvCtlContext : ^PCCTL_CONTEXT) -> BOOL); | |
| PFN_CERT_STORE_PROV_WRITE_CTL :: (proc(hStoreProv : HCERTSTOREPROV, pCtlContext : PCCTL_CONTEXT, dwFlags : u32) -> BOOL); | |
| PFN_CERT_STORE_PROV_DELETE_CTL :: (proc(hStoreProv : HCERTSTOREPROV, pCtlContext : PCCTL_CONTEXT, dwFlags : u32) -> BOOL); | |
| PFN_CERT_STORE_PROV_SET_CTL_PROPERTY :: (proc(hStoreProv : HCERTSTOREPROV, pCtlContext : PCCTL_CONTEXT, dwPropId : u32, dwFlags : u32, pvData : rawptr) -> BOOL); | |
| PFN_CERT_STORE_PROV_CONTROL :: (proc(hStoreProv : HCERTSTOREPROV, dwFlags : u32, dwCtrlType : u32, pvCtrlPara : ^void) -> BOOL); | |
| CERT_STORE_PROV_FIND_INFO :: struct { | |
| cbSize : u32, | |
| dwMsgAndCertEncodingType : u32, | |
| dwFindFlags : u32, | |
| dwFindType : u32, | |
| pvFindPara : rawptr, | |
| }; | |
| PCERT_STORE_PROV_FIND_INFO :: ^struct { | |
| cbSize : u32, | |
| dwMsgAndCertEncodingType : u32, | |
| dwFindFlags : u32, | |
| dwFindType : u32, | |
| pvFindPara : rawptr, | |
| }; | |
| CCERT_STORE_PROV_FIND_INFO :: CERT_STORE_PROV_FIND_INFO; | |
| PCCERT_STORE_PROV_FIND_INFO :: ^CERT_STORE_PROV_FIND_INFO; | |
| PFN_CERT_STORE_PROV_FIND_CERT :: (proc(hStoreProv : HCERTSTOREPROV, pFindInfo : PCCERT_STORE_PROV_FIND_INFO, pPrevCertContext : PCCERT_CONTEXT, dwFlags : u32, ppvStoreProvFindInfo : ^rawptr, ppProvCertContext : ^PCCERT_CONTEXT) -> BOOL); | |
| PFN_CERT_STORE_PROV_FREE_FIND_CERT :: (proc(hStoreProv : HCERTSTOREPROV, pCertContext : PCCERT_CONTEXT, pvStoreProvFindInfo : rawptr, dwFlags : u32) -> BOOL); | |
| PFN_CERT_STORE_PROV_GET_CERT_PROPERTY :: (proc(hStoreProv : HCERTSTOREPROV, pCertContext : PCCERT_CONTEXT, dwPropId : u32, dwFlags : u32, pvData : rawptr, pcbData : ^u32) -> BOOL); | |
| PFN_CERT_STORE_PROV_FIND_CRL :: (proc(hStoreProv : HCERTSTOREPROV, pFindInfo : PCCERT_STORE_PROV_FIND_INFO, pPrevCrlContext : PCCRL_CONTEXT, dwFlags : u32, ppvStoreProvFindInfo : ^rawptr, ppProvCrlContext : ^PCCRL_CONTEXT) -> BOOL); | |
| PFN_CERT_STORE_PROV_FREE_FIND_CRL :: (proc(hStoreProv : HCERTSTOREPROV, pCrlContext : PCCRL_CONTEXT, pvStoreProvFindInfo : rawptr, dwFlags : u32) -> BOOL); | |
| PFN_CERT_STORE_PROV_GET_CRL_PROPERTY :: (proc(hStoreProv : HCERTSTOREPROV, pCrlContext : PCCRL_CONTEXT, dwPropId : u32, dwFlags : u32, pvData : rawptr, pcbData : ^u32) -> BOOL); | |
| PFN_CERT_STORE_PROV_FIND_CTL :: (proc(hStoreProv : HCERTSTOREPROV, pFindInfo : PCCERT_STORE_PROV_FIND_INFO, pPrevCtlContext : PCCTL_CONTEXT, dwFlags : u32, ppvStoreProvFindInfo : ^rawptr, ppProvCtlContext : ^PCCTL_CONTEXT) -> BOOL); | |
| PFN_CERT_STORE_PROV_FREE_FIND_CTL :: (proc(hStoreProv : HCERTSTOREPROV, pCtlContext : PCCTL_CONTEXT, pvStoreProvFindInfo : rawptr, dwFlags : u32) -> BOOL); | |
| PFN_CERT_STORE_PROV_GET_CTL_PROPERTY :: (proc(hStoreProv : HCERTSTOREPROV, pCtlContext : PCCTL_CONTEXT, dwPropId : u32, dwFlags : u32, pvData : rawptr, pcbData : ^u32) -> BOOL); | |
| CRL_FIND_ISSUED_FOR_PARA :: struct { | |
| pSubjectCert : PCCERT_CONTEXT, | |
| pIssuerCert : PCCERT_CONTEXT, | |
| }; | |
| PCRL_FIND_ISSUED_FOR_PARA :: ^struct { | |
| pSubjectCert : PCCERT_CONTEXT, | |
| pIssuerCert : PCCERT_CONTEXT, | |
| }; | |
| CTL_ANY_SUBJECT_INFO :: struct { | |
| SubjectAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| SubjectIdentifier : CRYPT_DATA_BLOB, | |
| }; | |
| PCTL_ANY_SUBJECT_INFO :: ^struct { | |
| SubjectAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| SubjectIdentifier : CRYPT_DATA_BLOB, | |
| }; | |
| CTL_FIND_USAGE_PARA :: struct { | |
| cbSize : u32, | |
| SubjectUsage : CTL_USAGE, | |
| ListIdentifier : CRYPT_DATA_BLOB, | |
| pSigner : PCERT_INFO, | |
| }; | |
| PCTL_FIND_USAGE_PARA :: ^struct { | |
| cbSize : u32, | |
| SubjectUsage : CTL_USAGE, | |
| ListIdentifier : CRYPT_DATA_BLOB, | |
| pSigner : PCERT_INFO, | |
| }; | |
| CTL_FIND_SUBJECT_PARA :: struct { | |
| cbSize : u32, | |
| pUsagePara : PCTL_FIND_USAGE_PARA, | |
| dwSubjectType : u32, | |
| pvSubject : rawptr, | |
| }; | |
| PCTL_FIND_SUBJECT_PARA :: ^struct { | |
| cbSize : u32, | |
| pUsagePara : PCTL_FIND_USAGE_PARA, | |
| dwSubjectType : u32, | |
| pvSubject : rawptr, | |
| }; | |
| PFN_CERT_CREATE_CONTEXT_SORT_FUNC :: (proc(cbTotalEncoded : u32, cbRemainEncoded : u32, cEntry : u32, pvSort : rawptr) -> BOOL); | |
| CERT_CREATE_CONTEXT_PARA :: struct { | |
| cbSize : u32, | |
| pfnFree : PFN_CRYPT_FREE, | |
| pvFree : rawptr, | |
| pfnSort : PFN_CERT_CREATE_CONTEXT_SORT_FUNC, | |
| pvSort : rawptr, | |
| }; | |
| PCERT_CREATE_CONTEXT_PARA :: ^struct { | |
| cbSize : u32, | |
| pfnFree : PFN_CRYPT_FREE, | |
| pvFree : rawptr, | |
| pfnSort : PFN_CERT_CREATE_CONTEXT_SORT_FUNC, | |
| pvSort : rawptr, | |
| }; | |
| CERT_SYSTEM_STORE_INFO :: struct { | |
| cbSize : u32, | |
| }; | |
| PCERT_SYSTEM_STORE_INFO :: ^struct { | |
| cbSize : u32, | |
| }; | |
| CERT_PHYSICAL_STORE_INFO :: struct { | |
| cbSize : u32, | |
| pszOpenStoreProvider : LPSTR, | |
| dwOpenEncodingType : u32, | |
| dwOpenFlags : u32, | |
| OpenParameters : CRYPT_DATA_BLOB, | |
| dwFlags : u32, | |
| dwPriority : u32, | |
| }; | |
| PCERT_PHYSICAL_STORE_INFO :: ^struct { | |
| cbSize : u32, | |
| pszOpenStoreProvider : LPSTR, | |
| dwOpenEncodingType : u32, | |
| dwOpenFlags : u32, | |
| OpenParameters : CRYPT_DATA_BLOB, | |
| dwFlags : u32, | |
| dwPriority : u32, | |
| }; | |
| PFN_CERT_ENUM_SYSTEM_STORE_LOCATION :: (proc(pwszStoreLocation : LPCWSTR, dwFlags : u32, pvReserved : rawptr, pvArg : rawptr) -> BOOL); | |
| PFN_CERT_ENUM_SYSTEM_STORE :: (proc(pvSystemStore : rawptr, dwFlags : u32, pStoreInfo : PCERT_SYSTEM_STORE_INFO, pvReserved : rawptr, pvArg : rawptr) -> BOOL); | |
| PFN_CERT_ENUM_PHYSICAL_STORE :: (proc(pvSystemStore : rawptr, dwFlags : u32, pwszStoreName : LPCWSTR, pStoreInfo : PCERT_PHYSICAL_STORE_INFO, pvReserved : rawptr, pvArg : rawptr) -> BOOL); | |
| CTL_VERIFY_USAGE_PARA :: struct { | |
| cbSize : u32, | |
| ListIdentifier : CRYPT_DATA_BLOB, | |
| cCtlStore : u32, | |
| rghCtlStore : ^HCERTSTORE, | |
| cSignerStore : u32, | |
| rghSignerStore : ^HCERTSTORE, | |
| }; | |
| PCTL_VERIFY_USAGE_PARA :: ^struct { | |
| cbSize : u32, | |
| ListIdentifier : CRYPT_DATA_BLOB, | |
| cCtlStore : u32, | |
| rghCtlStore : ^HCERTSTORE, | |
| cSignerStore : u32, | |
| rghSignerStore : ^HCERTSTORE, | |
| }; | |
| CTL_VERIFY_USAGE_STATUS :: struct { | |
| cbSize : u32, | |
| dwError : u32, | |
| dwFlags : u32, | |
| ppCtl : ^PCCTL_CONTEXT, | |
| dwCtlEntryIndex : u32, | |
| ppSigner : ^PCCERT_CONTEXT, | |
| dwSignerIndex : u32, | |
| }; | |
| PCTL_VERIFY_USAGE_STATUS :: ^struct { | |
| cbSize : u32, | |
| dwError : u32, | |
| dwFlags : u32, | |
| ppCtl : ^PCCTL_CONTEXT, | |
| dwCtlEntryIndex : u32, | |
| ppSigner : ^PCCERT_CONTEXT, | |
| dwSignerIndex : u32, | |
| }; | |
| CERT_REVOCATION_CRL_INFO :: struct { | |
| cbSize : u32, | |
| pBaseCrlContext : PCCRL_CONTEXT, | |
| pDeltaCrlContext : PCCRL_CONTEXT, | |
| pCrlEntry : PCRL_ENTRY, | |
| fDeltaCrlEntry : BOOL, | |
| }; | |
| PCERT_REVOCATION_CRL_INFO :: ^struct { | |
| cbSize : u32, | |
| pBaseCrlContext : PCCRL_CONTEXT, | |
| pDeltaCrlContext : PCCRL_CONTEXT, | |
| pCrlEntry : PCRL_ENTRY, | |
| fDeltaCrlEntry : BOOL, | |
| }; | |
| CERT_REVOCATION_CHAIN_PARA :: struct {}; | |
| PCERT_REVOCATION_CHAIN_PARA :: ^CERT_REVOCATION_CHAIN_PARA; | |
| CERT_REVOCATION_PARA :: struct { | |
| cbSize : u32, | |
| pIssuerCert : PCCERT_CONTEXT, | |
| cCertStore : u32, | |
| rgCertStore : ^HCERTSTORE, | |
| hCrlStore : HCERTSTORE, | |
| pftTimeToUse : LPFILETIME, | |
| }; | |
| PCERT_REVOCATION_PARA :: ^struct { | |
| cbSize : u32, | |
| pIssuerCert : PCCERT_CONTEXT, | |
| cCertStore : u32, | |
| rgCertStore : ^HCERTSTORE, | |
| hCrlStore : HCERTSTORE, | |
| pftTimeToUse : LPFILETIME, | |
| }; | |
| CERT_REVOCATION_STATUS :: struct { | |
| cbSize : u32, | |
| dwIndex : u32, | |
| dwError : u32, | |
| dwReason : u32, | |
| fHasFreshnessTime : BOOL, | |
| dwFreshnessTime : u32, | |
| }; | |
| PCERT_REVOCATION_STATUS :: ^struct { | |
| cbSize : u32, | |
| dwIndex : u32, | |
| dwError : u32, | |
| dwReason : u32, | |
| fHasFreshnessTime : BOOL, | |
| dwFreshnessTime : u32, | |
| }; | |
| CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO :: struct { | |
| CertSignHashCNGAlgPropData : CRYPT_DATA_BLOB, | |
| CertIssuerPubKeyBitLengthPropData : CRYPT_DATA_BLOB, | |
| }; | |
| PCRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO :: ^struct { | |
| CertSignHashCNGAlgPropData : CRYPT_DATA_BLOB, | |
| CertIssuerPubKeyBitLengthPropData : CRYPT_DATA_BLOB, | |
| }; | |
| CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO :: struct { | |
| cCNGHashAlgid : u32, | |
| rgpwszCNGHashAlgid : ^PCWSTR, | |
| dwWeakIndex : u32, | |
| }; | |
| PCRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO :: ^struct { | |
| cCNGHashAlgid : u32, | |
| rgpwszCNGHashAlgid : ^PCWSTR, | |
| dwWeakIndex : u32, | |
| }; | |
| PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC :: (proc(dwCertEncodingType : u32, pSignatureAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, ppvDecodedSignPara : ^rawptr, ppwszCNGHashAlgid : ^LPWSTR) -> BOOL); | |
| PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC :: (proc(hKey : NCRYPT_KEY_HANDLE, dwCertEncodingType : u32, pSignatureAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, pvDecodedSignPara : rawptr, pwszCNGPubKeyAlgid : LPCWSTR, pwszCNGHashAlgid : LPCWSTR, pbComputedHash : ^BYTE, cbComputedHash : u32, pbSignature : ^BYTE, pcbSignature : ^u32) -> BOOL); | |
| PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC :: (proc(dwCertEncodingType : u32, pPubKeyInfo : PCERT_PUBLIC_KEY_INFO, pSignatureAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, pvDecodedSignPara : rawptr, pwszCNGPubKeyAlgid : LPCWSTR, pwszCNGHashAlgid : LPCWSTR, pbComputedHash : ^BYTE, cbComputedHash : u32, pbSignature : ^BYTE, cbSignature : u32) -> BOOL); | |
| HCRYPTDEFAULTCONTEXT :: rawptr; | |
| CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA :: struct { | |
| cOID : u32, | |
| rgpszOID : ^LPSTR, | |
| }; | |
| PCRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA :: ^struct { | |
| cOID : u32, | |
| rgpszOID : ^LPSTR, | |
| }; | |
| PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC :: (proc(hNCryptKey : NCRYPT_KEY_HANDLE, dwCertEncodingType : u32, pszPublicKeyObjId : LPSTR, dwFlags : u32, pvAuxInfo : rawptr, pInfo : PCERT_PUBLIC_KEY_INFO, pcbInfo : ^u32) -> BOOL); | |
| PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC :: (proc(hBCryptKey : BCRYPT_KEY_HANDLE, dwCertEncodingType : u32, pszPublicKeyObjId : LPSTR, dwFlags : u32, pvAuxInfo : rawptr, pInfo : PCERT_PUBLIC_KEY_INFO, pcbInfo : ^u32) -> BOOL); | |
| PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC :: (proc(dwCertEncodingType : u32, pInfo : PCERT_PUBLIC_KEY_INFO, dwFlags : u32, pvAuxInfo : rawptr, phKey : ^BCRYPT_KEY_HANDLE) -> BOOL); | |
| PFN_IMPORT_PRIV_KEY_FUNC :: (proc(hCryptProv : HCRYPTPROV, pPrivateKeyInfo : ^CRYPT_PRIVATE_KEY_INFO, dwFlags : u32, pvAuxInfo : rawptr) -> BOOL); | |
| PFN_EXPORT_PRIV_KEY_FUNC :: (proc(hCryptProv : HCRYPTPROV, dwKeySpec : u32, pszPrivateKeyObjId : LPSTR, dwFlags : u32, pvAuxInfo : rawptr, pPrivateKeyInfo : ^CRYPT_PRIVATE_KEY_INFO, pcbPrivateKeyInfo : ^u32) -> BOOL); | |
| PFN_CRYPT_GET_SIGNER_CERTIFICATE :: (proc(pvGetArg : rawptr, dwCertEncodingType : u32, pSignerId : PCERT_INFO, hMsgCertStore : HCERTSTORE) -> PCCERT_CONTEXT); | |
| CRYPT_SIGN_MESSAGE_PARA :: struct { | |
| cbSize : u32, | |
| dwMsgEncodingType : u32, | |
| pSigningCert : PCCERT_CONTEXT, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvHashAuxInfo : rawptr, | |
| cMsgCert : u32, | |
| rgpMsgCert : ^PCCERT_CONTEXT, | |
| cMsgCrl : u32, | |
| rgpMsgCrl : ^PCCRL_CONTEXT, | |
| cAuthAttr : u32, | |
| rgAuthAttr : PCRYPT_ATTRIBUTE, | |
| cUnauthAttr : u32, | |
| rgUnauthAttr : PCRYPT_ATTRIBUTE, | |
| dwFlags : u32, | |
| dwInnerContentType : u32, | |
| }; | |
| PCRYPT_SIGN_MESSAGE_PARA :: ^struct { | |
| cbSize : u32, | |
| dwMsgEncodingType : u32, | |
| pSigningCert : PCCERT_CONTEXT, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvHashAuxInfo : rawptr, | |
| cMsgCert : u32, | |
| rgpMsgCert : ^PCCERT_CONTEXT, | |
| cMsgCrl : u32, | |
| rgpMsgCrl : ^PCCRL_CONTEXT, | |
| cAuthAttr : u32, | |
| rgAuthAttr : PCRYPT_ATTRIBUTE, | |
| cUnauthAttr : u32, | |
| rgUnauthAttr : PCRYPT_ATTRIBUTE, | |
| dwFlags : u32, | |
| dwInnerContentType : u32, | |
| }; | |
| CRYPT_VERIFY_MESSAGE_PARA :: struct { | |
| cbSize : u32, | |
| dwMsgAndCertEncodingType : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| pfnGetSignerCertificate : PFN_CRYPT_GET_SIGNER_CERTIFICATE, | |
| pvGetArg : rawptr, | |
| }; | |
| PCRYPT_VERIFY_MESSAGE_PARA :: ^struct { | |
| cbSize : u32, | |
| dwMsgAndCertEncodingType : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| pfnGetSignerCertificate : PFN_CRYPT_GET_SIGNER_CERTIFICATE, | |
| pvGetArg : rawptr, | |
| }; | |
| CRYPT_ENCRYPT_MESSAGE_PARA :: struct { | |
| cbSize : u32, | |
| dwMsgEncodingType : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvEncryptionAuxInfo : rawptr, | |
| dwFlags : u32, | |
| dwInnerContentType : u32, | |
| }; | |
| PCRYPT_ENCRYPT_MESSAGE_PARA :: ^struct { | |
| cbSize : u32, | |
| dwMsgEncodingType : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvEncryptionAuxInfo : rawptr, | |
| dwFlags : u32, | |
| dwInnerContentType : u32, | |
| }; | |
| CRYPT_DECRYPT_MESSAGE_PARA :: struct { | |
| cbSize : u32, | |
| dwMsgAndCertEncodingType : u32, | |
| cCertStore : u32, | |
| rghCertStore : ^HCERTSTORE, | |
| }; | |
| PCRYPT_DECRYPT_MESSAGE_PARA :: ^struct { | |
| cbSize : u32, | |
| dwMsgAndCertEncodingType : u32, | |
| cCertStore : u32, | |
| rghCertStore : ^HCERTSTORE, | |
| }; | |
| CRYPT_HASH_MESSAGE_PARA :: struct { | |
| cbSize : u32, | |
| dwMsgEncodingType : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvHashAuxInfo : rawptr, | |
| }; | |
| PCRYPT_HASH_MESSAGE_PARA :: ^struct { | |
| cbSize : u32, | |
| dwMsgEncodingType : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvHashAuxInfo : rawptr, | |
| }; | |
| CRYPT_KEY_SIGN_MESSAGE_PARA :: struct { | |
| cbSize : u32, | |
| dwMsgAndCertEncodingType : u32, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvHashAuxInfo : rawptr, | |
| PubKeyAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| }; | |
| PCRYPT_KEY_SIGN_MESSAGE_PARA :: ^struct { | |
| cbSize : u32, | |
| dwMsgAndCertEncodingType : u32, | |
| u : struct #raw_union { | |
| hCryptProv : HCRYPTPROV, | |
| hNCryptKey : NCRYPT_KEY_HANDLE, | |
| }, | |
| dwKeySpec : u32, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| pvHashAuxInfo : rawptr, | |
| PubKeyAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| }; | |
| CRYPT_KEY_VERIFY_MESSAGE_PARA :: struct { | |
| cbSize : u32, | |
| dwMsgEncodingType : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| }; | |
| PCRYPT_KEY_VERIFY_MESSAGE_PARA :: ^struct { | |
| cbSize : u32, | |
| dwMsgEncodingType : u32, | |
| hCryptProv : HCRYPTPROV_LEGACY, | |
| }; | |
| CERT_CHAIN :: struct { | |
| cCerts : u32, | |
| certs : PCERT_BLOB, | |
| keyLocatorInfo : CRYPT_KEY_PROV_INFO, | |
| }; | |
| PCERT_CHAIN :: ^struct { | |
| cCerts : u32, | |
| certs : PCERT_BLOB, | |
| keyLocatorInfo : CRYPT_KEY_PROV_INFO, | |
| }; | |
| HCRYPTASYNC :: HANDLE; | |
| PHCRYPTASYNC :: ^HANDLE; | |
| PFN_CRYPT_ASYNC_PARAM_FREE_FUNC :: proc(pszParamOid : LPSTR, pvParam : LPVOID); | |
| CRYPT_BLOB_ARRAY :: struct { | |
| cBlob : u32, | |
| rgBlob : PCRYPT_DATA_BLOB, | |
| }; | |
| PCRYPT_BLOB_ARRAY :: ^struct { | |
| cBlob : u32, | |
| rgBlob : PCRYPT_DATA_BLOB, | |
| }; | |
| CRYPT_CREDENTIALS :: struct { | |
| cbSize : u32, | |
| pszCredentialsOid : LPCSTR, | |
| pvCredentials : LPVOID, | |
| }; | |
| PCRYPT_CREDENTIALS :: ^struct { | |
| cbSize : u32, | |
| pszCredentialsOid : LPCSTR, | |
| pvCredentials : LPVOID, | |
| }; | |
| CRYPT_PASSWORD_CREDENTIALSA :: struct { | |
| cbSize : u32, | |
| pszUsername : LPSTR, | |
| pszPassword : LPSTR, | |
| }; | |
| PCRYPT_PASSWORD_CREDENTIALSA :: ^struct { | |
| cbSize : u32, | |
| pszUsername : LPSTR, | |
| pszPassword : LPSTR, | |
| }; | |
| CRYPT_PASSWORD_CREDENTIALSW :: struct { | |
| cbSize : u32, | |
| pszUsername : LPWSTR, | |
| pszPassword : LPWSTR, | |
| }; | |
| PCRYPT_PASSWORD_CREDENTIALSW :: ^struct { | |
| cbSize : u32, | |
| pszUsername : LPWSTR, | |
| pszPassword : LPWSTR, | |
| }; | |
| CRYPT_PASSWORD_CREDENTIALS :: CRYPT_PASSWORD_CREDENTIALSA; | |
| PCRYPT_PASSWORD_CREDENTIALS :: PCRYPT_PASSWORD_CREDENTIALSA; | |
| PFN_FREE_ENCODED_OBJECT_FUNC :: proc(pszObjectOid : LPCSTR, pObject : PCRYPT_BLOB_ARRAY, pvFreeContext : LPVOID); | |
| CRYPTNET_URL_CACHE_PRE_FETCH_INFO :: struct { | |
| cbSize : u32, | |
| dwObjectType : u32, | |
| dwError : u32, | |
| dwReserved : u32, | |
| ThisUpdateTime : FILETIME, | |
| NextUpdateTime : FILETIME, | |
| PublishTime : FILETIME, | |
| }; | |
| PCRYPTNET_URL_CACHE_PRE_FETCH_INFO :: ^struct { | |
| cbSize : u32, | |
| dwObjectType : u32, | |
| dwError : u32, | |
| dwReserved : u32, | |
| ThisUpdateTime : FILETIME, | |
| NextUpdateTime : FILETIME, | |
| PublishTime : FILETIME, | |
| }; | |
| CRYPTNET_URL_CACHE_FLUSH_INFO :: struct { | |
| cbSize : u32, | |
| dwExemptSeconds : u32, | |
| ExpireTime : FILETIME, | |
| }; | |
| PCRYPTNET_URL_CACHE_FLUSH_INFO :: ^struct { | |
| cbSize : u32, | |
| dwExemptSeconds : u32, | |
| ExpireTime : FILETIME, | |
| }; | |
| CRYPTNET_URL_CACHE_RESPONSE_INFO :: struct { | |
| cbSize : u32, | |
| wResponseType : u16, | |
| wResponseFlags : u16, | |
| LastModifiedTime : FILETIME, | |
| dwMaxAge : u32, | |
| pwszETag : LPCWSTR, | |
| dwProxyId : u32, | |
| }; | |
| PCRYPTNET_URL_CACHE_RESPONSE_INFO :: ^struct { | |
| cbSize : u32, | |
| wResponseType : u16, | |
| wResponseFlags : u16, | |
| LastModifiedTime : FILETIME, | |
| dwMaxAge : u32, | |
| pwszETag : LPCWSTR, | |
| dwProxyId : u32, | |
| }; | |
| CRYPT_RETRIEVE_AUX_INFO :: struct { | |
| cbSize : u32, | |
| pLastSyncTime : ^FILETIME, | |
| dwMaxUrlRetrievalByteCount : u32, | |
| pPreFetchInfo : PCRYPTNET_URL_CACHE_PRE_FETCH_INFO, | |
| pFlushInfo : PCRYPTNET_URL_CACHE_FLUSH_INFO, | |
| ppResponseInfo : ^PCRYPTNET_URL_CACHE_RESPONSE_INFO, | |
| pwszCacheFileNamePrefix : LPWSTR, | |
| pftCacheResync : LPFILETIME, | |
| fProxyCacheRetrieval : BOOL, | |
| dwHttpStatusCode : u32, | |
| ppwszErrorResponseHeaders : ^LPWSTR, | |
| ppErrorContentBlob : ^PCRYPT_DATA_BLOB, | |
| }; | |
| PCRYPT_RETRIEVE_AUX_INFO :: ^struct { | |
| cbSize : u32, | |
| pLastSyncTime : ^FILETIME, | |
| dwMaxUrlRetrievalByteCount : u32, | |
| pPreFetchInfo : PCRYPTNET_URL_CACHE_PRE_FETCH_INFO, | |
| pFlushInfo : PCRYPTNET_URL_CACHE_FLUSH_INFO, | |
| ppResponseInfo : ^PCRYPTNET_URL_CACHE_RESPONSE_INFO, | |
| pwszCacheFileNamePrefix : LPWSTR, | |
| pftCacheResync : LPFILETIME, | |
| fProxyCacheRetrieval : BOOL, | |
| dwHttpStatusCode : u32, | |
| ppwszErrorResponseHeaders : ^LPWSTR, | |
| ppErrorContentBlob : ^PCRYPT_DATA_BLOB, | |
| }; | |
| PFN_CRYPT_CANCEL_RETRIEVAL :: (proc(dwFlags : u32, pvArg : rawptr) -> BOOL); | |
| PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC :: proc(pvCompletion : LPVOID, dwCompletionCode : u32, pszUrl : LPCSTR, pszObjectOid : LPSTR, pvObject : LPVOID); | |
| CRYPT_ASYNC_RETRIEVAL_COMPLETION :: struct { | |
| pfnCompletion : PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC, | |
| pvCompletion : LPVOID, | |
| }; | |
| PCRYPT_ASYNC_RETRIEVAL_COMPLETION :: ^struct { | |
| pfnCompletion : PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC, | |
| pvCompletion : LPVOID, | |
| }; | |
| PFN_CANCEL_ASYNC_RETRIEVAL_FUNC :: (proc(hAsyncRetrieve : HCRYPTASYNC) -> BOOL); | |
| CRYPT_URL_ARRAY :: struct { | |
| cUrl : u32, | |
| rgwszUrl : ^LPWSTR, | |
| }; | |
| PCRYPT_URL_ARRAY :: ^struct { | |
| cUrl : u32, | |
| rgwszUrl : ^LPWSTR, | |
| }; | |
| CRYPT_URL_INFO :: struct { | |
| cbSize : u32, | |
| dwSyncDeltaTime : u32, | |
| cGroup : u32, | |
| rgcGroupEntry : ^u32, | |
| }; | |
| PCRYPT_URL_INFO :: ^struct { | |
| cbSize : u32, | |
| dwSyncDeltaTime : u32, | |
| cGroup : u32, | |
| rgcGroupEntry : ^u32, | |
| }; | |
| CERT_CRL_CONTEXT_PAIR :: struct { | |
| pCertContext : PCCERT_CONTEXT, | |
| pCrlContext : PCCRL_CONTEXT, | |
| }; | |
| PCERT_CRL_CONTEXT_PAIR :: ^struct { | |
| pCertContext : PCCERT_CONTEXT, | |
| pCrlContext : PCCRL_CONTEXT, | |
| }; | |
| PCCERT_CRL_CONTEXT_PAIR :: ^CERT_CRL_CONTEXT_PAIR; | |
| CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO :: struct { | |
| cbSize : u32, | |
| iDeltaCrlIndicator : i32, | |
| pftCacheResync : LPFILETIME, | |
| pLastSyncTime : LPFILETIME, | |
| pMaxAgeTime : LPFILETIME, | |
| pChainPara : PCERT_REVOCATION_CHAIN_PARA, | |
| pDeltaCrlIndicator : PCRYPT_INTEGER_BLOB, | |
| }; | |
| PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO :: ^struct { | |
| cbSize : u32, | |
| iDeltaCrlIndicator : i32, | |
| pftCacheResync : LPFILETIME, | |
| pLastSyncTime : LPFILETIME, | |
| pMaxAgeTime : LPFILETIME, | |
| pChainPara : PCERT_REVOCATION_CHAIN_PARA, | |
| pDeltaCrlIndicator : PCRYPT_INTEGER_BLOB, | |
| }; | |
| PFN_CRYPT_ENUM_KEYID_PROP :: (proc(pKeyIdentifier : ^CRYPT_HASH_BLOB, dwFlags : u32, pvReserved : rawptr, pvArg : rawptr, cProp : u32, rgdwPropId : ^u32, rgpvData : ^rawptr, rgcbData : ^u32) -> BOOL); | |
| HCERTCHAINENGINE :: HANDLE; | |
| CERT_CHAIN_ENGINE_CONFIG :: struct { | |
| cbSize : u32, | |
| hRestrictedRoot : HCERTSTORE, | |
| hRestrictedTrust : HCERTSTORE, | |
| hRestrictedOther : HCERTSTORE, | |
| cAdditionalStore : u32, | |
| rghAdditionalStore : ^HCERTSTORE, | |
| dwFlags : u32, | |
| dwUrlRetrievalTimeout : u32, | |
| MaximumCachedCertificates : u32, | |
| CycleDetectionModulus : u32, | |
| hExclusiveRoot : HCERTSTORE, | |
| hExclusiveTrustedPeople : HCERTSTORE, | |
| dwExclusiveFlags : u32, | |
| }; | |
| PCERT_CHAIN_ENGINE_CONFIG :: ^struct { | |
| cbSize : u32, | |
| hRestrictedRoot : HCERTSTORE, | |
| hRestrictedTrust : HCERTSTORE, | |
| hRestrictedOther : HCERTSTORE, | |
| cAdditionalStore : u32, | |
| rghAdditionalStore : ^HCERTSTORE, | |
| dwFlags : u32, | |
| dwUrlRetrievalTimeout : u32, | |
| MaximumCachedCertificates : u32, | |
| CycleDetectionModulus : u32, | |
| hExclusiveRoot : HCERTSTORE, | |
| hExclusiveTrustedPeople : HCERTSTORE, | |
| dwExclusiveFlags : u32, | |
| }; | |
| CERT_TRUST_STATUS :: struct { | |
| dwErrorStatus : u32, | |
| dwInfoStatus : u32, | |
| }; | |
| PCERT_TRUST_STATUS :: ^struct { | |
| dwErrorStatus : u32, | |
| dwInfoStatus : u32, | |
| }; | |
| CERT_REVOCATION_INFO :: struct { | |
| cbSize : u32, | |
| dwRevocationResult : u32, | |
| pszRevocationOid : LPCSTR, | |
| pvOidSpecificInfo : LPVOID, | |
| fHasFreshnessTime : BOOL, | |
| dwFreshnessTime : u32, | |
| pCrlInfo : PCERT_REVOCATION_CRL_INFO, | |
| }; | |
| PCERT_REVOCATION_INFO :: ^struct { | |
| cbSize : u32, | |
| dwRevocationResult : u32, | |
| pszRevocationOid : LPCSTR, | |
| pvOidSpecificInfo : LPVOID, | |
| fHasFreshnessTime : BOOL, | |
| dwFreshnessTime : u32, | |
| pCrlInfo : PCERT_REVOCATION_CRL_INFO, | |
| }; | |
| CERT_TRUST_LIST_INFO :: struct { | |
| cbSize : u32, | |
| pCtlEntry : PCTL_ENTRY, | |
| pCtlContext : PCCTL_CONTEXT, | |
| }; | |
| PCERT_TRUST_LIST_INFO :: ^struct { | |
| cbSize : u32, | |
| pCtlEntry : PCTL_ENTRY, | |
| pCtlContext : PCCTL_CONTEXT, | |
| }; | |
| CERT_CHAIN_ELEMENT :: struct { | |
| cbSize : u32, | |
| pCertContext : PCCERT_CONTEXT, | |
| TrustStatus : CERT_TRUST_STATUS, | |
| pRevocationInfo : PCERT_REVOCATION_INFO, | |
| pIssuanceUsage : PCERT_ENHKEY_USAGE, | |
| pApplicationUsage : PCERT_ENHKEY_USAGE, | |
| pwszExtendedErrorInfo : LPCWSTR, | |
| }; | |
| PCERT_CHAIN_ELEMENT :: ^struct { | |
| cbSize : u32, | |
| pCertContext : PCCERT_CONTEXT, | |
| TrustStatus : CERT_TRUST_STATUS, | |
| pRevocationInfo : PCERT_REVOCATION_INFO, | |
| pIssuanceUsage : PCERT_ENHKEY_USAGE, | |
| pApplicationUsage : PCERT_ENHKEY_USAGE, | |
| pwszExtendedErrorInfo : LPCWSTR, | |
| }; | |
| PCCERT_CHAIN_ELEMENT :: ^CERT_CHAIN_ELEMENT; | |
| CERT_SIMPLE_CHAIN :: struct { | |
| cbSize : u32, | |
| TrustStatus : CERT_TRUST_STATUS, | |
| cElement : u32, | |
| rgpElement : ^PCERT_CHAIN_ELEMENT, | |
| pTrustListInfo : PCERT_TRUST_LIST_INFO, | |
| fHasRevocationFreshnessTime : BOOL, | |
| dwRevocationFreshnessTime : u32, | |
| }; | |
| PCERT_SIMPLE_CHAIN :: ^struct { | |
| cbSize : u32, | |
| TrustStatus : CERT_TRUST_STATUS, | |
| cElement : u32, | |
| rgpElement : ^PCERT_CHAIN_ELEMENT, | |
| pTrustListInfo : PCERT_TRUST_LIST_INFO, | |
| fHasRevocationFreshnessTime : BOOL, | |
| dwRevocationFreshnessTime : u32, | |
| }; | |
| PCCERT_SIMPLE_CHAIN :: ^CERT_SIMPLE_CHAIN; | |
| CERT_CHAIN_CONTEXT :: struct {}; | |
| PCERT_CHAIN_CONTEXT :: ^CERT_CHAIN_CONTEXT; | |
| PCCERT_CHAIN_CONTEXT :: ^CERT_CHAIN_CONTEXT; | |
| CERT_CHAIN_CONTEXT :: struct { | |
| cbSize : u32, | |
| TrustStatus : CERT_TRUST_STATUS, | |
| cChain : u32, | |
| rgpChain : ^PCERT_SIMPLE_CHAIN, | |
| cLowerQualityChainContext : u32, | |
| rgpLowerQualityChainContext : ^PCCERT_CHAIN_CONTEXT, | |
| fHasRevocationFreshnessTime : BOOL, | |
| dwRevocationFreshnessTime : u32, | |
| dwCreateFlags : u32, | |
| ChainId : GUID, | |
| }; | |
| CERT_USAGE_MATCH :: struct { | |
| dwType : u32, | |
| Usage : CERT_ENHKEY_USAGE, | |
| }; | |
| PCERT_USAGE_MATCH :: ^struct { | |
| dwType : u32, | |
| Usage : CERT_ENHKEY_USAGE, | |
| }; | |
| CTL_USAGE_MATCH :: struct { | |
| dwType : u32, | |
| Usage : CTL_USAGE, | |
| }; | |
| PCTL_USAGE_MATCH :: ^struct { | |
| dwType : u32, | |
| Usage : CTL_USAGE, | |
| }; | |
| CERT_CHAIN_PARA :: struct { | |
| cbSize : u32, | |
| RequestedUsage : CERT_USAGE_MATCH, | |
| }; | |
| PCERT_CHAIN_PARA :: ^struct { | |
| cbSize : u32, | |
| RequestedUsage : CERT_USAGE_MATCH, | |
| }; | |
| CERT_REVOCATION_CHAIN_PARA :: struct { | |
| cbSize : u32, | |
| hChainEngine : HCERTCHAINENGINE, | |
| hAdditionalStore : HCERTSTORE, | |
| dwChainFlags : u32, | |
| dwUrlRetrievalTimeout : u32, | |
| pftCurrentTime : LPFILETIME, | |
| pftCacheResync : LPFILETIME, | |
| cbMaxUrlRetrievalByteCount : u32, | |
| }; | |
| CRL_REVOCATION_INFO :: struct { | |
| pCrlEntry : PCRL_ENTRY, | |
| pCrlContext : PCCRL_CONTEXT, | |
| pCrlIssuerChain : PCCERT_CHAIN_CONTEXT, | |
| }; | |
| PCRL_REVOCATION_INFO :: ^struct { | |
| pCrlEntry : PCRL_ENTRY, | |
| pCrlContext : PCCRL_CONTEXT, | |
| pCrlIssuerChain : PCCERT_CHAIN_CONTEXT, | |
| }; | |
| PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK :: (proc(pCert : PCCERT_CONTEXT, pvFindArg : rawptr) -> BOOL); | |
| CERT_CHAIN_FIND_ISSUER_PARA :: struct { | |
| cbSize : u32, | |
| pszUsageIdentifier : LPCSTR, | |
| dwKeySpec : u32, | |
| dwAcquirePrivateKeyFlags : u32, | |
| cIssuer : u32, | |
| rgIssuer : ^CERT_NAME_BLOB, | |
| pfnFindCallback : PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK, | |
| pvFindArg : rawptr, | |
| }; | |
| PCERT_CHAIN_FIND_ISSUER_PARA :: ^struct { | |
| cbSize : u32, | |
| pszUsageIdentifier : LPCSTR, | |
| dwKeySpec : u32, | |
| dwAcquirePrivateKeyFlags : u32, | |
| cIssuer : u32, | |
| rgIssuer : ^CERT_NAME_BLOB, | |
| pfnFindCallback : PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK, | |
| pvFindArg : rawptr, | |
| }; | |
| CERT_CHAIN_FIND_BY_ISSUER_PARA :: struct { | |
| cbSize : u32, | |
| pszUsageIdentifier : LPCSTR, | |
| dwKeySpec : u32, | |
| dwAcquirePrivateKeyFlags : u32, | |
| cIssuer : u32, | |
| rgIssuer : ^CERT_NAME_BLOB, | |
| pfnFindCallback : PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK, | |
| pvFindArg : rawptr, | |
| }; | |
| PCERT_CHAIN_FIND_BY_ISSUER_PARA :: ^struct { | |
| cbSize : u32, | |
| pszUsageIdentifier : LPCSTR, | |
| dwKeySpec : u32, | |
| dwAcquirePrivateKeyFlags : u32, | |
| cIssuer : u32, | |
| rgIssuer : ^CERT_NAME_BLOB, | |
| pfnFindCallback : PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK, | |
| pvFindArg : rawptr, | |
| }; | |
| CERT_CHAIN_POLICY_PARA :: struct { | |
| cbSize : u32, | |
| dwFlags : u32, | |
| pvExtraPolicyPara : rawptr, | |
| }; | |
| PCERT_CHAIN_POLICY_PARA :: ^struct { | |
| cbSize : u32, | |
| dwFlags : u32, | |
| pvExtraPolicyPara : rawptr, | |
| }; | |
| CERT_CHAIN_POLICY_STATUS :: struct { | |
| cbSize : u32, | |
| dwError : u32, | |
| lChainIndex : LONG, | |
| lElementIndex : LONG, | |
| pvExtraPolicyStatus : rawptr, | |
| }; | |
| PCERT_CHAIN_POLICY_STATUS :: ^struct { | |
| cbSize : u32, | |
| dwError : u32, | |
| lChainIndex : LONG, | |
| lElementIndex : LONG, | |
| pvExtraPolicyStatus : rawptr, | |
| }; | |
| AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
| cbSize : u32, | |
| dwRegPolicySettings : u32, | |
| pSignerInfo : PCMSG_SIGNER_INFO, | |
| }; | |
| PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA :: ^struct { | |
| cbSize : u32, | |
| dwRegPolicySettings : u32, | |
| pSignerInfo : PCMSG_SIGNER_INFO, | |
| }; | |
| AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS :: struct { | |
| cbSize : u32, | |
| fCommercial : BOOL, | |
| }; | |
| PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS :: ^struct { | |
| cbSize : u32, | |
| fCommercial : BOOL, | |
| }; | |
| AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
| cbSize : u32, | |
| dwRegPolicySettings : u32, | |
| fCommercial : BOOL, | |
| }; | |
| PAUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA :: ^struct { | |
| cbSize : u32, | |
| dwRegPolicySettings : u32, | |
| fCommercial : BOOL, | |
| }; | |
| HTTPSPolicyCallbackData :: struct { | |
| u : struct #raw_union { | |
| cbStruct : u32, | |
| cbSize : u32, | |
| }, | |
| dwAuthType : u32, | |
| fdwChecks : u32, | |
| pwszServerName : ^WCHAR, | |
| }; | |
| PHTTPSPolicyCallbackData :: ^struct { | |
| u : struct #raw_union { | |
| cbStruct : u32, | |
| cbSize : u32, | |
| }, | |
| dwAuthType : u32, | |
| fdwChecks : u32, | |
| pwszServerName : ^WCHAR, | |
| }; | |
| SSL_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
| u : struct #raw_union { | |
| cbStruct : u32, | |
| cbSize : u32, | |
| }, | |
| dwAuthType : u32, | |
| fdwChecks : u32, | |
| pwszServerName : ^WCHAR, | |
| }; | |
| PSSL_EXTRA_CERT_CHAIN_POLICY_PARA :: ^struct { | |
| u : struct #raw_union { | |
| cbStruct : u32, | |
| cbSize : u32, | |
| }, | |
| dwAuthType : u32, | |
| fdwChecks : u32, | |
| pwszServerName : ^WCHAR, | |
| }; | |
| EV_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
| cbSize : u32, | |
| dwRootProgramQualifierFlags : u32, | |
| }; | |
| PEV_EXTRA_CERT_CHAIN_POLICY_PARA :: ^struct { | |
| cbSize : u32, | |
| dwRootProgramQualifierFlags : u32, | |
| }; | |
| EV_EXTRA_CERT_CHAIN_POLICY_STATUS :: struct { | |
| cbSize : u32, | |
| dwQualifiers : u32, | |
| dwIssuanceUsageIndex : u32, | |
| }; | |
| PEV_EXTRA_CERT_CHAIN_POLICY_STATUS :: ^struct { | |
| cbSize : u32, | |
| dwQualifiers : u32, | |
| dwIssuanceUsageIndex : u32, | |
| }; | |
| SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS :: struct { | |
| cbSize : u32, | |
| dwErrorLevel : u32, | |
| dwErrorCategory : u32, | |
| dwReserved : u32, | |
| wszErrorText : [256]WCHAR, | |
| }; | |
| PSSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS :: ^struct { | |
| cbSize : u32, | |
| dwErrorLevel : u32, | |
| dwErrorCategory : u32, | |
| dwReserved : u32, | |
| wszErrorText : [256]WCHAR, | |
| }; | |
| SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
| cbSize : u32, | |
| dwReserved : u32, | |
| pwszServerName : LPWSTR, | |
| rgpszHpkpValue : [2]LPSTR, | |
| }; | |
| PSSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA :: ^struct { | |
| cbSize : u32, | |
| dwReserved : u32, | |
| pwszServerName : LPWSTR, | |
| rgpszHpkpValue : [2]LPSTR, | |
| }; | |
| SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
| cbSize : u32, | |
| dwReserved : u32, | |
| pwszServerName : PCWSTR, | |
| }; | |
| PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA :: ^struct { | |
| cbSize : u32, | |
| dwReserved : u32, | |
| pwszServerName : PCWSTR, | |
| }; | |
| SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS :: struct { | |
| cbSize : u32, | |
| lError : LONG, | |
| wszErrorText : [512]WCHAR, | |
| }; | |
| PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS :: ^struct { | |
| cbSize : u32, | |
| lError : LONG, | |
| wszErrorText : [512]WCHAR, | |
| }; | |
| CRYPT_PKCS12_PBE_PARAMS :: struct { | |
| iIterations : i32, | |
| cbSalt : ULONG, | |
| }; | |
| PKCS12_PBES2_EXPORT_PARAMS :: struct { | |
| dwSize : u32, | |
| hNcryptDescriptor : PVOID, | |
| pwszPbes2Alg : LPWSTR, | |
| }; | |
| PPKCS12_PBES2_EXPORT_PARAMS :: ^struct { | |
| dwSize : u32, | |
| hNcryptDescriptor : PVOID, | |
| pwszPbes2Alg : LPWSTR, | |
| }; | |
| HCERT_SERVER_OCSP_RESPONSE :: rawptr; | |
| CERT_SERVER_OCSP_RESPONSE_CONTEXT :: struct {}; | |
| PCERT_SERVER_OCSP_RESPONSE_CONTEXT :: ^CERT_SERVER_OCSP_RESPONSE_CONTEXT; | |
| PCCERT_SERVER_OCSP_RESPONSE_CONTEXT :: ^CERT_SERVER_OCSP_RESPONSE_CONTEXT; | |
| CERT_SERVER_OCSP_RESPONSE_CONTEXT :: struct { | |
| cbSize : u32, | |
| pbEncodedOcspResponse : ^BYTE, | |
| cbEncodedOcspResponse : u32, | |
| }; | |
| PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK :: proc(pChainContext : PCCERT_CHAIN_CONTEXT, pServerOcspResponseContext : PCCERT_SERVER_OCSP_RESPONSE_CONTEXT, pNewCrlContext : PCCRL_CONTEXT, pPrevCrlContext : PCCRL_CONTEXT, pvArg : PVOID, dwWriteOcspFileError : u32); | |
| CERT_SERVER_OCSP_RESPONSE_OPEN_PARA :: struct { | |
| cbSize : u32, | |
| dwFlags : u32, | |
| pcbUsedSize : ^u32, | |
| pwszOcspDirectory : PWSTR, | |
| pfnUpdateCallback : PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK, | |
| pvUpdateCallbackArg : PVOID, | |
| }; | |
| PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA :: ^struct { | |
| cbSize : u32, | |
| dwFlags : u32, | |
| pcbUsedSize : ^u32, | |
| pwszOcspDirectory : PWSTR, | |
| pfnUpdateCallback : PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK, | |
| pvUpdateCallbackArg : PVOID, | |
| }; | |
| CERT_SELECT_CHAIN_PARA :: struct { | |
| hChainEngine : HCERTCHAINENGINE, | |
| pTime : PFILETIME, | |
| hAdditionalStore : HCERTSTORE, | |
| pChainPara : PCERT_CHAIN_PARA, | |
| dwFlags : u32, | |
| }; | |
| PCERT_SELECT_CHAIN_PARA :: ^struct { | |
| hChainEngine : HCERTCHAINENGINE, | |
| pTime : PFILETIME, | |
| hAdditionalStore : HCERTSTORE, | |
| pChainPara : PCERT_CHAIN_PARA, | |
| dwFlags : u32, | |
| }; | |
| PCCERT_SELECT_CHAIN_PARA :: ^CERT_SELECT_CHAIN_PARA; | |
| CERT_SELECT_CRITERIA :: struct { | |
| dwType : u32, | |
| cPara : u32, | |
| ppPara : ^rawptr, | |
| }; | |
| PCERT_SELECT_CRITERIA :: ^struct { | |
| dwType : u32, | |
| cPara : u32, | |
| ppPara : ^rawptr, | |
| }; | |
| PCCERT_SELECT_CRITERIA :: ^CERT_SELECT_CRITERIA; | |
| CRYPT_TIMESTAMP_REQUEST :: struct { | |
| dwVersion : u32, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| HashedMessage : CRYPT_DER_BLOB, | |
| pszTSAPolicyId : LPSTR, | |
| Nonce : CRYPT_INTEGER_BLOB, | |
| fCertReq : BOOL, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| PCRYPT_TIMESTAMP_REQUEST :: ^struct { | |
| dwVersion : u32, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| HashedMessage : CRYPT_DER_BLOB, | |
| pszTSAPolicyId : LPSTR, | |
| Nonce : CRYPT_INTEGER_BLOB, | |
| fCertReq : BOOL, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| CRYPT_TIMESTAMP_RESPONSE :: struct { | |
| dwStatus : u32, | |
| cFreeText : u32, | |
| rgFreeText : ^LPWSTR, | |
| FailureInfo : CRYPT_BIT_BLOB, | |
| ContentInfo : CRYPT_DER_BLOB, | |
| }; | |
| PCRYPT_TIMESTAMP_RESPONSE :: ^struct { | |
| dwStatus : u32, | |
| cFreeText : u32, | |
| rgFreeText : ^LPWSTR, | |
| FailureInfo : CRYPT_BIT_BLOB, | |
| ContentInfo : CRYPT_DER_BLOB, | |
| }; | |
| CRYPT_TIMESTAMP_ACCURACY :: struct { | |
| dwSeconds : u32, | |
| dwMillis : u32, | |
| dwMicros : u32, | |
| }; | |
| PCRYPT_TIMESTAMP_ACCURACY :: ^struct { | |
| dwSeconds : u32, | |
| dwMillis : u32, | |
| dwMicros : u32, | |
| }; | |
| CRYPT_TIMESTAMP_INFO :: struct { | |
| dwVersion : u32, | |
| pszTSAPolicyId : LPSTR, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| HashedMessage : CRYPT_DER_BLOB, | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| ftTime : FILETIME, | |
| pvAccuracy : PCRYPT_TIMESTAMP_ACCURACY, | |
| fOrdering : BOOL, | |
| Nonce : CRYPT_DER_BLOB, | |
| Tsa : CRYPT_DER_BLOB, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| PCRYPT_TIMESTAMP_INFO :: ^struct { | |
| dwVersion : u32, | |
| pszTSAPolicyId : LPSTR, | |
| HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
| HashedMessage : CRYPT_DER_BLOB, | |
| SerialNumber : CRYPT_INTEGER_BLOB, | |
| ftTime : FILETIME, | |
| pvAccuracy : PCRYPT_TIMESTAMP_ACCURACY, | |
| fOrdering : BOOL, | |
| Nonce : CRYPT_DER_BLOB, | |
| Tsa : CRYPT_DER_BLOB, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| CRYPT_TIMESTAMP_CONTEXT :: struct { | |
| cbEncoded : u32, | |
| pbEncoded : ^BYTE, | |
| pTimeStamp : PCRYPT_TIMESTAMP_INFO, | |
| }; | |
| PCRYPT_TIMESTAMP_CONTEXT :: ^struct { | |
| cbEncoded : u32, | |
| pbEncoded : ^BYTE, | |
| pTimeStamp : PCRYPT_TIMESTAMP_INFO, | |
| }; | |
| CRYPT_TIMESTAMP_PARA :: struct { | |
| pszTSAPolicyId : LPCSTR, | |
| fRequestCerts : BOOL, | |
| Nonce : CRYPT_INTEGER_BLOB, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| PCRYPT_TIMESTAMP_PARA :: ^struct { | |
| pszTSAPolicyId : LPCSTR, | |
| fRequestCerts : BOOL, | |
| Nonce : CRYPT_INTEGER_BLOB, | |
| cExtension : u32, | |
| rgExtension : PCERT_EXTENSION, | |
| }; | |
| PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH :: (proc(pContext : LPVOID, rgIdentifierOrNameList : ^PCERT_NAME_BLOB, dwIdentifierOrNameListCount : u32) -> BOOL); | |
| PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET :: (proc(pPluginContext : LPVOID, pIdentifier : PCRYPT_DATA_BLOB, dwNameType : u32, pNameBlob : PCERT_NAME_BLOB, ppbContent : ^PBYTE, pcbContent : ^u32, ppwszPassword : ^PCWSTR, ppIdentifier : ^PCRYPT_DATA_BLOB) -> BOOL); | |
| PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE :: proc(dwReason : u32, pPluginContext : LPVOID); | |
| PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD :: proc(pPluginContext : LPVOID, pwszPassword : PCWSTR); | |
| PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE :: proc(pPluginContext : LPVOID, pbData : PBYTE); | |
| PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER :: proc(pPluginContext : LPVOID, pIdentifier : PCRYPT_DATA_BLOB); | |
| CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE :: struct { | |
| cbSize : u32, | |
| pfnGet : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET, | |
| pfnRelease : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE, | |
| pfnFreePassword : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD, | |
| pfnFree : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE, | |
| pfnFreeIdentifier : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER, | |
| }; | |
| PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE :: ^struct { | |
| cbSize : u32, | |
| pfnGet : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET, | |
| pfnRelease : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE, | |
| pfnFreePassword : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD, | |
| pfnFree : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE, | |
| pfnFreeIdentifier : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER, | |
| }; | |
| PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE :: (proc(pfnFlush : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH, pContext : LPVOID, pdwExpectedObjectCount : ^u32, ppFuncTable : ^PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE, ppPluginContext : ^rawptr) -> BOOL); | |
| PFN_CERT_IS_WEAK_HASH :: (proc(dwHashUseType : u32, pwszCNGHashAlgid : LPCWSTR, dwChainFlags : u32, pSignerChainContext : PCCERT_CHAIN_CONTEXT, pTimeStamp : LPFILETIME, pwszFileName : LPCWSTR) -> BOOL); | |
| CRYPTPROTECT_PROMPTSTRUCT :: struct { | |
| cbSize : u32, | |
| dwPromptFlags : u32, | |
| hwndApp : HWND, | |
| szPrompt : LPCWSTR, | |
| }; | |
| PCRYPTPROTECT_PROMPTSTRUCT :: ^struct { | |
| cbSize : u32, | |
| dwPromptFlags : u32, | |
| hwndApp : HWND, | |
| szPrompt : LPCWSTR, | |
| }; | |
| EFS_CERTIFICATE_BLOB :: struct { | |
| dwCertEncodingType : u32, | |
| cbData : u32, | |
| pbData : PBYTE, | |
| }; | |
| PEFS_CERTIFICATE_BLOB :: ^struct { | |
| dwCertEncodingType : u32, | |
| cbData : u32, | |
| pbData : PBYTE, | |
| }; | |
| EFS_HASH_BLOB :: struct { | |
| cbData : u32, | |
| pbData : PBYTE, | |
| }; | |
| PEFS_HASH_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : PBYTE, | |
| }; | |
| EFS_RPC_BLOB :: struct { | |
| cbData : u32, | |
| pbData : PBYTE, | |
| }; | |
| PEFS_RPC_BLOB :: ^struct { | |
| cbData : u32, | |
| pbData : PBYTE, | |
| }; | |
| EFS_PIN_BLOB :: struct { | |
| cbPadding : u32, | |
| cbData : u32, | |
| pbData : PBYTE, | |
| }; | |
| PEFS_PIN_BLOB :: ^struct { | |
| cbPadding : u32, | |
| cbData : u32, | |
| pbData : PBYTE, | |
| }; | |
| EFS_KEY_INFO :: struct { | |
| dwVersion : u32, | |
| Entropy : ULONG, | |
| Algorithm : ALG_ID, | |
| KeyLength : ULONG, | |
| }; | |
| PEFS_KEY_INFO :: ^struct { | |
| dwVersion : u32, | |
| Entropy : ULONG, | |
| Algorithm : ALG_ID, | |
| KeyLength : ULONG, | |
| }; | |
| EFS_COMPATIBILITY_INFO :: struct { | |
| EfsVersion : u32, | |
| }; | |
| PEFS_COMPATIBILITY_INFO :: ^struct { | |
| EfsVersion : u32, | |
| }; | |
| EFS_VERSION_INFO :: struct { | |
| EfsVersion : u32, | |
| SubVersion : u32, | |
| }; | |
| PEFS_VERSION_INFO :: ^struct { | |
| EfsVersion : u32, | |
| SubVersion : u32, | |
| }; | |
| EFS_DECRYPTION_STATUS_INFO :: struct { | |
| dwDecryptionError : u32, | |
| dwHashOffset : u32, | |
| cbHash : u32, | |
| }; | |
| PEFS_DECRYPTION_STATUS_INFO :: ^struct { | |
| dwDecryptionError : u32, | |
| dwHashOffset : u32, | |
| cbHash : u32, | |
| }; | |
| EFS_ENCRYPTION_STATUS_INFO :: struct { | |
| bHasCurrentKey : BOOL, | |
| dwEncryptionError : u32, | |
| }; | |
| PEFS_ENCRYPTION_STATUS_INFO :: ^struct { | |
| bHasCurrentKey : BOOL, | |
| dwEncryptionError : u32, | |
| }; | |
| ENCRYPTION_CERTIFICATE :: struct { | |
| cbTotalLength : u32, | |
| pUserSid : ^SID, | |
| pCertBlob : PEFS_CERTIFICATE_BLOB, | |
| }; | |
| PENCRYPTION_CERTIFICATE :: ^struct { | |
| cbTotalLength : u32, | |
| pUserSid : ^SID, | |
| pCertBlob : PEFS_CERTIFICATE_BLOB, | |
| }; | |
| ENCRYPTION_CERTIFICATE_HASH :: struct { | |
| cbTotalLength : u32, | |
| pUserSid : ^SID, | |
| pHash : PEFS_HASH_BLOB, | |
| lpDisplayInformation : LPWSTR, | |
| }; | |
| PENCRYPTION_CERTIFICATE_HASH :: ^struct { | |
| cbTotalLength : u32, | |
| pUserSid : ^SID, | |
| pHash : PEFS_HASH_BLOB, | |
| lpDisplayInformation : LPWSTR, | |
| }; | |
| ENCRYPTION_CERTIFICATE_HASH_LIST :: struct { | |
| nCert_Hash : u32, | |
| pUsers : ^PENCRYPTION_CERTIFICATE_HASH, | |
| }; | |
| PENCRYPTION_CERTIFICATE_HASH_LIST :: ^struct { | |
| nCert_Hash : u32, | |
| pUsers : ^PENCRYPTION_CERTIFICATE_HASH, | |
| }; | |
| ENCRYPTION_CERTIFICATE_LIST :: struct { | |
| nUsers : u32, | |
| pUsers : ^PENCRYPTION_CERTIFICATE, | |
| }; | |
| PENCRYPTION_CERTIFICATE_LIST :: ^struct { | |
| nUsers : u32, | |
| pUsers : ^PENCRYPTION_CERTIFICATE, | |
| }; | |
| ENCRYPTED_FILE_METADATA_SIGNATURE :: struct { | |
| dwEfsAccessType : u32, | |
| pCertificatesAdded : PENCRYPTION_CERTIFICATE_HASH_LIST, | |
| pEncryptionCertificate : PENCRYPTION_CERTIFICATE, | |
| pEfsStreamSignature : PEFS_RPC_BLOB, | |
| }; | |
| PENCRYPTED_FILE_METADATA_SIGNATURE :: ^struct { | |
| dwEfsAccessType : u32, | |
| pCertificatesAdded : PENCRYPTION_CERTIFICATE_HASH_LIST, | |
| pEncryptionCertificate : PENCRYPTION_CERTIFICATE, | |
| pEfsStreamSignature : PEFS_RPC_BLOB, | |
| }; | |
| ENCRYPTION_PROTECTOR :: struct { | |
| cbTotalLength : u32, | |
| pUserSid : ^SID, | |
| lpProtectorDescriptor : LPWSTR, | |
| }; | |
| PENCRYPTION_PROTECTOR :: ^struct { | |
| cbTotalLength : u32, | |
| pUserSid : ^SID, | |
| lpProtectorDescriptor : LPWSTR, | |
| }; | |
| ENCRYPTION_PROTECTOR_LIST :: struct { | |
| nProtectors : u32, | |
| pProtectors : ^PENCRYPTION_PROTECTOR, | |
| }; | |
| PENCRYPTION_PROTECTOR_LIST :: ^struct { | |
| nProtectors : u32, | |
| pProtectors : ^PENCRYPTION_PROTECTOR, | |
| }; | |
| RPC_IMPORT_CONTEXT_P :: struct { | |
| LookupContext : RPC_NS_HANDLE, | |
| ProposedHandle : RPC_BINDING_HANDLE, | |
| Bindings : ^RPC_BINDING_VECTOR, | |
| }; | |
| PRPC_IMPORT_CONTEXT_P :: ^struct { | |
| LookupContext : RPC_NS_HANDLE, | |
| ProposedHandle : RPC_BINDING_HANDLE, | |
| Bindings : ^RPC_BINDING_VECTOR, | |
| }; | |
| byte :: u8; | |
| cs_byte :: byte; | |
| boolean :: u8; | |
| hyper :: f64; | |
| MIDL_uhyper :: f64; | |
| NDR_CCONTEXT :: rawptr; | |
| NDR_SCONTEXT :: ^struct { | |
| pad : [2]rawptr, | |
| userContext : rawptr, | |
| }; | |
| NDR_RUNDOWN :: proc(context_ : rawptr); | |
| NDR_NOTIFY_ROUTINE :: proc(void); | |
| NDR_NOTIFY2_ROUTINE :: proc(flag : boolean); | |
| SCONTEXT_QUEUE :: struct { | |
| NumberOfObjects : u64, | |
| ArrayOfObjects : ^NDR_SCONTEXT, | |
| }; | |
| PSCONTEXT_QUEUE :: ^struct { | |
| NumberOfObjects : u64, | |
| ArrayOfObjects : ^NDR_SCONTEXT, | |
| }; | |
| error_status_t :: u64; | |
| RPC_BUFPTR :: cstring; | |
| RPC_LENGTH :: u64; | |
| EXPR_EVAL :: proc(^MIDL_STUB_MESSAGE); | |
| PFORMAT_STRING :: cstring; | |
| ARRAY_INFO :: struct { | |
| Dimension : i64, | |
| BufferConformanceMark : ^u64, | |
| BufferVarianceMark : ^u64, | |
| MaxCountArray : ^u64, | |
| OffsetArray : ^u64, | |
| ActualCountArray : ^u64, | |
| }; | |
| PARRAY_INFO :: ^struct { | |
| Dimension : i64, | |
| BufferConformanceMark : ^u64, | |
| BufferVarianceMark : ^u64, | |
| MaxCountArray : ^u64, | |
| OffsetArray : ^u64, | |
| ActualCountArray : ^u64, | |
| }; | |
| _NDR_ASYNC_MESSAGE :: struct {}; | |
| PNDR_ASYNC_MESSAGE :: ^_NDR_ASYNC_MESSAGE; | |
| _NDR_CORRELATION_INFO :: struct {}; | |
| PNDR_CORRELATION_INFO :: ^_NDR_CORRELATION_INFO; | |
| PFORMAT_STRING :: cstring; | |
| MIDL_SYNTAX_INFO :: struct {}; | |
| PMIDL_SYNTAX_INFO :: ^MIDL_SYNTAX_INFO; | |
| NDR_ALLOC_ALL_NODES_CONTEXT :: struct {}; | |
| NDR_POINTER_QUEUE_STATE :: struct {}; | |
| _NDR_PROC_CONTEXT :: struct {}; | |
| MIDL_STUB_MESSAGE :: struct { | |
| RpcMsg : PRPC_MESSAGE, | |
| Buffer : cstring, | |
| BufferStart : cstring, | |
| BufferEnd : cstring, | |
| BufferMark : cstring, | |
| BufferLength : u64, | |
| MemorySize : u64, | |
| Memory : cstring, | |
| IsClient : u8, | |
| Pad : u8, | |
| uFlags2 : u16, | |
| ReuseBuffer : i32, | |
| pAllocAllNodesContext : ^NDR_ALLOC_ALL_NODES_CONTEXT, | |
| pPointerQueueState : ^NDR_POINTER_QUEUE_STATE, | |
| IgnoreEmbeddedPointers : i32, | |
| PointerBufferMark : cstring, | |
| CorrDespIncrement : u8, | |
| uFlags : u8, | |
| UniquePtrCount : u16, | |
| MaxCount : ULONG_PTR, | |
| Offset : u64, | |
| ActualCount : u64, | |
| pfnAllocate : (proc(uint) -> rawptr), | |
| pfnFree : proc(rawptr), | |
| StackTop : cstring, | |
| pPresentedType : cstring, | |
| pTransmitType : cstring, | |
| SavedHandle : handle_t, | |
| StubDesc : ^MIDL_STUB_DESC, | |
| FullPtrXlatTables : ^FULL_PTR_XLAT_TABLES, | |
| FullPtrRefId : u64, | |
| PointerLength : u64, | |
| fInDontFree : , | |
| fDontCallFreeInst : , | |
| fUnused1 : , | |
| fHasReturn : , | |
| fHasExtensions : , | |
| fHasNewCorrDesc : , | |
| fIsIn : , | |
| fIsOut : , | |
| fIsOicf : , | |
| fBufferValid : , | |
| fHasMemoryValidateCallback : , | |
| fInFree : , | |
| fNeedMCCP : , | |
| fUnused2 : , | |
| fUnused3 : , | |
| dwDestContext : u64, | |
| pvDestContext : rawptr, | |
| SavedContextHandles : ^NDR_SCONTEXT, | |
| ParamNumber : i64, | |
| pRpcChannelBuffer : ^IRpcChannelBuffer, | |
| pArrayInfo : PARRAY_INFO, | |
| SizePtrCountArray : ^u64, | |
| SizePtrOffsetArray : ^u64, | |
| SizePtrLengthArray : ^u64, | |
| pArgQueue : rawptr, | |
| dwStubPhase : u64, | |
| LowStackMark : rawptr, | |
| pAsyncMsg : PNDR_ASYNC_MESSAGE, | |
| pCorrInfo : PNDR_CORRELATION_INFO, | |
| pCorrMemory : cstring, | |
| pMemoryList : rawptr, | |
| pCSInfo : INT_PTR, | |
| ConformanceMark : cstring, | |
| VarianceMark : cstring, | |
| Unused : INT_PTR, | |
| pContext : ^_NDR_PROC_CONTEXT, | |
| ContextHandleHash : rawptr, | |
| pUserMarshalList : rawptr, | |
| Reserved51_3 : INT_PTR, | |
| Reserved51_4 : INT_PTR, | |
| Reserved51_5 : INT_PTR, | |
| }; | |
| PMIDL_STUB_MESSAGE :: ^struct { | |
| RpcMsg : PRPC_MESSAGE, | |
| Buffer : cstring, | |
| BufferStart : cstring, | |
| BufferEnd : cstring, | |
| BufferMark : cstring, | |
| BufferLength : u64, | |
| MemorySize : u64, | |
| Memory : cstring, | |
| IsClient : u8, | |
| Pad : u8, | |
| uFlags2 : u16, | |
| ReuseBuffer : i32, | |
| pAllocAllNodesContext : ^NDR_ALLOC_ALL_NODES_CONTEXT, | |
| pPointerQueueState : ^NDR_POINTER_QUEUE_STATE, | |
| IgnoreEmbeddedPointers : i32, | |
| PointerBufferMark : cstring, | |
| CorrDespIncrement : u8, | |
| uFlags : u8, | |
| UniquePtrCount : u16, | |
| MaxCount : ULONG_PTR, | |
| Offset : u64, | |
| ActualCount : u64, | |
| pfnAllocate : (proc(uint) -> rawptr), | |
| pfnFree : proc(rawptr), | |
| StackTop : cstring, | |
| pPresentedType : cstring, | |
| pTransmitType : cstring, | |
| SavedHandle : handle_t, | |
| StubDesc : ^MIDL_STUB_DESC, | |
| FullPtrXlatTables : ^FULL_PTR_XLAT_TABLES, | |
| FullPtrRefId : u64, | |
| PointerLength : u64, | |
| fInDontFree : , | |
| fDontCallFreeInst : , | |
| fUnused1 : , | |
| fHasReturn : , | |
| fHasExtensions : , | |
| fHasNewCorrDesc : , | |
| fIsIn : , | |
| fIsOut : , | |
| fIsOicf : , | |
| fBufferValid : , | |
| fHasMemoryValidateCallback : , | |
| fInFree : , | |
| fNeedMCCP : , | |
| fUnused2 : , | |
| fUnused3 : , | |
| dwDestContext : u64, | |
| pvDestContext : rawptr, | |
| SavedContextHandles : ^NDR_SCONTEXT, | |
| ParamNumber : i64, | |
| pRpcChannelBuffer : ^IRpcChannelBuffer, | |
| pArrayInfo : PARRAY_INFO, | |
| SizePtrCountArray : ^u64, | |
| SizePtrOffsetArray : ^u64, | |
| SizePtrLengthArray : ^u64, | |
| pArgQueue : rawptr, | |
| dwStubPhase : u64, | |
| LowStackMark : rawptr, | |
| pAsyncMsg : PNDR_ASYNC_MESSAGE, | |
| pCorrInfo : PNDR_CORRELATION_INFO, | |
| pCorrMemory : cstring, | |
| pMemoryList : rawptr, | |
| pCSInfo : INT_PTR, | |
| ConformanceMark : cstring, | |
| VarianceMark : cstring, | |
| Unused : INT_PTR, | |
| pContext : ^_NDR_PROC_CONTEXT, | |
| ContextHandleHash : rawptr, | |
| pUserMarshalList : rawptr, | |
| Reserved51_3 : INT_PTR, | |
| Reserved51_4 : INT_PTR, | |
| Reserved51_5 : INT_PTR, | |
| }; | |
| MIDL_STUB_MESSAGE :: struct {}; | |
| PMIDL_STUB_MESSAGE :: ^MIDL_STUB_MESSAGE; | |
| GENERIC_BINDING_ROUTINE :: (proc(rawptr) -> rawptr); | |
| GENERIC_UNBIND_ROUTINE :: proc(rawptr, cstring); | |
| GENERIC_BINDING_ROUTINE_PAIR :: struct { | |
| pfnBind : GENERIC_BINDING_ROUTINE, | |
| pfnUnbind : GENERIC_UNBIND_ROUTINE, | |
| }; | |
| PGENERIC_BINDING_ROUTINE_PAIR :: ^struct { | |
| pfnBind : GENERIC_BINDING_ROUTINE, | |
| pfnUnbind : GENERIC_UNBIND_ROUTINE, | |
| }; | |
| GENERIC_BINDING_INFO :: struct { | |
| pObj : rawptr, | |
| Size : u32, | |
| pfnBind : GENERIC_BINDING_ROUTINE, | |
| pfnUnbind : GENERIC_UNBIND_ROUTINE, | |
| }; | |
| PGENERIC_BINDING_INFO :: ^struct { | |
| pObj : rawptr, | |
| Size : u32, | |
| pfnBind : GENERIC_BINDING_ROUTINE, | |
| pfnUnbind : GENERIC_UNBIND_ROUTINE, | |
| }; | |
| XMIT_HELPER_ROUTINE :: proc(PMIDL_STUB_MESSAGE); | |
| XMIT_ROUTINE_QUINTUPLE :: struct { | |
| pfnTranslateToXmit : XMIT_HELPER_ROUTINE, | |
| pfnTranslateFromXmit : XMIT_HELPER_ROUTINE, | |
| pfnFreeXmit : XMIT_HELPER_ROUTINE, | |
| pfnFreeInst : XMIT_HELPER_ROUTINE, | |
| }; | |
| PXMIT_ROUTINE_QUINTUPLE :: ^struct { | |
| pfnTranslateToXmit : XMIT_HELPER_ROUTINE, | |
| pfnTranslateFromXmit : XMIT_HELPER_ROUTINE, | |
| pfnFreeXmit : XMIT_HELPER_ROUTINE, | |
| pfnFreeInst : XMIT_HELPER_ROUTINE, | |
| }; | |
| USER_MARSHAL_SIZING_ROUTINE :: (proc(^u64, u64, rawptr) -> u64); | |
| USER_MARSHAL_MARSHALLING_ROUTINE :: (proc(^u64, cstring, rawptr) -> cstring); | |
| USER_MARSHAL_UNMARSHALLING_ROUTINE :: (proc(^u64, cstring, rawptr) -> cstring); | |
| USER_MARSHAL_FREEING_ROUTINE :: proc(^u64, rawptr); | |
| USER_MARSHAL_ROUTINE_QUADRUPLE :: struct { | |
| pfnBufferSize : USER_MARSHAL_SIZING_ROUTINE, | |
| pfnMarshall : USER_MARSHAL_MARSHALLING_ROUTINE, | |
| pfnUnmarshall : USER_MARSHAL_UNMARSHALLING_ROUTINE, | |
| pfnFree : USER_MARSHAL_FREEING_ROUTINE, | |
| }; | |
| USER_MARSHAL_CB_TYPE :: enum { | |
| USER_MARSHAL_CB_BUFFER_SIZE, | |
| USER_MARSHAL_CB_MARSHALL, | |
| USER_MARSHAL_CB_UNMARSHALL, | |
| USER_MARSHAL_CB_FREE, | |
| }; | |
| USER_MARSHAL_CB :: struct { | |
| Flags : u64, | |
| pStubMsg : PMIDL_STUB_MESSAGE, | |
| pReserve : PFORMAT_STRING, | |
| Signature : u64, | |
| CBType : USER_MARSHAL_CB_TYPE, | |
| pFormat : PFORMAT_STRING, | |
| pTypeFormat : PFORMAT_STRING, | |
| }; | |
| MALLOC_FREE_STRUCT :: struct { | |
| pfnAllocate : (proc(uint) -> rawptr), | |
| pfnFree : proc(rawptr), | |
| }; | |
| COMM_FAULT_OFFSETS :: struct { | |
| CommOffset : i16, | |
| FaultOffset : i16, | |
| }; | |
| IDL_CS_CONVERT :: enum { | |
| IDL_CS_NO_CONVERT, | |
| IDL_CS_IN_PLACE_CONVERT, | |
| IDL_CS_NEW_BUFFER_CONVERT, | |
| }; | |
| CS_TYPE_NET_SIZE_ROUTINE :: proc(hBinding : RPC_BINDING_HANDLE, ulNetworkCodeSet : u64, ulLocalBufferSize : u64, conversionType : ^IDL_CS_CONVERT, pulNetworkBufferSize : ^u64, pStatus : ^error_status_t); | |
| CS_TYPE_LOCAL_SIZE_ROUTINE :: proc(hBinding : RPC_BINDING_HANDLE, ulNetworkCodeSet : u64, ulNetworkBufferSize : u64, conversionType : ^IDL_CS_CONVERT, pulLocalBufferSize : ^u64, pStatus : ^error_status_t); | |
| CS_TYPE_TO_NETCS_ROUTINE :: proc(hBinding : RPC_BINDING_HANDLE, ulNetworkCodeSet : u64, pLocalData : rawptr, ulLocalDataLength : u64, pNetworkData : ^byte, pulNetworkDataLength : ^u64, pStatus : ^error_status_t); | |
| CS_TYPE_FROM_NETCS_ROUTINE :: proc(hBinding : RPC_BINDING_HANDLE, ulNetworkCodeSet : u64, pNetworkData : ^byte, ulNetworkDataLength : u64, ulLocalBufferSize : u64, pLocalData : rawptr, pulLocalDataLength : ^u64, pStatus : ^error_status_t); | |
| CS_TAG_GETTING_ROUTINE :: proc(hBinding : RPC_BINDING_HANDLE, fServerSide : i32, pulSendingTag : ^u64, pulDesiredReceivingTag : ^u64, pulReceivingTag : ^u64, pStatus : ^error_status_t); | |
| NDR_CS_SIZE_CONVERT_ROUTINES :: struct { | |
| pfnNetSize : CS_TYPE_NET_SIZE_ROUTINE, | |
| pfnToNetCs : CS_TYPE_TO_NETCS_ROUTINE, | |
| pfnLocalSize : CS_TYPE_LOCAL_SIZE_ROUTINE, | |
| pfnFromNetCs : CS_TYPE_FROM_NETCS_ROUTINE, | |
| }; | |
| NDR_CS_ROUTINES :: struct { | |
| pSizeConvertRoutines : ^NDR_CS_SIZE_CONVERT_ROUTINES, | |
| pTagGettingRoutines : ^CS_TAG_GETTING_ROUTINE, | |
| }; | |
| NDR_EXPR_DESC :: struct { | |
| pOffset : ^u16, | |
| pFormatExpr : PFORMAT_STRING, | |
| }; | |
| MIDL_STUB_DESC :: struct { | |
| RpcInterfaceInformation : rawptr, | |
| pfnAllocate : (proc(uint) -> rawptr), | |
| pfnFree : proc(rawptr), | |
| IMPLICIT_HANDLE_INFO : struct #raw_union { | |
| pAutoHandle : ^handle_t, | |
| pPrimitiveHandle : ^handle_t, | |
| pGenericBindingInfo : PGENERIC_BINDING_INFO, | |
| }, | |
| apfnNdrRundownRoutines : ^NDR_RUNDOWN, | |
| aGenericBindingRoutinePairs : ^GENERIC_BINDING_ROUTINE_PAIR, | |
| apfnExprEval : ^EXPR_EVAL, | |
| aXmitQuintuple : ^XMIT_ROUTINE_QUINTUPLE, | |
| pFormatTypes : cstring, | |
| fCheckBounds : i32, | |
| Version : u64, | |
| pMallocFreeStruct : ^MALLOC_FREE_STRUCT, | |
| MIDLVersion : i64, | |
| CommFaultOffsets : ^COMM_FAULT_OFFSETS, | |
| aUserMarshalQuadruple : ^USER_MARSHAL_ROUTINE_QUADRUPLE, | |
| NotifyRoutineTable : ^NDR_NOTIFY_ROUTINE, | |
| mFlags : ULONG_PTR, | |
| CsRoutineTables : ^NDR_CS_ROUTINES, | |
| ProxyServerInfo : rawptr, | |
| pExprInfo : ^NDR_EXPR_DESC, | |
| }; | |
| PMIDL_STUB_DESC :: ^MIDL_STUB_DESC; | |
| PMIDL_XMIT_TYPE :: rawptr; | |
| STUB_THUNK :: proc(PMIDL_STUB_MESSAGE); | |
| SERVER_ROUTINE :: (proc() -> i64); | |
| MIDL_METHOD_PROPERTY :: struct { | |
| Id : u64, | |
| Value : ULONG_PTR, | |
| }; | |
| PMIDL_METHOD_PROPERTY :: ^struct { | |
| Id : u64, | |
| Value : ULONG_PTR, | |
| }; | |
| MIDL_METHOD_PROPERTY_MAP :: struct { | |
| Count : u64, | |
| Properties : ^MIDL_METHOD_PROPERTY, | |
| }; | |
| PMIDL_METHOD_PROPERTY_MAP :: ^struct { | |
| Count : u64, | |
| Properties : ^MIDL_METHOD_PROPERTY, | |
| }; | |
| MIDL_INTERFACE_METHOD_PROPERTIES :: struct { | |
| MethodCount : u16, | |
| MethodProperties : ^^MIDL_METHOD_PROPERTY_MAP, | |
| }; | |
| MIDL_SERVER_INFO :: struct { | |
| pStubDesc : PMIDL_STUB_DESC, | |
| DispatchTable : ^SERVER_ROUTINE, | |
| ProcString : PFORMAT_STRING, | |
| FmtStringOffset : ^u16, | |
| ThunkTable : ^STUB_THUNK, | |
| pTransferSyntax : PRPC_SYNTAX_IDENTIFIER, | |
| nCount : ULONG_PTR, | |
| pSyntaxInfo : PMIDL_SYNTAX_INFO, | |
| }; | |
| PMIDL_SERVER_INFO :: ^struct { | |
| pStubDesc : PMIDL_STUB_DESC, | |
| DispatchTable : ^SERVER_ROUTINE, | |
| ProcString : PFORMAT_STRING, | |
| FmtStringOffset : ^u16, | |
| ThunkTable : ^STUB_THUNK, | |
| pTransferSyntax : PRPC_SYNTAX_IDENTIFIER, | |
| nCount : ULONG_PTR, | |
| pSyntaxInfo : PMIDL_SYNTAX_INFO, | |
| }; | |
| MIDL_STUBLESS_PROXY_INFO :: struct { | |
| pStubDesc : PMIDL_STUB_DESC, | |
| ProcFormatString : PFORMAT_STRING, | |
| FormatStringOffset : ^u16, | |
| pTransferSyntax : PRPC_SYNTAX_IDENTIFIER, | |
| nCount : ULONG_PTR, | |
| pSyntaxInfo : PMIDL_SYNTAX_INFO, | |
| }; | |
| PMIDL_STUBLESS_PROXY_INFO :: ^MIDL_STUBLESS_PROXY_INFO; | |
| MIDL_SYNTAX_INFO :: struct { | |
| TransferSyntax : RPC_SYNTAX_IDENTIFIER, | |
| DispatchTable : ^RPC_DISPATCH_TABLE, | |
| ProcString : PFORMAT_STRING, | |
| FmtStringOffset : ^u16, | |
| TypeString : PFORMAT_STRING, | |
| aUserMarshalQuadruple : rawptr, | |
| pMethodProperties : ^MIDL_INTERFACE_METHOD_PROPERTIES, | |
| pReserved2 : ULONG_PTR, | |
| }; | |
| PMIDL_SYNTAX_INFO :: ^struct { | |
| TransferSyntax : RPC_SYNTAX_IDENTIFIER, | |
| DispatchTable : ^RPC_DISPATCH_TABLE, | |
| ProcString : PFORMAT_STRING, | |
| FmtStringOffset : ^u16, | |
| TypeString : PFORMAT_STRING, | |
| aUserMarshalQuadruple : rawptr, | |
| pMethodProperties : ^MIDL_INTERFACE_METHOD_PROPERTIES, | |
| pReserved2 : ULONG_PTR, | |
| }; | |
| PARAM_OFFSETTABLE :: ^u16; | |
| PPARAM_OFFSETTABLE :: ^u16; | |
| CLIENT_CALL_RETURN :: struct #raw_union { | |
| Pointer : rawptr, | |
| Simple : LONG_PTR, | |
| }; | |
| XLAT_SIDE :: enum { | |
| XLAT_SERVER = 1, | |
| XLAT_CLIENT, | |
| }; | |
| FULL_PTR_XLAT_TABLES :: struct { | |
| RefIdToPointer : rawptr, | |
| PointerToRefId : rawptr, | |
| NextRefId : u64, | |
| XlatSide : XLAT_SIDE, | |
| }; | |
| PFULL_PTR_XLAT_TABLES :: ^struct { | |
| RefIdToPointer : rawptr, | |
| PointerToRefId : rawptr, | |
| NextRefId : u64, | |
| XlatSide : XLAT_SIDE, | |
| }; | |
| system_handle_t :: enum { | |
| SYSTEM_HANDLE_FILE = 0, | |
| SYSTEM_HANDLE_SEMAPHORE = 1, | |
| SYSTEM_HANDLE_EVENT = 2, | |
| SYSTEM_HANDLE_MUTEX = 3, | |
| SYSTEM_HANDLE_PROCESS = 4, | |
| SYSTEM_HANDLE_TOKEN = 5, | |
| SYSTEM_HANDLE_SECTION = 6, | |
| SYSTEM_HANDLE_REG_KEY = 7, | |
| SYSTEM_HANDLE_THREAD = 8, | |
| SYSTEM_HANDLE_COMPOSITION_OBJECT = 9, | |
| SYSTEM_HANDLE_SOCKET = 10, | |
| SYSTEM_HANDLE_JOB = 11, | |
| SYSTEM_HANDLE_PIPE = 12, | |
| SYSTEM_HANDLE_MAX = 12, | |
| SYSTEM_HANDLE_INVALID = 0xFF, | |
| }; | |
| _ :: enum #export {enum { | |
| MidlInterceptionInfoVersionOne = 1, | |
| }; | |
| _ :: enum #export {enum { | |
| MidlWinrtTypeSerializationInfoVersionOne = 1, | |
| }; | |
| MIDL_INTERCEPTION_INFO :: struct { | |
| Version : u64, | |
| ProcString : PFORMAT_STRING, | |
| ProcFormatOffsetTable : ^u16, | |
| ProcCount : u64, | |
| TypeString : PFORMAT_STRING, | |
| }; | |
| PMIDL_INTERCEPTION_INFO :: ^struct { | |
| Version : u64, | |
| ProcString : PFORMAT_STRING, | |
| ProcFormatOffsetTable : ^u16, | |
| ProcCount : u64, | |
| TypeString : PFORMAT_STRING, | |
| }; | |
| MIDL_WINRT_TYPE_SERIALIZATION_INFO :: struct { | |
| Version : u64, | |
| TypeFormatString : PFORMAT_STRING, | |
| FormatStringSize : u16, | |
| TypeOffset : u16, | |
| StubDesc : PMIDL_STUB_DESC, | |
| }; | |
| PMIDL_WINRT_TYPE_SERIALIZATION_INFO :: ^struct { | |
| Version : u64, | |
| TypeFormatString : PFORMAT_STRING, | |
| FormatStringSize : u16, | |
| TypeOffset : u16, | |
| StubDesc : PMIDL_STUB_DESC, | |
| }; | |
| STUB_PHASE :: enum { | |
| STUB_UNMARSHAL, | |
| STUB_CALL_SERVER, | |
| STUB_MARSHAL, | |
| STUB_CALL_SERVER_NO_HRESULT, | |
| }; | |
| PROXY_PHASE :: enum { | |
| PROXY_CALCSIZE, | |
| PROXY_GETBUFFER, | |
| PROXY_MARSHAL, | |
| PROXY_SENDRECEIVE, | |
| PROXY_UNMARSHAL, | |
| }; | |
| IRpcStubBuffer :: struct {}; | |
| RPC_SS_THREAD_HANDLE :: rawptr; | |
| RPC_CLIENT_ALLOC :: #type (proc(Size : uint) -> rawptr); | |
| RPC_CLIENT_FREE :: #type proc(Ptr : rawptr); | |
| NDR_USER_MARSHAL_INFO_LEVEL1 :: struct { | |
| Buffer : rawptr, | |
| BufferSize : u64, | |
| pfnAllocate : (proc(uint) -> rawptr), | |
| pfnFree : proc(rawptr), | |
| pRpcChannelBuffer : ^IRpcChannelBuffer, | |
| Reserved : [5]ULONG_PTR, | |
| }; | |
| NDR_USER_MARSHAL_INFO :: struct { | |
| InformationLevel : u64, | |
| u : struct #raw_union { | |
| Level1 : NDR_USER_MARSHAL_INFO_LEVEL1, | |
| }, | |
| }; | |
| OLECHAR :: WCHAR; | |
| LPOLESTR :: ^OLECHAR; | |
| LPCOLESTR :: ^OLECHAR; | |
| UCHAR :: u8; | |
| SHORT :: i16; | |
| USHORT :: u16; | |
| ULONG :: u32; | |
| DOUBLE :: f64; | |
| COAUTHIDENTITY :: struct { | |
| User : ^USHORT, | |
| UserLength : ULONG, | |
| Domain : ^USHORT, | |
| DomainLength : ULONG, | |
| Password : ^USHORT, | |
| PasswordLength : ULONG, | |
| Flags : ULONG, | |
| }; | |
| COAUTHINFO :: struct { | |
| dwAuthnSvc : u32, | |
| dwAuthzSvc : u32, | |
| pwszServerPrincName : LPWSTR, | |
| dwAuthnLevel : u32, | |
| dwImpersonationLevel : u32, | |
| pAuthIdentityData : ^COAUTHIDENTITY, | |
| dwCapabilities : u32, | |
| }; | |
| SCODE :: LONG; | |
| PSCODE :: ^SCODE; | |
| MEMCTX :: enum { | |
| MEMCTX_TASK = 1, | |
| MEMCTX_SHARED = 2, | |
| MEMCTX_MACSYSTEM = 3, | |
| MEMCTX_UNKNOWN = -1, | |
| MEMCTX_SAME = -2, | |
| }; | |
| CLSCTX :: enum { | |
| CLSCTX_INPROC_SERVER = 0x1, | |
| CLSCTX_INPROC_HANDLER = 0x2, | |
| CLSCTX_LOCAL_SERVER = 0x4, | |
| CLSCTX_INPROC_SERVER16 = 0x8, | |
| CLSCTX_REMOTE_SERVER = 0x10, | |
| CLSCTX_INPROC_HANDLER16 = 0x20, | |
| CLSCTX_RESERVED1 = 0x40, | |
| CLSCTX_RESERVED2 = 0x80, | |
| CLSCTX_RESERVED3 = 0x100, | |
| CLSCTX_RESERVED4 = 0x200, | |
| CLSCTX_NO_CODE_DOWNLOAD = 0x400, | |
| CLSCTX_RESERVED5 = 0x800, | |
| CLSCTX_NO_CUSTOM_MARSHAL = 0x1000, | |
| CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000, | |
| CLSCTX_NO_FAILURE_LOG = 0x4000, | |
| CLSCTX_DISABLE_AAA = 0x8000, | |
| CLSCTX_ENABLE_AAA = 0x10000, | |
| CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000, | |
| CLSCTX_ACTIVATE_X86_SERVER = 0x40000, | |
| CLSCTX_ACTIVATE_32_BIT_SERVER = CLSCTX_ACTIVATE_X86_SERVER, | |
| CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000, | |
| CLSCTX_ENABLE_CLOAKING = 0x100000, | |
| CLSCTX_APPCONTAINER = 0x400000, | |
| CLSCTX_ACTIVATE_AAA_AS_IU = 0x800000, | |
| CLSCTX_RESERVED6 = 0x1000000, | |
| CLSCTX_ACTIVATE_ARM32_SERVER = 0x2000000, | |
| CLSCTX_PS_DLL = 0x80000000, | |
| }; | |
| MSHLFLAGS :: enum { | |
| MSHLFLAGS_NORMAL = 0, | |
| MSHLFLAGS_TABLESTRONG = 1, | |
| MSHLFLAGS_TABLEWEAK = 2, | |
| MSHLFLAGS_NOPING = 4, | |
| MSHLFLAGS_RESERVED1 = 8, | |
| MSHLFLAGS_RESERVED2 = 16, | |
| MSHLFLAGS_RESERVED3 = 32, | |
| MSHLFLAGS_RESERVED4 = 64, | |
| }; | |
| MSHCTX :: enum { | |
| MSHCTX_LOCAL = 0, | |
| MSHCTX_NOSHAREDMEM = 1, | |
| MSHCTX_DIFFERENTMACHINE = 2, | |
| MSHCTX_INPROC = 3, | |
| MSHCTX_CROSSCTX = 4, | |
| MSHCTX_RESERVED1 = 5, | |
| }; | |
| BYTE_BLOB :: struct { | |
| clSize : ULONG, | |
| abData : [1]byte, | |
| }; | |
| UP_BYTE_BLOB :: ^BYTE_BLOB; | |
| WORD_BLOB :: struct { | |
| clSize : ULONG, | |
| asData : [1]u16, | |
| }; | |
| UP_WORD_BLOB :: ^WORD_BLOB; | |
| DWORD_BLOB :: struct { | |
| clSize : ULONG, | |
| alData : [1]ULONG, | |
| }; | |
| UP_DWORD_BLOB :: ^DWORD_BLOB; | |
| FLAGGED_BYTE_BLOB :: struct { | |
| fFlags : ULONG, | |
| clSize : ULONG, | |
| abData : [1]byte, | |
| }; | |
| UP_FLAGGED_BYTE_BLOB :: ^FLAGGED_BYTE_BLOB; | |
| FLAGGED_WORD_BLOB :: struct { | |
| fFlags : ULONG, | |
| clSize : ULONG, | |
| asData : [1]u16, | |
| }; | |
| UP_FLAGGED_WORD_BLOB :: ^FLAGGED_WORD_BLOB; | |
| BYTE_SIZEDARR :: struct { | |
| clSize : ULONG, | |
| pData : ^byte, | |
| }; | |
| WORD_SIZEDARR :: struct { | |
| clSize : ULONG, | |
| pData : ^u16, | |
| }; | |
| DWORD_SIZEDARR :: struct { | |
| clSize : ULONG, | |
| pData : ^ULONG, | |
| }; | |
| HYPER_SIZEDARR :: struct { | |
| clSize : ULONG, | |
| pData : ^hyper, | |
| }; | |
| BOOLEAN :: boolean; | |
| BLOB :: struct { | |
| cbSize : ULONG, | |
| pBlobData : ^BYTE, | |
| }; | |
| LPBLOB :: ^BLOB; | |
| RemHGLOBAL :: struct { | |
| fNullHGlobal : LONG, | |
| cbData : ULONG, | |
| data : [1]byte, | |
| }; | |
| RemHMETAFILEPICT :: struct { | |
| mm : LONG, | |
| xExt : LONG, | |
| yExt : LONG, | |
| cbData : ULONG, | |
| data : [1]byte, | |
| }; | |
| RemHENHMETAFILE :: struct { | |
| cbData : ULONG, | |
| data : [1]byte, | |
| }; | |
| RemHBITMAP :: struct { | |
| cbData : ULONG, | |
| data : [1]byte, | |
| }; | |
| RemHPALETTE :: struct { | |
| cbData : ULONG, | |
| data : [1]byte, | |
| }; | |
| RemHBRUSH :: struct { | |
| cbData : ULONG, | |
| data : [1]byte, | |
| }; | |
| DVASPECT :: enum { | |
| DVASPECT_CONTENT = 1, | |
| DVASPECT_THUMBNAIL = 2, | |
| DVASPECT_ICON = 4, | |
| DVASPECT_DOCPRINT = 8, | |
| }; | |
| STGC :: enum { | |
| STGC_DEFAULT = 0, | |
| STGC_OVERWRITE = 1, | |
| STGC_ONLYIFCURRENT = 2, | |
| STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, | |
| STGC_CONSOLIDATE = 8, | |
| }; | |
| STGMOVE :: enum { | |
| STGMOVE_MOVE = 0, | |
| STGMOVE_COPY = 1, | |
| STGMOVE_SHALLOWCOPY = 2, | |
| }; | |
| STATFLAG :: enum { | |
| STATFLAG_DEFAULT = 0, | |
| STATFLAG_NONAME = 1, | |
| STATFLAG_NOOPEN = 2, | |
| }; | |
| HCONTEXT :: rawptr; | |
| LCID :: u32; | |
| LANGID :: USHORT; | |
| userCLIPFORMAT :: struct { | |
| fContext : LONG, | |
| u : struct #raw_union { | |
| dwValue : u32, | |
| pwszName : ^u16, | |
| }, | |
| }; | |
| wireCLIPFORMAT :: ^userCLIPFORMAT; | |
| CLIPFORMAT :: u16; | |
| GDI_NONREMOTE :: struct { | |
| fContext : LONG, | |
| u : struct #raw_union { | |
| hInproc : LONG, | |
| hRemote : ^DWORD_BLOB, | |
| }, | |
| }; | |
| userHGLOBAL :: struct { | |
| fContext : LONG, | |
| u : struct #raw_union { | |
| hInproc : LONG, | |
| hRemote : ^FLAGGED_BYTE_BLOB, | |
| hInproc64 : i64, | |
| }, | |
| }; | |
| wireHGLOBAL :: ^userHGLOBAL; | |
| userHMETAFILE :: struct { | |
| fContext : LONG, | |
| u : struct #raw_union { | |
| hInproc : LONG, | |
| hRemote : ^BYTE_BLOB, | |
| hInproc64 : i64, | |
| }, | |
| }; | |
| remoteMETAFILEPICT :: struct { | |
| mm : LONG, | |
| xExt : LONG, | |
| yExt : LONG, | |
| hMF : ^userHMETAFILE, | |
| }; | |
| userHMETAFILEPICT :: struct { | |
| fContext : LONG, | |
| u : struct #raw_union { | |
| hInproc : LONG, | |
| hRemote : ^remoteMETAFILEPICT, | |
| hInproc64 : i64, | |
| }, | |
| }; | |
| userHENHMETAFILE :: struct { | |
| fContext : LONG, | |
| u : struct #raw_union { | |
| hInproc : LONG, | |
| hRemote : ^BYTE_BLOB, | |
| hInproc64 : i64, | |
| }, | |
| }; | |
| userBITMAP :: struct { | |
| bmType : LONG, | |
| bmWidth : LONG, | |
| bmHeight : LONG, | |
| bmWidthBytes : LONG, | |
| bmPlanes : u16, | |
| bmBitsPixel : u16, | |
| cbSize : ULONG, | |
| pBuffer : [1]byte, | |
| }; | |
| userHBITMAP :: struct { | |
| fContext : LONG, | |
| u : struct #raw_union { | |
| hInproc : LONG, | |
| hRemote : ^userBITMAP, | |
| hInproc64 : i64, | |
| }, | |
| }; | |
| userHPALETTE :: struct { | |
| fContext : LONG, | |
| u : struct #raw_union { | |
| hInproc : LONG, | |
| hRemote : ^LOGPALETTE, | |
| hInproc64 : i64, | |
| }, | |
| }; | |
| RemotableHandle :: struct { | |
| fContext : LONG, | |
| u : struct #raw_union { | |
| hInproc : LONG, | |
| hRemote : LONG, | |
| }, | |
| }; | |
| wireHWND :: ^RemotableHandle; | |
| wireHMENU :: ^RemotableHandle; | |
| wireHACCEL :: ^RemotableHandle; | |
| wireHBRUSH :: ^RemotableHandle; | |
| wireHFONT :: ^RemotableHandle; | |
| wireHDC :: ^RemotableHandle; | |
| wireHICON :: ^RemotableHandle; | |
| wireHRGN :: ^RemotableHandle; | |
| wireHMONITOR :: ^RemotableHandle; | |
| wireHBITMAP :: ^userHBITMAP; | |
| wireHPALETTE :: ^userHPALETTE; | |
| wireHENHMETAFILE :: ^userHENHMETAFILE; | |
| wireHMETAFILE :: ^userHMETAFILE; | |
| wireHMETAFILEPICT :: ^userHMETAFILEPICT; | |
| HMETAFILEPICT :: rawptr; | |
| DATE :: f64; | |
| CY :: struct #raw_union { | |
| s : struct { | |
| Lo : ULONG, | |
| Hi : LONG, | |
| }, | |
| int64 : LONGLONG, | |
| }; | |
| LPCY :: ^CY; | |
| DECIMAL :: struct { | |
| wReserved : USHORT, | |
| u : struct #raw_union { | |
| s : struct { | |
| scale : BYTE, | |
| sign : BYTE, | |
| }, | |
| signscale : USHORT, | |
| }, | |
| Hi32 : ULONG, | |
| u2 : struct #raw_union { | |
| s2 : struct { | |
| Lo32 : ULONG, | |
| Mid32 : ULONG, | |
| }, | |
| Lo64 : ULONGLONG, | |
| }, | |
| }; | |
| LPDECIMAL :: ^DECIMAL; | |
| wireBSTR :: ^FLAGGED_WORD_BLOB; | |
| BSTR :: ^OLECHAR; | |
| LPBSTR :: ^BSTR; | |
| VARIANT_BOOL :: i16; | |
| BSTRBLOB :: struct { | |
| cbSize : ULONG, | |
| pData : ^BYTE, | |
| }; | |
| LPBSTRBLOB :: ^BSTRBLOB; | |
| CLIPDATA :: struct { | |
| cbSize : ULONG, | |
| ulClipFmt : LONG, | |
| pClipData : ^BYTE, | |
| }; | |
| VARTYPE :: u16; | |
| VARENUM :: enum { | |
| VT_EMPTY = 0, | |
| VT_NULL = 1, | |
| VT_I2 = 2, | |
| VT_I4 = 3, | |
| VT_R4 = 4, | |
| VT_R8 = 5, | |
| VT_CY = 6, | |
| VT_DATE = 7, | |
| VT_BSTR = 8, | |
| VT_DISPATCH = 9, | |
| VT_ERROR = 10, | |
| VT_BOOL = 11, | |
| VT_VARIANT = 12, | |
| VT_UNKNOWN = 13, | |
| VT_DECIMAL = 14, | |
| VT_I1 = 16, | |
| VT_UI1 = 17, | |
| VT_UI2 = 18, | |
| VT_UI4 = 19, | |
| VT_I8 = 20, | |
| VT_UI8 = 21, | |
| VT_INT = 22, | |
| VT_UINT = 23, | |
| VT_VOID = 24, | |
| VT_HRESULT = 25, | |
| VT_PTR = 26, | |
| VT_SAFEARRAY = 27, | |
| VT_CARRAY = 28, | |
| VT_USERDEFINED = 29, | |
| VT_LPSTR = 30, | |
| VT_LPWSTR = 31, | |
| VT_RECORD = 36, | |
| VT_INT_PTR = 37, | |
| VT_UINT_PTR = 38, | |
| VT_FILETIME = 64, | |
| VT_BLOB = 65, | |
| VT_STREAM = 66, | |
| VT_STORAGE = 67, | |
| VT_STREAMED_OBJECT = 68, | |
| VT_STORED_OBJECT = 69, | |
| VT_BLOB_OBJECT = 70, | |
| VT_CF = 71, | |
| VT_CLSID = 72, | |
| VT_VERSIONED_STREAM = 73, | |
| VT_BSTR_BLOB = 0xfff, | |
| VT_VECTOR = 0x1000, | |
| VT_ARRAY = 0x2000, | |
| VT_BYREF = 0x4000, | |
| VT_RESERVED = 0x8000, | |
| VT_ILLEGAL = 0xffff, | |
| VT_ILLEGALMASKED = 0xfff, | |
| VT_TYPEMASK = 0xfff, | |
| }; | |
| PROPID :: ULONG; | |
| PROPERTYKEY :: struct { | |
| fmtid : GUID, | |
| pid : u32, | |
| }; | |
| CSPLATFORM :: struct { | |
| dwPlatformId : u32, | |
| dwVersionHi : u32, | |
| dwVersionLo : u32, | |
| dwProcessorArch : u32, | |
| }; | |
| QUERYCONTEXT :: struct { | |
| dwContext : u32, | |
| Platform : CSPLATFORM, | |
| Locale : LCID, | |
| dwVersionHi : u32, | |
| dwVersionLo : u32, | |
| }; | |
| TYSPEC :: enum { | |
| TYSPEC_CLSID = 0, | |
| TYSPEC_FILEEXT = (TYSPEC_CLSID + 1), | |
| TYSPEC_MIMETYPE = (TYSPEC_FILEEXT + 1), | |
| TYSPEC_FILENAME = (TYSPEC_MIMETYPE + 1), | |
| TYSPEC_PROGID = (TYSPEC_FILENAME + 1), | |
| TYSPEC_PACKAGENAME = (TYSPEC_PROGID + 1), | |
| TYSPEC_OBJECTID = (TYSPEC_PACKAGENAME + 1), | |
| }; | |
| uCLSSPEC :: struct { | |
| tyspec : u32, | |
| tagged_union : struct #raw_union { | |
| clsid : CLSID, | |
| pFileExt : LPOLESTR, | |
| pMimeType : LPOLESTR, | |
| pProgId : LPOLESTR, | |
| pFileName : LPOLESTR, | |
| ByName : struct { | |
| pPackageName : LPOLESTR, | |
| PolicyId : GUID, | |
| }, | |
| ByObjectId : struct { | |
| ObjectId : GUID, | |
| PolicyId : GUID, | |
| }, | |
| }, | |
| }; | |
| STORAGE_HOTPLUG_INFO :: struct { | |
| Size : u32, | |
| MediaRemovable : BOOLEAN, | |
| MediaHotplug : BOOLEAN, | |
| DeviceHotplug : BOOLEAN, | |
| WriteCacheEnableOverride : BOOLEAN, | |
| }; | |
| PSTORAGE_HOTPLUG_INFO :: ^struct { | |
| Size : u32, | |
| MediaRemovable : BOOLEAN, | |
| MediaHotplug : BOOLEAN, | |
| DeviceHotplug : BOOLEAN, | |
| WriteCacheEnableOverride : BOOLEAN, | |
| }; | |
| STORAGE_DEVICE_NUMBER :: struct { | |
| DeviceType : u32, | |
| DeviceNumber : u32, | |
| PartitionNumber : u32, | |
| }; | |
| PSTORAGE_DEVICE_NUMBER :: ^struct { | |
| DeviceType : u32, | |
| DeviceNumber : u32, | |
| PartitionNumber : u32, | |
| }; | |
| STORAGE_DEVICE_NUMBERS :: struct { | |
| Version : u32, | |
| Size : u32, | |
| NumberOfDevices : u32, | |
| Devices : [1]STORAGE_DEVICE_NUMBER, | |
| }; | |
| PSTORAGE_DEVICE_NUMBERS :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| NumberOfDevices : u32, | |
| Devices : [1]STORAGE_DEVICE_NUMBER, | |
| }; | |
| STORAGE_DEVICE_NUMBER_EX :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| DeviceType : u32, | |
| DeviceNumber : u32, | |
| DeviceGuid : GUID, | |
| PartitionNumber : u32, | |
| }; | |
| PSTORAGE_DEVICE_NUMBER_EX :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| DeviceType : u32, | |
| DeviceNumber : u32, | |
| DeviceGuid : GUID, | |
| PartitionNumber : u32, | |
| }; | |
| STORAGE_BUS_RESET_REQUEST :: struct { | |
| PathId : BYTE, | |
| }; | |
| PSTORAGE_BUS_RESET_REQUEST :: ^struct { | |
| PathId : BYTE, | |
| }; | |
| STORAGE_BREAK_RESERVATION_REQUEST :: struct { | |
| Length : u32, | |
| _unused : BYTE, | |
| PathId : BYTE, | |
| TargetId : BYTE, | |
| Lun : BYTE, | |
| }; | |
| PSTORAGE_BREAK_RESERVATION_REQUEST :: ^struct { | |
| Length : u32, | |
| _unused : BYTE, | |
| PathId : BYTE, | |
| TargetId : BYTE, | |
| Lun : BYTE, | |
| }; | |
| PREVENT_MEDIA_REMOVAL :: struct { | |
| PreventMediaRemoval : BOOLEAN, | |
| }; | |
| PPREVENT_MEDIA_REMOVAL :: ^struct { | |
| PreventMediaRemoval : BOOLEAN, | |
| }; | |
| CLASS_MEDIA_CHANGE_CONTEXT :: struct { | |
| MediaChangeCount : u32, | |
| NewState : u32, | |
| }; | |
| PCLASS_MEDIA_CHANGE_CONTEXT :: ^struct { | |
| MediaChangeCount : u32, | |
| NewState : u32, | |
| }; | |
| TAPE_STATISTICS :: struct { | |
| Version : u32, | |
| Flags : u32, | |
| RecoveredWrites : LARGE_INTEGER, | |
| UnrecoveredWrites : LARGE_INTEGER, | |
| RecoveredReads : LARGE_INTEGER, | |
| UnrecoveredReads : LARGE_INTEGER, | |
| CompressionRatioReads : BYTE, | |
| CompressionRatioWrites : BYTE, | |
| }; | |
| PTAPE_STATISTICS :: ^struct { | |
| Version : u32, | |
| Flags : u32, | |
| RecoveredWrites : LARGE_INTEGER, | |
| UnrecoveredWrites : LARGE_INTEGER, | |
| RecoveredReads : LARGE_INTEGER, | |
| UnrecoveredReads : LARGE_INTEGER, | |
| CompressionRatioReads : BYTE, | |
| CompressionRatioWrites : BYTE, | |
| }; | |
| TAPE_GET_STATISTICS :: struct { | |
| Operation : u32, | |
| }; | |
| PTAPE_GET_STATISTICS :: ^struct { | |
| Operation : u32, | |
| }; | |
| STORAGE_MEDIA_TYPE :: enum { | |
| DDS_4mm = 0x20, | |
| MiniQic, | |
| Travan, | |
| QIC, | |
| MP_8mm, | |
| AME_8mm, | |
| AIT1_8mm, | |
| DLT, | |
| NCTP, | |
| IBM_3480, | |
| IBM_3490E, | |
| IBM_Magstar_3590, | |
| IBM_Magstar_MP, | |
| STK_DATA_D3, | |
| SONY_DTF, | |
| DV_6mm, | |
| DMI, | |
| SONY_D2, | |
| CLEANER_CARTRIDGE, | |
| CD_ROM, | |
| CD_R, | |
| CD_RW, | |
| DVD_ROM, | |
| DVD_R, | |
| DVD_RW, | |
| MO_3_RW, | |
| MO_5_WO, | |
| MO_5_RW, | |
| MO_5_LIMDOW, | |
| PC_5_WO, | |
| PC_5_RW, | |
| PD_5_RW, | |
| ABL_5_WO, | |
| PINNACLE_APEX_5_RW, | |
| SONY_12_WO, | |
| PHILIPS_12_WO, | |
| HITACHI_12_WO, | |
| CYGNET_12_WO, | |
| KODAK_14_WO, | |
| MO_NFR_525, | |
| NIKON_12_RW, | |
| IOMEGA_ZIP, | |
| IOMEGA_JAZ, | |
| SYQUEST_EZ135, | |
| SYQUEST_EZFLYER, | |
| SYQUEST_SYJET, | |
| AVATAR_F2, | |
| MP2_8mm, | |
| DST_S, | |
| DST_M, | |
| DST_L, | |
| VXATape_1, | |
| VXATape_2, | |
| STK_9840, | |
| LTO_Ultrium, | |
| LTO_Accelis, | |
| DVD_RAM, | |
| AIT_8mm, | |
| ADR_1, | |
| ADR_2, | |
| STK_9940, | |
| SAIT, | |
| VXATape, | |
| }; | |
| PSTORAGE_MEDIA_TYPE :: ^enum { | |
| DDS_4mm = 0x20, | |
| MiniQic, | |
| Travan, | |
| QIC, | |
| MP_8mm, | |
| AME_8mm, | |
| AIT1_8mm, | |
| DLT, | |
| NCTP, | |
| IBM_3480, | |
| IBM_3490E, | |
| IBM_Magstar_3590, | |
| IBM_Magstar_MP, | |
| STK_DATA_D3, | |
| SONY_DTF, | |
| DV_6mm, | |
| DMI, | |
| SONY_D2, | |
| CLEANER_CARTRIDGE, | |
| CD_ROM, | |
| CD_R, | |
| CD_RW, | |
| DVD_ROM, | |
| DVD_R, | |
| DVD_RW, | |
| MO_3_RW, | |
| MO_5_WO, | |
| MO_5_RW, | |
| MO_5_LIMDOW, | |
| PC_5_WO, | |
| PC_5_RW, | |
| PD_5_RW, | |
| ABL_5_WO, | |
| PINNACLE_APEX_5_RW, | |
| SONY_12_WO, | |
| PHILIPS_12_WO, | |
| HITACHI_12_WO, | |
| CYGNET_12_WO, | |
| KODAK_14_WO, | |
| MO_NFR_525, | |
| NIKON_12_RW, | |
| IOMEGA_ZIP, | |
| IOMEGA_JAZ, | |
| SYQUEST_EZ135, | |
| SYQUEST_EZFLYER, | |
| SYQUEST_SYJET, | |
| AVATAR_F2, | |
| MP2_8mm, | |
| DST_S, | |
| DST_M, | |
| DST_L, | |
| VXATape_1, | |
| VXATape_2, | |
| STK_9840, | |
| LTO_Ultrium, | |
| LTO_Accelis, | |
| DVD_RAM, | |
| AIT_8mm, | |
| ADR_1, | |
| ADR_2, | |
| STK_9940, | |
| SAIT, | |
| VXATape, | |
| }; | |
| STORAGE_BUS_TYPE :: enum { | |
| BusTypeUnknown = 0x00, | |
| BusTypeScsi, | |
| BusTypeAtapi, | |
| BusTypeAta, | |
| BusType1394, | |
| BusTypeSsa, | |
| BusTypeFibre, | |
| BusTypeUsb, | |
| BusTypeRAID, | |
| BusTypeiScsi, | |
| BusTypeSas, | |
| BusTypeSata, | |
| BusTypeSd, | |
| BusTypeMmc, | |
| BusTypeVirtual, | |
| BusTypeFileBackedVirtual, | |
| BusTypeSpaces, | |
| BusTypeNvme, | |
| BusTypeSCM, | |
| BusTypeUfs, | |
| BusTypeMax, | |
| BusTypeMaxReserved = 0x7F, | |
| }; | |
| PSTORAGE_BUS_TYPE :: ^enum { | |
| BusTypeUnknown = 0x00, | |
| BusTypeScsi, | |
| BusTypeAtapi, | |
| BusTypeAta, | |
| BusType1394, | |
| BusTypeSsa, | |
| BusTypeFibre, | |
| BusTypeUsb, | |
| BusTypeRAID, | |
| BusTypeiScsi, | |
| BusTypeSas, | |
| BusTypeSata, | |
| BusTypeSd, | |
| BusTypeMmc, | |
| BusTypeVirtual, | |
| BusTypeFileBackedVirtual, | |
| BusTypeSpaces, | |
| BusTypeNvme, | |
| BusTypeSCM, | |
| BusTypeUfs, | |
| BusTypeMax, | |
| BusTypeMaxReserved = 0x7F, | |
| }; | |
| DEVICE_MEDIA_INFO :: struct { | |
| DeviceSpecific : struct #raw_union { | |
| DiskInfo : struct { | |
| Cylinders : LARGE_INTEGER, | |
| MediaType : STORAGE_MEDIA_TYPE, | |
| TracksPerCylinder : u32, | |
| SectorsPerTrack : u32, | |
| BytesPerSector : u32, | |
| NumberMediaSides : u32, | |
| MediaCharacteristics : u32, | |
| }, | |
| RemovableDiskInfo : struct { | |
| Cylinders : LARGE_INTEGER, | |
| MediaType : STORAGE_MEDIA_TYPE, | |
| TracksPerCylinder : u32, | |
| SectorsPerTrack : u32, | |
| BytesPerSector : u32, | |
| NumberMediaSides : u32, | |
| MediaCharacteristics : u32, | |
| }, | |
| TapeInfo : struct { | |
| MediaType : STORAGE_MEDIA_TYPE, | |
| MediaCharacteristics : u32, | |
| CurrentBlockSize : u32, | |
| BusType : STORAGE_BUS_TYPE, | |
| BusSpecificData : struct #raw_union { | |
| ScsiInformation : struct { | |
| MediumType : BYTE, | |
| DensityCode : BYTE, | |
| }, | |
| }, | |
| }, | |
| }, | |
| }; | |
| PDEVICE_MEDIA_INFO :: ^struct { | |
| DeviceSpecific : struct #raw_union { | |
| DiskInfo : struct { | |
| Cylinders : LARGE_INTEGER, | |
| MediaType : STORAGE_MEDIA_TYPE, | |
| TracksPerCylinder : u32, | |
| SectorsPerTrack : u32, | |
| BytesPerSector : u32, | |
| NumberMediaSides : u32, | |
| MediaCharacteristics : u32, | |
| }, | |
| RemovableDiskInfo : struct { | |
| Cylinders : LARGE_INTEGER, | |
| MediaType : STORAGE_MEDIA_TYPE, | |
| TracksPerCylinder : u32, | |
| SectorsPerTrack : u32, | |
| BytesPerSector : u32, | |
| NumberMediaSides : u32, | |
| MediaCharacteristics : u32, | |
| }, | |
| TapeInfo : struct { | |
| MediaType : STORAGE_MEDIA_TYPE, | |
| MediaCharacteristics : u32, | |
| CurrentBlockSize : u32, | |
| BusType : STORAGE_BUS_TYPE, | |
| BusSpecificData : struct #raw_union { | |
| ScsiInformation : struct { | |
| MediumType : BYTE, | |
| DensityCode : BYTE, | |
| }, | |
| }, | |
| }, | |
| }, | |
| }; | |
| GET_MEDIA_TYPES :: struct { | |
| DeviceType : u32, | |
| MediaInfoCount : u32, | |
| MediaInfo : [1]DEVICE_MEDIA_INFO, | |
| }; | |
| PGET_MEDIA_TYPES :: ^struct { | |
| DeviceType : u32, | |
| MediaInfoCount : u32, | |
| MediaInfo : [1]DEVICE_MEDIA_INFO, | |
| }; | |
| STORAGE_PREDICT_FAILURE :: struct { | |
| PredictFailure : u32, | |
| VendorSpecific : [512]BYTE, | |
| }; | |
| PSTORAGE_PREDICT_FAILURE :: ^struct { | |
| PredictFailure : u32, | |
| VendorSpecific : [512]BYTE, | |
| }; | |
| STORAGE_FAILURE_PREDICTION_CONFIG :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Set : BOOLEAN, | |
| Enabled : BOOLEAN, | |
| Reserved : u16, | |
| }; | |
| PSTORAGE_FAILURE_PREDICTION_CONFIG :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Set : BOOLEAN, | |
| Enabled : BOOLEAN, | |
| Reserved : u16, | |
| }; | |
| STORAGE_QUERY_TYPE :: enum { | |
| PropertyStandardQuery = 0, | |
| PropertyExistsQuery, | |
| PropertyMaskQuery, | |
| PropertyQueryMaxDefined, | |
| }; | |
| PSTORAGE_QUERY_TYPE :: ^enum { | |
| PropertyStandardQuery = 0, | |
| PropertyExistsQuery, | |
| PropertyMaskQuery, | |
| PropertyQueryMaxDefined, | |
| }; | |
| STORAGE_SET_TYPE :: enum { | |
| PropertyStandardSet = 0, | |
| PropertyExistsSet, | |
| PropertySetMaxDefined, | |
| }; | |
| PSTORAGE_SET_TYPE :: ^enum { | |
| PropertyStandardSet = 0, | |
| PropertyExistsSet, | |
| PropertySetMaxDefined, | |
| }; | |
| STORAGE_PROPERTY_ID :: enum { | |
| StorageDeviceProperty = 0, | |
| StorageAdapterProperty, | |
| StorageDeviceIdProperty, | |
| StorageDeviceUniqueIdProperty, | |
| StorageDeviceWriteCacheProperty, | |
| StorageMiniportProperty, | |
| StorageAccessAlignmentProperty, | |
| StorageDeviceSeekPenaltyProperty, | |
| StorageDeviceTrimProperty, | |
| StorageDeviceWriteAggregationProperty, | |
| StorageDeviceDeviceTelemetryProperty, | |
| StorageDeviceLBProvisioningProperty, | |
| StorageDevicePowerProperty, | |
| StorageDeviceCopyOffloadProperty, | |
| StorageDeviceResiliencyProperty, | |
| StorageDeviceMediumProductType, | |
| StorageAdapterRpmbProperty, | |
| StorageAdapterCryptoProperty, | |
| StorageDeviceIoCapabilityProperty = 48, | |
| StorageAdapterProtocolSpecificProperty, | |
| StorageDeviceProtocolSpecificProperty, | |
| StorageAdapterTemperatureProperty, | |
| StorageDeviceTemperatureProperty, | |
| StorageAdapterPhysicalTopologyProperty, | |
| StorageDevicePhysicalTopologyProperty, | |
| StorageDeviceAttributesProperty, | |
| StorageDeviceManagementStatus, | |
| StorageAdapterSerialNumberProperty, | |
| StorageDeviceLocationProperty, | |
| StorageDeviceNumaProperty, | |
| StorageDeviceZonedDeviceProperty, | |
| StorageDeviceUnsafeShutdownCount, | |
| StorageDeviceEnduranceProperty, | |
| }; | |
| PSTORAGE_PROPERTY_ID :: ^enum { | |
| StorageDeviceProperty = 0, | |
| StorageAdapterProperty, | |
| StorageDeviceIdProperty, | |
| StorageDeviceUniqueIdProperty, | |
| StorageDeviceWriteCacheProperty, | |
| StorageMiniportProperty, | |
| StorageAccessAlignmentProperty, | |
| StorageDeviceSeekPenaltyProperty, | |
| StorageDeviceTrimProperty, | |
| StorageDeviceWriteAggregationProperty, | |
| StorageDeviceDeviceTelemetryProperty, | |
| StorageDeviceLBProvisioningProperty, | |
| StorageDevicePowerProperty, | |
| StorageDeviceCopyOffloadProperty, | |
| StorageDeviceResiliencyProperty, | |
| StorageDeviceMediumProductType, | |
| StorageAdapterRpmbProperty, | |
| StorageAdapterCryptoProperty, | |
| StorageDeviceIoCapabilityProperty = 48, | |
| StorageAdapterProtocolSpecificProperty, | |
| StorageDeviceProtocolSpecificProperty, | |
| StorageAdapterTemperatureProperty, | |
| StorageDeviceTemperatureProperty, | |
| StorageAdapterPhysicalTopologyProperty, | |
| StorageDevicePhysicalTopologyProperty, | |
| StorageDeviceAttributesProperty, | |
| StorageDeviceManagementStatus, | |
| StorageAdapterSerialNumberProperty, | |
| StorageDeviceLocationProperty, | |
| StorageDeviceNumaProperty, | |
| StorageDeviceZonedDeviceProperty, | |
| StorageDeviceUnsafeShutdownCount, | |
| StorageDeviceEnduranceProperty, | |
| }; | |
| STORAGE_PROPERTY_QUERY :: struct { | |
| PropertyId : STORAGE_PROPERTY_ID, | |
| QueryType : STORAGE_QUERY_TYPE, | |
| AdditionalParameters : [1]BYTE, | |
| }; | |
| PSTORAGE_PROPERTY_QUERY :: ^struct { | |
| PropertyId : STORAGE_PROPERTY_ID, | |
| QueryType : STORAGE_QUERY_TYPE, | |
| AdditionalParameters : [1]BYTE, | |
| }; | |
| STORAGE_PROPERTY_SET :: struct { | |
| PropertyId : STORAGE_PROPERTY_ID, | |
| SetType : STORAGE_SET_TYPE, | |
| AdditionalParameters : [1]BYTE, | |
| }; | |
| PSTORAGE_PROPERTY_SET :: ^struct { | |
| PropertyId : STORAGE_PROPERTY_ID, | |
| SetType : STORAGE_SET_TYPE, | |
| AdditionalParameters : [1]BYTE, | |
| }; | |
| STORAGE_DESCRIPTOR_HEADER :: struct { | |
| Version : u32, | |
| Size : u32, | |
| }; | |
| PSTORAGE_DESCRIPTOR_HEADER :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| }; | |
| STORAGE_DEVICE_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceType : BYTE, | |
| DeviceTypeModifier : BYTE, | |
| RemovableMedia : BOOLEAN, | |
| CommandQueueing : BOOLEAN, | |
| VendorIdOffset : u32, | |
| ProductIdOffset : u32, | |
| ProductRevisionOffset : u32, | |
| SerialNumberOffset : u32, | |
| BusType : STORAGE_BUS_TYPE, | |
| RawPropertiesLength : u32, | |
| RawDeviceProperties : [1]BYTE, | |
| }; | |
| PSTORAGE_DEVICE_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceType : BYTE, | |
| DeviceTypeModifier : BYTE, | |
| RemovableMedia : BOOLEAN, | |
| CommandQueueing : BOOLEAN, | |
| VendorIdOffset : u32, | |
| ProductIdOffset : u32, | |
| ProductRevisionOffset : u32, | |
| SerialNumberOffset : u32, | |
| BusType : STORAGE_BUS_TYPE, | |
| RawPropertiesLength : u32, | |
| RawDeviceProperties : [1]BYTE, | |
| }; | |
| STORAGE_ADAPTER_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| MaximumTransferLength : u32, | |
| MaximumPhysicalPages : u32, | |
| AlignmentMask : u32, | |
| AdapterUsesPio : BOOLEAN, | |
| AdapterScansDown : BOOLEAN, | |
| CommandQueueing : BOOLEAN, | |
| AcceleratedTransfer : BOOLEAN, | |
| BusType : BYTE, | |
| BusMajorVersion : u16, | |
| BusMinorVersion : u16, | |
| SrbType : BYTE, | |
| AddressType : BYTE, | |
| }; | |
| PSTORAGE_ADAPTER_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| MaximumTransferLength : u32, | |
| MaximumPhysicalPages : u32, | |
| AlignmentMask : u32, | |
| AdapterUsesPio : BOOLEAN, | |
| AdapterScansDown : BOOLEAN, | |
| CommandQueueing : BOOLEAN, | |
| AcceleratedTransfer : BOOLEAN, | |
| BusType : BYTE, | |
| BusMajorVersion : u16, | |
| BusMinorVersion : u16, | |
| SrbType : BYTE, | |
| AddressType : BYTE, | |
| }; | |
| STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| BytesPerCacheLine : u32, | |
| BytesOffsetForCacheAlignment : u32, | |
| BytesPerLogicalSector : u32, | |
| BytesPerPhysicalSector : u32, | |
| BytesOffsetForSectorAlignment : u32, | |
| }; | |
| PSTORAGE_ACCESS_ALIGNMENT_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| BytesPerCacheLine : u32, | |
| BytesOffsetForCacheAlignment : u32, | |
| BytesPerLogicalSector : u32, | |
| BytesPerPhysicalSector : u32, | |
| BytesOffsetForSectorAlignment : u32, | |
| }; | |
| STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| MediumProductType : u32, | |
| }; | |
| PSTORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| MediumProductType : u32, | |
| }; | |
| STORAGE_PORT_CODE_SET :: enum { | |
| StoragePortCodeSetReserved = 0, | |
| StoragePortCodeSetStorport = 1, | |
| StoragePortCodeSetSCSIport = 2, | |
| StoragePortCodeSetSpaceport = 3, | |
| StoragePortCodeSetATAport = 4, | |
| StoragePortCodeSetUSBport = 5, | |
| StoragePortCodeSetSBP2port = 6, | |
| StoragePortCodeSetSDport = 7, | |
| }; | |
| PSTORAGE_PORT_CODE_SET :: ^enum { | |
| StoragePortCodeSetReserved = 0, | |
| StoragePortCodeSetStorport = 1, | |
| StoragePortCodeSetSCSIport = 2, | |
| StoragePortCodeSetSpaceport = 3, | |
| StoragePortCodeSetATAport = 4, | |
| StoragePortCodeSetUSBport = 5, | |
| StoragePortCodeSetSBP2port = 6, | |
| StoragePortCodeSetSDport = 7, | |
| }; | |
| STORAGE_MINIPORT_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Portdriver : STORAGE_PORT_CODE_SET, | |
| LUNResetSupported : BOOLEAN, | |
| TargetResetSupported : BOOLEAN, | |
| IoTimeoutValue : u16, | |
| ExtraIoInfoSupported : BOOLEAN, | |
| Reserved0 : [3]BYTE, | |
| Reserved1 : u32, | |
| }; | |
| PSTORAGE_MINIPORT_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Portdriver : STORAGE_PORT_CODE_SET, | |
| LUNResetSupported : BOOLEAN, | |
| TargetResetSupported : BOOLEAN, | |
| IoTimeoutValue : u16, | |
| ExtraIoInfoSupported : BOOLEAN, | |
| Reserved0 : [3]BYTE, | |
| Reserved1 : u32, | |
| }; | |
| STORAGE_IDENTIFIER_CODE_SET :: enum { | |
| StorageIdCodeSetReserved = 0, | |
| StorageIdCodeSetBinary = 1, | |
| StorageIdCodeSetAscii = 2, | |
| StorageIdCodeSetUtf8 = 3, | |
| }; | |
| PSTORAGE_IDENTIFIER_CODE_SET :: ^enum { | |
| StorageIdCodeSetReserved = 0, | |
| StorageIdCodeSetBinary = 1, | |
| StorageIdCodeSetAscii = 2, | |
| StorageIdCodeSetUtf8 = 3, | |
| }; | |
| STORAGE_IDENTIFIER_TYPE :: enum { | |
| StorageIdTypeVendorSpecific = 0, | |
| StorageIdTypeVendorId = 1, | |
| StorageIdTypeEUI64 = 2, | |
| StorageIdTypeFCPHName = 3, | |
| StorageIdTypePortRelative = 4, | |
| StorageIdTypeTargetPortGroup = 5, | |
| StorageIdTypeLogicalUnitGroup = 6, | |
| StorageIdTypeMD5LogicalUnitIdentifier = 7, | |
| StorageIdTypeScsiNameString = 8, | |
| }; | |
| PSTORAGE_IDENTIFIER_TYPE :: ^enum { | |
| StorageIdTypeVendorSpecific = 0, | |
| StorageIdTypeVendorId = 1, | |
| StorageIdTypeEUI64 = 2, | |
| StorageIdTypeFCPHName = 3, | |
| StorageIdTypePortRelative = 4, | |
| StorageIdTypeTargetPortGroup = 5, | |
| StorageIdTypeLogicalUnitGroup = 6, | |
| StorageIdTypeMD5LogicalUnitIdentifier = 7, | |
| StorageIdTypeScsiNameString = 8, | |
| }; | |
| STORAGE_ID_NAA_FORMAT :: enum { | |
| StorageIdNAAFormatIEEEExtended = 2, | |
| StorageIdNAAFormatIEEERegistered = 3, | |
| StorageIdNAAFormatIEEEERegisteredExtended = 5, | |
| }; | |
| PSTORAGE_ID_NAA_FORMAT :: ^enum { | |
| StorageIdNAAFormatIEEEExtended = 2, | |
| StorageIdNAAFormatIEEERegistered = 3, | |
| StorageIdNAAFormatIEEEERegisteredExtended = 5, | |
| }; | |
| STORAGE_ASSOCIATION_TYPE :: enum { | |
| StorageIdAssocDevice = 0, | |
| StorageIdAssocPort = 1, | |
| StorageIdAssocTarget = 2, | |
| }; | |
| PSTORAGE_ASSOCIATION_TYPE :: ^enum { | |
| StorageIdAssocDevice = 0, | |
| StorageIdAssocPort = 1, | |
| StorageIdAssocTarget = 2, | |
| }; | |
| STORAGE_IDENTIFIER :: struct { | |
| CodeSet : STORAGE_IDENTIFIER_CODE_SET, | |
| Type : STORAGE_IDENTIFIER_TYPE, | |
| IdentifierSize : u16, | |
| NextOffset : u16, | |
| Association : STORAGE_ASSOCIATION_TYPE, | |
| Identifier : [1]BYTE, | |
| }; | |
| PSTORAGE_IDENTIFIER :: ^struct { | |
| CodeSet : STORAGE_IDENTIFIER_CODE_SET, | |
| Type : STORAGE_IDENTIFIER_TYPE, | |
| IdentifierSize : u16, | |
| NextOffset : u16, | |
| Association : STORAGE_ASSOCIATION_TYPE, | |
| Identifier : [1]BYTE, | |
| }; | |
| STORAGE_DEVICE_ID_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| NumberOfIdentifiers : u32, | |
| Identifiers : [1]BYTE, | |
| }; | |
| PSTORAGE_DEVICE_ID_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| NumberOfIdentifiers : u32, | |
| Identifiers : [1]BYTE, | |
| }; | |
| DEVICE_SEEK_PENALTY_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| IncursSeekPenalty : BOOLEAN, | |
| }; | |
| PDEVICE_SEEK_PENALTY_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| IncursSeekPenalty : BOOLEAN, | |
| }; | |
| DEVICE_WRITE_AGGREGATION_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| BenefitsFromWriteAggregation : BOOLEAN, | |
| }; | |
| PDEVICE_WRITE_AGGREGATION_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| BenefitsFromWriteAggregation : BOOLEAN, | |
| }; | |
| DEVICE_TRIM_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| TrimEnabled : BOOLEAN, | |
| }; | |
| PDEVICE_TRIM_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| TrimEnabled : BOOLEAN, | |
| }; | |
| DEVICE_LB_PROVISIONING_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| ThinProvisioningEnabled : , | |
| ThinProvisioningReadZeros : , | |
| AnchorSupported : , | |
| UnmapGranularityAlignmentValid : , | |
| Reserved0 : , | |
| Reserved1 : [7]BYTE, | |
| OptimalUnmapGranularity : DWORDLONG, | |
| UnmapGranularityAlignment : DWORDLONG, | |
| MaxUnmapLbaCount : u32, | |
| MaxUnmapBlockDescriptorCount : u32, | |
| }; | |
| PDEVICE_LB_PROVISIONING_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| ThinProvisioningEnabled : , | |
| ThinProvisioningReadZeros : , | |
| AnchorSupported : , | |
| UnmapGranularityAlignmentValid : , | |
| Reserved0 : , | |
| Reserved1 : [7]BYTE, | |
| OptimalUnmapGranularity : DWORDLONG, | |
| UnmapGranularityAlignment : DWORDLONG, | |
| MaxUnmapLbaCount : u32, | |
| MaxUnmapBlockDescriptorCount : u32, | |
| }; | |
| STORAGE_LB_PROVISIONING_MAP_RESOURCES :: struct { | |
| Size : u32, | |
| Version : u32, | |
| AvailableMappingResourcesValid : , | |
| UsedMappingResourcesValid : , | |
| Reserved0 : , | |
| Reserved1 : [3]BYTE, | |
| AvailableMappingResourcesScope : , | |
| UsedMappingResourcesScope : , | |
| Reserved2 : , | |
| Reserved3 : [3]BYTE, | |
| AvailableMappingResources : DWORDLONG, | |
| UsedMappingResources : DWORDLONG, | |
| }; | |
| PSTORAGE_LB_PROVISIONING_MAP_RESOURCES :: ^struct { | |
| Size : u32, | |
| Version : u32, | |
| AvailableMappingResourcesValid : , | |
| UsedMappingResourcesValid : , | |
| Reserved0 : , | |
| Reserved1 : [3]BYTE, | |
| AvailableMappingResourcesScope : , | |
| UsedMappingResourcesScope : , | |
| Reserved2 : , | |
| Reserved3 : [3]BYTE, | |
| AvailableMappingResources : DWORDLONG, | |
| UsedMappingResources : DWORDLONG, | |
| }; | |
| DEVICE_POWER_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceAttentionSupported : BOOLEAN, | |
| AsynchronousNotificationSupported : BOOLEAN, | |
| IdlePowerManagementEnabled : BOOLEAN, | |
| D3ColdEnabled : BOOLEAN, | |
| D3ColdSupported : BOOLEAN, | |
| NoVerifyDuringIdlePower : BOOLEAN, | |
| Reserved : [2]BYTE, | |
| IdleTimeoutInMS : u32, | |
| }; | |
| PDEVICE_POWER_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceAttentionSupported : BOOLEAN, | |
| AsynchronousNotificationSupported : BOOLEAN, | |
| IdlePowerManagementEnabled : BOOLEAN, | |
| D3ColdEnabled : BOOLEAN, | |
| D3ColdSupported : BOOLEAN, | |
| NoVerifyDuringIdlePower : BOOLEAN, | |
| Reserved : [2]BYTE, | |
| IdleTimeoutInMS : u32, | |
| }; | |
| DEVICE_COPY_OFFLOAD_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| MaximumTokenLifetime : u32, | |
| DefaultTokenLifetime : u32, | |
| MaximumTransferSize : DWORDLONG, | |
| OptimalTransferCount : DWORDLONG, | |
| MaximumDataDescriptors : u32, | |
| MaximumTransferLengthPerDescriptor : u32, | |
| OptimalTransferLengthPerDescriptor : u32, | |
| OptimalTransferLengthGranularity : u16, | |
| Reserved : [2]BYTE, | |
| }; | |
| PDEVICE_COPY_OFFLOAD_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| MaximumTokenLifetime : u32, | |
| DefaultTokenLifetime : u32, | |
| MaximumTransferSize : DWORDLONG, | |
| OptimalTransferCount : DWORDLONG, | |
| MaximumDataDescriptors : u32, | |
| MaximumTransferLengthPerDescriptor : u32, | |
| OptimalTransferLengthPerDescriptor : u32, | |
| OptimalTransferLengthGranularity : u16, | |
| Reserved : [2]BYTE, | |
| }; | |
| STORAGE_DEVICE_RESILIENCY_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| NameOffset : u32, | |
| NumberOfLogicalCopies : u32, | |
| NumberOfPhysicalCopies : u32, | |
| PhysicalDiskRedundancy : u32, | |
| NumberOfColumns : u32, | |
| Interleave : u32, | |
| }; | |
| PSTORAGE_DEVICE_RESILIENCY_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| NameOffset : u32, | |
| NumberOfLogicalCopies : u32, | |
| NumberOfPhysicalCopies : u32, | |
| PhysicalDiskRedundancy : u32, | |
| NumberOfColumns : u32, | |
| Interleave : u32, | |
| }; | |
| STORAGE_RPMB_FRAME_TYPE :: enum { | |
| StorageRpmbFrameTypeUnknown = 0, | |
| StorageRpmbFrameTypeStandard, | |
| StorageRpmbFrameTypeMax, | |
| }; | |
| PSTORAGE_RPMB_FRAME_TYPE :: ^enum { | |
| StorageRpmbFrameTypeUnknown = 0, | |
| StorageRpmbFrameTypeStandard, | |
| StorageRpmbFrameTypeMax, | |
| }; | |
| STORAGE_RPMB_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| SizeInBytes : u32, | |
| MaxReliableWriteSizeInBytes : u32, | |
| FrameFormat : STORAGE_RPMB_FRAME_TYPE, | |
| }; | |
| PSTORAGE_RPMB_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| SizeInBytes : u32, | |
| MaxReliableWriteSizeInBytes : u32, | |
| FrameFormat : STORAGE_RPMB_FRAME_TYPE, | |
| }; | |
| STORAGE_CRYPTO_ALGORITHM_ID :: enum { | |
| StorageCryptoAlgorithmUnknown = 0, | |
| StorageCryptoAlgorithmXTSAES = 1, | |
| StorageCryptoAlgorithmBitlockerAESCBC, | |
| StorageCryptoAlgorithmAESECB, | |
| StorageCryptoAlgorithmESSIVAESCBC, | |
| StorageCryptoAlgorithmMax, | |
| }; | |
| PSTORAGE_CRYPTO_ALGORITHM_ID :: ^enum { | |
| StorageCryptoAlgorithmUnknown = 0, | |
| StorageCryptoAlgorithmXTSAES = 1, | |
| StorageCryptoAlgorithmBitlockerAESCBC, | |
| StorageCryptoAlgorithmAESECB, | |
| StorageCryptoAlgorithmESSIVAESCBC, | |
| StorageCryptoAlgorithmMax, | |
| }; | |
| STORAGE_CRYPTO_KEY_SIZE :: enum { | |
| StorageCryptoKeySizeUnknown = 0, | |
| StorageCryptoKeySize128Bits = 1, | |
| StorageCryptoKeySize192Bits, | |
| StorageCryptoKeySize256Bits, | |
| StorageCryptoKeySize512Bits, | |
| }; | |
| PSTORAGE_CRYPTO_KEY_SIZE :: ^enum { | |
| StorageCryptoKeySizeUnknown = 0, | |
| StorageCryptoKeySize128Bits = 1, | |
| StorageCryptoKeySize192Bits, | |
| StorageCryptoKeySize256Bits, | |
| StorageCryptoKeySize512Bits, | |
| }; | |
| STORAGE_CRYPTO_CAPABILITY :: struct { | |
| Version : u32, | |
| Size : u32, | |
| CryptoCapabilityIndex : u32, | |
| AlgorithmId : STORAGE_CRYPTO_ALGORITHM_ID, | |
| KeySize : STORAGE_CRYPTO_KEY_SIZE, | |
| DataUnitSizeBitmask : u32, | |
| }; | |
| PSTORAGE_CRYPTO_CAPABILITY :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| CryptoCapabilityIndex : u32, | |
| AlgorithmId : STORAGE_CRYPTO_ALGORITHM_ID, | |
| KeySize : STORAGE_CRYPTO_KEY_SIZE, | |
| DataUnitSizeBitmask : u32, | |
| }; | |
| STORAGE_CRYPTO_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| NumKeysSupported : u32, | |
| NumCryptoCapabilities : u32, | |
| CryptoCapabilities : [1]STORAGE_CRYPTO_CAPABILITY, | |
| }; | |
| PSTORAGE_CRYPTO_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| NumKeysSupported : u32, | |
| NumCryptoCapabilities : u32, | |
| CryptoCapabilities : [1]STORAGE_CRYPTO_CAPABILITY, | |
| }; | |
| STORAGE_TIER_MEDIA_TYPE :: enum { | |
| StorageTierMediaTypeUnspecified = 0, | |
| StorageTierMediaTypeDisk = 1, | |
| StorageTierMediaTypeSsd = 2, | |
| StorageTierMediaTypeScm = 4, | |
| StorageTierMediaTypeMax, | |
| }; | |
| PSTORAGE_TIER_MEDIA_TYPE :: ^enum { | |
| StorageTierMediaTypeUnspecified = 0, | |
| StorageTierMediaTypeDisk = 1, | |
| StorageTierMediaTypeSsd = 2, | |
| StorageTierMediaTypeScm = 4, | |
| StorageTierMediaTypeMax, | |
| }; | |
| STORAGE_TIER_CLASS :: enum { | |
| StorageTierClassUnspecified = 0, | |
| StorageTierClassCapacity, | |
| StorageTierClassPerformance, | |
| StorageTierClassMax, | |
| }; | |
| PSTORAGE_TIER_CLASS :: ^enum { | |
| StorageTierClassUnspecified = 0, | |
| StorageTierClassCapacity, | |
| StorageTierClassPerformance, | |
| StorageTierClassMax, | |
| }; | |
| STORAGE_TIER :: struct { | |
| Id : GUID, | |
| Name : [(256)]WCHAR, | |
| Description : [(256)]WCHAR, | |
| Flags : DWORDLONG, | |
| ProvisionedCapacity : DWORDLONG, | |
| MediaType : STORAGE_TIER_MEDIA_TYPE, | |
| Class : STORAGE_TIER_CLASS, | |
| }; | |
| PSTORAGE_TIER :: ^struct { | |
| Id : GUID, | |
| Name : [(256)]WCHAR, | |
| Description : [(256)]WCHAR, | |
| Flags : DWORDLONG, | |
| ProvisionedCapacity : DWORDLONG, | |
| MediaType : STORAGE_TIER_MEDIA_TYPE, | |
| Class : STORAGE_TIER_CLASS, | |
| }; | |
| STORAGE_DEVICE_TIERING_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| TotalNumberOfTiers : u32, | |
| NumberOfTiersReturned : u32, | |
| Tiers : [1]STORAGE_TIER, | |
| }; | |
| PSTORAGE_DEVICE_TIERING_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| TotalNumberOfTiers : u32, | |
| NumberOfTiersReturned : u32, | |
| Tiers : [1]STORAGE_TIER, | |
| }; | |
| STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| NumberOfFaultDomains : u32, | |
| FaultDomainIds : [1]GUID, | |
| }; | |
| PSTORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| NumberOfFaultDomains : u32, | |
| FaultDomainIds : [1]GUID, | |
| }; | |
| STORAGE_PROTOCOL_TYPE :: enum { | |
| ProtocolTypeUnknown = 0x00, | |
| ProtocolTypeScsi, | |
| ProtocolTypeAta, | |
| ProtocolTypeNvme, | |
| ProtocolTypeSd, | |
| ProtocolTypeUfs, | |
| ProtocolTypeProprietary = 0x7E, | |
| ProtocolTypeMaxReserved = 0x7F, | |
| }; | |
| PSTORAGE_PROTOCOL_TYPE :: ^enum { | |
| ProtocolTypeUnknown = 0x00, | |
| ProtocolTypeScsi, | |
| ProtocolTypeAta, | |
| ProtocolTypeNvme, | |
| ProtocolTypeSd, | |
| ProtocolTypeUfs, | |
| ProtocolTypeProprietary = 0x7E, | |
| ProtocolTypeMaxReserved = 0x7F, | |
| }; | |
| STORAGE_PROTOCOL_NVME_DATA_TYPE :: enum { | |
| NVMeDataTypeUnknown = 0, | |
| NVMeDataTypeIdentify, | |
| NVMeDataTypeLogPage, | |
| NVMeDataTypeFeature, | |
| }; | |
| PSTORAGE_PROTOCOL_NVME_DATA_TYPE :: ^enum { | |
| NVMeDataTypeUnknown = 0, | |
| NVMeDataTypeIdentify, | |
| NVMeDataTypeLogPage, | |
| NVMeDataTypeFeature, | |
| }; | |
| STORAGE_PROTOCOL_ATA_DATA_TYPE :: enum { | |
| AtaDataTypeUnknown = 0, | |
| AtaDataTypeIdentify, | |
| AtaDataTypeLogPage, | |
| }; | |
| PSTORAGE_PROTOCOL_ATA_DATA_TYPE :: ^enum { | |
| AtaDataTypeUnknown = 0, | |
| AtaDataTypeIdentify, | |
| AtaDataTypeLogPage, | |
| }; | |
| STORAGE_PROTOCOL_UFS_DATA_TYPE :: enum { | |
| UfsDataTypeUnknown = 0, | |
| UfsDataTypeQueryDescriptor, | |
| UfsDataTypeMax, | |
| }; | |
| PSTORAGE_PROTOCOL_UFS_DATA_TYPE :: ^enum { | |
| UfsDataTypeUnknown = 0, | |
| UfsDataTypeQueryDescriptor, | |
| UfsDataTypeMax, | |
| }; | |
| STORAGE_PROTOCOL_SPECIFIC_DATA :: struct { | |
| ProtocolType : STORAGE_PROTOCOL_TYPE, | |
| DataType : u32, | |
| ProtocolDataRequestValue : u32, | |
| ProtocolDataRequestSubValue : u32, | |
| ProtocolDataOffset : u32, | |
| ProtocolDataLength : u32, | |
| FixedProtocolReturnData : u32, | |
| ProtocolDataRequestSubValue2 : u32, | |
| ProtocolDataRequestSubValue3 : u32, | |
| Reserved : u32, | |
| }; | |
| PSTORAGE_PROTOCOL_SPECIFIC_DATA :: ^struct { | |
| ProtocolType : STORAGE_PROTOCOL_TYPE, | |
| DataType : u32, | |
| ProtocolDataRequestValue : u32, | |
| ProtocolDataRequestSubValue : u32, | |
| ProtocolDataOffset : u32, | |
| ProtocolDataLength : u32, | |
| FixedProtocolReturnData : u32, | |
| ProtocolDataRequestSubValue2 : u32, | |
| ProtocolDataRequestSubValue3 : u32, | |
| Reserved : u32, | |
| }; | |
| STORAGE_PROTOCOL_SPECIFIC_DATA_EXT :: struct { | |
| ProtocolType : STORAGE_PROTOCOL_TYPE, | |
| DataType : u32, | |
| ProtocolDataValue : u32, | |
| ProtocolDataSubValue : u32, | |
| ProtocolDataOffset : u32, | |
| ProtocolDataLength : u32, | |
| FixedProtocolReturnData : u32, | |
| ProtocolDataSubValue2 : u32, | |
| ProtocolDataSubValue3 : u32, | |
| ProtocolDataSubValue4 : u32, | |
| ProtocolDataSubValue5 : u32, | |
| Reserved : [5]u32, | |
| }; | |
| PSTORAGE_PROTOCOL_SPECIFIC_DATA_EXT :: ^struct { | |
| ProtocolType : STORAGE_PROTOCOL_TYPE, | |
| DataType : u32, | |
| ProtocolDataValue : u32, | |
| ProtocolDataSubValue : u32, | |
| ProtocolDataOffset : u32, | |
| ProtocolDataLength : u32, | |
| FixedProtocolReturnData : u32, | |
| ProtocolDataSubValue2 : u32, | |
| ProtocolDataSubValue3 : u32, | |
| ProtocolDataSubValue4 : u32, | |
| ProtocolDataSubValue5 : u32, | |
| Reserved : [5]u32, | |
| }; | |
| STORAGE_PROTOCOL_DATA_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| ProtocolSpecificData : STORAGE_PROTOCOL_SPECIFIC_DATA, | |
| }; | |
| PSTORAGE_PROTOCOL_DATA_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| ProtocolSpecificData : STORAGE_PROTOCOL_SPECIFIC_DATA, | |
| }; | |
| STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT :: struct { | |
| Version : u32, | |
| Size : u32, | |
| ProtocolSpecificData : STORAGE_PROTOCOL_SPECIFIC_DATA_EXT, | |
| }; | |
| PSTORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| ProtocolSpecificData : STORAGE_PROTOCOL_SPECIFIC_DATA_EXT, | |
| }; | |
| STORAGE_TEMPERATURE_INFO :: struct { | |
| Index : u16, | |
| Temperature : SHORT, | |
| OverThreshold : SHORT, | |
| UnderThreshold : SHORT, | |
| OverThresholdChangable : BOOLEAN, | |
| UnderThresholdChangable : BOOLEAN, | |
| EventGenerated : BOOLEAN, | |
| Reserved0 : BYTE, | |
| Reserved1 : u32, | |
| }; | |
| PSTORAGE_TEMPERATURE_INFO :: ^struct { | |
| Index : u16, | |
| Temperature : SHORT, | |
| OverThreshold : SHORT, | |
| UnderThreshold : SHORT, | |
| OverThresholdChangable : BOOLEAN, | |
| UnderThresholdChangable : BOOLEAN, | |
| EventGenerated : BOOLEAN, | |
| Reserved0 : BYTE, | |
| Reserved1 : u32, | |
| }; | |
| STORAGE_TEMPERATURE_DATA_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| CriticalTemperature : SHORT, | |
| WarningTemperature : SHORT, | |
| InfoCount : u16, | |
| Reserved0 : [2]BYTE, | |
| Reserved1 : [2]u32, | |
| TemperatureInfo : [1]STORAGE_TEMPERATURE_INFO, | |
| }; | |
| PSTORAGE_TEMPERATURE_DATA_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| CriticalTemperature : SHORT, | |
| WarningTemperature : SHORT, | |
| InfoCount : u16, | |
| Reserved0 : [2]BYTE, | |
| Reserved1 : [2]u32, | |
| TemperatureInfo : [1]STORAGE_TEMPERATURE_INFO, | |
| }; | |
| STORAGE_TEMPERATURE_THRESHOLD :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u16, | |
| Index : u16, | |
| Threshold : SHORT, | |
| OverThreshold : BOOLEAN, | |
| Reserved : BYTE, | |
| }; | |
| PSTORAGE_TEMPERATURE_THRESHOLD :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u16, | |
| Index : u16, | |
| Threshold : SHORT, | |
| OverThreshold : BOOLEAN, | |
| Reserved : BYTE, | |
| }; | |
| STORAGE_DEVICE_FORM_FACTOR :: enum { | |
| FormFactorUnknown = 0, | |
| FormFactor3_5, | |
| FormFactor2_5, | |
| FormFactor1_8, | |
| FormFactor1_8Less, | |
| FormFactorEmbedded, | |
| FormFactorMemoryCard, | |
| FormFactormSata, | |
| FormFactorM_2, | |
| FormFactorPCIeBoard, | |
| FormFactorDimm, | |
| }; | |
| PSTORAGE_DEVICE_FORM_FACTOR :: ^enum { | |
| FormFactorUnknown = 0, | |
| FormFactor3_5, | |
| FormFactor2_5, | |
| FormFactor1_8, | |
| FormFactor1_8Less, | |
| FormFactorEmbedded, | |
| FormFactorMemoryCard, | |
| FormFactormSata, | |
| FormFactorM_2, | |
| FormFactorPCIeBoard, | |
| FormFactorDimm, | |
| }; | |
| STORAGE_COMPONENT_HEALTH_STATUS :: enum { | |
| HealthStatusUnknown = 0, | |
| HealthStatusNormal, | |
| HealthStatusThrottled, | |
| HealthStatusWarning, | |
| HealthStatusDisabled, | |
| HealthStatusFailed, | |
| }; | |
| PSTORAGE_COMPONENT_HEALTH_STATUS :: ^enum { | |
| HealthStatusUnknown = 0, | |
| HealthStatusNormal, | |
| HealthStatusThrottled, | |
| HealthStatusWarning, | |
| HealthStatusDisabled, | |
| HealthStatusFailed, | |
| }; | |
| STORAGE_SPEC_VERSION :: struct #raw_union { | |
| s : struct { | |
| MinorVersion : struct #raw_union { | |
| s : struct { | |
| SubMinor : BYTE, | |
| Minor : BYTE, | |
| }, | |
| AsUshort : u16, | |
| }, | |
| MajorVersion : u16, | |
| }, | |
| AsUlong : u32, | |
| }; | |
| PSTORAGE_SPEC_VERSION :: ^struct #raw_union { | |
| s : struct { | |
| MinorVersion : struct #raw_union { | |
| s : struct { | |
| SubMinor : BYTE, | |
| Minor : BYTE, | |
| }, | |
| AsUshort : u16, | |
| }, | |
| MajorVersion : u16, | |
| }, | |
| AsUlong : u32, | |
| }; | |
| STORAGE_PHYSICAL_DEVICE_DATA :: struct { | |
| DeviceId : u32, | |
| Role : u32, | |
| HealthStatus : STORAGE_COMPONENT_HEALTH_STATUS, | |
| CommandProtocol : STORAGE_PROTOCOL_TYPE, | |
| SpecVersion : STORAGE_SPEC_VERSION, | |
| FormFactor : STORAGE_DEVICE_FORM_FACTOR, | |
| Vendor : [8]BYTE, | |
| Model : [40]BYTE, | |
| FirmwareRevision : [16]BYTE, | |
| Capacity : DWORDLONG, | |
| PhysicalLocation : [32]BYTE, | |
| Reserved : [2]u32, | |
| }; | |
| PSTORAGE_PHYSICAL_DEVICE_DATA :: ^struct { | |
| DeviceId : u32, | |
| Role : u32, | |
| HealthStatus : STORAGE_COMPONENT_HEALTH_STATUS, | |
| CommandProtocol : STORAGE_PROTOCOL_TYPE, | |
| SpecVersion : STORAGE_SPEC_VERSION, | |
| FormFactor : STORAGE_DEVICE_FORM_FACTOR, | |
| Vendor : [8]BYTE, | |
| Model : [40]BYTE, | |
| FirmwareRevision : [16]BYTE, | |
| Capacity : DWORDLONG, | |
| PhysicalLocation : [32]BYTE, | |
| Reserved : [2]u32, | |
| }; | |
| STORAGE_PHYSICAL_ADAPTER_DATA :: struct { | |
| AdapterId : u32, | |
| HealthStatus : STORAGE_COMPONENT_HEALTH_STATUS, | |
| CommandProtocol : STORAGE_PROTOCOL_TYPE, | |
| SpecVersion : STORAGE_SPEC_VERSION, | |
| Vendor : [8]BYTE, | |
| Model : [40]BYTE, | |
| FirmwareRevision : [16]BYTE, | |
| PhysicalLocation : [32]BYTE, | |
| ExpanderConnected : BOOLEAN, | |
| Reserved0 : [3]BYTE, | |
| Reserved1 : [3]u32, | |
| }; | |
| PSTORAGE_PHYSICAL_ADAPTER_DATA :: ^struct { | |
| AdapterId : u32, | |
| HealthStatus : STORAGE_COMPONENT_HEALTH_STATUS, | |
| CommandProtocol : STORAGE_PROTOCOL_TYPE, | |
| SpecVersion : STORAGE_SPEC_VERSION, | |
| Vendor : [8]BYTE, | |
| Model : [40]BYTE, | |
| FirmwareRevision : [16]BYTE, | |
| PhysicalLocation : [32]BYTE, | |
| ExpanderConnected : BOOLEAN, | |
| Reserved0 : [3]BYTE, | |
| Reserved1 : [3]u32, | |
| }; | |
| STORAGE_PHYSICAL_NODE_DATA :: struct { | |
| NodeId : u32, | |
| AdapterCount : u32, | |
| AdapterDataLength : u32, | |
| AdapterDataOffset : u32, | |
| DeviceCount : u32, | |
| DeviceDataLength : u32, | |
| DeviceDataOffset : u32, | |
| Reserved : [3]u32, | |
| }; | |
| PSTORAGE_PHYSICAL_NODE_DATA :: ^struct { | |
| NodeId : u32, | |
| AdapterCount : u32, | |
| AdapterDataLength : u32, | |
| AdapterDataOffset : u32, | |
| DeviceCount : u32, | |
| DeviceDataLength : u32, | |
| DeviceDataOffset : u32, | |
| Reserved : [3]u32, | |
| }; | |
| STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| NodeCount : u32, | |
| Reserved : u32, | |
| Node : [1]STORAGE_PHYSICAL_NODE_DATA, | |
| }; | |
| PSTORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| NodeCount : u32, | |
| Reserved : u32, | |
| Node : [1]STORAGE_PHYSICAL_NODE_DATA, | |
| }; | |
| STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| LunMaxIoCount : u32, | |
| AdapterMaxIoCount : u32, | |
| }; | |
| PSTORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| LunMaxIoCount : u32, | |
| AdapterMaxIoCount : u32, | |
| }; | |
| STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Attributes : DWORD64, | |
| }; | |
| PSTORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Attributes : DWORD64, | |
| }; | |
| STORAGE_DISK_HEALTH_STATUS :: enum { | |
| DiskHealthUnknown = 0, | |
| DiskHealthUnhealthy, | |
| DiskHealthWarning, | |
| DiskHealthHealthy, | |
| DiskHealthMax, | |
| }; | |
| PSTORAGE_DISK_HEALTH_STATUS :: ^enum { | |
| DiskHealthUnknown = 0, | |
| DiskHealthUnhealthy, | |
| DiskHealthWarning, | |
| DiskHealthHealthy, | |
| DiskHealthMax, | |
| }; | |
| STORAGE_DISK_OPERATIONAL_STATUS :: enum { | |
| DiskOpStatusNone = 0, | |
| DiskOpStatusUnknown, | |
| DiskOpStatusOk, | |
| DiskOpStatusPredictingFailure, | |
| DiskOpStatusInService, | |
| DiskOpStatusHardwareError, | |
| DiskOpStatusNotUsable, | |
| DiskOpStatusTransientError, | |
| DiskOpStatusMissing, | |
| }; | |
| PSTORAGE_DISK_OPERATIONAL_STATUS :: ^enum { | |
| DiskOpStatusNone = 0, | |
| DiskOpStatusUnknown, | |
| DiskOpStatusOk, | |
| DiskOpStatusPredictingFailure, | |
| DiskOpStatusInService, | |
| DiskOpStatusHardwareError, | |
| DiskOpStatusNotUsable, | |
| DiskOpStatusTransientError, | |
| DiskOpStatusMissing, | |
| }; | |
| STORAGE_OPERATIONAL_STATUS_REASON :: enum { | |
| DiskOpReasonUnknown = 0, | |
| DiskOpReasonScsiSenseCode, | |
| DiskOpReasonMedia, | |
| DiskOpReasonIo, | |
| DiskOpReasonThresholdExceeded, | |
| DiskOpReasonLostData, | |
| DiskOpReasonEnergySource, | |
| DiskOpReasonConfiguration, | |
| DiskOpReasonDeviceController, | |
| DiskOpReasonMediaController, | |
| DiskOpReasonComponent, | |
| DiskOpReasonNVDIMM_N, | |
| DiskOpReasonBackgroundOperation, | |
| DiskOpReasonInvalidFirmware, | |
| DiskOpReasonHealthCheck, | |
| DiskOpReasonLostDataPersistence, | |
| DiskOpReasonDisabledByPlatform, | |
| DiskOpReasonLostWritePersistence, | |
| DiskOpReasonDataPersistenceLossImminent, | |
| DiskOpReasonWritePersistenceLossImminent, | |
| DiskOpReasonMax, | |
| }; | |
| PSTORAGE_OPERATIONAL_STATUS_REASON :: ^enum { | |
| DiskOpReasonUnknown = 0, | |
| DiskOpReasonScsiSenseCode, | |
| DiskOpReasonMedia, | |
| DiskOpReasonIo, | |
| DiskOpReasonThresholdExceeded, | |
| DiskOpReasonLostData, | |
| DiskOpReasonEnergySource, | |
| DiskOpReasonConfiguration, | |
| DiskOpReasonDeviceController, | |
| DiskOpReasonMediaController, | |
| DiskOpReasonComponent, | |
| DiskOpReasonNVDIMM_N, | |
| DiskOpReasonBackgroundOperation, | |
| DiskOpReasonInvalidFirmware, | |
| DiskOpReasonHealthCheck, | |
| DiskOpReasonLostDataPersistence, | |
| DiskOpReasonDisabledByPlatform, | |
| DiskOpReasonLostWritePersistence, | |
| DiskOpReasonDataPersistenceLossImminent, | |
| DiskOpReasonWritePersistenceLossImminent, | |
| DiskOpReasonMax, | |
| }; | |
| STORAGE_OPERATIONAL_REASON :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Reason : STORAGE_OPERATIONAL_STATUS_REASON, | |
| RawBytes : struct #raw_union { | |
| ScsiSenseKey : struct { | |
| SenseKey : BYTE, | |
| ASC : BYTE, | |
| ASCQ : BYTE, | |
| Reserved : BYTE, | |
| }, | |
| NVDIMM_N : struct { | |
| CriticalHealth : BYTE, | |
| ModuleHealth : [2]BYTE, | |
| ErrorThresholdStatus : BYTE, | |
| }, | |
| AsUlong : u32, | |
| }, | |
| }; | |
| PSTORAGE_OPERATIONAL_REASON :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Reason : STORAGE_OPERATIONAL_STATUS_REASON, | |
| RawBytes : struct #raw_union { | |
| ScsiSenseKey : struct { | |
| SenseKey : BYTE, | |
| ASC : BYTE, | |
| ASCQ : BYTE, | |
| Reserved : BYTE, | |
| }, | |
| NVDIMM_N : struct { | |
| CriticalHealth : BYTE, | |
| ModuleHealth : [2]BYTE, | |
| ErrorThresholdStatus : BYTE, | |
| }, | |
| AsUlong : u32, | |
| }, | |
| }; | |
| STORAGE_DEVICE_MANAGEMENT_STATUS :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Health : STORAGE_DISK_HEALTH_STATUS, | |
| NumberOfOperationalStatus : u32, | |
| NumberOfAdditionalReasons : u32, | |
| OperationalStatus : [16]STORAGE_DISK_OPERATIONAL_STATUS, | |
| AdditionalReasons : [1]STORAGE_OPERATIONAL_REASON, | |
| }; | |
| PSTORAGE_DEVICE_MANAGEMENT_STATUS :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Health : STORAGE_DISK_HEALTH_STATUS, | |
| NumberOfOperationalStatus : u32, | |
| NumberOfAdditionalReasons : u32, | |
| OperationalStatus : [16]STORAGE_DISK_OPERATIONAL_STATUS, | |
| AdditionalReasons : [1]STORAGE_OPERATIONAL_REASON, | |
| }; | |
| STORAGE_ADAPTER_SERIAL_NUMBER :: struct { | |
| Version : u32, | |
| Size : u32, | |
| SerialNumber : [(128)]WCHAR, | |
| }; | |
| PSTORAGE_ADAPTER_SERIAL_NUMBER :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| SerialNumber : [(128)]WCHAR, | |
| }; | |
| STORAGE_ZONED_DEVICE_TYPES :: enum { | |
| ZonedDeviceTypeUnknown = 0, | |
| ZonedDeviceTypeHostManaged, | |
| ZonedDeviceTypeHostAware, | |
| ZonedDeviceTypeDeviceManaged, | |
| }; | |
| PSTORAGE_ZONED_DEVICE_TYPES :: ^enum { | |
| ZonedDeviceTypeUnknown = 0, | |
| ZonedDeviceTypeHostManaged, | |
| ZonedDeviceTypeHostAware, | |
| ZonedDeviceTypeDeviceManaged, | |
| }; | |
| STORAGE_ZONE_TYPES :: enum { | |
| ZoneTypeUnknown = 0, | |
| ZoneTypeConventional = 1, | |
| ZoneTypeSequentialWriteRequired = 2, | |
| ZoneTypeSequentialWritePreferred = 3, | |
| ZoneTypeMax, | |
| }; | |
| PSTORAGE_ZONE_TYPES :: ^enum { | |
| ZoneTypeUnknown = 0, | |
| ZoneTypeConventional = 1, | |
| ZoneTypeSequentialWriteRequired = 2, | |
| ZoneTypeSequentialWritePreferred = 3, | |
| ZoneTypeMax, | |
| }; | |
| STORAGE_ZONE_GROUP :: struct { | |
| ZoneCount : u32, | |
| ZoneType : STORAGE_ZONE_TYPES, | |
| ZoneSize : DWORDLONG, | |
| }; | |
| PSTORAGE_ZONE_GROUP :: ^struct { | |
| ZoneCount : u32, | |
| ZoneType : STORAGE_ZONE_TYPES, | |
| ZoneSize : DWORDLONG, | |
| }; | |
| STORAGE_ZONED_DEVICE_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceType : STORAGE_ZONED_DEVICE_TYPES, | |
| ZoneCount : u32, | |
| ZoneAttributes : struct #raw_union { | |
| SequentialRequiredZone : struct { | |
| MaxOpenZoneCount : u32, | |
| UnrestrictedRead : BOOLEAN, | |
| Reserved : [3]BYTE, | |
| }, | |
| SequentialPreferredZone : struct { | |
| OptimalOpenZoneCount : u32, | |
| Reserved : u32, | |
| }, | |
| }, | |
| ZoneGroupCount : u32, | |
| ZoneGroup : [1]STORAGE_ZONE_GROUP, | |
| }; | |
| PSTORAGE_ZONED_DEVICE_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceType : STORAGE_ZONED_DEVICE_TYPES, | |
| ZoneCount : u32, | |
| ZoneAttributes : struct #raw_union { | |
| SequentialRequiredZone : struct { | |
| MaxOpenZoneCount : u32, | |
| UnrestrictedRead : BOOLEAN, | |
| Reserved : [3]BYTE, | |
| }, | |
| SequentialPreferredZone : struct { | |
| OptimalOpenZoneCount : u32, | |
| Reserved : u32, | |
| }, | |
| }, | |
| ZoneGroupCount : u32, | |
| ZoneGroup : [1]STORAGE_ZONE_GROUP, | |
| }; | |
| DEVICE_LOCATION :: struct { | |
| Socket : u32, | |
| Slot : u32, | |
| Adapter : u32, | |
| Port : u32, | |
| u : struct #raw_union { | |
| s : struct { | |
| Channel : u32, | |
| Device : u32, | |
| }, | |
| s2 : struct { | |
| Target : u32, | |
| Lun : u32, | |
| }, | |
| }, | |
| }; | |
| PDEVICE_LOCATION :: ^struct { | |
| Socket : u32, | |
| Slot : u32, | |
| Adapter : u32, | |
| Port : u32, | |
| u : struct #raw_union { | |
| s : struct { | |
| Channel : u32, | |
| Device : u32, | |
| }, | |
| s2 : struct { | |
| Target : u32, | |
| Lun : u32, | |
| }, | |
| }, | |
| }; | |
| STORAGE_DEVICE_LOCATION_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Location : DEVICE_LOCATION, | |
| StringOffset : u32, | |
| }; | |
| PSTORAGE_DEVICE_LOCATION_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Location : DEVICE_LOCATION, | |
| StringOffset : u32, | |
| }; | |
| STORAGE_DEVICE_NUMA_PROPERTY :: struct { | |
| Version : u32, | |
| Size : u32, | |
| NumaNode : u32, | |
| }; | |
| PSTORAGE_DEVICE_NUMA_PROPERTY :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| NumaNode : u32, | |
| }; | |
| STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT :: struct { | |
| Version : u32, | |
| Size : u32, | |
| UnsafeShutdownCount : u32, | |
| }; | |
| PSTORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| UnsafeShutdownCount : u32, | |
| }; | |
| STORAGE_HW_ENDURANCE_INFO :: struct { | |
| ValidFields : u32, | |
| GroupId : u32, | |
| Flags : struct { | |
| Shared : , | |
| Reserved : , | |
| }, | |
| LifePercentage : u32, | |
| BytesReadCount : [16]BYTE, | |
| ByteWriteCount : [16]BYTE, | |
| }; | |
| PSTORAGE_HW_ENDURANCE_INFO :: ^struct { | |
| ValidFields : u32, | |
| GroupId : u32, | |
| Flags : struct { | |
| Shared : , | |
| Reserved : , | |
| }, | |
| LifePercentage : u32, | |
| BytesReadCount : [16]BYTE, | |
| ByteWriteCount : [16]BYTE, | |
| }; | |
| STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| EnduranceInfo : STORAGE_HW_ENDURANCE_INFO, | |
| }; | |
| PSTORAGE_HW_ENDURANCE_DATA_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| EnduranceInfo : STORAGE_HW_ENDURANCE_INFO, | |
| }; | |
| DEVICE_DATA_MANAGEMENT_SET_ACTION :: u32; | |
| DEVICE_DSM_ACTION :: u32; | |
| DEVICE_DATA_SET_RANGE :: struct { | |
| StartingOffset : LONGLONG, | |
| LengthInBytes : DWORDLONG, | |
| }; | |
| PDEVICE_DATA_SET_RANGE :: ^struct { | |
| StartingOffset : LONGLONG, | |
| LengthInBytes : DWORDLONG, | |
| }; | |
| DEVICE_DSM_RANGE :: struct { | |
| StartingOffset : LONGLONG, | |
| LengthInBytes : DWORDLONG, | |
| }; | |
| PDEVICE_DSM_RANGE :: ^struct { | |
| StartingOffset : LONGLONG, | |
| LengthInBytes : DWORDLONG, | |
| }; | |
| DEVICE_MANAGE_DATA_SET_ATTRIBUTES :: struct { | |
| Size : u32, | |
| Action : DEVICE_DSM_ACTION, | |
| Flags : u32, | |
| ParameterBlockOffset : u32, | |
| ParameterBlockLength : u32, | |
| DataSetRangesOffset : u32, | |
| DataSetRangesLength : u32, | |
| }; | |
| PDEVICE_MANAGE_DATA_SET_ATTRIBUTES :: ^struct { | |
| Size : u32, | |
| Action : DEVICE_DSM_ACTION, | |
| Flags : u32, | |
| ParameterBlockOffset : u32, | |
| ParameterBlockLength : u32, | |
| DataSetRangesOffset : u32, | |
| DataSetRangesLength : u32, | |
| }; | |
| DEVICE_DSM_INPUT :: struct { | |
| Size : u32, | |
| Action : DEVICE_DSM_ACTION, | |
| Flags : u32, | |
| ParameterBlockOffset : u32, | |
| ParameterBlockLength : u32, | |
| DataSetRangesOffset : u32, | |
| DataSetRangesLength : u32, | |
| }; | |
| PDEVICE_DSM_INPUT :: ^struct { | |
| Size : u32, | |
| Action : DEVICE_DSM_ACTION, | |
| Flags : u32, | |
| ParameterBlockOffset : u32, | |
| ParameterBlockLength : u32, | |
| DataSetRangesOffset : u32, | |
| DataSetRangesLength : u32, | |
| }; | |
| DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT :: struct { | |
| Size : u32, | |
| Action : DEVICE_DSM_ACTION, | |
| Flags : u32, | |
| OperationStatus : u32, | |
| ExtendedError : u32, | |
| TargetDetailedError : u32, | |
| ReservedStatus : u32, | |
| OutputBlockOffset : u32, | |
| OutputBlockLength : u32, | |
| }; | |
| PDEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT :: ^struct { | |
| Size : u32, | |
| Action : DEVICE_DSM_ACTION, | |
| Flags : u32, | |
| OperationStatus : u32, | |
| ExtendedError : u32, | |
| TargetDetailedError : u32, | |
| ReservedStatus : u32, | |
| OutputBlockOffset : u32, | |
| OutputBlockLength : u32, | |
| }; | |
| DEVICE_DSM_OUTPUT :: struct { | |
| Size : u32, | |
| Action : DEVICE_DSM_ACTION, | |
| Flags : u32, | |
| OperationStatus : u32, | |
| ExtendedError : u32, | |
| TargetDetailedError : u32, | |
| ReservedStatus : u32, | |
| OutputBlockOffset : u32, | |
| OutputBlockLength : u32, | |
| }; | |
| PDEVICE_DSM_OUTPUT :: ^struct { | |
| Size : u32, | |
| Action : DEVICE_DSM_ACTION, | |
| Flags : u32, | |
| OperationStatus : u32, | |
| ExtendedError : u32, | |
| TargetDetailedError : u32, | |
| ReservedStatus : u32, | |
| OutputBlockOffset : u32, | |
| OutputBlockLength : u32, | |
| }; | |
| DEVICE_DSM_DEFINITION :: struct { | |
| Action : DEVICE_DSM_ACTION, | |
| SingleRange : BOOLEAN, | |
| ParameterBlockAlignment : u32, | |
| ParameterBlockLength : u32, | |
| HasOutput : BOOLEAN, | |
| OutputBlockAlignment : u32, | |
| OutputBlockLength : u32, | |
| }; | |
| PDEVICE_DSM_DEFINITION :: ^struct { | |
| Action : DEVICE_DSM_ACTION, | |
| SingleRange : BOOLEAN, | |
| ParameterBlockAlignment : u32, | |
| ParameterBlockLength : u32, | |
| HasOutput : BOOLEAN, | |
| OutputBlockAlignment : u32, | |
| OutputBlockLength : u32, | |
| }; | |
| DEVICE_DSM_NOTIFICATION_PARAMETERS :: struct { | |
| Size : u32, | |
| Flags : u32, | |
| NumFileTypeIDs : u32, | |
| FileTypeID : [1]GUID, | |
| }; | |
| PDEVICE_DSM_NOTIFICATION_PARAMETERS :: ^struct { | |
| Size : u32, | |
| Flags : u32, | |
| NumFileTypeIDs : u32, | |
| FileTypeID : [1]GUID, | |
| }; | |
| STORAGE_OFFLOAD_TOKEN :: struct { | |
| TokenType : [4]BYTE, | |
| Reserved : [2]BYTE, | |
| TokenIdLength : [2]BYTE, | |
| u : struct #raw_union { | |
| StorageOffloadZeroDataToken : struct { | |
| Reserved2 : [0x1F8]BYTE, | |
| }, | |
| Token : [0x1F8]BYTE, | |
| }, | |
| }; | |
| PSTORAGE_OFFLOAD_TOKEN :: ^struct { | |
| TokenType : [4]BYTE, | |
| Reserved : [2]BYTE, | |
| TokenIdLength : [2]BYTE, | |
| u : struct #raw_union { | |
| StorageOffloadZeroDataToken : struct { | |
| Reserved2 : [0x1F8]BYTE, | |
| }, | |
| Token : [0x1F8]BYTE, | |
| }, | |
| }; | |
| DEVICE_DSM_OFFLOAD_READ_PARAMETERS :: struct { | |
| Flags : u32, | |
| TimeToLive : u32, | |
| Reserved : [2]u32, | |
| }; | |
| PDEVICE_DSM_OFFLOAD_READ_PARAMETERS :: ^struct { | |
| Flags : u32, | |
| TimeToLive : u32, | |
| Reserved : [2]u32, | |
| }; | |
| STORAGE_OFFLOAD_READ_OUTPUT :: struct { | |
| OffloadReadFlags : u32, | |
| Reserved : u32, | |
| LengthProtected : DWORDLONG, | |
| TokenLength : u32, | |
| Token : STORAGE_OFFLOAD_TOKEN, | |
| }; | |
| PSTORAGE_OFFLOAD_READ_OUTPUT :: ^struct { | |
| OffloadReadFlags : u32, | |
| Reserved : u32, | |
| LengthProtected : DWORDLONG, | |
| TokenLength : u32, | |
| Token : STORAGE_OFFLOAD_TOKEN, | |
| }; | |
| DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS :: struct { | |
| Flags : u32, | |
| Reserved : u32, | |
| TokenOffset : DWORDLONG, | |
| Token : STORAGE_OFFLOAD_TOKEN, | |
| }; | |
| PDEVICE_DSM_OFFLOAD_WRITE_PARAMETERS :: ^struct { | |
| Flags : u32, | |
| Reserved : u32, | |
| TokenOffset : DWORDLONG, | |
| Token : STORAGE_OFFLOAD_TOKEN, | |
| }; | |
| STORAGE_OFFLOAD_WRITE_OUTPUT :: struct { | |
| OffloadWriteFlags : u32, | |
| Reserved : u32, | |
| LengthCopied : DWORDLONG, | |
| }; | |
| PSTORAGE_OFFLOAD_WRITE_OUTPUT :: ^struct { | |
| OffloadWriteFlags : u32, | |
| Reserved : u32, | |
| LengthCopied : DWORDLONG, | |
| }; | |
| DEVICE_DATA_SET_LBP_STATE_PARAMETERS :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| OutputVersion : u32, | |
| }; | |
| PDEVICE_DATA_SET_LBP_STATE_PARAMETERS :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| OutputVersion : u32, | |
| }; | |
| DEVICE_DSM_ALLOCATION_PARAMETERS :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| OutputVersion : u32, | |
| }; | |
| PDEVICE_DSM_ALLOCATION_PARAMETERS :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| OutputVersion : u32, | |
| }; | |
| DEVICE_DATA_SET_LB_PROVISIONING_STATE :: struct { | |
| Size : u32, | |
| Version : u32, | |
| SlabSizeInBytes : DWORDLONG, | |
| SlabOffsetDeltaInBytes : u32, | |
| SlabAllocationBitMapBitCount : u32, | |
| SlabAllocationBitMapLength : u32, | |
| SlabAllocationBitMap : [1]u32, | |
| }; | |
| PDEVICE_DATA_SET_LB_PROVISIONING_STATE :: ^struct { | |
| Size : u32, | |
| Version : u32, | |
| SlabSizeInBytes : DWORDLONG, | |
| SlabOffsetDeltaInBytes : u32, | |
| SlabAllocationBitMapBitCount : u32, | |
| SlabAllocationBitMapLength : u32, | |
| SlabAllocationBitMap : [1]u32, | |
| }; | |
| DEVICE_DSM_ALLOCATION_OUTPUT :: struct { | |
| Size : u32, | |
| Version : u32, | |
| SlabSizeInBytes : DWORDLONG, | |
| SlabOffsetDeltaInBytes : u32, | |
| SlabAllocationBitMapBitCount : u32, | |
| SlabAllocationBitMapLength : u32, | |
| SlabAllocationBitMap : [1]u32, | |
| }; | |
| PDEVICE_DSM_ALLOCATION_OUTPUT :: ^struct { | |
| Size : u32, | |
| Version : u32, | |
| SlabSizeInBytes : DWORDLONG, | |
| SlabOffsetDeltaInBytes : u32, | |
| SlabAllocationBitMapBitCount : u32, | |
| SlabAllocationBitMapLength : u32, | |
| SlabAllocationBitMap : [1]u32, | |
| }; | |
| DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2 :: struct { | |
| Size : u32, | |
| Version : u32, | |
| SlabSizeInBytes : DWORDLONG, | |
| SlabOffsetDeltaInBytes : DWORDLONG, | |
| SlabAllocationBitMapBitCount : u32, | |
| SlabAllocationBitMapLength : u32, | |
| SlabAllocationBitMap : [1]u32, | |
| }; | |
| PDEVICE_DATA_SET_LB_PROVISIONING_STATE_V2 :: ^struct { | |
| Size : u32, | |
| Version : u32, | |
| SlabSizeInBytes : DWORDLONG, | |
| SlabOffsetDeltaInBytes : DWORDLONG, | |
| SlabAllocationBitMapBitCount : u32, | |
| SlabAllocationBitMapLength : u32, | |
| SlabAllocationBitMap : [1]u32, | |
| }; | |
| DEVICE_DSM_ALLOCATION_OUTPUT2 :: struct { | |
| Size : u32, | |
| Version : u32, | |
| SlabSizeInBytes : DWORDLONG, | |
| SlabOffsetDeltaInBytes : DWORDLONG, | |
| SlabAllocationBitMapBitCount : u32, | |
| SlabAllocationBitMapLength : u32, | |
| SlabAllocationBitMap : [1]u32, | |
| }; | |
| PDEVICE_DSM_ALLOCATION_OUTPUT2 :: ^struct { | |
| Size : u32, | |
| Version : u32, | |
| SlabSizeInBytes : DWORDLONG, | |
| SlabOffsetDeltaInBytes : DWORDLONG, | |
| SlabAllocationBitMapBitCount : u32, | |
| SlabAllocationBitMapLength : u32, | |
| SlabAllocationBitMap : [1]u32, | |
| }; | |
| DEVICE_DATA_SET_REPAIR_PARAMETERS :: struct { | |
| NumberOfRepairCopies : u32, | |
| SourceCopy : u32, | |
| RepairCopies : [1]u32, | |
| }; | |
| PDEVICE_DATA_SET_REPAIR_PARAMETERS :: ^struct { | |
| NumberOfRepairCopies : u32, | |
| SourceCopy : u32, | |
| RepairCopies : [1]u32, | |
| }; | |
| DEVICE_DSM_REPAIR_PARAMETERS :: struct { | |
| NumberOfRepairCopies : u32, | |
| SourceCopy : u32, | |
| RepairCopies : [1]u32, | |
| }; | |
| PDEVICE_DSM_REPAIR_PARAMETERS :: ^struct { | |
| NumberOfRepairCopies : u32, | |
| SourceCopy : u32, | |
| RepairCopies : [1]u32, | |
| }; | |
| DEVICE_DATA_SET_REPAIR_OUTPUT :: struct { | |
| ParityExtent : DEVICE_DSM_RANGE, | |
| }; | |
| PDEVICE_DATA_SET_REPAIR_OUTPUT :: ^struct { | |
| ParityExtent : DEVICE_DSM_RANGE, | |
| }; | |
| DEVICE_DSM_REPAIR_OUTPUT :: struct { | |
| ParityExtent : DEVICE_DSM_RANGE, | |
| }; | |
| PDEVICE_DSM_REPAIR_OUTPUT :: ^struct { | |
| ParityExtent : DEVICE_DSM_RANGE, | |
| }; | |
| DEVICE_DATA_SET_SCRUB_OUTPUT :: struct { | |
| BytesProcessed : DWORDLONG, | |
| BytesRepaired : DWORDLONG, | |
| BytesFailed : DWORDLONG, | |
| }; | |
| PDEVICE_DATA_SET_SCRUB_OUTPUT :: ^struct { | |
| BytesProcessed : DWORDLONG, | |
| BytesRepaired : DWORDLONG, | |
| BytesFailed : DWORDLONG, | |
| }; | |
| DEVICE_DSM_SCRUB_OUTPUT :: struct { | |
| BytesProcessed : DWORDLONG, | |
| BytesRepaired : DWORDLONG, | |
| BytesFailed : DWORDLONG, | |
| }; | |
| PDEVICE_DSM_SCRUB_OUTPUT :: ^struct { | |
| BytesProcessed : DWORDLONG, | |
| BytesRepaired : DWORDLONG, | |
| BytesFailed : DWORDLONG, | |
| }; | |
| DEVICE_DATA_SET_SCRUB_EX_OUTPUT :: struct { | |
| BytesProcessed : DWORDLONG, | |
| BytesRepaired : DWORDLONG, | |
| BytesFailed : DWORDLONG, | |
| ParityExtent : DEVICE_DSM_RANGE, | |
| }; | |
| PDEVICE_DATA_SET_SCRUB_EX_OUTPUT :: ^struct { | |
| BytesProcessed : DWORDLONG, | |
| BytesRepaired : DWORDLONG, | |
| BytesFailed : DWORDLONG, | |
| ParityExtent : DEVICE_DSM_RANGE, | |
| }; | |
| DEVICE_DSM_SCRUB_OUTPUT2 :: struct { | |
| BytesProcessed : DWORDLONG, | |
| BytesRepaired : DWORDLONG, | |
| BytesFailed : DWORDLONG, | |
| ParityExtent : DEVICE_DSM_RANGE, | |
| }; | |
| PDEVICE_DSM_SCRUB_OUTPUT2 :: ^struct { | |
| BytesProcessed : DWORDLONG, | |
| BytesRepaired : DWORDLONG, | |
| BytesFailed : DWORDLONG, | |
| ParityExtent : DEVICE_DSM_RANGE, | |
| }; | |
| DEVICE_DSM_TIERING_QUERY_INPUT :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| NumberOfTierIds : u32, | |
| TierIds : [1]GUID, | |
| }; | |
| PDEVICE_DSM_TIERING_QUERY_INPUT :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| NumberOfTierIds : u32, | |
| TierIds : [1]GUID, | |
| }; | |
| DEVICE_DSM_TIERING_QUERY_PARAMETERS :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| NumberOfTierIds : u32, | |
| TierIds : [1]GUID, | |
| }; | |
| PDEVICE_DSM_TIERING_QUERY_PARAMETERS :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| NumberOfTierIds : u32, | |
| TierIds : [1]GUID, | |
| }; | |
| STORAGE_TIER_REGION :: struct { | |
| TierId : GUID, | |
| Offset : DWORDLONG, | |
| Length : DWORDLONG, | |
| }; | |
| PSTORAGE_TIER_REGION :: ^struct { | |
| TierId : GUID, | |
| Offset : DWORDLONG, | |
| Length : DWORDLONG, | |
| }; | |
| DEVICE_DSM_TIERING_QUERY_OUTPUT :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| Reserved : u32, | |
| Alignment : DWORDLONG, | |
| TotalNumberOfRegions : u32, | |
| NumberOfRegionsReturned : u32, | |
| Regions : [1]STORAGE_TIER_REGION, | |
| }; | |
| PDEVICE_DSM_TIERING_QUERY_OUTPUT :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| Reserved : u32, | |
| Alignment : DWORDLONG, | |
| TotalNumberOfRegions : u32, | |
| NumberOfRegionsReturned : u32, | |
| Regions : [1]STORAGE_TIER_REGION, | |
| }; | |
| DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS :: struct { | |
| Size : u32, | |
| TargetPriority : BYTE, | |
| Reserved : [3]BYTE, | |
| }; | |
| PDEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS :: ^struct { | |
| Size : u32, | |
| TargetPriority : BYTE, | |
| Reserved : [3]BYTE, | |
| }; | |
| DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT :: struct { | |
| TopologyRangeBytes : DWORDLONG, | |
| TopologyId : [16]BYTE, | |
| }; | |
| PDEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT :: ^struct { | |
| TopologyRangeBytes : DWORDLONG, | |
| TopologyId : [16]BYTE, | |
| }; | |
| DEVICE_DSM_TOPOLOGY_ID_QUERY_OUTPUT :: struct { | |
| TopologyRangeBytes : DWORDLONG, | |
| TopologyId : [16]BYTE, | |
| }; | |
| PDEVICE_DSM_TOPOLOGY_ID_QUERY_OUTPUT :: ^struct { | |
| TopologyRangeBytes : DWORDLONG, | |
| TopologyId : [16]BYTE, | |
| }; | |
| DEVICE_STORAGE_ADDRESS_RANGE :: struct { | |
| StartAddress : LONGLONG, | |
| LengthInBytes : DWORDLONG, | |
| }; | |
| PDEVICE_STORAGE_ADDRESS_RANGE :: ^struct { | |
| StartAddress : LONGLONG, | |
| LengthInBytes : DWORDLONG, | |
| }; | |
| DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT :: struct { | |
| Version : u32, | |
| Flags : u32, | |
| TotalNumberOfRanges : u32, | |
| NumberOfRangesReturned : u32, | |
| Ranges : [1]DEVICE_STORAGE_ADDRESS_RANGE, | |
| }; | |
| PDEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT :: ^struct { | |
| Version : u32, | |
| Flags : u32, | |
| TotalNumberOfRanges : u32, | |
| NumberOfRangesReturned : u32, | |
| Ranges : [1]DEVICE_STORAGE_ADDRESS_RANGE, | |
| }; | |
| DEVICE_DSM_REPORT_ZONES_PARAMETERS :: struct { | |
| Size : u32, | |
| ReportOption : BYTE, | |
| Partial : BYTE, | |
| Reserved : [2]BYTE, | |
| }; | |
| PDEVICE_DSM_REPORT_ZONES_PARAMETERS :: ^struct { | |
| Size : u32, | |
| ReportOption : BYTE, | |
| Partial : BYTE, | |
| Reserved : [2]BYTE, | |
| }; | |
| STORAGE_ZONES_ATTRIBUTES :: enum { | |
| ZonesAttributeTypeAndLengthMayDifferent = 0, | |
| ZonesAttributeTypeSameLengthSame = 1, | |
| ZonesAttributeTypeSameLastZoneLengthDifferent = 2, | |
| ZonesAttributeTypeMayDifferentLengthSame = 3, | |
| }; | |
| PSTORAGE_ZONES_ATTRIBUTES :: ^enum { | |
| ZonesAttributeTypeAndLengthMayDifferent = 0, | |
| ZonesAttributeTypeSameLengthSame = 1, | |
| ZonesAttributeTypeSameLastZoneLengthDifferent = 2, | |
| ZonesAttributeTypeMayDifferentLengthSame = 3, | |
| }; | |
| STORAGE_ZONE_CONDITION :: enum { | |
| ZoneConditionConventional = 0x00, | |
| ZoneConditionEmpty = 0x01, | |
| ZoneConditionImplicitlyOpened = 0x02, | |
| ZoneConditionExplicitlyOpened = 0x03, | |
| ZoneConditionClosed = 0x04, | |
| ZoneConditionReadOnly = 0x0D, | |
| ZoneConditionFull = 0x0E, | |
| ZoneConditionOffline = 0x0F, | |
| }; | |
| PSTORAGE_ZONE_CONDITION :: ^enum { | |
| ZoneConditionConventional = 0x00, | |
| ZoneConditionEmpty = 0x01, | |
| ZoneConditionImplicitlyOpened = 0x02, | |
| ZoneConditionExplicitlyOpened = 0x03, | |
| ZoneConditionClosed = 0x04, | |
| ZoneConditionReadOnly = 0x0D, | |
| ZoneConditionFull = 0x0E, | |
| ZoneConditionOffline = 0x0F, | |
| }; | |
| STORAGE_ZONE_DESCRIPTOR :: struct { | |
| Size : u32, | |
| ZoneType : STORAGE_ZONE_TYPES, | |
| ZoneCondition : STORAGE_ZONE_CONDITION, | |
| ResetWritePointerRecommend : BOOLEAN, | |
| Reserved0 : [3]BYTE, | |
| ZoneSize : DWORDLONG, | |
| WritePointerOffset : DWORDLONG, | |
| }; | |
| PSTORAGE_ZONE_DESCRIPTOR :: ^struct { | |
| Size : u32, | |
| ZoneType : STORAGE_ZONE_TYPES, | |
| ZoneCondition : STORAGE_ZONE_CONDITION, | |
| ResetWritePointerRecommend : BOOLEAN, | |
| Reserved0 : [3]BYTE, | |
| ZoneSize : DWORDLONG, | |
| WritePointerOffset : DWORDLONG, | |
| }; | |
| DEVICE_DSM_REPORT_ZONES_DATA :: struct { | |
| Size : u32, | |
| ZoneCount : u32, | |
| Attributes : STORAGE_ZONES_ATTRIBUTES, | |
| Reserved0 : u32, | |
| ZoneDescriptors : [1]STORAGE_ZONE_DESCRIPTOR, | |
| }; | |
| PDEVICE_DSM_REPORT_ZONES_DATA :: ^struct { | |
| Size : u32, | |
| ZoneCount : u32, | |
| Attributes : STORAGE_ZONES_ATTRIBUTES, | |
| Reserved0 : u32, | |
| ZoneDescriptors : [1]STORAGE_ZONE_DESCRIPTOR, | |
| }; | |
| DEVICE_DSM_REPORT_ZONES_OUTPUT :: struct { | |
| Size : u32, | |
| ZoneCount : u32, | |
| Attributes : STORAGE_ZONES_ATTRIBUTES, | |
| Reserved0 : u32, | |
| ZoneDescriptors : [1]STORAGE_ZONE_DESCRIPTOR, | |
| }; | |
| PDEVICE_DSM_REPORT_ZONES_OUTPUT :: ^struct { | |
| Size : u32, | |
| ZoneCount : u32, | |
| Attributes : STORAGE_ZONES_ATTRIBUTES, | |
| Reserved0 : u32, | |
| ZoneDescriptors : [1]STORAGE_ZONE_DESCRIPTOR, | |
| }; | |
| DEVICE_STORAGE_RANGE_ATTRIBUTES :: struct { | |
| LengthInBytes : DWORDLONG, | |
| using _ : struct #raw_union { | |
| AllFlags : u32, | |
| using _ : struct { | |
| IsRangeBad : , | |
| }, | |
| }, | |
| Reserved : u32, | |
| }; | |
| PDEVICE_STORAGE_RANGE_ATTRIBUTES :: ^struct { | |
| LengthInBytes : DWORDLONG, | |
| using _ : struct #raw_union { | |
| AllFlags : u32, | |
| using _ : struct { | |
| IsRangeBad : , | |
| }, | |
| }, | |
| Reserved : u32, | |
| }; | |
| DEVICE_DSM_RANGE_ERROR_INFO :: struct { | |
| Version : u32, | |
| Flags : u32, | |
| TotalNumberOfRanges : u32, | |
| NumberOfRangesReturned : u32, | |
| Ranges : [1]DEVICE_STORAGE_RANGE_ATTRIBUTES, | |
| }; | |
| PDEVICE_DSM_RANGE_ERROR_INFO :: ^struct { | |
| Version : u32, | |
| Flags : u32, | |
| TotalNumberOfRanges : u32, | |
| NumberOfRangesReturned : u32, | |
| Ranges : [1]DEVICE_STORAGE_RANGE_ATTRIBUTES, | |
| }; | |
| DEVICE_DSM_RANGE_ERROR_OUTPUT :: struct { | |
| Version : u32, | |
| Flags : u32, | |
| TotalNumberOfRanges : u32, | |
| NumberOfRangesReturned : u32, | |
| Ranges : [1]DEVICE_STORAGE_RANGE_ATTRIBUTES, | |
| }; | |
| PDEVICE_DSM_RANGE_ERROR_OUTPUT :: ^struct { | |
| Version : u32, | |
| Flags : u32, | |
| TotalNumberOfRanges : u32, | |
| NumberOfRangesReturned : u32, | |
| Ranges : [1]DEVICE_STORAGE_RANGE_ATTRIBUTES, | |
| }; | |
| DEVICE_DSM_LOST_QUERY_PARAMETERS :: struct { | |
| Version : u32, | |
| Granularity : DWORDLONG, | |
| }; | |
| PDEVICE_DSM_LOST_QUERY_PARAMETERS :: ^struct { | |
| Version : u32, | |
| Granularity : DWORDLONG, | |
| }; | |
| DEVICE_DSM_LOST_QUERY_OUTPUT :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Alignment : DWORDLONG, | |
| NumberOfBits : u32, | |
| BitMap : [1]u32, | |
| }; | |
| PDEVICE_DSM_LOST_QUERY_OUTPUT :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Alignment : DWORDLONG, | |
| NumberOfBits : u32, | |
| BitMap : [1]u32, | |
| }; | |
| DEVICE_DSM_FREE_SPACE_OUTPUT :: struct { | |
| Version : u32, | |
| FreeSpace : DWORDLONG, | |
| }; | |
| PDEVICE_DSM_FREE_SPACE_OUTPUT :: ^struct { | |
| Version : u32, | |
| FreeSpace : DWORDLONG, | |
| }; | |
| DEVICE_DSM_CONVERSION_OUTPUT :: struct { | |
| Version : u32, | |
| Source : GUID, | |
| }; | |
| PDEVICE_DSM_CONVERSION_OUTPUT :: ^struct { | |
| Version : u32, | |
| Source : GUID, | |
| }; | |
| STORAGE_GET_BC_PROPERTIES_OUTPUT :: struct { | |
| MaximumRequestsPerPeriod : u32, | |
| MinimumPeriod : u32, | |
| MaximumRequestSize : DWORDLONG, | |
| EstimatedTimePerRequest : u32, | |
| NumOutStandingRequests : u32, | |
| RequestSize : DWORDLONG, | |
| }; | |
| PSTORAGE_GET_BC_PROPERTIES_OUTPUT :: ^struct { | |
| MaximumRequestsPerPeriod : u32, | |
| MinimumPeriod : u32, | |
| MaximumRequestSize : DWORDLONG, | |
| EstimatedTimePerRequest : u32, | |
| NumOutStandingRequests : u32, | |
| RequestSize : DWORDLONG, | |
| }; | |
| STORAGE_ALLOCATE_BC_STREAM_INPUT :: struct { | |
| Version : u32, | |
| RequestsPerPeriod : u32, | |
| Period : u32, | |
| RetryFailures : BOOLEAN, | |
| Discardable : BOOLEAN, | |
| Reserved1 : [2]BOOLEAN, | |
| AccessType : u32, | |
| AccessMode : u32, | |
| }; | |
| PSTORAGE_ALLOCATE_BC_STREAM_INPUT :: ^struct { | |
| Version : u32, | |
| RequestsPerPeriod : u32, | |
| Period : u32, | |
| RetryFailures : BOOLEAN, | |
| Discardable : BOOLEAN, | |
| Reserved1 : [2]BOOLEAN, | |
| AccessType : u32, | |
| AccessMode : u32, | |
| }; | |
| STORAGE_ALLOCATE_BC_STREAM_OUTPUT :: struct { | |
| RequestSize : DWORDLONG, | |
| NumOutStandingRequests : u32, | |
| }; | |
| PSTORAGE_ALLOCATE_BC_STREAM_OUTPUT :: ^struct { | |
| RequestSize : DWORDLONG, | |
| NumOutStandingRequests : u32, | |
| }; | |
| STORAGE_PRIORITY_HINT_SUPPORT :: struct { | |
| SupportFlags : u32, | |
| }; | |
| PSTORAGE_PRIORITY_HINT_SUPPORT :: ^struct { | |
| SupportFlags : u32, | |
| }; | |
| STORAGE_DIAGNOSTIC_LEVEL :: enum { | |
| StorageDiagnosticLevelDefault = 0, | |
| StorageDiagnosticLevelMax, | |
| }; | |
| PSTORAGE_DIAGNOSTIC_LEVEL :: ^enum { | |
| StorageDiagnosticLevelDefault = 0, | |
| StorageDiagnosticLevelMax, | |
| }; | |
| STORAGE_DIAGNOSTIC_TARGET_TYPE :: enum { | |
| StorageDiagnosticTargetTypeUndefined = 0, | |
| StorageDiagnosticTargetTypePort, | |
| StorageDiagnosticTargetTypeMiniport, | |
| StorageDiagnosticTargetTypeHbaFirmware, | |
| StorageDiagnosticTargetTypeMax, | |
| }; | |
| PSTORAGE_DIAGNOSTIC_TARGET_TYPE :: ^enum { | |
| StorageDiagnosticTargetTypeUndefined = 0, | |
| StorageDiagnosticTargetTypePort, | |
| StorageDiagnosticTargetTypeMiniport, | |
| StorageDiagnosticTargetTypeHbaFirmware, | |
| StorageDiagnosticTargetTypeMax, | |
| }; | |
| STORAGE_DIAGNOSTIC_REQUEST :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Reserved : u32, | |
| TargetType : STORAGE_DIAGNOSTIC_TARGET_TYPE, | |
| Level : STORAGE_DIAGNOSTIC_LEVEL, | |
| }; | |
| PSTORAGE_DIAGNOSTIC_REQUEST :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Reserved : u32, | |
| TargetType : STORAGE_DIAGNOSTIC_TARGET_TYPE, | |
| Level : STORAGE_DIAGNOSTIC_LEVEL, | |
| }; | |
| STORAGE_DIAGNOSTIC_DATA :: struct { | |
| Version : u32, | |
| Size : u32, | |
| ProviderId : GUID, | |
| BufferSize : u32, | |
| Reserved : u32, | |
| DiagnosticDataBuffer : [1]BYTE, | |
| }; | |
| PSTORAGE_DIAGNOSTIC_DATA :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| ProviderId : GUID, | |
| BufferSize : u32, | |
| Reserved : u32, | |
| DiagnosticDataBuffer : [1]BYTE, | |
| }; | |
| PHYSICAL_ELEMENT_STATUS_REQUEST :: struct { | |
| Version : u32, | |
| Size : u32, | |
| StartingElement : u32, | |
| Filter : BYTE, | |
| ReportType : BYTE, | |
| Reserved : [2]BYTE, | |
| }; | |
| PPHYSICAL_ELEMENT_STATUS_REQUEST :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| StartingElement : u32, | |
| Filter : BYTE, | |
| ReportType : BYTE, | |
| Reserved : [2]BYTE, | |
| }; | |
| PHYSICAL_ELEMENT_STATUS_DESCRIPTOR :: struct { | |
| Version : u32, | |
| Size : u32, | |
| ElementIdentifier : u32, | |
| PhysicalElementType : BYTE, | |
| PhysicalElementHealth : BYTE, | |
| Reserved1 : [2]BYTE, | |
| AssociatedCapacity : DWORDLONG, | |
| Reserved2 : [4]u32, | |
| }; | |
| PPHYSICAL_ELEMENT_STATUS_DESCRIPTOR :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| ElementIdentifier : u32, | |
| PhysicalElementType : BYTE, | |
| PhysicalElementHealth : BYTE, | |
| Reserved1 : [2]BYTE, | |
| AssociatedCapacity : DWORDLONG, | |
| Reserved2 : [4]u32, | |
| }; | |
| PHYSICAL_ELEMENT_STATUS :: struct { | |
| Version : u32, | |
| Size : u32, | |
| DescriptorCount : u32, | |
| ReturnedDescriptorCount : u32, | |
| ElementIdentifierBeingDepoped : u32, | |
| Reserved : u32, | |
| Descriptors : [1]PHYSICAL_ELEMENT_STATUS_DESCRIPTOR, | |
| }; | |
| PPHYSICAL_ELEMENT_STATUS :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| DescriptorCount : u32, | |
| ReturnedDescriptorCount : u32, | |
| ElementIdentifierBeingDepoped : u32, | |
| Reserved : u32, | |
| Descriptors : [1]PHYSICAL_ELEMENT_STATUS_DESCRIPTOR, | |
| }; | |
| REMOVE_ELEMENT_AND_TRUNCATE_REQUEST :: struct { | |
| Version : u32, | |
| Size : u32, | |
| RequestCapacity : DWORDLONG, | |
| ElementIdentifier : u32, | |
| Reserved : u32, | |
| }; | |
| PREMOVE_ELEMENT_AND_TRUNCATE_REQUEST :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| RequestCapacity : DWORDLONG, | |
| ElementIdentifier : u32, | |
| Reserved : u32, | |
| }; | |
| STORAGE_READ_CAPACITY :: struct { | |
| Version : u32, | |
| Size : u32, | |
| BlockLength : u32, | |
| NumberOfBlocks : LARGE_INTEGER, | |
| DiskLength : LARGE_INTEGER, | |
| }; | |
| PSTORAGE_READ_CAPACITY :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| BlockLength : u32, | |
| NumberOfBlocks : LARGE_INTEGER, | |
| DiskLength : LARGE_INTEGER, | |
| }; | |
| WRITE_CACHE_TYPE :: enum { | |
| WriteCacheTypeUnknown, | |
| WriteCacheTypeNone, | |
| WriteCacheTypeWriteBack, | |
| WriteCacheTypeWriteThrough, | |
| }; | |
| WRITE_CACHE_ENABLE :: enum { | |
| WriteCacheEnableUnknown, | |
| WriteCacheDisabled, | |
| WriteCacheEnabled, | |
| }; | |
| WRITE_CACHE_CHANGE :: enum { | |
| WriteCacheChangeUnknown, | |
| WriteCacheNotChangeable, | |
| WriteCacheChangeable, | |
| }; | |
| WRITE_THROUGH :: enum { | |
| WriteThroughUnknown, | |
| WriteThroughNotSupported, | |
| WriteThroughSupported, | |
| }; | |
| STORAGE_WRITE_CACHE_PROPERTY :: struct { | |
| Version : u32, | |
| Size : u32, | |
| WriteCacheType : WRITE_CACHE_TYPE, | |
| WriteCacheEnabled : WRITE_CACHE_ENABLE, | |
| WriteCacheChangeable : WRITE_CACHE_CHANGE, | |
| WriteThroughSupported : WRITE_THROUGH, | |
| FlushCacheSupported : BOOLEAN, | |
| UserDefinedPowerProtection : BOOLEAN, | |
| NVCacheEnabled : BOOLEAN, | |
| }; | |
| PSTORAGE_WRITE_CACHE_PROPERTY :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| WriteCacheType : WRITE_CACHE_TYPE, | |
| WriteCacheEnabled : WRITE_CACHE_ENABLE, | |
| WriteCacheChangeable : WRITE_CACHE_CHANGE, | |
| WriteThroughSupported : WRITE_THROUGH, | |
| FlushCacheSupported : BOOLEAN, | |
| UserDefinedPowerProtection : BOOLEAN, | |
| NVCacheEnabled : BOOLEAN, | |
| }; | |
| DEVICEDUMP_COLLECTION_TYPEIDE_NOTIFICATION_TYPE :: enum { | |
| TCCollectionBugCheck = 1, | |
| TCCollectionApplicationRequested, | |
| TCCollectionDeviceRequested, | |
| }; | |
| PDEVICEDUMP_COLLECTION_TYPE :: ^enum { | |
| TCCollectionBugCheck = 1, | |
| TCCollectionApplicationRequested, | |
| TCCollectionDeviceRequested, | |
| }; | |
| DEVICEDUMP_SUBSECTION_POINTER :: struct { | |
| dwSize : u32, | |
| dwFlags : u32, | |
| dwOffset : u32, | |
| }; | |
| PDEVICEDUMP_SUBSECTION_POINTER :: ^struct { | |
| dwSize : u32, | |
| dwFlags : u32, | |
| dwOffset : u32, | |
| }; | |
| DEVICEDUMP_STRUCTURE_VERSION :: struct { | |
| dwSignature : u32, | |
| dwVersion : u32, | |
| dwSize : u32, | |
| }; | |
| PDEVICEDUMP_STRUCTURE_VERSION :: ^struct { | |
| dwSignature : u32, | |
| dwVersion : u32, | |
| dwSize : u32, | |
| }; | |
| DEVICEDUMP_SECTION_HEADER :: struct { | |
| guidDeviceDataId : GUID, | |
| sOrganizationID : [16]BYTE, | |
| dwFirmwareRevision : u32, | |
| sModelNumber : [32]BYTE, | |
| szDeviceManufacturingID : [32]BYTE, | |
| dwFlags : u32, | |
| bRestrictedPrivateDataVersion : u32, | |
| dwFirmwareIssueId : u32, | |
| szIssueDescriptionString : [132]BYTE, | |
| }; | |
| PDEVICEDUMP_SECTION_HEADER :: ^struct { | |
| guidDeviceDataId : GUID, | |
| sOrganizationID : [16]BYTE, | |
| dwFirmwareRevision : u32, | |
| sModelNumber : [32]BYTE, | |
| szDeviceManufacturingID : [32]BYTE, | |
| dwFlags : u32, | |
| bRestrictedPrivateDataVersion : u32, | |
| dwFirmwareIssueId : u32, | |
| szIssueDescriptionString : [132]BYTE, | |
| }; | |
| GP_LOG_PAGE_DESCRIPTOR :: struct { | |
| LogAddress : u16, | |
| LogSectors : u16, | |
| }; | |
| PGP_LOG_PAGE_DESCRIPTOR :: ^struct { | |
| LogAddress : u16, | |
| LogSectors : u16, | |
| }; | |
| DEVICEDUMP_PUBLIC_SUBSECTION :: struct { | |
| dwFlags : u32, | |
| GPLogTable : [16]GP_LOG_PAGE_DESCRIPTOR, | |
| szDescription : [16]CHAR, | |
| bData : [1]BYTE, | |
| }; | |
| PDEVICEDUMP_PUBLIC_SUBSECTION :: ^struct { | |
| dwFlags : u32, | |
| GPLogTable : [16]GP_LOG_PAGE_DESCRIPTOR, | |
| szDescription : [16]CHAR, | |
| bData : [1]BYTE, | |
| }; | |
| DEVICEDUMP_RESTRICTED_SUBSECTION :: struct { | |
| bData : [1]BYTE, | |
| }; | |
| PDEVICEDUMP_RESTRICTED_SUBSECTION :: ^struct { | |
| bData : [1]BYTE, | |
| }; | |
| DEVICEDUMP_PRIVATE_SUBSECTION :: struct { | |
| dwFlags : u32, | |
| GPLogId : GP_LOG_PAGE_DESCRIPTOR, | |
| bData : [1]BYTE, | |
| }; | |
| PDEVICEDUMP_PRIVATE_SUBSECTION :: ^struct { | |
| dwFlags : u32, | |
| GPLogId : GP_LOG_PAGE_DESCRIPTOR, | |
| bData : [1]BYTE, | |
| }; | |
| DEVICEDUMP_STORAGEDEVICE_DATA :: struct { | |
| Descriptor : DEVICEDUMP_STRUCTURE_VERSION, | |
| SectionHeader : DEVICEDUMP_SECTION_HEADER, | |
| dwBufferSize : u32, | |
| dwReasonForCollection : u32, | |
| PublicData : DEVICEDUMP_SUBSECTION_POINTER, | |
| RestrictedData : DEVICEDUMP_SUBSECTION_POINTER, | |
| PrivateData : DEVICEDUMP_SUBSECTION_POINTER, | |
| }; | |
| PDEVICEDUMP_STORAGEDEVICE_DATA :: ^struct { | |
| Descriptor : DEVICEDUMP_STRUCTURE_VERSION, | |
| SectionHeader : DEVICEDUMP_SECTION_HEADER, | |
| dwBufferSize : u32, | |
| dwReasonForCollection : u32, | |
| PublicData : DEVICEDUMP_SUBSECTION_POINTER, | |
| RestrictedData : DEVICEDUMP_SUBSECTION_POINTER, | |
| PrivateData : DEVICEDUMP_SUBSECTION_POINTER, | |
| }; | |
| DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD :: struct { | |
| Cdb : [16]BYTE, | |
| Command : [16]BYTE, | |
| StartTime : DWORDLONG, | |
| EndTime : DWORDLONG, | |
| OperationStatus : u32, | |
| OperationError : u32, | |
| StackSpecific : struct #raw_union { | |
| ExternalStack : struct { | |
| dwReserved : u32, | |
| }, | |
| AtaPort : struct { | |
| dwAtaPortSpecific : u32, | |
| }, | |
| StorPort : struct { | |
| SrbTag : u32, | |
| }, | |
| }, | |
| }; | |
| PDEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD :: ^struct { | |
| Cdb : [16]BYTE, | |
| Command : [16]BYTE, | |
| StartTime : DWORDLONG, | |
| EndTime : DWORDLONG, | |
| OperationStatus : u32, | |
| OperationError : u32, | |
| StackSpecific : struct #raw_union { | |
| ExternalStack : struct { | |
| dwReserved : u32, | |
| }, | |
| AtaPort : struct { | |
| dwAtaPortSpecific : u32, | |
| }, | |
| StorPort : struct { | |
| SrbTag : u32, | |
| }, | |
| }, | |
| }; | |
| DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP :: struct { | |
| Descriptor : DEVICEDUMP_STRUCTURE_VERSION, | |
| dwReasonForCollection : u32, | |
| cDriverName : [16]BYTE, | |
| uiNumRecords : u32, | |
| RecordArray : [1]DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD, | |
| }; | |
| PDEVICEDUMP_STORAGESTACK_PUBLIC_DUMP :: ^struct { | |
| Descriptor : DEVICEDUMP_STRUCTURE_VERSION, | |
| dwReasonForCollection : u32, | |
| cDriverName : [16]BYTE, | |
| uiNumRecords : u32, | |
| RecordArray : [1]DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD, | |
| }; | |
| STORAGE_IDLE_POWER :: struct { | |
| Version : u32, | |
| Size : u32, | |
| WakeCapableHint : , | |
| D3ColdSupported : , | |
| Reserved : , | |
| D3IdleTimeout : u32, | |
| }; | |
| PSTORAGE_IDLE_POWER :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| WakeCapableHint : , | |
| D3ColdSupported : , | |
| Reserved : , | |
| D3IdleTimeout : u32, | |
| }; | |
| STORAGE_POWERUP_REASON_TYPE :: enum { | |
| StoragePowerupUnknown = 0, | |
| StoragePowerupIO, | |
| StoragePowerupDeviceAttention, | |
| }; | |
| PSTORAGE_POWERUP_REASON_TYPE :: ^enum { | |
| StoragePowerupUnknown = 0, | |
| StoragePowerupIO, | |
| StoragePowerupDeviceAttention, | |
| }; | |
| STORAGE_IDLE_POWERUP_REASON :: struct { | |
| Version : u32, | |
| Size : u32, | |
| PowerupReason : STORAGE_POWERUP_REASON_TYPE, | |
| }; | |
| PSTORAGE_IDLE_POWERUP_REASON :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| PowerupReason : STORAGE_POWERUP_REASON_TYPE, | |
| }; | |
| STORAGE_DEVICE_POWER_CAP_UNITS :: enum { | |
| StorageDevicePowerCapUnitsPercent, | |
| StorageDevicePowerCapUnitsMilliwatts, | |
| }; | |
| PSTORAGE_DEVICE_POWER_CAP_UNITS :: ^enum { | |
| StorageDevicePowerCapUnitsPercent, | |
| StorageDevicePowerCapUnitsMilliwatts, | |
| }; | |
| STORAGE_DEVICE_POWER_CAP :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Units : STORAGE_DEVICE_POWER_CAP_UNITS, | |
| MaxPower : DWORDLONG, | |
| }; | |
| PSTORAGE_DEVICE_POWER_CAP :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Units : STORAGE_DEVICE_POWER_CAP_UNITS, | |
| MaxPower : DWORDLONG, | |
| }; | |
| STORAGE_RPMB_DATA_FRAME :: struct { | |
| Stuff : [196]BYTE, | |
| KeyOrMAC : [32]BYTE, | |
| Data : [256]BYTE, | |
| Nonce : [16]BYTE, | |
| WriteCounter : [4]BYTE, | |
| Address : [2]BYTE, | |
| BlockCount : [2]BYTE, | |
| OperationResult : [2]BYTE, | |
| RequestOrResponseType : [2]BYTE, | |
| }; | |
| PSTORAGE_RPMB_DATA_FRAME :: ^struct { | |
| Stuff : [196]BYTE, | |
| KeyOrMAC : [32]BYTE, | |
| Data : [256]BYTE, | |
| Nonce : [16]BYTE, | |
| WriteCounter : [4]BYTE, | |
| Address : [2]BYTE, | |
| BlockCount : [2]BYTE, | |
| OperationResult : [2]BYTE, | |
| RequestOrResponseType : [2]BYTE, | |
| }; | |
| STORAGE_RPMB_COMMAND_TYPE :: enum { | |
| StorRpmbProgramAuthKey = 0x00000001, | |
| StorRpmbQueryWriteCounter = 0x00000002, | |
| StorRpmbAuthenticatedWrite = 0x00000003, | |
| StorRpmbAuthenticatedRead = 0x00000004, | |
| StorRpmbReadResultRequest = 0x00000005, | |
| StorRpmbAuthenticatedDeviceConfigWrite = 0x00000006, | |
| StorRpmbAuthenticatedDeviceConfigRead = 0x00000007, | |
| }; | |
| PSTORAGE_RPMB_COMMAND_TYPE :: ^enum { | |
| StorRpmbProgramAuthKey = 0x00000001, | |
| StorRpmbQueryWriteCounter = 0x00000002, | |
| StorRpmbAuthenticatedWrite = 0x00000003, | |
| StorRpmbAuthenticatedRead = 0x00000004, | |
| StorRpmbReadResultRequest = 0x00000005, | |
| StorRpmbAuthenticatedDeviceConfigWrite = 0x00000006, | |
| StorRpmbAuthenticatedDeviceConfigRead = 0x00000007, | |
| }; | |
| STORAGE_EVENT_NOTIFICATION :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Events : DWORDLONG, | |
| }; | |
| PSTORAGE_EVENT_NOTIFICATION :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Events : DWORDLONG, | |
| }; | |
| STORAGE_COUNTER_TYPE :: enum { | |
| StorageCounterTypeUnknown = 0, | |
| StorageCounterTypeTemperatureCelsius, | |
| StorageCounterTypeTemperatureCelsiusMax, | |
| StorageCounterTypeReadErrorsTotal, | |
| StorageCounterTypeReadErrorsCorrected, | |
| StorageCounterTypeReadErrorsUncorrected, | |
| StorageCounterTypeWriteErrorsTotal, | |
| StorageCounterTypeWriteErrorsCorrected, | |
| StorageCounterTypeWriteErrorsUncorrected, | |
| StorageCounterTypeManufactureDate, | |
| StorageCounterTypeStartStopCycleCount, | |
| StorageCounterTypeStartStopCycleCountMax, | |
| StorageCounterTypeLoadUnloadCycleCount, | |
| StorageCounterTypeLoadUnloadCycleCountMax, | |
| StorageCounterTypeWearPercentage, | |
| StorageCounterTypeWearPercentageWarning, | |
| StorageCounterTypeWearPercentageMax, | |
| StorageCounterTypePowerOnHours, | |
| StorageCounterTypeReadLatency100NSMax, | |
| StorageCounterTypeWriteLatency100NSMax, | |
| StorageCounterTypeFlushLatency100NSMax, | |
| StorageCounterTypeMax, | |
| }; | |
| PSTORAGE_COUNTER_TYPE :: ^enum { | |
| StorageCounterTypeUnknown = 0, | |
| StorageCounterTypeTemperatureCelsius, | |
| StorageCounterTypeTemperatureCelsiusMax, | |
| StorageCounterTypeReadErrorsTotal, | |
| StorageCounterTypeReadErrorsCorrected, | |
| StorageCounterTypeReadErrorsUncorrected, | |
| StorageCounterTypeWriteErrorsTotal, | |
| StorageCounterTypeWriteErrorsCorrected, | |
| StorageCounterTypeWriteErrorsUncorrected, | |
| StorageCounterTypeManufactureDate, | |
| StorageCounterTypeStartStopCycleCount, | |
| StorageCounterTypeStartStopCycleCountMax, | |
| StorageCounterTypeLoadUnloadCycleCount, | |
| StorageCounterTypeLoadUnloadCycleCountMax, | |
| StorageCounterTypeWearPercentage, | |
| StorageCounterTypeWearPercentageWarning, | |
| StorageCounterTypeWearPercentageMax, | |
| StorageCounterTypePowerOnHours, | |
| StorageCounterTypeReadLatency100NSMax, | |
| StorageCounterTypeWriteLatency100NSMax, | |
| StorageCounterTypeFlushLatency100NSMax, | |
| StorageCounterTypeMax, | |
| }; | |
| STORAGE_COUNTER :: struct { | |
| Type : STORAGE_COUNTER_TYPE, | |
| Value : struct #raw_union { | |
| ManufactureDate : struct { | |
| Week : u32, | |
| Year : u32, | |
| }, | |
| AsUlonglong : DWORDLONG, | |
| }, | |
| }; | |
| PSTORAGE_COUNTER :: ^struct { | |
| Type : STORAGE_COUNTER_TYPE, | |
| Value : struct #raw_union { | |
| ManufactureDate : struct { | |
| Week : u32, | |
| Year : u32, | |
| }, | |
| AsUlonglong : DWORDLONG, | |
| }, | |
| }; | |
| STORAGE_COUNTERS :: struct { | |
| Version : u32, | |
| Size : u32, | |
| NumberOfCounters : u32, | |
| Counters : [1]STORAGE_COUNTER, | |
| }; | |
| PSTORAGE_COUNTERS :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| NumberOfCounters : u32, | |
| Counters : [1]STORAGE_COUNTER, | |
| }; | |
| STORAGE_HW_FIRMWARE_INFO_QUERY :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| Reserved : u32, | |
| }; | |
| PSTORAGE_HW_FIRMWARE_INFO_QUERY :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| Reserved : u32, | |
| }; | |
| STORAGE_HW_FIRMWARE_SLOT_INFO :: struct { | |
| Version : u32, | |
| Size : u32, | |
| SlotNumber : BYTE, | |
| ReadOnly : , | |
| Reserved0 : , | |
| Reserved1 : [6]BYTE, | |
| Revision : [16]BYTE, | |
| }; | |
| PSTORAGE_HW_FIRMWARE_SLOT_INFO :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| SlotNumber : BYTE, | |
| ReadOnly : , | |
| Reserved0 : , | |
| Reserved1 : [6]BYTE, | |
| Revision : [16]BYTE, | |
| }; | |
| STORAGE_HW_FIRMWARE_INFO :: struct { | |
| Version : u32, | |
| Size : u32, | |
| SupportUpgrade : , | |
| Reserved0 : , | |
| SlotCount : BYTE, | |
| ActiveSlot : BYTE, | |
| PendingActivateSlot : BYTE, | |
| FirmwareShared : BOOLEAN, | |
| Reserved : [3]BYTE, | |
| ImagePayloadAlignment : u32, | |
| ImagePayloadMaxSize : u32, | |
| Slot : [1]STORAGE_HW_FIRMWARE_SLOT_INFO, | |
| }; | |
| PSTORAGE_HW_FIRMWARE_INFO :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| SupportUpgrade : , | |
| Reserved0 : , | |
| SlotCount : BYTE, | |
| ActiveSlot : BYTE, | |
| PendingActivateSlot : BYTE, | |
| FirmwareShared : BOOLEAN, | |
| Reserved : [3]BYTE, | |
| ImagePayloadAlignment : u32, | |
| ImagePayloadMaxSize : u32, | |
| Slot : [1]STORAGE_HW_FIRMWARE_SLOT_INFO, | |
| }; | |
| STORAGE_HW_FIRMWARE_DOWNLOAD :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| Slot : BYTE, | |
| Reserved : [3]BYTE, | |
| Offset : DWORDLONG, | |
| BufferSize : DWORDLONG, | |
| ImageBuffer : [1]BYTE, | |
| }; | |
| PSTORAGE_HW_FIRMWARE_DOWNLOAD :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| Slot : BYTE, | |
| Reserved : [3]BYTE, | |
| Offset : DWORDLONG, | |
| BufferSize : DWORDLONG, | |
| ImageBuffer : [1]BYTE, | |
| }; | |
| STORAGE_HW_FIRMWARE_DOWNLOAD_V2 :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| Slot : BYTE, | |
| Reserved : [3]BYTE, | |
| Offset : DWORDLONG, | |
| BufferSize : DWORDLONG, | |
| ImageSize : u32, | |
| Reserved2 : u32, | |
| ImageBuffer : [1]BYTE, | |
| }; | |
| PSTORAGE_HW_FIRMWARE_DOWNLOAD_V2 :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| Slot : BYTE, | |
| Reserved : [3]BYTE, | |
| Offset : DWORDLONG, | |
| BufferSize : DWORDLONG, | |
| ImageSize : u32, | |
| Reserved2 : u32, | |
| ImageBuffer : [1]BYTE, | |
| }; | |
| STORAGE_HW_FIRMWARE_ACTIVATE :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| Slot : BYTE, | |
| Reserved0 : [3]BYTE, | |
| }; | |
| PSTORAGE_HW_FIRMWARE_ACTIVATE :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| Slot : BYTE, | |
| Reserved0 : [3]BYTE, | |
| }; | |
| STORAGE_PROTOCOL_COMMAND :: struct { | |
| Version : u32, | |
| Length : u32, | |
| ProtocolType : STORAGE_PROTOCOL_TYPE, | |
| Flags : u32, | |
| ReturnStatus : u32, | |
| ErrorCode : u32, | |
| CommandLength : u32, | |
| ErrorInfoLength : u32, | |
| DataToDeviceTransferLength : u32, | |
| DataFromDeviceTransferLength : u32, | |
| TimeOutValue : u32, | |
| ErrorInfoOffset : u32, | |
| DataToDeviceBufferOffset : u32, | |
| DataFromDeviceBufferOffset : u32, | |
| CommandSpecific : u32, | |
| Reserved0 : u32, | |
| FixedProtocolReturnData : u32, | |
| Reserved1 : [3]u32, | |
| Command : [1]BYTE, | |
| }; | |
| PSTORAGE_PROTOCOL_COMMAND :: ^struct { | |
| Version : u32, | |
| Length : u32, | |
| ProtocolType : STORAGE_PROTOCOL_TYPE, | |
| Flags : u32, | |
| ReturnStatus : u32, | |
| ErrorCode : u32, | |
| CommandLength : u32, | |
| ErrorInfoLength : u32, | |
| DataToDeviceTransferLength : u32, | |
| DataFromDeviceTransferLength : u32, | |
| TimeOutValue : u32, | |
| ErrorInfoOffset : u32, | |
| DataToDeviceBufferOffset : u32, | |
| DataFromDeviceBufferOffset : u32, | |
| CommandSpecific : u32, | |
| Reserved0 : u32, | |
| FixedProtocolReturnData : u32, | |
| Reserved1 : [3]u32, | |
| Command : [1]BYTE, | |
| }; | |
| STORAGE_ATTRIBUTE_MGMT_ACTION :: enum { | |
| StorAttributeMgmt_ClearAttribute = 0, | |
| StorAttributeMgmt_SetAttribute = 1, | |
| StorAttributeMgmt_ResetAttribute = 2, | |
| }; | |
| PSTORAGE_ATTRIBUTE_MGMT_ACTION :: ^enum { | |
| StorAttributeMgmt_ClearAttribute = 0, | |
| StorAttributeMgmt_SetAttribute = 1, | |
| StorAttributeMgmt_ResetAttribute = 2, | |
| }; | |
| STORAGE_ATTRIBUTE_MGMT :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Action : STORAGE_ATTRIBUTE_MGMT_ACTION, | |
| Attribute : u32, | |
| }; | |
| PSTORAGE_ATTRIBUTE_MGMT :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Action : STORAGE_ATTRIBUTE_MGMT_ACTION, | |
| Attribute : u32, | |
| }; | |
| SCM_PD_HEALTH_NOTIFICATION_DATA :: struct { | |
| DeviceGuid : GUID, | |
| }; | |
| PSCM_PD_HEALTH_NOTIFICATION_DATA :: ^struct { | |
| DeviceGuid : GUID, | |
| }; | |
| SCM_LOGICAL_DEVICE_INSTANCE :: struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceGuid : GUID, | |
| SymbolicLink : [256]WCHAR, | |
| }; | |
| PSCM_LOGICAL_DEVICE_INSTANCE :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceGuid : GUID, | |
| SymbolicLink : [256]WCHAR, | |
| }; | |
| SCM_LOGICAL_DEVICES :: struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceCount : u32, | |
| Devices : [1]SCM_LOGICAL_DEVICE_INSTANCE, | |
| }; | |
| PSCM_LOGICAL_DEVICES :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceCount : u32, | |
| Devices : [1]SCM_LOGICAL_DEVICE_INSTANCE, | |
| }; | |
| SCM_PHYSICAL_DEVICE_INSTANCE :: struct { | |
| Version : u32, | |
| Size : u32, | |
| NfitHandle : u32, | |
| SymbolicLink : [256]WCHAR, | |
| }; | |
| PSCM_PHYSICAL_DEVICE_INSTANCE :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| NfitHandle : u32, | |
| SymbolicLink : [256]WCHAR, | |
| }; | |
| SCM_PHYSICAL_DEVICES :: struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceCount : u32, | |
| Devices : [1]SCM_PHYSICAL_DEVICE_INSTANCE, | |
| }; | |
| PSCM_PHYSICAL_DEVICES :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceCount : u32, | |
| Devices : [1]SCM_PHYSICAL_DEVICE_INSTANCE, | |
| }; | |
| SCM_REGION_FLAG :: enum { | |
| ScmRegionFlagNone = 0x0, | |
| ScmRegionFlagLabel = 0x1, | |
| }; | |
| PSCM_REGION_FLAG :: ^enum { | |
| ScmRegionFlagNone = 0x0, | |
| ScmRegionFlagLabel = 0x1, | |
| }; | |
| SCM_REGION :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| NfitHandle : u32, | |
| LogicalDeviceGuid : GUID, | |
| AddressRangeType : GUID, | |
| AssociatedId : u32, | |
| Length : DWORD64, | |
| StartingDPA : DWORD64, | |
| BaseSPA : DWORD64, | |
| SPAOffset : DWORD64, | |
| RegionOffset : DWORD64, | |
| }; | |
| PSCM_REGION :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Flags : u32, | |
| NfitHandle : u32, | |
| LogicalDeviceGuid : GUID, | |
| AddressRangeType : GUID, | |
| AssociatedId : u32, | |
| Length : DWORD64, | |
| StartingDPA : DWORD64, | |
| BaseSPA : DWORD64, | |
| SPAOffset : DWORD64, | |
| RegionOffset : DWORD64, | |
| }; | |
| SCM_REGIONS :: struct { | |
| Version : u32, | |
| Size : u32, | |
| RegionCount : u32, | |
| Regions : [1]SCM_REGION, | |
| }; | |
| PSCM_REGIONS :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| RegionCount : u32, | |
| Regions : [1]SCM_REGION, | |
| }; | |
| SCM_INTERLEAVED_PD_INFO :: struct { | |
| DeviceHandle : u32, | |
| DeviceGuid : GUID, | |
| }; | |
| PSCM_INTERLEAVED_PD_INFO :: ^struct { | |
| DeviceHandle : u32, | |
| DeviceGuid : GUID, | |
| }; | |
| SCM_LD_INTERLEAVE_SET_INFO :: struct { | |
| Version : u32, | |
| Size : u32, | |
| InterleaveSetSize : u32, | |
| InterleaveSet : [1]SCM_INTERLEAVED_PD_INFO, | |
| }; | |
| PSCM_LD_INTERLEAVE_SET_INFO :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| InterleaveSetSize : u32, | |
| InterleaveSet : [1]SCM_INTERLEAVED_PD_INFO, | |
| }; | |
| SCM_PD_QUERY_TYPE :: enum { | |
| ScmPhysicalDeviceQuery_Descriptor = 0, | |
| ScmPhysicalDeviceQuery_IsSupported, | |
| ScmPhysicalDeviceQuery_Max, | |
| }; | |
| PSCM_PD_QUERY_TYPE :: ^enum { | |
| ScmPhysicalDeviceQuery_Descriptor = 0, | |
| ScmPhysicalDeviceQuery_IsSupported, | |
| ScmPhysicalDeviceQuery_Max, | |
| }; | |
| SCM_PD_PROPERTY_ID :: enum { | |
| ScmPhysicalDeviceProperty_DeviceInfo = 0, | |
| ScmPhysicalDeviceProperty_ManagementStatus, | |
| ScmPhysicalDeviceProperty_FirmwareInfo, | |
| ScmPhysicalDeviceProperty_LocationString, | |
| ScmPhysicalDeviceProperty_DeviceSpecificInfo, | |
| ScmPhysicalDeviceProperty_DeviceHandle, | |
| ScmPhysicalDeviceProperty_Max, | |
| }; | |
| PSCM_PD_PROPERTY_ID :: ^enum { | |
| ScmPhysicalDeviceProperty_DeviceInfo = 0, | |
| ScmPhysicalDeviceProperty_ManagementStatus, | |
| ScmPhysicalDeviceProperty_FirmwareInfo, | |
| ScmPhysicalDeviceProperty_LocationString, | |
| ScmPhysicalDeviceProperty_DeviceSpecificInfo, | |
| ScmPhysicalDeviceProperty_DeviceHandle, | |
| ScmPhysicalDeviceProperty_Max, | |
| }; | |
| SCM_PD_PROPERTY_QUERY :: struct { | |
| Version : u32, | |
| Size : u32, | |
| PropertyId : SCM_PD_PROPERTY_ID, | |
| QueryType : SCM_PD_QUERY_TYPE, | |
| AdditionalParameters : [1]BYTE, | |
| }; | |
| PSCM_PD_PROPERTY_QUERY :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| PropertyId : SCM_PD_PROPERTY_ID, | |
| QueryType : SCM_PD_QUERY_TYPE, | |
| AdditionalParameters : [1]BYTE, | |
| }; | |
| SCM_PD_DESCRIPTOR_HEADER :: struct { | |
| Version : u32, | |
| Size : u32, | |
| }; | |
| PSCM_PD_DESCRIPTOR_HEADER :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| }; | |
| SCM_PD_DEVICE_HANDLE :: struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceGuid : GUID, | |
| DeviceHandle : u32, | |
| }; | |
| PSCM_PD_DEVICE_HANDLE :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceGuid : GUID, | |
| DeviceHandle : u32, | |
| }; | |
| SCM_PD_DEVICE_INFO :: struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceGuid : GUID, | |
| UnsafeShutdownCount : u32, | |
| PersistentMemorySizeInBytes : DWORD64, | |
| VolatileMemorySizeInBytes : DWORD64, | |
| TotalMemorySizeInBytes : DWORD64, | |
| SlotNumber : u32, | |
| DeviceHandle : u32, | |
| PhysicalId : u16, | |
| NumberOfFormatInterfaceCodes : BYTE, | |
| FormatInterfaceCodes : [8]u16, | |
| VendorId : u32, | |
| ProductId : u32, | |
| SubsystemDeviceId : u32, | |
| SubsystemVendorId : u32, | |
| ManufacturingLocation : BYTE, | |
| ManufacturingWeek : BYTE, | |
| ManufacturingYear : BYTE, | |
| SerialNumber4Byte : u32, | |
| SerialNumberLengthInChars : u32, | |
| SerialNumber : [1]CHAR, | |
| }; | |
| PSCM_PD_DEVICE_INFO :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| DeviceGuid : GUID, | |
| UnsafeShutdownCount : u32, | |
| PersistentMemorySizeInBytes : DWORD64, | |
| VolatileMemorySizeInBytes : DWORD64, | |
| TotalMemorySizeInBytes : DWORD64, | |
| SlotNumber : u32, | |
| DeviceHandle : u32, | |
| PhysicalId : u16, | |
| NumberOfFormatInterfaceCodes : BYTE, | |
| FormatInterfaceCodes : [8]u16, | |
| VendorId : u32, | |
| ProductId : u32, | |
| SubsystemDeviceId : u32, | |
| SubsystemVendorId : u32, | |
| ManufacturingLocation : BYTE, | |
| ManufacturingWeek : BYTE, | |
| ManufacturingYear : BYTE, | |
| SerialNumber4Byte : u32, | |
| SerialNumberLengthInChars : u32, | |
| SerialNumber : [1]CHAR, | |
| }; | |
| SCM_PD_DEVICE_SPECIFIC_PROPERTY :: struct { | |
| Name : [128]WCHAR, | |
| Value : LONGLONG, | |
| }; | |
| PSCM_PD_DEVICE_SPECIFIC_PROPERTY :: ^struct { | |
| Name : [128]WCHAR, | |
| Value : LONGLONG, | |
| }; | |
| SCM_PD_DEVICE_SPECIFIC_INFO :: struct { | |
| Version : u32, | |
| Size : u32, | |
| NumberOfProperties : u32, | |
| DeviceSpecificProperties : [1]SCM_PD_DEVICE_SPECIFIC_PROPERTY, | |
| }; | |
| PSCM_PD_DEVICE_SPECIFIC_INFO :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| NumberOfProperties : u32, | |
| DeviceSpecificProperties : [1]SCM_PD_DEVICE_SPECIFIC_PROPERTY, | |
| }; | |
| SCM_PD_FIRMWARE_SLOT_INFO :: struct { | |
| Version : u32, | |
| Size : u32, | |
| SlotNumber : BYTE, | |
| ReadOnly : , | |
| Reserved0 : , | |
| Reserved1 : [6]BYTE, | |
| Revision : [32]BYTE, | |
| }; | |
| PSCM_PD_FIRMWARE_SLOT_INFO :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| SlotNumber : BYTE, | |
| ReadOnly : , | |
| Reserved0 : , | |
| Reserved1 : [6]BYTE, | |
| Revision : [32]BYTE, | |
| }; | |
| SCM_PD_FIRMWARE_INFO :: struct { | |
| Version : u32, | |
| Size : u32, | |
| ActiveSlot : BYTE, | |
| NextActiveSlot : BYTE, | |
| SlotCount : BYTE, | |
| Slots : [1]SCM_PD_FIRMWARE_SLOT_INFO, | |
| }; | |
| PSCM_PD_FIRMWARE_INFO :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| ActiveSlot : BYTE, | |
| NextActiveSlot : BYTE, | |
| SlotCount : BYTE, | |
| Slots : [1]SCM_PD_FIRMWARE_SLOT_INFO, | |
| }; | |
| SCM_PD_HEALTH_STATUS :: enum { | |
| ScmPhysicalDeviceHealth_Unknown = 0, | |
| ScmPhysicalDeviceHealth_Unhealthy, | |
| ScmPhysicalDeviceHealth_Warning, | |
| ScmPhysicalDeviceHealth_Healthy, | |
| ScmPhysicalDeviceHealth_Max, | |
| }; | |
| PSCM_PD_HEALTH_STATUS :: ^enum { | |
| ScmPhysicalDeviceHealth_Unknown = 0, | |
| ScmPhysicalDeviceHealth_Unhealthy, | |
| ScmPhysicalDeviceHealth_Warning, | |
| ScmPhysicalDeviceHealth_Healthy, | |
| ScmPhysicalDeviceHealth_Max, | |
| }; | |
| SCM_PD_OPERATIONAL_STATUS :: enum { | |
| ScmPhysicalDeviceOpStatus_Unknown = 0, | |
| ScmPhysicalDeviceOpStatus_Ok, | |
| ScmPhysicalDeviceOpStatus_PredictingFailure, | |
| ScmPhysicalDeviceOpStatus_InService, | |
| ScmPhysicalDeviceOpStatus_HardwareError, | |
| ScmPhysicalDeviceOpStatus_NotUsable, | |
| ScmPhysicalDeviceOpStatus_TransientError, | |
| ScmPhysicalDeviceOpStatus_Missing, | |
| ScmPhysicalDeviceOpStatus_Max, | |
| }; | |
| PSCM_PD_OPERATIONAL_STATUS :: ^enum { | |
| ScmPhysicalDeviceOpStatus_Unknown = 0, | |
| ScmPhysicalDeviceOpStatus_Ok, | |
| ScmPhysicalDeviceOpStatus_PredictingFailure, | |
| ScmPhysicalDeviceOpStatus_InService, | |
| ScmPhysicalDeviceOpStatus_HardwareError, | |
| ScmPhysicalDeviceOpStatus_NotUsable, | |
| ScmPhysicalDeviceOpStatus_TransientError, | |
| ScmPhysicalDeviceOpStatus_Missing, | |
| ScmPhysicalDeviceOpStatus_Max, | |
| }; | |
| SCM_PD_OPERATIONAL_STATUS_REASON :: enum { | |
| ScmPhysicalDeviceOpReason_Unknown = 0, | |
| ScmPhysicalDeviceOpReason_Media, | |
| ScmPhysicalDeviceOpReason_ThresholdExceeded, | |
| ScmPhysicalDeviceOpReason_LostData, | |
| ScmPhysicalDeviceOpReason_EnergySource, | |
| ScmPhysicalDeviceOpReason_Configuration, | |
| ScmPhysicalDeviceOpReason_DeviceController, | |
| ScmPhysicalDeviceOpReason_MediaController, | |
| ScmPhysicalDeviceOpReason_Component, | |
| ScmPhysicalDeviceOpReason_BackgroundOperation, | |
| ScmPhysicalDeviceOpReason_InvalidFirmware, | |
| ScmPhysicalDeviceOpReason_HealthCheck, | |
| ScmPhysicalDeviceOpReason_LostDataPersistence, | |
| ScmPhysicalDeviceOpReason_DisabledByPlatform, | |
| ScmPhysicalDeviceOpReason_PermanentError, | |
| ScmPhysicalDeviceOpReason_LostWritePersistence, | |
| ScmPhysicalDeviceOpReason_FatalError, | |
| ScmPhysicalDeviceOpReason_DataPersistenceLossImminent, | |
| ScmPhysicalDeviceOpReason_WritePersistenceLossImminent, | |
| ScmPhysicalDeviceOpReason_MediaRemainingSpareBlock, | |
| ScmPhysicalDeviceOpReason_PerformanceDegradation, | |
| ScmPhysicalDeviceOpReason_ExcessiveTemperature, | |
| ScmPhysicalDeviceOpReason_Max, | |
| }; | |
| PSCM_PD_OPERATIONAL_STATUS_REASON :: ^enum { | |
| ScmPhysicalDeviceOpReason_Unknown = 0, | |
| ScmPhysicalDeviceOpReason_Media, | |
| ScmPhysicalDeviceOpReason_ThresholdExceeded, | |
| ScmPhysicalDeviceOpReason_LostData, | |
| ScmPhysicalDeviceOpReason_EnergySource, | |
| ScmPhysicalDeviceOpReason_Configuration, | |
| ScmPhysicalDeviceOpReason_DeviceController, | |
| ScmPhysicalDeviceOpReason_MediaController, | |
| ScmPhysicalDeviceOpReason_Component, | |
| ScmPhysicalDeviceOpReason_BackgroundOperation, | |
| ScmPhysicalDeviceOpReason_InvalidFirmware, | |
| ScmPhysicalDeviceOpReason_HealthCheck, | |
| ScmPhysicalDeviceOpReason_LostDataPersistence, | |
| ScmPhysicalDeviceOpReason_DisabledByPlatform, | |
| ScmPhysicalDeviceOpReason_PermanentError, | |
| ScmPhysicalDeviceOpReason_LostWritePersistence, | |
| ScmPhysicalDeviceOpReason_FatalError, | |
| ScmPhysicalDeviceOpReason_DataPersistenceLossImminent, | |
| ScmPhysicalDeviceOpReason_WritePersistenceLossImminent, | |
| ScmPhysicalDeviceOpReason_MediaRemainingSpareBlock, | |
| ScmPhysicalDeviceOpReason_PerformanceDegradation, | |
| ScmPhysicalDeviceOpReason_ExcessiveTemperature, | |
| ScmPhysicalDeviceOpReason_Max, | |
| }; | |
| SCM_PD_MANAGEMENT_STATUS :: struct { | |
| Version : u32, | |
| Size : u32, | |
| Health : SCM_PD_HEALTH_STATUS, | |
| NumberOfOperationalStatus : u32, | |
| NumberOfAdditionalReasons : u32, | |
| OperationalStatus : [16]SCM_PD_OPERATIONAL_STATUS, | |
| AdditionalReasons : [1]SCM_PD_OPERATIONAL_STATUS_REASON, | |
| }; | |
| PSCM_PD_MANAGEMENT_STATUS :: ^struct { | |
| Version : u32, | |
| Size : u32, | |
| Health : SCM_PD_HEALTH_STATUS, | |
| NumberOfOperationalStatus : u32, | |
| NumberOfAdditionalReasons : u32, | |
| OperationalStatus : [16]SCM_PD_OPERATIONAL_STATUS, | |
| AdditionalReasons : [1]SCM_PD_OPERATIONAL_STATUS_REASON, | |
| }; | |
| SCM_PD_LOCATION_STRING :: struct { | |
| Version : u32, | |
| Size |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment