Last active
June 25, 2021 12:57
-
-
Save terickson001/aecbb9107e15afd9397d61883c091843 to your computer and use it in GitHub Desktop.
Windows.h bindings for Odin. Generated with bind-odin
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 kernel32 "system:kernel32.lib"; | |
foreign import user32 "system:user32.lib"; | |
foreign import ole32 "system:ole32.lib"; | |
foreign import shell32 "system:shell32.lib"; | |
foreign import gdi32 "system:gdi32.lib"; | |
foreign import comdlg32 "system:comdlg32.lib"; | |
foreign import bcrypt "system:bcrypt.lib"; | |
foreign import advapi32 "system:advapi32.lib"; | |
foreign import winmm "system:winmm.lib"; | |
foreign import opengl32 "system:opengl32.lib"; | |
foreign import userenv "system:userenv.lib"; | |
foreign import synchronization "system:synchronization.lib"; | |
foreign import oleaut32 "system:oleaut32.lib"; | |
foreign import WS2_32 "system:WS2_32.lib"; | |
import _c "core:c" | |
/* Opaque Types */ | |
__crt_locale_data :: struct {} | |
_ACTIVATION_CONTEXT :: struct {} | |
__crt_multibyte_data :: struct {} | |
_TEB :: struct {} | |
_NDR_CORRELATION_INFO :: struct {} | |
_NDR_ASYNC_MESSAGE :: struct {} | |
NET_ADDRESS_INFO_ :: struct {} | |
_wireSAFEARRAY :: struct { | |
cDims : USHORT, | |
fFeatures : USHORT, | |
cbElements : ULONG, | |
cLocks : ULONG, | |
uArrayStructs : SAFEARRAYUNION, | |
rgsabound : [1]SAFEARRAYBOUND, | |
} | |
_SC_NOTIFICATION_REGISTRATION :: struct {} | |
_PROC_THREAD_ATTRIBUTE_LIST :: struct {} | |
/* Defines */ | |
uintptr_t :: u64; | |
va_list :: ^_c.uchar; | |
size_t :: u64; | |
ptrdiff_t :: i64; | |
intptr_t :: i64; | |
__vcrt_bool :: _c.bool; | |
wchar_t :: _c.ushort; | |
/* EXCEPTION_DISPOSITION :: enum { */ | |
EXCEPTION_DISPOSITION :: _c.int; | |
ExceptionContinueExecution :: 0; | |
ExceptionContinueSearch :: ExceptionContinueExecution + 1; | |
ExceptionNestedException :: ExceptionContinueSearch + 1; | |
ExceptionCollidedUnwind :: ExceptionNestedException + 1; | |
/* } */ | |
; | |
ULONG :: _c.ulong; | |
PULONG :: ^ULONG; | |
USHORT :: _c.ushort; | |
PUSHORT :: ^USHORT; | |
UCHAR :: _c.uchar; | |
PUCHAR :: ^UCHAR; | |
PSZ :: ^_c.uchar; | |
DWORD :: _c.ulong; | |
BOOL :: _c.int; | |
BYTE :: _c.uchar; | |
WORD :: _c.ushort; | |
FLOAT :: _c.float; | |
PFLOAT :: ^FLOAT; | |
PBOOL :: ^BOOL; | |
LPBOOL :: ^BOOL; | |
PBYTE :: ^BYTE; | |
LPBYTE :: ^BYTE; | |
PINT :: ^_c.int; | |
LPINT :: ^_c.int; | |
PWORD :: ^WORD; | |
LPWORD :: ^WORD; | |
LPLONG :: ^_c.long; | |
PDWORD :: ^DWORD; | |
LPDWORD :: ^DWORD; | |
LPVOID :: rawptr; | |
LPCVOID :: rawptr; | |
INT :: _c.int; | |
UINT :: _c.uint; | |
PUINT :: ^_c.uint; | |
__crt_bool :: _c.bool; | |
errno_t :: _c.int; | |
wint_t :: _c.ushort; | |
wctype_t :: _c.ushort; | |
__time32_t :: _c.long; | |
__time64_t :: i64; | |
__crt_locale_data_public :: struct { | |
_locale_pctype : ^_c.ushort, | |
_locale_mb_cur_max : _c.int, | |
_locale_lc_codepage : _c.uint, | |
}; | |
__crt_locale_pointers :: struct { | |
locinfo : ^__crt_locale_data, | |
mbcinfo : ^__crt_multibyte_data, | |
}; | |
_locale_t :: ^__crt_locale_pointers; | |
_Mbstatet :: struct { | |
_Wchar : _c.ulong, | |
_Byte : _c.ushort, | |
_State : _c.ushort, | |
}; | |
mbstate_t :: _Mbstatet; | |
time_t :: __time64_t; | |
rsize_t :: _c.size_t; | |
POINTER_64_INT :: u64; | |
INT8 :: _c.schar; | |
PINT8 :: ^_c.schar; | |
INT16 :: _c.short; | |
PINT16 :: ^_c.short; | |
INT32 :: _c.int; | |
PINT32 :: ^_c.int; | |
INT64 :: i64; | |
PINT64 :: ^i64; | |
UINT8 :: _c.uchar; | |
PUINT8 :: ^_c.uchar; | |
UINT16 :: _c.ushort; | |
PUINT16 :: ^_c.ushort; | |
UINT32 :: _c.uint; | |
PUINT32 :: ^_c.uint; | |
UINT64 :: u64; | |
PUINT64 :: ^u64; | |
LONG32 :: _c.int; | |
PLONG32 :: ^_c.int; | |
ULONG32 :: _c.uint; | |
PULONG32 :: ^_c.uint; | |
DWORD32 :: _c.uint; | |
PDWORD32 :: ^_c.uint; | |
INT_PTR :: i64; | |
PINT_PTR :: ^i64; | |
UINT_PTR :: u64; | |
PUINT_PTR :: ^u64; | |
LONG_PTR :: i64; | |
PLONG_PTR :: ^i64; | |
ULONG_PTR :: u64; | |
PULONG_PTR :: ^u64; | |
SHANDLE_PTR :: i64; | |
HANDLE_PTR :: u64; | |
UHALF_PTR :: _c.uint; | |
PUHALF_PTR :: ^_c.uint; | |
HALF_PTR :: _c.int; | |
PHALF_PTR :: ^_c.int; | |
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 :: _c.uchar; | |
SHORT :: _c.short; | |
LONG :: _c.long; | |
; | |
WCHAR :: _c.wchar_t; | |
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 :: _c.ulong; | |
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 :: _c.uchar; | |
PTCHAR :: ^_c.uchar; | |
TBYTE :: _c.uchar; | |
PTBYTE :: ^_c.uchar; | |
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 : WORD, | |
Number : BYTE, | |
Reserved : BYTE, | |
}; | |
PPROCESSOR_NUMBER :: ^PROCESSOR_NUMBER; | |
GROUP_AFFINITY :: struct { | |
Mask : KAFFINITY, | |
Group : WORD, | |
Reserved : [3]WORD, | |
}; | |
PGROUP_AFFINITY :: ^GROUP_AFFINITY; | |
HANDLE :: rawptr; | |
PHANDLE :: ^HANDLE; | |
FCHAR :: BYTE; | |
FSHORT :: WORD; | |
FLONG :: DWORD; | |
HRESULT :: _c.long; | |
CCHAR :: _c.uchar; | |
LCID :: DWORD; | |
PLCID :: PDWORD; | |
LANGID :: WORD; | |
/* COMPARTMENT_ID :: enum { */ | |
COMPARTMENT_ID :: _c.int; | |
UNSPECIFIED_COMPARTMENT_ID :: 0; | |
DEFAULT_COMPARTMENT_ID :: UNSPECIFIED_COMPARTMENT_ID + 1; | |
/* } */ | |
PCOMPARTMENT_ID :: ^COMPARTMENT_ID; | |
FLOAT128 :: struct { | |
LowPart : i64, | |
HighPart : i64, | |
}; | |
PFLOAT128 :: ^FLOAT128; | |
LONGLONG :: i64; | |
ULONGLONG :: u64; | |
PLONGLONG :: ^LONGLONG; | |
PULONGLONG :: ^ULONGLONG; | |
USN :: LONGLONG; | |
LARGE_INTEGER :: struct #raw_union { | |
s : struct { | |
LowPart : DWORD, | |
HighPart : LONG, | |
}, | |
u : struct { | |
LowPart : DWORD, | |
HighPart : LONG, | |
}, | |
QuadPart : LONGLONG, | |
}; | |
PLARGE_INTEGER :: ^LARGE_INTEGER; | |
ULARGE_INTEGER :: struct #raw_union { | |
s : struct { | |
LowPart : DWORD, | |
HighPart : DWORD, | |
}, | |
u : struct { | |
LowPart : DWORD, | |
HighPart : DWORD, | |
}, | |
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 : DWORD, | |
HighPart : LONG, | |
}; | |
PLUID :: ^LUID; | |
DWORDLONG :: ULONGLONG; | |
PDWORDLONG :: ^DWORDLONG; | |
BOOLEAN :: BYTE; | |
PBOOLEAN :: ^BOOLEAN; | |
LIST_ENTRY :: struct { | |
Flink : ^LIST_ENTRY, | |
Blink : ^LIST_ENTRY, | |
}; | |
PLIST_ENTRY :: ^LIST_ENTRY; | |
PRLIST_ENTRY :: ^LIST_ENTRY; | |
SINGLE_LIST_ENTRY :: struct { | |
Next : ^SINGLE_LIST_ENTRY, | |
}; | |
PSINGLE_LIST_ENTRY :: ^SINGLE_LIST_ENTRY; | |
LIST_ENTRY32 :: struct { | |
Flink : DWORD, | |
Blink : DWORD, | |
}; | |
PLIST_ENTRY32 :: ^LIST_ENTRY32; | |
LIST_ENTRY64 :: struct { | |
Flink : ULONGLONG, | |
Blink : ULONGLONG, | |
}; | |
PLIST_ENTRY64 :: ^LIST_ENTRY64; | |
GUID :: struct { | |
Data1 : _c.ulong, | |
Data2 : _c.ushort, | |
Data3 : _c.ushort, | |
Data4 : [8]_c.uchar, | |
}; | |
LPGUID :: ^GUID; | |
LPCGUID :: ^GUID; | |
IID :: GUID; | |
LPIID :: ^IID; | |
CLSID :: GUID; | |
LPCLSID :: ^CLSID; | |
FMTID :: GUID; | |
LPFMTID :: ^FMTID; | |
OBJECTID :: struct { | |
Lineage : GUID, | |
Uniquifier : DWORD, | |
}; | |
EXCEPTION_ROUTINE :: #type (proc "stdcall" (ExceptionRecord : ^EXCEPTION_RECORD, EstablisherFrame : PVOID, ContextRecord : ^CONTEXT, DispatcherContext : PVOID) -> EXCEPTION_DISPOSITION); | |
PEXCEPTION_ROUTINE :: ^EXCEPTION_ROUTINE; | |
KSPIN_LOCK :: ULONG_PTR; | |
PKSPIN_LOCK :: ^KSPIN_LOCK; | |
M128A :: struct { | |
Low : ULONGLONG, | |
High : LONGLONG, | |
}; | |
PM128A :: ^M128A; | |
XSAVE_FORMAT :: struct { | |
ControlWord : WORD, | |
StatusWord : WORD, | |
TagWord : BYTE, | |
Reserved1 : BYTE, | |
ErrorOpcode : WORD, | |
ErrorOffset : DWORD, | |
ErrorSelector : WORD, | |
Reserved2 : WORD, | |
DataOffset : DWORD, | |
DataSelector : WORD, | |
Reserved3 : WORD, | |
MxCsr : DWORD, | |
MxCsr_Mask : DWORD, | |
FloatRegisters : [8]M128A, | |
XmmRegisters : [16]M128A, | |
Reserved4 : [96]BYTE, | |
}; | |
PXSAVE_FORMAT :: ^XSAVE_FORMAT; | |
XSAVE_CET_U_FORMAT :: struct { | |
Ia32CetUMsr : DWORD64, | |
Ia32Pl3SspMsr : DWORD64, | |
}; | |
PXSAVE_CET_U_FORMAT :: ^XSAVE_CET_U_FORMAT; | |
XSAVE_AREA_HEADER :: struct { | |
Mask : DWORD64, | |
CompactionMask : DWORD64, | |
Reserved2 : [6]DWORD64, | |
}; | |
PXSAVE_AREA_HEADER :: ^XSAVE_AREA_HEADER; | |
XSAVE_AREA :: struct { | |
LegacyState : XSAVE_FORMAT, | |
Header : XSAVE_AREA_HEADER, | |
}; | |
PXSAVE_AREA :: ^XSAVE_AREA; | |
XSTATE_CONTEXT :: struct { | |
Mask : DWORD64, | |
Length : DWORD, | |
Reserved1 : DWORD, | |
Area : PXSAVE_AREA, | |
Buffer : PVOID, | |
}; | |
PXSTATE_CONTEXT :: ^XSTATE_CONTEXT; | |
SCOPE_TABLE_AMD64 :: struct { | |
Count : DWORD, | |
ScopeRecord : [1]struct { | |
BeginAddress : DWORD, | |
EndAddress : DWORD, | |
HandlerAddress : DWORD, | |
JumpTarget : DWORD, | |
}, | |
}; | |
PSCOPE_TABLE_AMD64 :: ^SCOPE_TABLE_AMD64; | |
XMM_SAVE_AREA32 :: XSAVE_FORMAT; | |
PXMM_SAVE_AREA32 :: ^XSAVE_FORMAT; | |
CONTEXT :: struct { | |
P1Home : DWORD64, | |
P2Home : DWORD64, | |
P3Home : DWORD64, | |
P4Home : DWORD64, | |
P5Home : DWORD64, | |
P6Home : DWORD64, | |
ContextFlags : DWORD, | |
MxCsr : DWORD, | |
SegCs : WORD, | |
SegDs : WORD, | |
SegEs : WORD, | |
SegFs : WORD, | |
SegGs : WORD, | |
SegSs : WORD, | |
EFlags : DWORD, | |
Dr0 : DWORD64, | |
Dr1 : DWORD64, | |
Dr2 : DWORD64, | |
Dr3 : DWORD64, | |
Dr6 : DWORD64, | |
Dr7 : DWORD64, | |
Rax : DWORD64, | |
Rcx : DWORD64, | |
Rdx : DWORD64, | |
Rbx : DWORD64, | |
Rsp : DWORD64, | |
Rbp : DWORD64, | |
Rsi : DWORD64, | |
Rdi : DWORD64, | |
R8 : DWORD64, | |
R9 : DWORD64, | |
R10 : DWORD64, | |
R11 : DWORD64, | |
R12 : DWORD64, | |
R13 : DWORD64, | |
R14 : DWORD64, | |
R15 : DWORD64, | |
Rip : DWORD64, | |
u : struct #raw_union { | |
FltSave : XMM_SAVE_AREA32, | |
s : struct { | |
Header : [2]M128A, | |
Legacy : [8]M128A, | |
Xmm0 : M128A, | |
Xmm1 : M128A, | |
Xmm2 : M128A, | |
Xmm3 : M128A, | |
Xmm4 : M128A, | |
Xmm5 : M128A, | |
Xmm6 : M128A, | |
Xmm7 : M128A, | |
Xmm8 : M128A, | |
Xmm9 : M128A, | |
Xmm10 : M128A, | |
Xmm11 : M128A, | |
Xmm12 : M128A, | |
Xmm13 : M128A, | |
Xmm14 : M128A, | |
Xmm15 : M128A, | |
}, | |
}, | |
VectorRegister : [26]M128A, | |
VectorControl : DWORD64, | |
DebugControl : DWORD64, | |
LastBranchToRip : DWORD64, | |
LastBranchFromRip : DWORD64, | |
LastExceptionToRip : DWORD64, | |
LastExceptionFromRip : DWORD64, | |
}; | |
PCONTEXT :: ^CONTEXT; | |
RUNTIME_FUNCTION :: _IMAGE_RUNTIME_FUNCTION_ENTRY; | |
PRUNTIME_FUNCTION :: ^_IMAGE_RUNTIME_FUNCTION_ENTRY; | |
SCOPE_TABLE :: SCOPE_TABLE_AMD64; | |
PSCOPE_TABLE :: ^SCOPE_TABLE_AMD64; | |
UNWIND_HISTORY_TABLE_ENTRY :: struct { | |
ImageBase : DWORD64, | |
FunctionEntry : PRUNTIME_FUNCTION, | |
}; | |
PUNWIND_HISTORY_TABLE_ENTRY :: ^UNWIND_HISTORY_TABLE_ENTRY; | |
UNWIND_HISTORY_TABLE :: struct { | |
Count : DWORD, | |
LocalHint : BYTE, | |
GlobalHint : BYTE, | |
Search : BYTE, | |
Once : BYTE, | |
LowAddress : DWORD64, | |
HighAddress : DWORD64, | |
Entry : [12]UNWIND_HISTORY_TABLE_ENTRY, | |
}; | |
PUNWIND_HISTORY_TABLE :: ^UNWIND_HISTORY_TABLE; | |
GET_RUNTIME_FUNCTION_CALLBACK :: #type (proc(ControlPc : DWORD64, Context : PVOID) -> PRUNTIME_FUNCTION); | |
PGET_RUNTIME_FUNCTION_CALLBACK :: ^GET_RUNTIME_FUNCTION_CALLBACK; | |
OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK :: #type (proc(Process : HANDLE, TableAddress : PVOID, Entries : PDWORD, Functions : ^PRUNTIME_FUNCTION) -> DWORD); | |
POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK :: ^OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK; | |
DISPATCHER_CONTEXT :: struct { | |
ControlPc : DWORD64, | |
ImageBase : DWORD64, | |
FunctionEntry : PRUNTIME_FUNCTION, | |
EstablisherFrame : DWORD64, | |
TargetIp : DWORD64, | |
ContextRecord : PCONTEXT, | |
LanguageHandler : PEXCEPTION_ROUTINE, | |
HandlerData : PVOID, | |
HistoryTable : PUNWIND_HISTORY_TABLE, | |
ScopeIndex : DWORD, | |
Fill0 : DWORD, | |
}; | |
PDISPATCHER_CONTEXT :: ^DISPATCHER_CONTEXT; | |
PEXCEPTION_FILTER :: (proc(ExceptionPointers : ^EXCEPTION_POINTERS, EstablisherFrame : PVOID) -> LONG); | |
PTERMINATION_HANDLER :: proc(_abnormal_termination : BOOLEAN, EstablisherFrame : PVOID); | |
KNONVOLATILE_CONTEXT_POINTERS :: struct { | |
u : struct #raw_union { | |
FloatingContext : [16]PM128A, | |
s : struct { | |
Xmm0 : PM128A, | |
Xmm1 : PM128A, | |
Xmm2 : PM128A, | |
Xmm3 : PM128A, | |
Xmm4 : PM128A, | |
Xmm5 : PM128A, | |
Xmm6 : PM128A, | |
Xmm7 : PM128A, | |
Xmm8 : PM128A, | |
Xmm9 : PM128A, | |
Xmm10 : PM128A, | |
Xmm11 : PM128A, | |
Xmm12 : PM128A, | |
Xmm13 : PM128A, | |
Xmm14 : PM128A, | |
Xmm15 : PM128A, | |
}, | |
}, | |
u2 : struct #raw_union { | |
IntegerContext : [16]PDWORD64, | |
s : struct { | |
Rax : PDWORD64, | |
Rcx : PDWORD64, | |
Rdx : PDWORD64, | |
Rbx : PDWORD64, | |
Rsp : PDWORD64, | |
Rbp : PDWORD64, | |
Rsi : PDWORD64, | |
Rdi : PDWORD64, | |
R8 : PDWORD64, | |
R9 : PDWORD64, | |
R10 : PDWORD64, | |
R11 : PDWORD64, | |
R12 : PDWORD64, | |
R13 : PDWORD64, | |
R14 : PDWORD64, | |
R15 : PDWORD64, | |
}, | |
}, | |
}; | |
PKNONVOLATILE_CONTEXT_POINTERS :: ^KNONVOLATILE_CONTEXT_POINTERS; | |
SCOPE_TABLE_ARM :: struct { | |
Count : DWORD, | |
ScopeRecord : [1]struct { | |
BeginAddress : DWORD, | |
EndAddress : DWORD, | |
HandlerAddress : DWORD, | |
JumpTarget : DWORD, | |
}, | |
}; | |
PSCOPE_TABLE_ARM :: ^SCOPE_TABLE_ARM; | |
SCOPE_TABLE_ARM64 :: struct { | |
Count : DWORD, | |
ScopeRecord : [1]struct { | |
BeginAddress : DWORD, | |
EndAddress : DWORD, | |
HandlerAddress : DWORD, | |
JumpTarget : DWORD, | |
}, | |
}; | |
PSCOPE_TABLE_ARM64 :: ^SCOPE_TABLE_ARM64; | |
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 :: ^KNONVOLATILE_CONTEXT_POINTERS_ARM64; | |
LDT_ENTRY :: struct { | |
LimitLow : WORD, | |
BaseLow : WORD, | |
HighWord : struct #raw_union { | |
Bytes : struct { | |
BaseMid : BYTE, | |
Flags1 : BYTE, | |
Flags2 : BYTE, | |
BaseHi : BYTE, | |
}, | |
Bits : bit_field { | |
BaseMid : 8, | |
Type : 5, | |
Dpl : 2, | |
Pres : 1, | |
LimitHi : 4, | |
Sys : 1, | |
Reserved_0 : 1, | |
Default_Big : 1, | |
Granularity : 1, | |
BaseHi : 8, | |
}, | |
}, | |
}; | |
PLDT_ENTRY :: ^LDT_ENTRY; | |
WOW64_FLOATING_SAVE_AREA :: struct { | |
ControlWord : DWORD, | |
StatusWord : DWORD, | |
TagWord : DWORD, | |
ErrorOffset : DWORD, | |
ErrorSelector : DWORD, | |
DataOffset : DWORD, | |
DataSelector : DWORD, | |
RegisterArea : [80]BYTE, | |
Cr0NpxState : DWORD, | |
}; | |
PWOW64_FLOATING_SAVE_AREA :: ^WOW64_FLOATING_SAVE_AREA; | |
WOW64_CONTEXT :: struct { | |
ContextFlags : DWORD, | |
Dr0 : DWORD, | |
Dr1 : DWORD, | |
Dr2 : DWORD, | |
Dr3 : DWORD, | |
Dr6 : DWORD, | |
Dr7 : DWORD, | |
FloatSave : WOW64_FLOATING_SAVE_AREA, | |
SegGs : DWORD, | |
SegFs : DWORD, | |
SegEs : DWORD, | |
SegDs : DWORD, | |
Edi : DWORD, | |
Esi : DWORD, | |
Ebx : DWORD, | |
Edx : DWORD, | |
Ecx : DWORD, | |
Eax : DWORD, | |
Ebp : DWORD, | |
Eip : DWORD, | |
SegCs : DWORD, | |
EFlags : DWORD, | |
Esp : DWORD, | |
SegSs : DWORD, | |
ExtendedRegisters : [512]BYTE, | |
}; | |
PWOW64_CONTEXT :: ^WOW64_CONTEXT; | |
WOW64_LDT_ENTRY :: struct { | |
LimitLow : WORD, | |
BaseLow : WORD, | |
HighWord : struct #raw_union { | |
Bytes : struct { | |
BaseMid : BYTE, | |
Flags1 : BYTE, | |
Flags2 : BYTE, | |
BaseHi : BYTE, | |
}, | |
Bits : bit_field { | |
BaseMid : 8, | |
Type : 5, | |
Dpl : 2, | |
Pres : 1, | |
LimitHi : 4, | |
Sys : 1, | |
Reserved_0 : 1, | |
Default_Big : 1, | |
Granularity : 1, | |
BaseHi : 8, | |
}, | |
}, | |
}; | |
PWOW64_LDT_ENTRY :: ^WOW64_LDT_ENTRY; | |
WOW64_DESCRIPTOR_TABLE_ENTRY :: struct { | |
Selector : DWORD, | |
Descriptor : WOW64_LDT_ENTRY, | |
}; | |
PWOW64_DESCRIPTOR_TABLE_ENTRY :: ^WOW64_DESCRIPTOR_TABLE_ENTRY; | |
EXCEPTION_RECORD :: struct { | |
ExceptionCode : DWORD, | |
ExceptionFlags : DWORD, | |
ExceptionRecord : ^EXCEPTION_RECORD, | |
ExceptionAddress : PVOID, | |
NumberParameters : DWORD, | |
ExceptionInformation : [15]ULONG_PTR, | |
}; | |
PEXCEPTION_RECORD :: ^EXCEPTION_RECORD; | |
EXCEPTION_RECORD32 :: struct { | |
ExceptionCode : DWORD, | |
ExceptionFlags : DWORD, | |
ExceptionRecord : DWORD, | |
ExceptionAddress : DWORD, | |
NumberParameters : DWORD, | |
ExceptionInformation : [15]DWORD, | |
}; | |
PEXCEPTION_RECORD32 :: ^EXCEPTION_RECORD32; | |
EXCEPTION_RECORD64 :: struct { | |
ExceptionCode : DWORD, | |
ExceptionFlags : DWORD, | |
ExceptionRecord : DWORD64, | |
ExceptionAddress : DWORD64, | |
NumberParameters : DWORD, | |
__unusedAlignment : DWORD, | |
ExceptionInformation : [15]DWORD64, | |
}; | |
PEXCEPTION_RECORD64 :: ^EXCEPTION_RECORD64; | |
EXCEPTION_POINTERS :: struct { | |
ExceptionRecord : PEXCEPTION_RECORD, | |
ContextRecord : PCONTEXT, | |
}; | |
PEXCEPTION_POINTERS :: ^EXCEPTION_POINTERS; | |
PACCESS_TOKEN :: PVOID; | |
PSECURITY_DESCRIPTOR :: PVOID; | |
PSID :: PVOID; | |
PCLAIMS_BLOB :: PVOID; | |
ACCESS_MASK :: DWORD; | |
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 : DWORD, | |
}; | |
PLUID_AND_ATTRIBUTES :: ^LUID_AND_ATTRIBUTES; | |
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 :: ^SID_IDENTIFIER_AUTHORITY; | |
SID :: struct { | |
Revision : BYTE, | |
SubAuthorityCount : BYTE, | |
IdentifierAuthority : SID_IDENTIFIER_AUTHORITY, | |
SubAuthority : [1]DWORD, | |
}; | |
PISID :: ^SID; | |
SE_SID :: struct #raw_union { | |
Sid : SID, | |
Buffer : [(size_of(SID) - size_of(DWORD) + ((15) * size_of(DWORD)))]BYTE, | |
}; | |
PSE_SID :: ^SE_SID; | |
/* SID_NAME_USE :: enum { */ | |
SID_NAME_USE :: _c.int; | |
SidTypeUser :: 1; | |
SidTypeGroup :: SidTypeUser + 1; | |
SidTypeDomain :: SidTypeGroup + 1; | |
SidTypeAlias :: SidTypeDomain + 1; | |
SidTypeWellKnownGroup :: SidTypeAlias + 1; | |
SidTypeDeletedAccount :: SidTypeWellKnownGroup + 1; | |
SidTypeInvalid :: SidTypeDeletedAccount + 1; | |
SidTypeUnknown :: SidTypeInvalid + 1; | |
SidTypeComputer :: SidTypeUnknown + 1; | |
SidTypeLabel :: SidTypeComputer + 1; | |
SidTypeLogonSession :: SidTypeLabel + 1; | |
/* } */ | |
PSID_NAME_USE :: ^SID_NAME_USE; | |
SID_AND_ATTRIBUTES :: struct { | |
Sid : PSID, | |
Attributes : DWORD, | |
}; | |
PSID_AND_ATTRIBUTES :: ^SID_AND_ATTRIBUTES; | |
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 : DWORD, | |
SidAttr : PSID_AND_ATTRIBUTES, | |
Hash : [32]SID_HASH_ENTRY, | |
}; | |
PSID_AND_ATTRIBUTES_HASH :: ^SID_AND_ATTRIBUTES_HASH; | |
/* WELL_KNOWN_SID_TYPE :: enum { */ | |
WELL_KNOWN_SID_TYPE :: _c.int; | |
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 : WORD, | |
AceCount : WORD, | |
Sbz2 : WORD, | |
}; | |
PACL :: ^ACL; | |
ACE_HEADER :: struct { | |
AceType : BYTE, | |
AceFlags : BYTE, | |
AceSize : WORD, | |
}; | |
PACE_HEADER :: ^ACE_HEADER; | |
ACCESS_ALLOWED_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PACCESS_ALLOWED_ACE :: ^ACCESS_ALLOWED_ACE; | |
ACCESS_DENIED_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PACCESS_DENIED_ACE :: ^ACCESS_DENIED_ACE; | |
SYSTEM_AUDIT_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_AUDIT_ACE :: ^SYSTEM_AUDIT_ACE; | |
SYSTEM_ALARM_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_ALARM_ACE :: ^SYSTEM_ALARM_ACE; | |
SYSTEM_RESOURCE_ATTRIBUTE_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_RESOURCE_ATTRIBUTE_ACE :: ^SYSTEM_RESOURCE_ATTRIBUTE_ACE; | |
SYSTEM_SCOPED_POLICY_ID_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_SCOPED_POLICY_ID_ACE :: ^SYSTEM_SCOPED_POLICY_ID_ACE; | |
SYSTEM_MANDATORY_LABEL_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_MANDATORY_LABEL_ACE :: ^SYSTEM_MANDATORY_LABEL_ACE; | |
SYSTEM_PROCESS_TRUST_LABEL_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_PROCESS_TRUST_LABEL_ACE :: ^SYSTEM_PROCESS_TRUST_LABEL_ACE; | |
SYSTEM_ACCESS_FILTER_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_ACCESS_FILTER_ACE :: ^SYSTEM_ACCESS_FILTER_ACE; | |
ACCESS_ALLOWED_OBJECT_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
Flags : DWORD, | |
ObjectType : GUID, | |
InheritedObjectType : GUID, | |
SidStart : DWORD, | |
}; | |
PACCESS_ALLOWED_OBJECT_ACE :: ^ACCESS_ALLOWED_OBJECT_ACE; | |
ACCESS_DENIED_OBJECT_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
Flags : DWORD, | |
ObjectType : GUID, | |
InheritedObjectType : GUID, | |
SidStart : DWORD, | |
}; | |
PACCESS_DENIED_OBJECT_ACE :: ^ACCESS_DENIED_OBJECT_ACE; | |
SYSTEM_AUDIT_OBJECT_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
Flags : DWORD, | |
ObjectType : GUID, | |
InheritedObjectType : GUID, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_AUDIT_OBJECT_ACE :: ^SYSTEM_AUDIT_OBJECT_ACE; | |
SYSTEM_ALARM_OBJECT_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
Flags : DWORD, | |
ObjectType : GUID, | |
InheritedObjectType : GUID, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_ALARM_OBJECT_ACE :: ^SYSTEM_ALARM_OBJECT_ACE; | |
ACCESS_ALLOWED_CALLBACK_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PACCESS_ALLOWED_CALLBACK_ACE :: ^ACCESS_ALLOWED_CALLBACK_ACE; | |
ACCESS_DENIED_CALLBACK_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PACCESS_DENIED_CALLBACK_ACE :: ^ACCESS_DENIED_CALLBACK_ACE; | |
SYSTEM_AUDIT_CALLBACK_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_AUDIT_CALLBACK_ACE :: ^SYSTEM_AUDIT_CALLBACK_ACE; | |
SYSTEM_ALARM_CALLBACK_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_ALARM_CALLBACK_ACE :: ^SYSTEM_ALARM_CALLBACK_ACE; | |
ACCESS_ALLOWED_CALLBACK_OBJECT_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
Flags : DWORD, | |
ObjectType : GUID, | |
InheritedObjectType : GUID, | |
SidStart : DWORD, | |
}; | |
PACCESS_ALLOWED_CALLBACK_OBJECT_ACE :: ^ACCESS_ALLOWED_CALLBACK_OBJECT_ACE; | |
ACCESS_DENIED_CALLBACK_OBJECT_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
Flags : DWORD, | |
ObjectType : GUID, | |
InheritedObjectType : GUID, | |
SidStart : DWORD, | |
}; | |
PACCESS_DENIED_CALLBACK_OBJECT_ACE :: ^ACCESS_DENIED_CALLBACK_OBJECT_ACE; | |
SYSTEM_AUDIT_CALLBACK_OBJECT_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
Flags : DWORD, | |
ObjectType : GUID, | |
InheritedObjectType : GUID, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE :: ^SYSTEM_AUDIT_CALLBACK_OBJECT_ACE; | |
SYSTEM_ALARM_CALLBACK_OBJECT_ACE :: struct { | |
Header : ACE_HEADER, | |
Mask : ACCESS_MASK, | |
Flags : DWORD, | |
ObjectType : GUID, | |
InheritedObjectType : GUID, | |
SidStart : DWORD, | |
}; | |
PSYSTEM_ALARM_CALLBACK_OBJECT_ACE :: ^SYSTEM_ALARM_CALLBACK_OBJECT_ACE; | |
/* ACL_INFORMATION_CLASS :: enum { */ | |
ACL_INFORMATION_CLASS :: _c.int; | |
AclRevisionInformation :: 1; | |
AclSizeInformation :: AclRevisionInformation + 1; | |
/* } */ | |
; | |
ACL_REVISION_INFORMATION :: struct { | |
AclRevision : DWORD, | |
}; | |
PACL_REVISION_INFORMATION :: ^ACL_REVISION_INFORMATION; | |
ACL_SIZE_INFORMATION :: struct { | |
AceCount : DWORD, | |
AclBytesInUse : DWORD, | |
AclBytesFree : DWORD, | |
}; | |
PACL_SIZE_INFORMATION :: ^ACL_SIZE_INFORMATION; | |
SECURITY_DESCRIPTOR_CONTROL :: WORD; | |
PSECURITY_DESCRIPTOR_CONTROL :: ^WORD; | |
SECURITY_DESCRIPTOR_RELATIVE :: struct { | |
Revision : BYTE, | |
Sbz1 : BYTE, | |
Control : SECURITY_DESCRIPTOR_CONTROL, | |
Owner : DWORD, | |
Group : DWORD, | |
Sacl : DWORD, | |
Dacl : DWORD, | |
}; | |
PISECURITY_DESCRIPTOR_RELATIVE :: ^SECURITY_DESCRIPTOR_RELATIVE; | |
SECURITY_DESCRIPTOR :: struct { | |
Revision : BYTE, | |
Sbz1 : BYTE, | |
Control : SECURITY_DESCRIPTOR_CONTROL, | |
Owner : PSID, | |
Group : PSID, | |
Sacl : PACL, | |
Dacl : PACL, | |
}; | |
PISECURITY_DESCRIPTOR :: ^SECURITY_DESCRIPTOR; | |
SECURITY_OBJECT_AI_PARAMS :: struct { | |
Size : DWORD, | |
ConstraintMask : DWORD, | |
}; | |
PSECURITY_OBJECT_AI_PARAMS :: ^SECURITY_OBJECT_AI_PARAMS; | |
OBJECT_TYPE_LIST :: struct { | |
Level : WORD, | |
Sbz : WORD, | |
ObjectType : ^GUID, | |
}; | |
POBJECT_TYPE_LIST :: ^OBJECT_TYPE_LIST; | |
/* AUDIT_EVENT_TYPE :: enum { */ | |
AUDIT_EVENT_TYPE :: _c.int; | |
AuditEventObjectAccess :: 0; | |
AuditEventDirectoryServiceAccess :: AuditEventObjectAccess + 1; | |
/* } */ | |
PAUDIT_EVENT_TYPE :: ^AUDIT_EVENT_TYPE; | |
PRIVILEGE_SET :: struct { | |
PrivilegeCount : DWORD, | |
Control : DWORD, | |
Privilege : [1]LUID_AND_ATTRIBUTES, | |
}; | |
PPRIVILEGE_SET :: ^PRIVILEGE_SET; | |
/* ACCESS_REASON_TYPE :: enum { */ | |
ACCESS_REASON_TYPE :: _c.int; | |
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 :: DWORD; | |
ACCESS_REASONS :: struct { | |
Data : [32]ACCESS_REASON, | |
}; | |
PACCESS_REASONS :: ^ACCESS_REASONS; | |
SE_SECURITY_DESCRIPTOR :: struct { | |
Size : DWORD, | |
Flags : DWORD, | |
SecurityDescriptor : PSECURITY_DESCRIPTOR, | |
}; | |
PSE_SECURITY_DESCRIPTOR :: ^SE_SECURITY_DESCRIPTOR; | |
SE_ACCESS_REQUEST :: struct { | |
Size : DWORD, | |
SeSecurityDescriptor : PSE_SECURITY_DESCRIPTOR, | |
DesiredAccess : ACCESS_MASK, | |
PreviouslyGrantedAccess : ACCESS_MASK, | |
PrincipalSelfSid : PSID, | |
GenericMapping : PGENERIC_MAPPING, | |
ObjectTypeListCount : DWORD, | |
ObjectTypeList : POBJECT_TYPE_LIST, | |
}; | |
PSE_ACCESS_REQUEST :: ^SE_ACCESS_REQUEST; | |
SE_ACCESS_REPLY :: struct { | |
Size : DWORD, | |
ResultListCount : DWORD, | |
GrantedAccess : PACCESS_MASK, | |
AccessStatus : PDWORD, | |
AccessReason : PACCESS_REASONS, | |
Privileges : ^PPRIVILEGE_SET, | |
}; | |
PSE_ACCESS_REPLY :: ^SE_ACCESS_REPLY; | |
/* SECURITY_IMPERSONATION_LEVEL :: enum { */ | |
SECURITY_IMPERSONATION_LEVEL :: _c.int; | |
SecurityAnonymous :: 0; | |
SecurityIdentification :: SecurityAnonymous + 1; | |
SecurityImpersonation :: SecurityIdentification + 1; | |
SecurityDelegation :: SecurityImpersonation + 1; | |
/* } */ | |
PSECURITY_IMPERSONATION_LEVEL :: ^SECURITY_IMPERSONATION_LEVEL; | |
/* TOKEN_TYPE :: enum { */ | |
TOKEN_TYPE :: _c.int; | |
TokenPrimary :: 1; | |
TokenImpersonation :: TokenPrimary + 1; | |
/* } */ | |
; | |
PTOKEN_TYPE :: ^TOKEN_TYPE; | |
/* TOKEN_ELEVATION_TYPE :: enum { */ | |
TOKEN_ELEVATION_TYPE :: _c.int; | |
TokenElevationTypeDefault :: 1; | |
TokenElevationTypeFull :: TokenElevationTypeDefault + 1; | |
TokenElevationTypeLimited :: TokenElevationTypeFull + 1; | |
/* } */ | |
PTOKEN_ELEVATION_TYPE :: ^TOKEN_ELEVATION_TYPE; | |
/* TOKEN_INFORMATION_CLASS :: enum { */ | |
TOKEN_INFORMATION_CLASS :: _c.int; | |
TokenUser :: 1; | |
TokenGroups :: TokenUser + 1; | |
TokenPrivileges :: TokenGroups + 1; | |
TokenOwner :: TokenPrivileges + 1; | |
TokenPrimaryGroup :: TokenOwner + 1; | |
TokenDefaultDacl :: TokenPrimaryGroup + 1; | |
TokenSource :: TokenDefaultDacl + 1; | |
TokenType :: TokenSource + 1; | |
TokenImpersonationLevel :: TokenType + 1; | |
TokenStatistics :: TokenImpersonationLevel + 1; | |
TokenRestrictedSids :: TokenStatistics + 1; | |
TokenSessionId :: TokenRestrictedSids + 1; | |
TokenGroupsAndPrivileges :: TokenSessionId + 1; | |
TokenSessionReference :: TokenGroupsAndPrivileges + 1; | |
TokenSandBoxInert :: TokenSessionReference + 1; | |
TokenAuditPolicy :: TokenSandBoxInert + 1; | |
TokenOrigin :: TokenAuditPolicy + 1; | |
TokenElevationType :: TokenOrigin + 1; | |
TokenLinkedToken :: TokenElevationType + 1; | |
TokenElevation :: TokenLinkedToken + 1; | |
TokenHasRestrictions :: TokenElevation + 1; | |
TokenAccessInformation :: TokenHasRestrictions + 1; | |
TokenVirtualizationAllowed :: TokenAccessInformation + 1; | |
TokenVirtualizationEnabled :: TokenVirtualizationAllowed + 1; | |
TokenIntegrityLevel :: TokenVirtualizationEnabled + 1; | |
TokenUIAccess :: TokenIntegrityLevel + 1; | |
TokenMandatoryPolicy :: TokenUIAccess + 1; | |
TokenLogonSid :: TokenMandatoryPolicy + 1; | |
TokenIsAppContainer :: TokenLogonSid + 1; | |
TokenCapabilities :: TokenIsAppContainer + 1; | |
TokenAppContainerSid :: TokenCapabilities + 1; | |
TokenAppContainerNumber :: TokenAppContainerSid + 1; | |
TokenUserClaimAttributes :: TokenAppContainerNumber + 1; | |
TokenDeviceClaimAttributes :: TokenUserClaimAttributes + 1; | |
TokenRestrictedUserClaimAttributes :: TokenDeviceClaimAttributes + 1; | |
TokenRestrictedDeviceClaimAttributes :: TokenRestrictedUserClaimAttributes + 1; | |
TokenDeviceGroups :: TokenRestrictedDeviceClaimAttributes + 1; | |
TokenRestrictedDeviceGroups :: TokenDeviceGroups + 1; | |
TokenSecurityAttributes :: TokenRestrictedDeviceGroups + 1; | |
TokenIsRestricted :: TokenSecurityAttributes + 1; | |
TokenProcessTrustLevel :: TokenIsRestricted + 1; | |
TokenPrivateNameSpace :: TokenProcessTrustLevel + 1; | |
TokenSingletonAttributes :: TokenPrivateNameSpace + 1; | |
TokenBnoIsolation :: TokenSingletonAttributes + 1; | |
TokenChildProcessFlags :: TokenBnoIsolation + 1; | |
TokenIsLessPrivilegedAppContainer :: TokenChildProcessFlags + 1; | |
TokenIsSandboxed :: TokenIsLessPrivilegedAppContainer + 1; | |
TokenOriginatingProcessTrustLevel :: TokenIsSandboxed + 1; | |
MaxTokenInfoClass :: TokenOriginatingProcessTrustLevel + 1; | |
/* } */ | |
PTOKEN_INFORMATION_CLASS :: ^TOKEN_INFORMATION_CLASS; | |
TOKEN_USER :: struct { | |
User : SID_AND_ATTRIBUTES, | |
}; | |
PTOKEN_USER :: ^TOKEN_USER; | |
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 : DWORD, | |
Groups : [1]SID_AND_ATTRIBUTES, | |
}; | |
PTOKEN_GROUPS :: ^TOKEN_GROUPS; | |
TOKEN_PRIVILEGES :: struct { | |
PrivilegeCount : DWORD, | |
Privileges : [1]LUID_AND_ATTRIBUTES, | |
}; | |
PTOKEN_PRIVILEGES :: ^TOKEN_PRIVILEGES; | |
TOKEN_OWNER :: struct { | |
Owner : PSID, | |
}; | |
PTOKEN_OWNER :: ^TOKEN_OWNER; | |
TOKEN_PRIMARY_GROUP :: struct { | |
PrimaryGroup : PSID, | |
}; | |
PTOKEN_PRIMARY_GROUP :: ^TOKEN_PRIMARY_GROUP; | |
TOKEN_DEFAULT_DACL :: struct { | |
DefaultDacl : PACL, | |
}; | |
PTOKEN_DEFAULT_DACL :: ^TOKEN_DEFAULT_DACL; | |
TOKEN_USER_CLAIMS :: struct { | |
UserClaims : PCLAIMS_BLOB, | |
}; | |
PTOKEN_USER_CLAIMS :: ^TOKEN_USER_CLAIMS; | |
TOKEN_DEVICE_CLAIMS :: struct { | |
DeviceClaims : PCLAIMS_BLOB, | |
}; | |
PTOKEN_DEVICE_CLAIMS :: ^TOKEN_DEVICE_CLAIMS; | |
TOKEN_GROUPS_AND_PRIVILEGES :: struct { | |
SidCount : DWORD, | |
SidLength : DWORD, | |
Sids : PSID_AND_ATTRIBUTES, | |
RestrictedSidCount : DWORD, | |
RestrictedSidLength : DWORD, | |
RestrictedSids : PSID_AND_ATTRIBUTES, | |
PrivilegeCount : DWORD, | |
PrivilegeLength : DWORD, | |
Privileges : PLUID_AND_ATTRIBUTES, | |
AuthenticationId : LUID, | |
}; | |
PTOKEN_GROUPS_AND_PRIVILEGES :: ^TOKEN_GROUPS_AND_PRIVILEGES; | |
TOKEN_LINKED_TOKEN :: struct { | |
LinkedToken : HANDLE, | |
}; | |
PTOKEN_LINKED_TOKEN :: ^TOKEN_LINKED_TOKEN; | |
TOKEN_ELEVATION :: struct { | |
TokenIsElevated : DWORD, | |
}; | |
PTOKEN_ELEVATION :: ^TOKEN_ELEVATION; | |
TOKEN_MANDATORY_LABEL :: struct { | |
Label : SID_AND_ATTRIBUTES, | |
}; | |
PTOKEN_MANDATORY_LABEL :: ^TOKEN_MANDATORY_LABEL; | |
TOKEN_MANDATORY_POLICY :: struct { | |
Policy : DWORD, | |
}; | |
PTOKEN_MANDATORY_POLICY :: ^TOKEN_MANDATORY_POLICY; | |
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 : DWORD, | |
AppContainerNumber : DWORD, | |
PackageSid : PSID, | |
CapabilitiesHash : PSID_AND_ATTRIBUTES_HASH, | |
TrustLevelSid : PSID, | |
SecurityAttributes : PSECURITY_ATTRIBUTES_OPAQUE, | |
}; | |
PTOKEN_ACCESS_INFORMATION :: ^TOKEN_ACCESS_INFORMATION; | |
TOKEN_AUDIT_POLICY :: struct { | |
PerUserPolicy : [(((59)) >> 1) + 1]BYTE, | |
}; | |
PTOKEN_AUDIT_POLICY :: ^TOKEN_AUDIT_POLICY; | |
TOKEN_SOURCE :: struct { | |
SourceName : [8]CHAR, | |
SourceIdentifier : LUID, | |
}; | |
PTOKEN_SOURCE :: ^TOKEN_SOURCE; | |
TOKEN_STATISTICS :: struct { | |
TokenId : LUID, | |
AuthenticationId : LUID, | |
ExpirationTime : LARGE_INTEGER, | |
TokenType : TOKEN_TYPE, | |
ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL, | |
DynamicCharged : DWORD, | |
DynamicAvailable : DWORD, | |
GroupCount : DWORD, | |
PrivilegeCount : DWORD, | |
ModifiedId : LUID, | |
}; | |
PTOKEN_STATISTICS :: ^TOKEN_STATISTICS; | |
TOKEN_CONTROL :: struct { | |
TokenId : LUID, | |
AuthenticationId : LUID, | |
ModifiedId : LUID, | |
TokenSource : TOKEN_SOURCE, | |
}; | |
PTOKEN_CONTROL :: ^TOKEN_CONTROL; | |
TOKEN_ORIGIN :: struct { | |
OriginatingLogonSession : LUID, | |
}; | |
PTOKEN_ORIGIN :: ^TOKEN_ORIGIN; | |
/* MANDATORY_LEVEL :: enum { */ | |
MANDATORY_LEVEL :: _c.int; | |
MandatoryLevelUntrusted :: 0; | |
MandatoryLevelLow :: MandatoryLevelUntrusted + 1; | |
MandatoryLevelMedium :: MandatoryLevelLow + 1; | |
MandatoryLevelHigh :: MandatoryLevelMedium + 1; | |
MandatoryLevelSystem :: MandatoryLevelHigh + 1; | |
MandatoryLevelSecureProcess :: MandatoryLevelSystem + 1; | |
MandatoryLevelCount :: MandatoryLevelSecureProcess + 1; | |
/* } */ | |
PMANDATORY_LEVEL :: ^MANDATORY_LEVEL; | |
TOKEN_APPCONTAINER_INFORMATION :: struct { | |
TokenAppContainer : PSID, | |
}; | |
PTOKEN_APPCONTAINER_INFORMATION :: ^TOKEN_APPCONTAINER_INFORMATION; | |
TOKEN_SID_INFORMATION :: struct { | |
Sid : PSID, | |
}; | |
PTOKEN_SID_INFORMATION :: ^TOKEN_SID_INFORMATION; | |
TOKEN_BNO_ISOLATION_INFORMATION :: struct { | |
IsolationPrefix : PWSTR, | |
IsolationEnabled : BOOLEAN, | |
}; | |
PTOKEN_BNO_ISOLATION_INFORMATION :: ^TOKEN_BNO_ISOLATION_INFORMATION; | |
CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE :: struct { | |
Version : DWORD64, | |
Name : PWSTR, | |
}; | |
PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE :: ^CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE; | |
CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE :: struct { | |
pValue : PVOID, | |
ValueLength : DWORD, | |
}; | |
PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE :: ^CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE; | |
CLAIM_SECURITY_ATTRIBUTE_V1 :: struct { | |
Name : PWSTR, | |
ValueType : WORD, | |
Reserved : WORD, | |
Flags : DWORD, | |
ValueCount : DWORD, | |
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 :: ^CLAIM_SECURITY_ATTRIBUTE_V1; | |
CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 :: struct { | |
Name : DWORD, | |
ValueType : WORD, | |
Reserved : WORD, | |
Flags : DWORD, | |
ValueCount : DWORD, | |
Values : struct #raw_union { | |
pInt64 : [1]DWORD, | |
pUint64 : [1]DWORD, | |
ppString : [1]DWORD, | |
pFqbn : [1]DWORD, | |
pOctetString : [1]DWORD, | |
}, | |
}; | |
PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 :: ^CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1; | |
CLAIM_SECURITY_ATTRIBUTES_INFORMATION :: struct { | |
Version : WORD, | |
Reserved : WORD, | |
AttributeCount : DWORD, | |
Attribute : struct #raw_union { | |
pAttributeV1 : PCLAIM_SECURITY_ATTRIBUTE_V1, | |
}, | |
}; | |
PCLAIM_SECURITY_ATTRIBUTES_INFORMATION :: ^CLAIM_SECURITY_ATTRIBUTES_INFORMATION; | |
SECURITY_CONTEXT_TRACKING_MODE :: BOOLEAN; | |
PSECURITY_CONTEXT_TRACKING_MODE :: ^BOOLEAN; | |
SECURITY_QUALITY_OF_SERVICE :: struct { | |
Length : DWORD, | |
ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL, | |
ContextTrackingMode : SECURITY_CONTEXT_TRACKING_MODE, | |
EffectiveOnly : BOOLEAN, | |
}; | |
PSECURITY_QUALITY_OF_SERVICE :: ^SECURITY_QUALITY_OF_SERVICE; | |
SE_IMPERSONATION_STATE :: struct { | |
Token : PACCESS_TOKEN, | |
CopyOnOpen : BOOLEAN, | |
EffectiveOnly : BOOLEAN, | |
Level : SECURITY_IMPERSONATION_LEVEL, | |
}; | |
PSE_IMPERSONATION_STATE :: ^SE_IMPERSONATION_STATE; | |
SECURITY_INFORMATION :: DWORD; | |
PSECURITY_INFORMATION :: ^DWORD; | |
SE_SIGNING_LEVEL :: BYTE; | |
PSE_SIGNING_LEVEL :: ^BYTE; | |
/* SE_IMAGE_SIGNATURE_TYPE :: enum { */ | |
SE_IMAGE_SIGNATURE_TYPE :: _c.int; | |
SeImageSignatureNone :: 0; | |
SeImageSignatureEmbedded :: SeImageSignatureNone + 1; | |
SeImageSignatureCache :: SeImageSignatureEmbedded + 1; | |
SeImageSignatureCatalogCached :: SeImageSignatureCache + 1; | |
SeImageSignatureCatalogNotCached :: SeImageSignatureCatalogCached + 1; | |
SeImageSignatureCatalogHint :: SeImageSignatureCatalogNotCached + 1; | |
SeImageSignaturePackageCatalog :: SeImageSignatureCatalogHint + 1; | |
/* } */ | |
PSE_IMAGE_SIGNATURE_TYPE :: ^SE_IMAGE_SIGNATURE_TYPE; | |
/* SE_LEARNING_MODE_DATA_TYPE :: enum { */ | |
SE_LEARNING_MODE_DATA_TYPE :: _c.int; | |
SeLearningModeInvalidType :: 0; | |
SeLearningModeSettings :: SeLearningModeInvalidType + 1; | |
SeLearningModeMax :: SeLearningModeSettings + 1; | |
/* } */ | |
; | |
SECURITY_CAPABILITIES :: struct { | |
AppContainerSid : PSID, | |
Capabilities : PSID_AND_ATTRIBUTES, | |
CapabilityCount : DWORD, | |
Reserved : DWORD, | |
}; | |
PSECURITY_CAPABILITIES :: ^SECURITY_CAPABILITIES; | |
LPSECURITY_CAPABILITIES :: ^SECURITY_CAPABILITIES; | |
JOB_SET_ARRAY :: struct { | |
JobHandle : HANDLE, | |
MemberLevel : DWORD, | |
Flags : DWORD, | |
}; | |
PJOB_SET_ARRAY :: ^JOB_SET_ARRAY; | |
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 : DWORD, | |
StackBase : DWORD, | |
StackLimit : DWORD, | |
SubSystemTib : DWORD, | |
FiberData : DWORD, | |
ArbitraryUserPointer : DWORD, | |
Self : DWORD, | |
}; | |
PNT_TIB32 :: ^NT_TIB32; | |
NT_TIB64 :: struct { | |
ExceptionList : DWORD64, | |
StackBase : DWORD64, | |
StackLimit : DWORD64, | |
SubSystemTib : DWORD64, | |
FiberData : DWORD64, | |
ArbitraryUserPointer : DWORD64, | |
Self : DWORD64, | |
}; | |
PNT_TIB64 :: ^NT_TIB64; | |
UMS_CREATE_THREAD_ATTRIBUTES :: struct { | |
UmsVersion : DWORD, | |
UmsContext : PVOID, | |
UmsCompletionList : PVOID, | |
}; | |
PUMS_CREATE_THREAD_ATTRIBUTES :: ^UMS_CREATE_THREAD_ATTRIBUTES; | |
WOW64_ARCHITECTURE_INFORMATION :: bit_field { | |
Machine : 16, | |
KernelMode : 1, | |
UserMode : 1, | |
Native : 1, | |
Process : 1, | |
ReservedZero0 : 12, | |
}; | |
QUOTA_LIMITS :: struct { | |
PagedPoolLimit : SIZE_T, | |
NonPagedPoolLimit : SIZE_T, | |
MinimumWorkingSetSize : SIZE_T, | |
MaximumWorkingSetSize : SIZE_T, | |
PagefileLimit : SIZE_T, | |
TimeLimit : LARGE_INTEGER, | |
}; | |
PQUOTA_LIMITS :: ^QUOTA_LIMITS; | |
RATE_QUOTA_LIMIT :: struct #raw_union { | |
RateData : DWORD, | |
s : bit_field { | |
RatePercent : 7, | |
Reserved0 : 25, | |
}, | |
}; | |
PRATE_QUOTA_LIMIT :: ^RATE_QUOTA_LIMIT; | |
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 : DWORD, | |
CpuRateLimit : RATE_QUOTA_LIMIT, | |
}; | |
PQUOTA_LIMITS_EX :: ^QUOTA_LIMITS_EX; | |
IO_COUNTERS :: struct { | |
ReadOperationCount : ULONGLONG, | |
WriteOperationCount : ULONGLONG, | |
OtherOperationCount : ULONGLONG, | |
ReadTransferCount : ULONGLONG, | |
WriteTransferCount : ULONGLONG, | |
OtherTransferCount : ULONGLONG, | |
}; | |
PIO_COUNTERS :: ^IO_COUNTERS; | |
/* HARDWARE_COUNTER_TYPE :: enum { */ | |
HARDWARE_COUNTER_TYPE :: _c.int; | |
PMCCounter :: 0; | |
MaxHardwareCounterType :: PMCCounter + 1; | |
/* } */ | |
PHARDWARE_COUNTER_TYPE :: ^HARDWARE_COUNTER_TYPE; | |
/* PROCESS_MITIGATION_POLICY :: enum { */ | |
PROCESS_MITIGATION_POLICY :: _c.int; | |
ProcessDEPPolicy :: 0; | |
ProcessASLRPolicy :: ProcessDEPPolicy + 1; | |
ProcessDynamicCodePolicy :: ProcessASLRPolicy + 1; | |
ProcessStrictHandleCheckPolicy :: ProcessDynamicCodePolicy + 1; | |
ProcessSystemCallDisablePolicy :: ProcessStrictHandleCheckPolicy + 1; | |
ProcessMitigationOptionsMask :: ProcessSystemCallDisablePolicy + 1; | |
ProcessExtensionPointDisablePolicy :: ProcessMitigationOptionsMask + 1; | |
ProcessControlFlowGuardPolicy :: ProcessExtensionPointDisablePolicy + 1; | |
ProcessSignaturePolicy :: ProcessControlFlowGuardPolicy + 1; | |
ProcessFontDisablePolicy :: ProcessSignaturePolicy + 1; | |
ProcessImageLoadPolicy :: ProcessFontDisablePolicy + 1; | |
ProcessSystemCallFilterPolicy :: ProcessImageLoadPolicy + 1; | |
ProcessPayloadRestrictionPolicy :: ProcessSystemCallFilterPolicy + 1; | |
ProcessChildProcessPolicy :: ProcessPayloadRestrictionPolicy + 1; | |
ProcessSideChannelIsolationPolicy :: ProcessChildProcessPolicy + 1; | |
MaxProcessMitigationPolicy :: ProcessSideChannelIsolationPolicy + 1; | |
/* } */ | |
PPROCESS_MITIGATION_POLICY :: ^PROCESS_MITIGATION_POLICY; | |
PROCESS_MITIGATION_ASLR_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
EnableBottomUpRandomization : 1, | |
EnableForceRelocateImages : 1, | |
EnableHighEntropy : 1, | |
DisallowStrippedImages : 1, | |
ReservedFlags : 28, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_ASLR_POLICY :: ^PROCESS_MITIGATION_ASLR_POLICY; | |
PROCESS_MITIGATION_DEP_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
Enable : 1, | |
DisableAtlThunkEmulation : 1, | |
ReservedFlags : 30, | |
}, | |
}, | |
Permanent : BOOLEAN, | |
}; | |
PPROCESS_MITIGATION_DEP_POLICY :: ^PROCESS_MITIGATION_DEP_POLICY; | |
PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
RaiseExceptionOnInvalidHandleReference : 1, | |
HandleExceptionsPermanentlyEnabled : 1, | |
ReservedFlags : 30, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY :: ^PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY; | |
PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
DisallowWin32kSystemCalls : 1, | |
AuditDisallowWin32kSystemCalls : 1, | |
ReservedFlags : 30, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY :: ^PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY; | |
PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
DisableExtensionPoints : 1, | |
ReservedFlags : 31, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY :: ^PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY; | |
PROCESS_MITIGATION_DYNAMIC_CODE_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
ProhibitDynamicCode : 1, | |
AllowThreadOptOut : 1, | |
AllowRemoteDowngrade : 1, | |
AuditProhibitDynamicCode : 1, | |
ReservedFlags : 28, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY :: ^PROCESS_MITIGATION_DYNAMIC_CODE_POLICY; | |
PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
EnableControlFlowGuard : 1, | |
EnableExportSuppression : 1, | |
StrictMode : 1, | |
ReservedFlags : 29, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY :: ^PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY; | |
PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
MicrosoftSignedOnly : 1, | |
StoreSignedOnly : 1, | |
MitigationOptIn : 1, | |
AuditMicrosoftSignedOnly : 1, | |
AuditStoreSignedOnly : 1, | |
ReservedFlags : 27, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY :: ^PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY; | |
PROCESS_MITIGATION_FONT_DISABLE_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
DisableNonSystemFonts : 1, | |
AuditNonSystemFontLoading : 1, | |
ReservedFlags : 30, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_FONT_DISABLE_POLICY :: ^PROCESS_MITIGATION_FONT_DISABLE_POLICY; | |
PROCESS_MITIGATION_IMAGE_LOAD_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
NoRemoteImages : 1, | |
NoLowMandatoryLabelImages : 1, | |
PreferSystem32Images : 1, | |
AuditNoRemoteImages : 1, | |
AuditNoLowMandatoryLabelImages : 1, | |
ReservedFlags : 27, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_IMAGE_LOAD_POLICY :: ^PROCESS_MITIGATION_IMAGE_LOAD_POLICY; | |
PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
FilterId : 4, | |
ReservedFlags : 28, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY :: ^PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY; | |
PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
EnableExportAddressFilter : 1, | |
AuditExportAddressFilter : 1, | |
EnableExportAddressFilterPlus : 1, | |
AuditExportAddressFilterPlus : 1, | |
EnableImportAddressFilter : 1, | |
AuditImportAddressFilter : 1, | |
EnableRopStackPivot : 1, | |
AuditRopStackPivot : 1, | |
EnableRopCallerCheck : 1, | |
AuditRopCallerCheck : 1, | |
EnableRopSimExec : 1, | |
AuditRopSimExec : 1, | |
ReservedFlags : 20, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY :: ^PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY; | |
PROCESS_MITIGATION_CHILD_PROCESS_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
NoChildProcessCreation : 1, | |
AuditNoChildProcessCreation : 1, | |
AllowSecureProcessCreation : 1, | |
ReservedFlags : 29, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_CHILD_PROCESS_POLICY :: ^PROCESS_MITIGATION_CHILD_PROCESS_POLICY; | |
PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY :: struct { | |
u : struct #raw_union { | |
Flags : DWORD, | |
s : bit_field { | |
SmtBranchTargetIsolation : 1, | |
IsolateSecurityDomain : 1, | |
DisablePageCombine : 1, | |
SpeculativeStoreBypassDisable : 1, | |
ReservedFlags : 28, | |
}, | |
}, | |
}; | |
PPROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY :: ^PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY; | |
JOBOBJECT_BASIC_ACCOUNTING_INFORMATION :: struct { | |
TotalUserTime : LARGE_INTEGER, | |
TotalKernelTime : LARGE_INTEGER, | |
ThisPeriodTotalUserTime : LARGE_INTEGER, | |
ThisPeriodTotalKernelTime : LARGE_INTEGER, | |
TotalPageFaultCount : DWORD, | |
TotalProcesses : DWORD, | |
ActiveProcesses : DWORD, | |
TotalTerminatedProcesses : DWORD, | |
}; | |
PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION :: ^JOBOBJECT_BASIC_ACCOUNTING_INFORMATION; | |
JOBOBJECT_BASIC_LIMIT_INFORMATION :: struct { | |
PerProcessUserTimeLimit : LARGE_INTEGER, | |
PerJobUserTimeLimit : LARGE_INTEGER, | |
LimitFlags : DWORD, | |
MinimumWorkingSetSize : SIZE_T, | |
MaximumWorkingSetSize : SIZE_T, | |
ActiveProcessLimit : DWORD, | |
Affinity : ULONG_PTR, | |
PriorityClass : DWORD, | |
SchedulingClass : DWORD, | |
}; | |
PJOBOBJECT_BASIC_LIMIT_INFORMATION :: ^JOBOBJECT_BASIC_LIMIT_INFORMATION; | |
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 :: ^JOBOBJECT_EXTENDED_LIMIT_INFORMATION; | |
JOBOBJECT_BASIC_PROCESS_ID_LIST :: struct { | |
NumberOfAssignedProcesses : DWORD, | |
NumberOfProcessIdsInList : DWORD, | |
ProcessIdList : [1]ULONG_PTR, | |
}; | |
PJOBOBJECT_BASIC_PROCESS_ID_LIST :: ^JOBOBJECT_BASIC_PROCESS_ID_LIST; | |
JOBOBJECT_BASIC_UI_RESTRICTIONS :: struct { | |
UIRestrictionsClass : DWORD, | |
}; | |
PJOBOBJECT_BASIC_UI_RESTRICTIONS :: ^JOBOBJECT_BASIC_UI_RESTRICTIONS; | |
JOBOBJECT_SECURITY_LIMIT_INFORMATION :: struct { | |
SecurityLimitFlags : DWORD, | |
JobToken : HANDLE, | |
SidsToDisable : PTOKEN_GROUPS, | |
PrivilegesToDelete : PTOKEN_PRIVILEGES, | |
RestrictedSids : PTOKEN_GROUPS, | |
}; | |
PJOBOBJECT_SECURITY_LIMIT_INFORMATION :: ^JOBOBJECT_SECURITY_LIMIT_INFORMATION; | |
JOBOBJECT_END_OF_JOB_TIME_INFORMATION :: struct { | |
EndOfJobTimeAction : DWORD, | |
}; | |
PJOBOBJECT_END_OF_JOB_TIME_INFORMATION :: ^JOBOBJECT_END_OF_JOB_TIME_INFORMATION; | |
JOBOBJECT_ASSOCIATE_COMPLETION_PORT :: struct { | |
CompletionKey : PVOID, | |
CompletionPort : HANDLE, | |
}; | |
PJOBOBJECT_ASSOCIATE_COMPLETION_PORT :: ^JOBOBJECT_ASSOCIATE_COMPLETION_PORT; | |
JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION :: struct { | |
BasicInfo : JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, | |
IoInfo : IO_COUNTERS, | |
}; | |
PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION :: ^JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; | |
JOBOBJECT_JOBSET_INFORMATION :: struct { | |
MemberLevel : DWORD, | |
}; | |
PJOBOBJECT_JOBSET_INFORMATION :: ^JOBOBJECT_JOBSET_INFORMATION; | |
/* JOBOBJECT_RATE_CONTROL_TOLERANCE :: enum { */ | |
JOBOBJECT_RATE_CONTROL_TOLERANCE :: _c.int; | |
ToleranceLow :: 1; | |
ToleranceMedium :: ToleranceLow + 1; | |
ToleranceHigh :: ToleranceMedium + 1; | |
/* } */ | |
PJOBOBJECT_RATE_CONTROL_TOLERANCE :: ^JOBOBJECT_RATE_CONTROL_TOLERANCE; | |
/* JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL :: enum { */ | |
JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL :: _c.int; | |
ToleranceIntervalShort :: 1; | |
ToleranceIntervalMedium :: ToleranceIntervalShort + 1; | |
ToleranceIntervalLong :: ToleranceIntervalMedium + 1; | |
/* } */ | |
PJOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL :: ^JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL; | |
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 : DWORD, | |
}; | |
PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION :: ^JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION; | |
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 : DWORD, | |
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 : DWORD, | |
ViolationLimitFlags : DWORD, | |
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 :: ^JOBOBJECT_LIMIT_VIOLATION_INFORMATION; | |
JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 :: struct { | |
LimitFlags : DWORD, | |
ViolationLimitFlags : DWORD, | |
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 : DWORD, | |
u : struct #raw_union { | |
CpuRate : DWORD, | |
Weight : DWORD, | |
s : struct { | |
MinRate : WORD, | |
MaxRate : WORD, | |
}, | |
}, | |
}; | |
PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION :: ^JOBOBJECT_CPU_RATE_CONTROL_INFORMATION; | |
/* JOB_OBJECT_NET_RATE_CONTROL_FLAGS :: enum { */ | |
JOB_OBJECT_NET_RATE_CONTROL_FLAGS :: _c.int; | |
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; | |
/* } */ | |
; | |
; | |
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_FLAGS :: _c.int; | |
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 : DWORD, | |
ControlFlags : JOB_OBJECT_IO_RATE_CONTROL_FLAGS, | |
VolumeNameLength : WORD, | |
}; | |
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 : DWORD, | |
ControlFlags : JOB_OBJECT_IO_RATE_CONTROL_FLAGS, | |
VolumeNameLength : WORD, | |
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 : DWORD, | |
ControlFlags : JOB_OBJECT_IO_RATE_CONTROL_FLAGS, | |
VolumeNameLength : WORD, | |
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_FLAGS :: _c.int; | |
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 :: ^JOBOBJECT_IO_ATTRIBUTION_STATS; | |
JOBOBJECT_IO_ATTRIBUTION_INFORMATION :: struct { | |
ControlFlags : DWORD, | |
ReadStats : JOBOBJECT_IO_ATTRIBUTION_STATS, | |
WriteStats : JOBOBJECT_IO_ATTRIBUTION_STATS, | |
}; | |
PJOBOBJECT_IO_ATTRIBUTION_INFORMATION :: ^JOBOBJECT_IO_ATTRIBUTION_INFORMATION; | |
/* JOBOBJECTINFOCLASS :: enum { */ | |
JOBOBJECTINFOCLASS :: _c.int; | |
JobObjectBasicAccountingInformation :: 1; | |
JobObjectBasicLimitInformation :: JobObjectBasicAccountingInformation + 1; | |
JobObjectBasicProcessIdList :: JobObjectBasicLimitInformation + 1; | |
JobObjectBasicUIRestrictions :: JobObjectBasicProcessIdList + 1; | |
JobObjectSecurityLimitInformation :: JobObjectBasicUIRestrictions + 1; | |
JobObjectEndOfJobTimeInformation :: JobObjectSecurityLimitInformation + 1; | |
JobObjectAssociateCompletionPortInformation :: JobObjectEndOfJobTimeInformation + 1; | |
JobObjectBasicAndIoAccountingInformation :: JobObjectAssociateCompletionPortInformation + 1; | |
JobObjectExtendedLimitInformation :: JobObjectBasicAndIoAccountingInformation + 1; | |
JobObjectJobSetInformation :: JobObjectExtendedLimitInformation + 1; | |
JobObjectGroupInformation :: JobObjectJobSetInformation + 1; | |
JobObjectNotificationLimitInformation :: JobObjectGroupInformation + 1; | |
JobObjectLimitViolationInformation :: JobObjectNotificationLimitInformation + 1; | |
JobObjectGroupInformationEx :: JobObjectLimitViolationInformation + 1; | |
JobObjectCpuRateControlInformation :: JobObjectGroupInformationEx + 1; | |
JobObjectCompletionFilter :: JobObjectCpuRateControlInformation + 1; | |
JobObjectCompletionCounter :: JobObjectCompletionFilter + 1; | |
JobObjectReserved1Information :: 18; | |
JobObjectReserved2Information :: JobObjectReserved1Information + 1; | |
JobObjectReserved3Information :: JobObjectReserved2Information + 1; | |
JobObjectReserved4Information :: JobObjectReserved3Information + 1; | |
JobObjectReserved5Information :: JobObjectReserved4Information + 1; | |
JobObjectReserved6Information :: JobObjectReserved5Information + 1; | |
JobObjectReserved7Information :: JobObjectReserved6Information + 1; | |
JobObjectReserved8Information :: JobObjectReserved7Information + 1; | |
JobObjectReserved9Information :: JobObjectReserved8Information + 1; | |
JobObjectReserved10Information :: JobObjectReserved9Information + 1; | |
JobObjectReserved11Information :: JobObjectReserved10Information + 1; | |
JobObjectReserved12Information :: JobObjectReserved11Information + 1; | |
JobObjectReserved13Information :: JobObjectReserved12Information + 1; | |
JobObjectReserved14Information :: 31; | |
JobObjectNetRateControlInformation :: JobObjectReserved14Information + 1; | |
JobObjectNotificationLimitInformation2 :: JobObjectNetRateControlInformation + 1; | |
JobObjectLimitViolationInformation2 :: JobObjectNotificationLimitInformation2 + 1; | |
JobObjectCreateSilo :: JobObjectLimitViolationInformation2 + 1; | |
JobObjectSiloBasicInformation :: JobObjectCreateSilo + 1; | |
JobObjectReserved15Information :: 37; | |
JobObjectReserved16Information :: 38; | |
JobObjectReserved17Information :: 39; | |
JobObjectReserved18Information :: 40; | |
JobObjectReserved19Information :: 41; | |
JobObjectReserved20Information :: 42; | |
JobObjectReserved21Information :: 43; | |
JobObjectReserved22Information :: 44; | |
JobObjectReserved23Information :: 45; | |
JobObjectReserved24Information :: 46; | |
JobObjectReserved25Information :: 47; | |
MaxJobObjectInfoClass :: JobObjectReserved25Information + 1; | |
/* } */ | |
; | |
SILOOBJECT_BASIC_INFORMATION :: struct { | |
SiloId : DWORD, | |
SiloParentId : DWORD, | |
NumberOfProcesses : DWORD, | |
IsInServerSilo : BOOLEAN, | |
Reserved : [3]BYTE, | |
}; | |
PSILOOBJECT_BASIC_INFORMATION :: ^SILOOBJECT_BASIC_INFORMATION; | |
/* SERVERSILO_STATE :: enum { */ | |
SERVERSILO_STATE :: _c.int; | |
SERVERSILO_INITING :: 0; | |
SERVERSILO_STARTED :: SERVERSILO_INITING + 1; | |
SERVERSILO_SHUTTING_DOWN :: SERVERSILO_STARTED + 1; | |
SERVERSILO_TERMINATING :: SERVERSILO_SHUTTING_DOWN + 1; | |
SERVERSILO_TERMINATED :: SERVERSILO_TERMINATING + 1; | |
/* } */ | |
PSERVERSILO_STATE :: ^SERVERSILO_STATE; | |
SERVERSILO_BASIC_INFORMATION :: struct { | |
ServiceSessionId : DWORD, | |
State : SERVERSILO_STATE, | |
ExitStatus : DWORD, | |
}; | |
PSERVERSILO_BASIC_INFORMATION :: ^SERVERSILO_BASIC_INFORMATION; | |
/* FIRMWARE_TYPE :: enum { */ | |
FIRMWARE_TYPE :: _c.int; | |
FirmwareTypeUnknown :: 0; | |
FirmwareTypeBios :: FirmwareTypeUnknown + 1; | |
FirmwareTypeUefi :: FirmwareTypeBios + 1; | |
FirmwareTypeMax :: FirmwareTypeUefi + 1; | |
/* } */ | |
PFIRMWARE_TYPE :: ^FIRMWARE_TYPE; | |
/* LOGICAL_PROCESSOR_RELATIONSHIP :: enum { */ | |
LOGICAL_PROCESSOR_RELATIONSHIP :: _c.int; | |
RelationProcessorCore :: 0; | |
RelationNumaNode :: RelationProcessorCore + 1; | |
RelationCache :: RelationNumaNode + 1; | |
RelationProcessorPackage :: RelationCache + 1; | |
RelationGroup :: RelationProcessorPackage + 1; | |
RelationAll :: 0xffff; | |
/* } */ | |
; | |
/* PROCESSOR_CACHE_TYPE :: enum { */ | |
PROCESSOR_CACHE_TYPE :: _c.int; | |
CacheUnified :: 0; | |
CacheInstruction :: CacheUnified + 1; | |
CacheData :: CacheInstruction + 1; | |
CacheTrace :: CacheData + 1; | |
/* } */ | |
; | |
CACHE_DESCRIPTOR :: struct { | |
Level : BYTE, | |
Associativity : BYTE, | |
LineSize : WORD, | |
Size : DWORD, | |
Type : PROCESSOR_CACHE_TYPE, | |
}; | |
PCACHE_DESCRIPTOR :: ^CACHE_DESCRIPTOR; | |
SYSTEM_LOGICAL_PROCESSOR_INFORMATION :: struct { | |
ProcessorMask : ULONG_PTR, | |
Relationship : LOGICAL_PROCESSOR_RELATIONSHIP, | |
u : struct #raw_union { | |
ProcessorCore : struct { | |
Flags : BYTE, | |
}, | |
NumaNode : struct { | |
NodeNumber : DWORD, | |
}, | |
Cache : CACHE_DESCRIPTOR, | |
Reserved : [2]ULONGLONG, | |
}, | |
}; | |
PSYSTEM_LOGICAL_PROCESSOR_INFORMATION :: ^SYSTEM_LOGICAL_PROCESSOR_INFORMATION; | |
PROCESSOR_RELATIONSHIP :: struct { | |
Flags : BYTE, | |
EfficiencyClass : BYTE, | |
Reserved : [20]BYTE, | |
GroupCount : WORD, | |
GroupMask : [1]GROUP_AFFINITY, | |
}; | |
PPROCESSOR_RELATIONSHIP :: ^PROCESSOR_RELATIONSHIP; | |
NUMA_NODE_RELATIONSHIP :: struct { | |
NodeNumber : DWORD, | |
Reserved : [20]BYTE, | |
GroupMask : GROUP_AFFINITY, | |
}; | |
PNUMA_NODE_RELATIONSHIP :: ^NUMA_NODE_RELATIONSHIP; | |
CACHE_RELATIONSHIP :: struct { | |
Level : BYTE, | |
Associativity : BYTE, | |
LineSize : WORD, | |
CacheSize : DWORD, | |
Type : PROCESSOR_CACHE_TYPE, | |
Reserved : [20]BYTE, | |
GroupMask : GROUP_AFFINITY, | |
}; | |
PCACHE_RELATIONSHIP :: ^CACHE_RELATIONSHIP; | |
PROCESSOR_GROUP_INFO :: struct { | |
MaximumProcessorCount : BYTE, | |
ActiveProcessorCount : BYTE, | |
Reserved : [38]BYTE, | |
ActiveProcessorMask : KAFFINITY, | |
}; | |
PPROCESSOR_GROUP_INFO :: ^PROCESSOR_GROUP_INFO; | |
GROUP_RELATIONSHIP :: struct { | |
MaximumGroupCount : WORD, | |
ActiveGroupCount : WORD, | |
Reserved : [20]BYTE, | |
GroupInfo : [1]PROCESSOR_GROUP_INFO, | |
}; | |
PGROUP_RELATIONSHIP :: ^GROUP_RELATIONSHIP; | |
SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX :: struct { | |
Relationship : LOGICAL_PROCESSOR_RELATIONSHIP, | |
Size : DWORD, | |
u : struct #raw_union { | |
Processor : PROCESSOR_RELATIONSHIP, | |
NumaNode : NUMA_NODE_RELATIONSHIP, | |
Cache : CACHE_RELATIONSHIP, | |
Group : GROUP_RELATIONSHIP, | |
}, | |
}; | |
PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX :: ^SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX; | |
/* CPU_SET_INFORMATION_TYPE :: enum { */ | |
CPU_SET_INFORMATION_TYPE :: _c.int; | |
CpuSetInformation :: 0; | |
/* } */ | |
PCPU_SET_INFORMATION_TYPE :: ^CPU_SET_INFORMATION_TYPE; | |
SYSTEM_CPU_SET_INFORMATION :: struct { | |
Size : DWORD, | |
Type : CPU_SET_INFORMATION_TYPE, | |
u : struct #raw_union { | |
CpuSet : struct { | |
Id : DWORD, | |
Group : WORD, | |
LogicalProcessorIndex : BYTE, | |
CoreIndex : BYTE, | |
LastLevelCacheIndex : BYTE, | |
NumaNodeIndex : BYTE, | |
EfficiencyClass : BYTE, | |
u2 : struct #raw_union { | |
AllFlags : BYTE, | |
s : bit_field { | |
Parked : 1, | |
Allocated : 1, | |
AllocatedToTargetProcess : 1, | |
RealTime : 1, | |
ReservedFlags : 4, | |
}, | |
}, | |
using _ : struct #raw_union { | |
Reserved : DWORD, | |
SchedulingClass : BYTE, | |
}, | |
AllocationTag : DWORD64, | |
}, | |
}, | |
}; | |
PSYSTEM_CPU_SET_INFORMATION :: ^SYSTEM_CPU_SET_INFORMATION; | |
SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION :: struct { | |
CycleTime : DWORD64, | |
}; | |
PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION :: ^SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION; | |
XSTATE_FEATURE :: struct { | |
Offset : DWORD, | |
Size : DWORD, | |
}; | |
PXSTATE_FEATURE :: ^XSTATE_FEATURE; | |
XSTATE_CONFIGURATION :: struct { | |
EnabledFeatures : DWORD64, | |
EnabledVolatileFeatures : DWORD64, | |
Size : DWORD, | |
using _ : struct #raw_union { | |
ControlFlags : DWORD, | |
using _ : bit_field { | |
OptimizedSave : 1, | |
CompactionEnabled : 1, | |
}, | |
}, | |
Features : [(64)]XSTATE_FEATURE, | |
EnabledSupervisorFeatures : DWORD64, | |
AlignedFeatures : DWORD64, | |
AllFeatureSize : DWORD, | |
AllFeatures : [(64)]DWORD, | |
EnabledUserVisibleSupervisorFeatures : DWORD64, | |
}; | |
PXSTATE_CONFIGURATION :: ^XSTATE_CONFIGURATION; | |
MEMORY_BASIC_INFORMATION :: struct { | |
BaseAddress : PVOID, | |
AllocationBase : PVOID, | |
AllocationProtect : DWORD, | |
RegionSize : SIZE_T, | |
State : DWORD, | |
Protect : DWORD, | |
Type : DWORD, | |
}; | |
PMEMORY_BASIC_INFORMATION :: ^MEMORY_BASIC_INFORMATION; | |
MEMORY_BASIC_INFORMATION32 :: struct { | |
BaseAddress : DWORD, | |
AllocationBase : DWORD, | |
AllocationProtect : DWORD, | |
RegionSize : DWORD, | |
State : DWORD, | |
Protect : DWORD, | |
Type : DWORD, | |
}; | |
PMEMORY_BASIC_INFORMATION32 :: ^MEMORY_BASIC_INFORMATION32; | |
MEMORY_BASIC_INFORMATION64 :: struct { | |
BaseAddress : ULONGLONG, | |
AllocationBase : ULONGLONG, | |
AllocationProtect : DWORD, | |
__alignment1 : DWORD, | |
RegionSize : ULONGLONG, | |
State : DWORD, | |
Protect : DWORD, | |
Type : DWORD, | |
__alignment2 : DWORD, | |
}; | |
PMEMORY_BASIC_INFORMATION64 :: ^MEMORY_BASIC_INFORMATION64; | |
CFG_CALL_TARGET_INFO :: struct { | |
Offset : ULONG_PTR, | |
Flags : ULONG_PTR, | |
}; | |
PCFG_CALL_TARGET_INFO :: ^CFG_CALL_TARGET_INFO; | |
MEM_ADDRESS_REQUIREMENTS :: struct { | |
LowestStartingAddress : PVOID, | |
HighestEndingAddress : PVOID, | |
Alignment : SIZE_T, | |
}; | |
PMEM_ADDRESS_REQUIREMENTS :: ^MEM_ADDRESS_REQUIREMENTS; | |
/* MEM_EXTENDED_PARAMETER_TYPE :: enum { */ | |
MEM_EXTENDED_PARAMETER_TYPE :: _c.int; | |
MemExtendedParameterInvalidType :: 0; | |
MemExtendedParameterAddressRequirements :: MemExtendedParameterInvalidType + 1; | |
MemExtendedParameterNumaNode :: MemExtendedParameterAddressRequirements + 1; | |
MemExtendedParameterPartitionHandle :: MemExtendedParameterNumaNode + 1; | |
MemExtendedParameterUserPhysicalHandle :: MemExtendedParameterPartitionHandle + 1; | |
MemExtendedParameterAttributeFlags :: MemExtendedParameterUserPhysicalHandle + 1; | |
MemExtendedParameterMax :: MemExtendedParameterAttributeFlags + 1; | |
/* } */ | |
PMEM_EXTENDED_PARAMETER_TYPE :: ^MEM_EXTENDED_PARAMETER_TYPE; | |
MEM_EXTENDED_PARAMETER :: struct { | |
s : bit_field { | |
Type : 8, | |
Reserved : 64 - 8, | |
}, | |
u : struct #raw_union { | |
ULong64 : DWORD64, | |
Pointer : PVOID, | |
Size : SIZE_T, | |
Handle : HANDLE, | |
ULong : DWORD, | |
}, | |
}; | |
PMEM_EXTENDED_PARAMETER :: ^MEM_EXTENDED_PARAMETER; | |
/* MEM_SECTION_EXTENDED_PARAMETER_TYPE :: enum { */ | |
MEM_SECTION_EXTENDED_PARAMETER_TYPE :: _c.int; | |
MemSectionExtendedParameterInvalidType :: 0; | |
MemSectionExtendedParameterUserPhysicalFlags :: MemSectionExtendedParameterInvalidType + 1; | |
MemSectionExtendedParameterNumaNode :: MemSectionExtendedParameterUserPhysicalFlags + 1; | |
MemSectionExtendedParameterMax :: MemSectionExtendedParameterNumaNode + 1; | |
/* } */ | |
PMEM_SECTION_EXTENDED_PARAMETER_TYPE :: ^MEM_SECTION_EXTENDED_PARAMETER_TYPE; | |
ENCLAVE_CREATE_INFO_SGX :: struct { | |
Secs : [4096]BYTE, | |
}; | |
PENCLAVE_CREATE_INFO_SGX :: ^ENCLAVE_CREATE_INFO_SGX; | |
ENCLAVE_INIT_INFO_SGX :: struct { | |
SigStruct : [1808]BYTE, | |
Reserved1 : [240]BYTE, | |
EInitToken : [304]BYTE, | |
Reserved2 : [1744]BYTE, | |
}; | |
PENCLAVE_INIT_INFO_SGX :: ^ENCLAVE_INIT_INFO_SGX; | |
ENCLAVE_CREATE_INFO_VBS :: struct { | |
Flags : DWORD, | |
OwnerID : [32]BYTE, | |
}; | |
PENCLAVE_CREATE_INFO_VBS :: ^ENCLAVE_CREATE_INFO_VBS; | |
ENCLAVE_CREATE_INFO_VBS_BASIC :: struct { | |
Flags : DWORD, | |
OwnerID : [32]BYTE, | |
}; | |
PENCLAVE_CREATE_INFO_VBS_BASIC :: ^ENCLAVE_CREATE_INFO_VBS_BASIC; | |
ENCLAVE_LOAD_DATA_VBS_BASIC :: struct { | |
PageType : DWORD, | |
}; | |
PENCLAVE_LOAD_DATA_VBS_BASIC :: ^ENCLAVE_LOAD_DATA_VBS_BASIC; | |
ENCLAVE_INIT_INFO_VBS_BASIC :: struct { | |
FamilyId : [16]BYTE, | |
ImageId : [16]BYTE, | |
EnclaveSize : ULONGLONG, | |
EnclaveSvn : DWORD, | |
Reserved : DWORD, | |
u : struct #raw_union { | |
SignatureInfoHandle : HANDLE, | |
Unused : ULONGLONG, | |
}, | |
}; | |
PENCLAVE_INIT_INFO_VBS_BASIC :: ^ENCLAVE_INIT_INFO_VBS_BASIC; | |
ENCLAVE_INIT_INFO_VBS :: struct { | |
Length : DWORD, | |
ThreadCount : DWORD, | |
}; | |
PENCLAVE_INIT_INFO_VBS :: ^ENCLAVE_INIT_INFO_VBS; | |
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 :: ^FILE_ID_128; | |
FILE_NOTIFY_INFORMATION :: struct { | |
NextEntryOffset : DWORD, | |
Action : DWORD, | |
FileNameLength : DWORD, | |
FileName : [1]WCHAR, | |
}; | |
PFILE_NOTIFY_INFORMATION :: ^FILE_NOTIFY_INFORMATION; | |
FILE_NOTIFY_EXTENDED_INFORMATION :: struct { | |
NextEntryOffset : DWORD, | |
Action : DWORD, | |
CreationTime : LARGE_INTEGER, | |
LastModificationTime : LARGE_INTEGER, | |
LastChangeTime : LARGE_INTEGER, | |
LastAccessTime : LARGE_INTEGER, | |
AllocatedLength : LARGE_INTEGER, | |
FileSize : LARGE_INTEGER, | |
FileAttributes : DWORD, | |
ReparsePointTag : DWORD, | |
FileId : LARGE_INTEGER, | |
ParentFileId : LARGE_INTEGER, | |
FileNameLength : DWORD, | |
FileName : [1]WCHAR, | |
}; | |
PFILE_NOTIFY_EXTENDED_INFORMATION :: ^FILE_NOTIFY_EXTENDED_INFORMATION; | |
FILE_SEGMENT_ELEMENT :: struct #raw_union { | |
Buffer : PVOID64, | |
Alignment : ULONGLONG, | |
}; | |
PFILE_SEGMENT_ELEMENT :: ^FILE_SEGMENT_ELEMENT; | |
REPARSE_GUID_DATA_BUFFER :: struct { | |
ReparseTag : DWORD, | |
ReparseDataLength : WORD, | |
Reserved : WORD, | |
ReparseGuid : GUID, | |
GenericReparseBuffer : struct { | |
DataBuffer : [1]BYTE, | |
}, | |
}; | |
PREPARSE_GUID_DATA_BUFFER :: ^REPARSE_GUID_DATA_BUFFER; | |
SCRUB_DATA_INPUT :: struct { | |
Size : DWORD, | |
Flags : DWORD, | |
MaximumIos : DWORD, | |
ObjectId : [4]DWORD, | |
Reserved : [25]DWORD, | |
ResumeContext : [816]BYTE, | |
}; | |
PSCRUB_DATA_INPUT :: ^SCRUB_DATA_INPUT; | |
SCRUB_PARITY_EXTENT :: struct { | |
Offset : LONGLONG, | |
Length : ULONGLONG, | |
}; | |
PSCRUB_PARITY_EXTENT :: ^SCRUB_PARITY_EXTENT; | |
SCRUB_PARITY_EXTENT_DATA :: struct { | |
Size : WORD, | |
Flags : WORD, | |
NumberOfParityExtents : WORD, | |
MaximumNumberOfParityExtents : WORD, | |
ParityExtents : [1]SCRUB_PARITY_EXTENT, | |
}; | |
PSCRUB_PARITY_EXTENT_DATA :: ^SCRUB_PARITY_EXTENT_DATA; | |
SCRUB_DATA_OUTPUT :: struct { | |
Size : DWORD, | |
Flags : DWORD, | |
Status : DWORD, | |
ErrorFileOffset : ULONGLONG, | |
ErrorLength : ULONGLONG, | |
NumberOfBytesRepaired : ULONGLONG, | |
NumberOfBytesFailed : ULONGLONG, | |
InternalFileReference : ULONGLONG, | |
ResumeContextLength : WORD, | |
ParityExtentDataOffset : WORD, | |
Reserved : [9]DWORD, | |
NumberOfMetadataBytesProcessed : ULONGLONG, | |
NumberOfDataBytesProcessed : ULONGLONG, | |
TotalNumberOfMetadataBytesInUse : ULONGLONG, | |
TotalNumberOfDataBytesInUse : ULONGLONG, | |
ResumeContext : [816]BYTE, | |
}; | |
PSCRUB_DATA_OUTPUT :: ^SCRUB_DATA_OUTPUT; | |
/* SharedVirtualDiskSupportType :: enum { */ | |
SharedVirtualDiskSupportType :: _c.int; | |
SharedVirtualDisksUnsupported :: 0; | |
SharedVirtualDisksSupported :: 1; | |
SharedVirtualDiskSnapshotsSupported :: 3; | |
SharedVirtualDiskCDPSnapshotsSupported :: 7; | |
/* } */ | |
; | |
/* SharedVirtualDiskHandleState :: enum { */ | |
SharedVirtualDiskHandleState :: _c.int; | |
SharedVirtualDiskHandleStateNone :: 0; | |
SharedVirtualDiskHandleStateFileShared :: 1; | |
SharedVirtualDiskHandleStateHandleShared :: 3; | |
/* } */ | |
; | |
SHARED_VIRTUAL_DISK_SUPPORT :: struct { | |
SharedVirtualDiskSupport : SharedVirtualDiskSupportType, | |
HandleState : SharedVirtualDiskHandleState, | |
}; | |
PSHARED_VIRTUAL_DISK_SUPPORT :: ^SHARED_VIRTUAL_DISK_SUPPORT; | |
REARRANGE_FILE_DATA :: struct { | |
SourceStartingOffset : ULONGLONG, | |
TargetOffset : ULONGLONG, | |
SourceFileHandle : HANDLE, | |
Length : DWORD, | |
Flags : DWORD, | |
}; | |
PREARRANGE_FILE_DATA :: ^REARRANGE_FILE_DATA; | |
REARRANGE_FILE_DATA32 :: struct { | |
SourceStartingOffset : ULONGLONG, | |
TargetOffset : ULONGLONG, | |
SourceFileHandle : UINT32, | |
Length : DWORD, | |
Flags : DWORD, | |
}; | |
PREARRANGE_FILE_DATA32 :: ^REARRANGE_FILE_DATA32; | |
SHUFFLE_FILE_DATA :: struct { | |
StartingOffset : LONGLONG, | |
Length : LONGLONG, | |
Flags : DWORD, | |
}; | |
PSHUFFLE_FILE_DATA :: ^SHUFFLE_FILE_DATA; | |
NETWORK_APP_INSTANCE_EA :: struct { | |
AppInstanceID : GUID, | |
CsvFlags : DWORD, | |
}; | |
PNETWORK_APP_INSTANCE_EA :: ^NETWORK_APP_INSTANCE_EA; | |
/* SYSTEM_POWER_STATE :: enum { */ | |
SYSTEM_POWER_STATE :: _c.int; | |
PowerSystemUnspecified :: 0; | |
PowerSystemWorking :: 1; | |
PowerSystemSleeping1 :: 2; | |
PowerSystemSleeping2 :: 3; | |
PowerSystemSleeping3 :: 4; | |
PowerSystemHibernate :: 5; | |
PowerSystemShutdown :: 6; | |
PowerSystemMaximum :: 7; | |
/* } */ | |
PSYSTEM_POWER_STATE :: ^SYSTEM_POWER_STATE; | |
/* POWER_ACTION :: enum { */ | |
POWER_ACTION :: _c.int; | |
PowerActionNone :: 0; | |
PowerActionReserved :: PowerActionNone + 1; | |
PowerActionSleep :: PowerActionReserved + 1; | |
PowerActionHibernate :: PowerActionSleep + 1; | |
PowerActionShutdown :: PowerActionHibernate + 1; | |
PowerActionShutdownReset :: PowerActionShutdown + 1; | |
PowerActionShutdownOff :: PowerActionShutdownReset + 1; | |
PowerActionWarmEject :: PowerActionShutdownOff + 1; | |
PowerActionDisplayOff :: PowerActionWarmEject + 1; | |
/* } */ | |
PPOWER_ACTION :: ^POWER_ACTION; | |
/* DEVICE_POWER_STATE :: enum { */ | |
DEVICE_POWER_STATE :: _c.int; | |
PowerDeviceUnspecified :: 0; | |
PowerDeviceD0 :: PowerDeviceUnspecified + 1; | |
PowerDeviceD1 :: PowerDeviceD0 + 1; | |
PowerDeviceD2 :: PowerDeviceD1 + 1; | |
PowerDeviceD3 :: PowerDeviceD2 + 1; | |
PowerDeviceMaximum :: PowerDeviceD3 + 1; | |
/* } */ | |
PDEVICE_POWER_STATE :: ^DEVICE_POWER_STATE; | |
/* MONITOR_DISPLAY_STATE :: enum { */ | |
MONITOR_DISPLAY_STATE :: _c.int; | |
PowerMonitorOff :: 0; | |
PowerMonitorOn :: PowerMonitorOff + 1; | |
PowerMonitorDim :: PowerMonitorOn + 1; | |
/* } */ | |
PMONITOR_DISPLAY_STATE :: ^MONITOR_DISPLAY_STATE; | |
/* USER_ACTIVITY_PRESENCE :: enum { */ | |
USER_ACTIVITY_PRESENCE :: _c.int; | |
PowerUserPresent :: 0; | |
PowerUserNotPresent :: PowerUserPresent + 1; | |
PowerUserInactive :: PowerUserNotPresent + 1; | |
PowerUserMaximum :: PowerUserInactive + 1; | |
PowerUserInvalid :: PowerUserMaximum; | |
/* } */ | |
PUSER_ACTIVITY_PRESENCE :: ^USER_ACTIVITY_PRESENCE; | |
EXECUTION_STATE :: DWORD; | |
PEXECUTION_STATE :: ^DWORD; | |
/* LATENCY_TIME :: enum { */ | |
LATENCY_TIME :: _c.int; | |
LT_DONT_CARE :: 0; | |
LT_LOWEST_LATENCY :: LT_DONT_CARE + 1; | |
/* } */ | |
; | |
/* POWER_REQUEST_TYPE :: enum { */ | |
POWER_REQUEST_TYPE :: _c.int; | |
PowerRequestDisplayRequired :: 0; | |
PowerRequestSystemRequired :: PowerRequestDisplayRequired + 1; | |
PowerRequestAwayModeRequired :: PowerRequestSystemRequired + 1; | |
PowerRequestExecutionRequired :: PowerRequestAwayModeRequired + 1; | |
/* } */ | |
PPOWER_REQUEST_TYPE :: ^POWER_REQUEST_TYPE; | |
CM_POWER_DATA :: struct { | |
PD_Size : DWORD, | |
PD_MostRecentPowerState : DEVICE_POWER_STATE, | |
PD_Capabilities : DWORD, | |
PD_D1Latency : DWORD, | |
PD_D2Latency : DWORD, | |
PD_D3Latency : DWORD, | |
PD_PowerStateMapping : [7]DEVICE_POWER_STATE, | |
PD_DeepestSystemWake : SYSTEM_POWER_STATE, | |
}; | |
PCM_POWER_DATA :: ^CM_POWER_DATA; | |
/* POWER_INFORMATION_LEVEL :: enum { */ | |
POWER_INFORMATION_LEVEL :: _c.int; | |
SystemPowerPolicyAc :: 0; | |
SystemPowerPolicyDc :: SystemPowerPolicyAc + 1; | |
VerifySystemPolicyAc :: SystemPowerPolicyDc + 1; | |
VerifySystemPolicyDc :: VerifySystemPolicyAc + 1; | |
SystemPowerCapabilities :: VerifySystemPolicyDc + 1; | |
SystemBatteryState :: SystemPowerCapabilities + 1; | |
SystemPowerStateHandler :: SystemBatteryState + 1; | |
ProcessorStateHandler :: SystemPowerStateHandler + 1; | |
SystemPowerPolicyCurrent :: ProcessorStateHandler + 1; | |
AdministratorPowerPolicy :: SystemPowerPolicyCurrent + 1; | |
SystemReserveHiberFile :: AdministratorPowerPolicy + 1; | |
ProcessorInformation :: SystemReserveHiberFile + 1; | |
SystemPowerInformation :: ProcessorInformation + 1; | |
ProcessorStateHandler2 :: SystemPowerInformation + 1; | |
LastWakeTime :: ProcessorStateHandler2 + 1; | |
LastSleepTime :: LastWakeTime + 1; | |
SystemExecutionState :: LastSleepTime + 1; | |
SystemPowerStateNotifyHandler :: SystemExecutionState + 1; | |
ProcessorPowerPolicyAc :: SystemPowerStateNotifyHandler + 1; | |
ProcessorPowerPolicyDc :: ProcessorPowerPolicyAc + 1; | |
VerifyProcessorPowerPolicyAc :: ProcessorPowerPolicyDc + 1; | |
VerifyProcessorPowerPolicyDc :: VerifyProcessorPowerPolicyAc + 1; | |
ProcessorPowerPolicyCurrent :: VerifyProcessorPowerPolicyDc + 1; | |
SystemPowerStateLogging :: ProcessorPowerPolicyCurrent + 1; | |
SystemPowerLoggingEntry :: SystemPowerStateLogging + 1; | |
SetPowerSettingValue :: SystemPowerLoggingEntry + 1; | |
NotifyUserPowerSetting :: SetPowerSettingValue + 1; | |
PowerInformationLevelUnused0 :: NotifyUserPowerSetting + 1; | |
SystemMonitorHiberBootPowerOff :: PowerInformationLevelUnused0 + 1; | |
SystemVideoState :: SystemMonitorHiberBootPowerOff + 1; | |
TraceApplicationPowerMessage :: SystemVideoState + 1; | |
TraceApplicationPowerMessageEnd :: TraceApplicationPowerMessage + 1; | |
ProcessorPerfStates :: TraceApplicationPowerMessageEnd + 1; | |
ProcessorIdleStates :: ProcessorPerfStates + 1; | |
ProcessorCap :: ProcessorIdleStates + 1; | |
SystemWakeSource :: ProcessorCap + 1; | |
SystemHiberFileInformation :: SystemWakeSource + 1; | |
TraceServicePowerMessage :: SystemHiberFileInformation + 1; | |
ProcessorLoad :: TraceServicePowerMessage + 1; | |
PowerShutdownNotification :: ProcessorLoad + 1; | |
MonitorCapabilities :: PowerShutdownNotification + 1; | |
SessionPowerInit :: MonitorCapabilities + 1; | |
SessionDisplayState :: SessionPowerInit + 1; | |
PowerRequestCreate :: SessionDisplayState + 1; | |
PowerRequestAction :: PowerRequestCreate + 1; | |
GetPowerRequestList :: PowerRequestAction + 1; | |
ProcessorInformationEx :: GetPowerRequestList + 1; | |
NotifyUserModeLegacyPowerEvent :: ProcessorInformationEx + 1; | |
GroupPark :: NotifyUserModeLegacyPowerEvent + 1; | |
ProcessorIdleDomains :: GroupPark + 1; | |
WakeTimerList :: ProcessorIdleDomains + 1; | |
SystemHiberFileSize :: WakeTimerList + 1; | |
ProcessorIdleStatesHv :: SystemHiberFileSize + 1; | |
ProcessorPerfStatesHv :: ProcessorIdleStatesHv + 1; | |
ProcessorPerfCapHv :: ProcessorPerfStatesHv + 1; | |
ProcessorSetIdle :: ProcessorPerfCapHv + 1; | |
LogicalProcessorIdling :: ProcessorSetIdle + 1; | |
UserPresence :: LogicalProcessorIdling + 1; | |
PowerSettingNotificationName :: UserPresence + 1; | |
GetPowerSettingValue :: PowerSettingNotificationName + 1; | |
IdleResiliency :: GetPowerSettingValue + 1; | |
SessionRITState :: IdleResiliency + 1; | |
SessionConnectNotification :: SessionRITState + 1; | |
SessionPowerCleanup :: SessionConnectNotification + 1; | |
SessionLockState :: SessionPowerCleanup + 1; | |
SystemHiberbootState :: SessionLockState + 1; | |
PlatformInformation :: SystemHiberbootState + 1; | |
PdcInvocation :: PlatformInformation + 1; | |
MonitorInvocation :: PdcInvocation + 1; | |
FirmwareTableInformationRegistered :: MonitorInvocation + 1; | |
SetShutdownSelectedTime :: FirmwareTableInformationRegistered + 1; | |
SuspendResumeInvocation :: SetShutdownSelectedTime + 1; | |
PlmPowerRequestCreate :: SuspendResumeInvocation + 1; | |
ScreenOff :: PlmPowerRequestCreate + 1; | |
CsDeviceNotification :: ScreenOff + 1; | |
PlatformRole :: CsDeviceNotification + 1; | |
LastResumePerformance :: PlatformRole + 1; | |
DisplayBurst :: LastResumePerformance + 1; | |
ExitLatencySamplingPercentage :: DisplayBurst + 1; | |
RegisterSpmPowerSettings :: ExitLatencySamplingPercentage + 1; | |
PlatformIdleStates :: RegisterSpmPowerSettings + 1; | |
ProcessorIdleVeto :: PlatformIdleStates + 1; | |
PlatformIdleVeto :: ProcessorIdleVeto + 1; | |
SystemBatteryStatePrecise :: PlatformIdleVeto + 1; | |
ThermalEvent :: SystemBatteryStatePrecise + 1; | |
PowerRequestActionInternal :: ThermalEvent + 1; | |
BatteryDeviceState :: PowerRequestActionInternal + 1; | |
PowerInformationInternal :: BatteryDeviceState + 1; | |
ThermalStandby :: PowerInformationInternal + 1; | |
SystemHiberFileType :: ThermalStandby + 1; | |
PhysicalPowerButtonPress :: SystemHiberFileType + 1; | |
QueryPotentialDripsConstraint :: PhysicalPowerButtonPress + 1; | |
EnergyTrackerCreate :: QueryPotentialDripsConstraint + 1; | |
EnergyTrackerQuery :: EnergyTrackerCreate + 1; | |
UpdateBlackBoxRecorder :: EnergyTrackerQuery + 1; | |
PowerInformationLevelMaximum :: UpdateBlackBoxRecorder + 1; | |
/* } */ | |
; | |
/* POWER_USER_PRESENCE_TYPE :: enum { */ | |
POWER_USER_PRESENCE_TYPE :: _c.int; | |
UserNotPresent :: 0; | |
UserPresent :: 1; | |
UserUnknown :: 0xff; | |
/* } */ | |
PPOWER_USER_PRESENCE_TYPE :: ^POWER_USER_PRESENCE_TYPE; | |
POWER_USER_PRESENCE :: struct { | |
UserPresence : POWER_USER_PRESENCE_TYPE, | |
}; | |
PPOWER_USER_PRESENCE :: ^POWER_USER_PRESENCE; | |
POWER_SESSION_CONNECT :: struct { | |
Connected : BOOLEAN, | |
Console : BOOLEAN, | |
}; | |
PPOWER_SESSION_CONNECT :: ^POWER_SESSION_CONNECT; | |
POWER_SESSION_TIMEOUTS :: struct { | |
InputTimeout : DWORD, | |
DisplayTimeout : DWORD, | |
}; | |
PPOWER_SESSION_TIMEOUTS :: ^POWER_SESSION_TIMEOUTS; | |
POWER_SESSION_RIT_STATE :: struct { | |
Active : BOOLEAN, | |
LastInputTime : DWORD, | |
}; | |
PPOWER_SESSION_RIT_STATE :: ^POWER_SESSION_RIT_STATE; | |
POWER_SESSION_WINLOGON :: struct { | |
SessionId : DWORD, | |
Console : BOOLEAN, | |
Locked : BOOLEAN, | |
}; | |
PPOWER_SESSION_WINLOGON :: ^POWER_SESSION_WINLOGON; | |
POWER_IDLE_RESILIENCY :: struct { | |
CoalescingTimeout : DWORD, | |
IdleResiliencyPeriod : DWORD, | |
}; | |
PPOWER_IDLE_RESILIENCY :: ^POWER_IDLE_RESILIENCY; | |
/* POWER_MONITOR_REQUEST_REASON :: enum { */ | |
POWER_MONITOR_REQUEST_REASON :: _c.int; | |
MonitorRequestReasonUnknown :: 0; | |
MonitorRequestReasonPowerButton :: MonitorRequestReasonUnknown + 1; | |
MonitorRequestReasonRemoteConnection :: MonitorRequestReasonPowerButton + 1; | |
MonitorRequestReasonScMonitorpower :: MonitorRequestReasonRemoteConnection + 1; | |
MonitorRequestReasonUserInput :: MonitorRequestReasonScMonitorpower + 1; | |
MonitorRequestReasonAcDcDisplayBurst :: MonitorRequestReasonUserInput + 1; | |
MonitorRequestReasonUserDisplayBurst :: MonitorRequestReasonAcDcDisplayBurst + 1; | |
MonitorRequestReasonPoSetSystemState :: MonitorRequestReasonUserDisplayBurst + 1; | |
MonitorRequestReasonSetThreadExecutionState :: MonitorRequestReasonPoSetSystemState + 1; | |
MonitorRequestReasonFullWake :: MonitorRequestReasonSetThreadExecutionState + 1; | |
MonitorRequestReasonSessionUnlock :: MonitorRequestReasonFullWake + 1; | |
MonitorRequestReasonScreenOffRequest :: MonitorRequestReasonSessionUnlock + 1; | |
MonitorRequestReasonIdleTimeout :: MonitorRequestReasonScreenOffRequest + 1; | |
MonitorRequestReasonPolicyChange :: MonitorRequestReasonIdleTimeout + 1; | |
MonitorRequestReasonSleepButton :: MonitorRequestReasonPolicyChange + 1; | |
MonitorRequestReasonLid :: MonitorRequestReasonSleepButton + 1; | |
MonitorRequestReasonBatteryCountChange :: MonitorRequestReasonLid + 1; | |
MonitorRequestReasonGracePeriod :: MonitorRequestReasonBatteryCountChange + 1; | |
MonitorRequestReasonPnP :: MonitorRequestReasonGracePeriod + 1; | |
MonitorRequestReasonDP :: MonitorRequestReasonPnP + 1; | |
MonitorRequestReasonSxTransition :: MonitorRequestReasonDP + 1; | |
MonitorRequestReasonSystemIdle :: MonitorRequestReasonSxTransition + 1; | |
MonitorRequestReasonNearProximity :: MonitorRequestReasonSystemIdle + 1; | |
MonitorRequestReasonThermalStandby :: MonitorRequestReasonNearProximity + 1; | |
MonitorRequestReasonResumePdc :: MonitorRequestReasonThermalStandby + 1; | |
MonitorRequestReasonResumeS4 :: MonitorRequestReasonResumePdc + 1; | |
MonitorRequestReasonTerminal :: MonitorRequestReasonResumeS4 + 1; | |
MonitorRequestReasonPdcSignal :: MonitorRequestReasonTerminal + 1; | |
MonitorRequestReasonAcDcDisplayBurstSuppressed :: MonitorRequestReasonPdcSignal + 1; | |
MonitorRequestReasonSystemStateEntered :: MonitorRequestReasonAcDcDisplayBurstSuppressed + 1; | |
MonitorRequestReasonWinrt :: MonitorRequestReasonSystemStateEntered + 1; | |
MonitorRequestReasonUserInputKeyboard :: MonitorRequestReasonWinrt + 1; | |
MonitorRequestReasonUserInputMouse :: MonitorRequestReasonUserInputKeyboard + 1; | |
MonitorRequestReasonUserInputTouch :: MonitorRequestReasonUserInputMouse + 1; | |
MonitorRequestReasonUserInputPen :: MonitorRequestReasonUserInputTouch + 1; | |
MonitorRequestReasonUserInputAccelerometer :: MonitorRequestReasonUserInputPen + 1; | |
MonitorRequestReasonUserInputHid :: MonitorRequestReasonUserInputAccelerometer + 1; | |
MonitorRequestReasonUserInputPoUserPresent :: MonitorRequestReasonUserInputHid + 1; | |
MonitorRequestReasonUserInputSessionSwitch :: MonitorRequestReasonUserInputPoUserPresent + 1; | |
MonitorRequestReasonUserInputInitialization :: MonitorRequestReasonUserInputSessionSwitch + 1; | |
MonitorRequestReasonPdcSignalWindowsMobilePwrNotif :: MonitorRequestReasonUserInputInitialization + 1; | |
MonitorRequestReasonPdcSignalWindowsMobileShell :: MonitorRequestReasonPdcSignalWindowsMobilePwrNotif + 1; | |
MonitorRequestReasonPdcSignalHeyCortana :: MonitorRequestReasonPdcSignalWindowsMobileShell + 1; | |
MonitorRequestReasonPdcSignalHolographicShell :: MonitorRequestReasonPdcSignalHeyCortana + 1; | |
MonitorRequestReasonPdcSignalFingerprint :: MonitorRequestReasonPdcSignalHolographicShell + 1; | |
MonitorRequestReasonDirectedDrips :: MonitorRequestReasonPdcSignalFingerprint + 1; | |
MonitorRequestReasonMax :: MonitorRequestReasonDirectedDrips + 1; | |
/* } */ | |
; | |
/* POWER_MONITOR_REQUEST_TYPE :: enum { */ | |
POWER_MONITOR_REQUEST_TYPE :: _c.int; | |
MonitorRequestTypeOff :: 0; | |
MonitorRequestTypeOnAndPresent :: MonitorRequestTypeOff + 1; | |
MonitorRequestTypeToggleOn :: MonitorRequestTypeOnAndPresent + 1; | |
/* } */ | |
; | |
POWER_MONITOR_INVOCATION :: struct { | |
Console : BOOLEAN, | |
RequestReason : POWER_MONITOR_REQUEST_REASON, | |
}; | |
PPOWER_MONITOR_INVOCATION :: ^POWER_MONITOR_INVOCATION; | |
RESUME_PERFORMANCE :: struct { | |
PostTimeMs : DWORD, | |
TotalResumeTimeMs : ULONGLONG, | |
ResumeCompleteTimestamp : ULONGLONG, | |
}; | |
PRESUME_PERFORMANCE :: ^RESUME_PERFORMANCE; | |
/* SYSTEM_POWER_CONDITION :: enum { */ | |
SYSTEM_POWER_CONDITION :: _c.int; | |
PoAc :: 0; | |
PoDc :: PoAc + 1; | |
PoHot :: PoDc + 1; | |
PoConditionMaximum :: PoHot + 1; | |
/* } */ | |
; | |
SET_POWER_SETTING_VALUE :: struct { | |
Version : DWORD, | |
Guid : GUID, | |
PowerCondition : SYSTEM_POWER_CONDITION, | |
DataLength : DWORD, | |
Data : [1]BYTE, | |
}; | |
PSET_POWER_SETTING_VALUE :: ^SET_POWER_SETTING_VALUE; | |
NOTIFY_USER_POWER_SETTING :: struct { | |
Guid : GUID, | |
}; | |
PNOTIFY_USER_POWER_SETTING :: ^NOTIFY_USER_POWER_SETTING; | |
APPLICATIONLAUNCH_SETTING_VALUE :: struct { | |
ActivationTime : LARGE_INTEGER, | |
Flags : DWORD, | |
ButtonInstanceID : DWORD, | |
}; | |
PAPPLICATIONLAUNCH_SETTING_VALUE :: ^APPLICATIONLAUNCH_SETTING_VALUE; | |
/* POWER_PLATFORM_ROLE :: enum { */ | |
POWER_PLATFORM_ROLE :: _c.int; | |
PlatformRoleUnspecified :: 0; | |
PlatformRoleDesktop :: PlatformRoleUnspecified + 1; | |
PlatformRoleMobile :: PlatformRoleDesktop + 1; | |
PlatformRoleWorkstation :: PlatformRoleMobile + 1; | |
PlatformRoleEnterpriseServer :: PlatformRoleWorkstation + 1; | |
PlatformRoleSOHOServer :: PlatformRoleEnterpriseServer + 1; | |
PlatformRoleAppliancePC :: PlatformRoleSOHOServer + 1; | |
PlatformRolePerformanceServer :: PlatformRoleAppliancePC + 1; | |
PlatformRoleSlate :: PlatformRolePerformanceServer + 1; | |
PlatformRoleMaximum :: PlatformRoleSlate + 1; | |
/* } */ | |
PPOWER_PLATFORM_ROLE :: ^POWER_PLATFORM_ROLE; | |
POWER_PLATFORM_INFORMATION :: struct { | |
AoAc : BOOLEAN, | |
}; | |
PPOWER_PLATFORM_INFORMATION :: ^POWER_PLATFORM_INFORMATION; | |
BATTERY_REPORTING_SCALE :: struct { | |
Granularity : DWORD, | |
Capacity : DWORD, | |
}; | |
PBATTERY_REPORTING_SCALE :: ^BATTERY_REPORTING_SCALE; | |
PPM_WMI_LEGACY_PERFSTATE :: struct { | |
Frequency : DWORD, | |
Flags : DWORD, | |
PercentFrequency : DWORD, | |
}; | |
PPPM_WMI_LEGACY_PERFSTATE :: ^PPM_WMI_LEGACY_PERFSTATE; | |
PPM_WMI_IDLE_STATE :: struct { | |
Latency : DWORD, | |
Power : DWORD, | |
TimeCheck : DWORD, | |
PromotePercent : BYTE, | |
DemotePercent : BYTE, | |
StateType : BYTE, | |
Reserved : BYTE, | |
StateFlags : DWORD, | |
Context : DWORD, | |
IdleHandler : DWORD, | |
Reserved1 : DWORD, | |
}; | |
PPPM_WMI_IDLE_STATE :: ^PPM_WMI_IDLE_STATE; | |
PPM_WMI_IDLE_STATES :: struct { | |
Type : DWORD, | |
Count : DWORD, | |
TargetState : DWORD, | |
OldState : DWORD, | |
TargetProcessors : DWORD64, | |
State : [1]PPM_WMI_IDLE_STATE, | |
}; | |
PPPM_WMI_IDLE_STATES :: ^PPM_WMI_IDLE_STATES; | |
PPM_WMI_IDLE_STATES_EX :: struct { | |
Type : DWORD, | |
Count : DWORD, | |
TargetState : DWORD, | |
OldState : DWORD, | |
TargetProcessors : PVOID, | |
State : [1]PPM_WMI_IDLE_STATE, | |
}; | |
PPPM_WMI_IDLE_STATES_EX :: ^PPM_WMI_IDLE_STATES_EX; | |
PPM_WMI_PERF_STATE :: struct { | |
Frequency : DWORD, | |
Power : DWORD, | |
PercentFrequency : BYTE, | |
IncreaseLevel : BYTE, | |
DecreaseLevel : BYTE, | |
Type : BYTE, | |
IncreaseTime : DWORD, | |
DecreaseTime : DWORD, | |
Control : DWORD64, | |
Status : DWORD64, | |
HitCount : DWORD, | |
Reserved1 : DWORD, | |
Reserved2 : DWORD64, | |
Reserved3 : DWORD64, | |
}; | |
PPPM_WMI_PERF_STATE :: ^PPM_WMI_PERF_STATE; | |
PPM_WMI_PERF_STATES :: struct { | |
Count : DWORD, | |
MaxFrequency : DWORD, | |
CurrentState : DWORD, | |
MaxPerfState : DWORD, | |
MinPerfState : DWORD, | |
LowestPerfState : DWORD, | |
ThermalConstraint : DWORD, | |
BusyAdjThreshold : BYTE, | |
PolicyType : BYTE, | |
Type : BYTE, | |
Reserved : BYTE, | |
TimerInterval : DWORD, | |
TargetProcessors : DWORD64, | |
PStateHandler : DWORD, | |
PStateContext : DWORD, | |
TStateHandler : DWORD, | |
TStateContext : DWORD, | |
FeedbackHandler : DWORD, | |
Reserved1 : DWORD, | |
Reserved2 : DWORD64, | |
State : [1]PPM_WMI_PERF_STATE, | |
}; | |
PPPM_WMI_PERF_STATES :: ^PPM_WMI_PERF_STATES; | |
PPM_WMI_PERF_STATES_EX :: struct { | |
Count : DWORD, | |
MaxFrequency : DWORD, | |
CurrentState : DWORD, | |
MaxPerfState : DWORD, | |
MinPerfState : DWORD, | |
LowestPerfState : DWORD, | |
ThermalConstraint : DWORD, | |
BusyAdjThreshold : BYTE, | |
PolicyType : BYTE, | |
Type : BYTE, | |
Reserved : BYTE, | |
TimerInterval : DWORD, | |
TargetProcessors : PVOID, | |
PStateHandler : DWORD, | |
PStateContext : DWORD, | |
TStateHandler : DWORD, | |
TStateContext : DWORD, | |
FeedbackHandler : DWORD, | |
Reserved1 : DWORD, | |
Reserved2 : DWORD64, | |
State : [1]PPM_WMI_PERF_STATE, | |
}; | |
PPPM_WMI_PERF_STATES_EX :: ^PPM_WMI_PERF_STATES_EX; | |
PPM_IDLE_STATE_ACCOUNTING :: struct { | |
IdleTransitions : DWORD, | |
FailedTransitions : DWORD, | |
InvalidBucketIndex : DWORD, | |
TotalTime : DWORD64, | |
IdleTimeBuckets : [6]DWORD, | |
}; | |
PPPM_IDLE_STATE_ACCOUNTING :: ^PPM_IDLE_STATE_ACCOUNTING; | |
PPM_IDLE_ACCOUNTING :: struct { | |
StateCount : DWORD, | |
TotalTransitions : DWORD, | |
ResetCount : DWORD, | |
StartTime : DWORD64, | |
State : [1]PPM_IDLE_STATE_ACCOUNTING, | |
}; | |
PPPM_IDLE_ACCOUNTING :: ^PPM_IDLE_ACCOUNTING; | |
PPM_IDLE_STATE_BUCKET_EX :: struct { | |
TotalTimeUs : DWORD64, | |
MinTimeUs : DWORD, | |
MaxTimeUs : DWORD, | |
Count : DWORD, | |
}; | |
PPPM_IDLE_STATE_BUCKET_EX :: ^PPM_IDLE_STATE_BUCKET_EX; | |
PPM_IDLE_STATE_ACCOUNTING_EX :: struct { | |
TotalTime : DWORD64, | |
IdleTransitions : DWORD, | |
FailedTransitions : DWORD, | |
InvalidBucketIndex : DWORD, | |
MinTimeUs : DWORD, | |
MaxTimeUs : DWORD, | |
CancelledTransitions : DWORD, | |
IdleTimeBuckets : [16]PPM_IDLE_STATE_BUCKET_EX, | |
}; | |
PPPM_IDLE_STATE_ACCOUNTING_EX :: ^PPM_IDLE_STATE_ACCOUNTING_EX; | |
PPM_IDLE_ACCOUNTING_EX :: struct { | |
StateCount : DWORD, | |
TotalTransitions : DWORD, | |
ResetCount : DWORD, | |
AbortCount : DWORD, | |
StartTime : DWORD64, | |
State : [1]PPM_IDLE_STATE_ACCOUNTING_EX, | |
}; | |
PPPM_IDLE_ACCOUNTING_EX :: ^PPM_IDLE_ACCOUNTING_EX; | |
PPM_PERFSTATE_EVENT :: struct { | |
State : DWORD, | |
Status : DWORD, | |
Latency : DWORD, | |
Speed : DWORD, | |
Processor : DWORD, | |
}; | |
PPPM_PERFSTATE_EVENT :: ^PPM_PERFSTATE_EVENT; | |
PPM_PERFSTATE_DOMAIN_EVENT :: struct { | |
State : DWORD, | |
Latency : DWORD, | |
Speed : DWORD, | |
Processors : DWORD64, | |
}; | |
PPPM_PERFSTATE_DOMAIN_EVENT :: ^PPM_PERFSTATE_DOMAIN_EVENT; | |
PPM_IDLESTATE_EVENT :: struct { | |
NewState : DWORD, | |
OldState : DWORD, | |
Processors : DWORD64, | |
}; | |
PPPM_IDLESTATE_EVENT :: ^PPM_IDLESTATE_EVENT; | |
PPM_THERMALCHANGE_EVENT :: struct { | |
ThermalConstraint : DWORD, | |
Processors : DWORD64, | |
}; | |
PPPM_THERMALCHANGE_EVENT :: ^PPM_THERMALCHANGE_EVENT; | |
PPM_THERMAL_POLICY_EVENT :: struct { | |
Mode : BYTE, | |
Processors : DWORD64, | |
}; | |
PPPM_THERMAL_POLICY_EVENT :: ^PPM_THERMAL_POLICY_EVENT; | |
POWER_ACTION_POLICY :: struct { | |
Action : POWER_ACTION, | |
Flags : DWORD, | |
EventCode : DWORD, | |
}; | |
PPOWER_ACTION_POLICY :: ^POWER_ACTION_POLICY; | |
SYSTEM_POWER_LEVEL :: struct { | |
Enable : BOOLEAN, | |
Spare : [3]BYTE, | |
BatteryLevel : DWORD, | |
PowerPolicy : POWER_ACTION_POLICY, | |
MinSystemState : SYSTEM_POWER_STATE, | |
}; | |
PSYSTEM_POWER_LEVEL :: ^SYSTEM_POWER_LEVEL; | |
SYSTEM_POWER_POLICY :: struct { | |
Revision : DWORD, | |
PowerButton : POWER_ACTION_POLICY, | |
SleepButton : POWER_ACTION_POLICY, | |
LidClose : POWER_ACTION_POLICY, | |
LidOpenWake : SYSTEM_POWER_STATE, | |
Reserved : DWORD, | |
Idle : POWER_ACTION_POLICY, | |
IdleTimeout : DWORD, | |
IdleSensitivity : BYTE, | |
DynamicThrottle : BYTE, | |
Spare2 : [2]BYTE, | |
MinSleep : SYSTEM_POWER_STATE, | |
MaxSleep : SYSTEM_POWER_STATE, | |
ReducedLatencySleep : SYSTEM_POWER_STATE, | |
WinLogonFlags : DWORD, | |
Spare3 : DWORD, | |
DozeS4Timeout : DWORD, | |
BroadcastCapacityResolution : DWORD, | |
DischargePolicy : [4]SYSTEM_POWER_LEVEL, | |
VideoTimeout : DWORD, | |
VideoDimDisplay : BOOLEAN, | |
VideoReserved : [3]DWORD, | |
SpindownTimeout : DWORD, | |
OptimizeForPower : BOOLEAN, | |
FanThrottleTolerance : BYTE, | |
ForcedThrottle : BYTE, | |
MinThrottle : BYTE, | |
OverThrottled : POWER_ACTION_POLICY, | |
}; | |
PSYSTEM_POWER_POLICY :: ^SYSTEM_POWER_POLICY; | |
PROCESSOR_IDLESTATE_INFO :: struct { | |
TimeCheck : DWORD, | |
DemotePercent : BYTE, | |
PromotePercent : BYTE, | |
Spare : [2]BYTE, | |
}; | |
PPROCESSOR_IDLESTATE_INFO :: ^PROCESSOR_IDLESTATE_INFO; | |
PROCESSOR_IDLESTATE_POLICY :: struct { | |
Revision : WORD, | |
Flags : struct #raw_union { | |
AsWORD : WORD, | |
s : bit_field { | |
AllowScaling : 1, | |
Disabled : 1, | |
Reserved : 14, | |
}, | |
}, | |
PolicyCount : DWORD, | |
Policy : [0x3]PROCESSOR_IDLESTATE_INFO, | |
}; | |
PPROCESSOR_IDLESTATE_POLICY :: ^PROCESSOR_IDLESTATE_POLICY; | |
PROCESSOR_POWER_POLICY_INFO :: struct { | |
TimeCheck : DWORD, | |
DemoteLimit : DWORD, | |
PromoteLimit : DWORD, | |
DemotePercent : BYTE, | |
PromotePercent : BYTE, | |
Spare : [2]BYTE, | |
using _ : bit_field { | |
AllowDemotion : 1, | |
AllowPromotion : 1, | |
Reserved : 30, | |
}, | |
}; | |
PPROCESSOR_POWER_POLICY_INFO :: ^PROCESSOR_POWER_POLICY_INFO; | |
PROCESSOR_POWER_POLICY :: struct { | |
Revision : DWORD, | |
DynamicThrottle : BYTE, | |
Spare : [3]BYTE, | |
using _ : bit_field { | |
DisableCStates : 1, | |
Reserved : 31, | |
}, | |
PolicyCount : DWORD, | |
Policy : [3]PROCESSOR_POWER_POLICY_INFO, | |
}; | |
PPROCESSOR_POWER_POLICY :: ^PROCESSOR_POWER_POLICY; | |
PROCESSOR_PERFSTATE_POLICY :: struct { | |
Revision : DWORD, | |
MaxThrottle : BYTE, | |
MinThrottle : BYTE, | |
BusyAdjThreshold : BYTE, | |
u : struct #raw_union { | |
Spare : BYTE, | |
Flags : struct #raw_union { | |
AsBYTE : BYTE, | |
s : bit_field { | |
NoDomainAccounting : 1, | |
IncreasePolicy : 2, | |
DecreasePolicy : 2, | |
Reserved : 3, | |
}, | |
}, | |
}, | |
TimeCheck : DWORD, | |
IncreaseTime : DWORD, | |
DecreaseTime : DWORD, | |
IncreasePercent : DWORD, | |
DecreasePercent : DWORD, | |
}; | |
PPROCESSOR_PERFSTATE_POLICY :: ^PROCESSOR_PERFSTATE_POLICY; | |
ADMINISTRATOR_POWER_POLICY :: struct { | |
MinSleep : SYSTEM_POWER_STATE, | |
MaxSleep : SYSTEM_POWER_STATE, | |
MinVideoTimeout : DWORD, | |
MaxVideoTimeout : DWORD, | |
MinSpindownTimeout : DWORD, | |
MaxSpindownTimeout : DWORD, | |
}; | |
PADMINISTRATOR_POWER_POLICY :: ^ADMINISTRATOR_POWER_POLICY; | |
/* HIBERFILE_BUCKET_SIZE :: enum { */ | |
HIBERFILE_BUCKET_SIZE :: _c.int; | |
HiberFileBucket1GB :: 0; | |
HiberFileBucket2GB :: HiberFileBucket1GB + 1; | |
HiberFileBucket4GB :: HiberFileBucket2GB + 1; | |
HiberFileBucket8GB :: HiberFileBucket4GB + 1; | |
HiberFileBucket16GB :: HiberFileBucket8GB + 1; | |
HiberFileBucket32GB :: HiberFileBucket16GB + 1; | |
HiberFileBucketUnlimited :: HiberFileBucket32GB + 1; | |
HiberFileBucketMax :: HiberFileBucketUnlimited + 1; | |
/* } */ | |
PHIBERFILE_BUCKET_SIZE :: ^HIBERFILE_BUCKET_SIZE; | |
HIBERFILE_BUCKET :: struct { | |
MaxPhysicalMemory : DWORD64, | |
PhysicalMemoryPercent : [0x03]DWORD, | |
}; | |
PHIBERFILE_BUCKET :: ^HIBERFILE_BUCKET; | |
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 :: ^SYSTEM_POWER_CAPABILITIES; | |
SYSTEM_BATTERY_STATE :: struct { | |
AcOnLine : BOOLEAN, | |
BatteryPresent : BOOLEAN, | |
Charging : BOOLEAN, | |
Discharging : BOOLEAN, | |
Spare1 : [3]BOOLEAN, | |
Tag : BYTE, | |
MaxCapacity : DWORD, | |
RemainingCapacity : DWORD, | |
Rate : DWORD, | |
EstimatedTime : DWORD, | |
DefaultAlert1 : DWORD, | |
DefaultAlert2 : DWORD, | |
}; | |
PSYSTEM_BATTERY_STATE :: ^SYSTEM_BATTERY_STATE; | |
IMAGE_DOS_HEADER :: struct { | |
e_magic : WORD, | |
e_cblp : WORD, | |
e_cp : WORD, | |
e_crlc : WORD, | |
e_cparhdr : WORD, | |
e_minalloc : WORD, | |
e_maxalloc : WORD, | |
e_ss : WORD, | |
e_sp : WORD, | |
e_csum : WORD, | |
e_ip : WORD, | |
e_cs : WORD, | |
e_lfarlc : WORD, | |
e_ovno : WORD, | |
e_res : [4]WORD, | |
e_oemid : WORD, | |
e_oeminfo : WORD, | |
e_res2 : [10]WORD, | |
e_lfanew : LONG, | |
}; | |
PIMAGE_DOS_HEADER :: ^IMAGE_DOS_HEADER; | |
IMAGE_OS2_HEADER :: struct { | |
ne_magic : WORD, | |
ne_ver : CHAR, | |
ne_rev : CHAR, | |
ne_enttab : WORD, | |
ne_cbenttab : WORD, | |
ne_crc : LONG, | |
ne_flags : WORD, | |
ne_autodata : WORD, | |
ne_heap : WORD, | |
ne_stack : WORD, | |
ne_csip : LONG, | |
ne_sssp : LONG, | |
ne_cseg : WORD, | |
ne_cmod : WORD, | |
ne_cbnrestab : WORD, | |
ne_segtab : WORD, | |
ne_rsrctab : WORD, | |
ne_restab : WORD, | |
ne_modtab : WORD, | |
ne_imptab : WORD, | |
ne_nrestab : LONG, | |
ne_cmovent : WORD, | |
ne_align : WORD, | |
ne_cres : WORD, | |
ne_exetyp : BYTE, | |
ne_flagsothers : BYTE, | |
ne_pretthunks : WORD, | |
ne_psegrefbytes : WORD, | |
ne_swaparea : WORD, | |
ne_expver : WORD, | |
}; | |
PIMAGE_OS2_HEADER :: ^IMAGE_OS2_HEADER; | |
IMAGE_VXD_HEADER :: struct { | |
e32_magic : WORD, | |
e32_border : BYTE, | |
e32_worder : BYTE, | |
e32_level : DWORD, | |
e32_cpu : WORD, | |
e32_os : WORD, | |
e32_ver : DWORD, | |
e32_mflags : DWORD, | |
e32_mpages : DWORD, | |
e32_startobj : DWORD, | |
e32_eip : DWORD, | |
e32_stackobj : DWORD, | |
e32_esp : DWORD, | |
e32_pagesize : DWORD, | |
e32_lastpagesize : DWORD, | |
e32_fixupsize : DWORD, | |
e32_fixupsum : DWORD, | |
e32_ldrsize : DWORD, | |
e32_ldrsum : DWORD, | |
e32_objtab : DWORD, | |
e32_objcnt : DWORD, | |
e32_objmap : DWORD, | |
e32_itermap : DWORD, | |
e32_rsrctab : DWORD, | |
e32_rsrccnt : DWORD, | |
e32_restab : DWORD, | |
e32_enttab : DWORD, | |
e32_dirtab : DWORD, | |
e32_dircnt : DWORD, | |
e32_fpagetab : DWORD, | |
e32_frectab : DWORD, | |
e32_impmod : DWORD, | |
e32_impmodcnt : DWORD, | |
e32_impproc : DWORD, | |
e32_pagesum : DWORD, | |
e32_datapage : DWORD, | |
e32_preload : DWORD, | |
e32_nrestab : DWORD, | |
e32_cbnrestab : DWORD, | |
e32_nressum : DWORD, | |
e32_autodata : DWORD, | |
e32_debuginfo : DWORD, | |
e32_debuglen : DWORD, | |
e32_instpreload : DWORD, | |
e32_instdemand : DWORD, | |
e32_heapsize : DWORD, | |
e32_res3 : [12]BYTE, | |
e32_winresoff : DWORD, | |
e32_winreslen : DWORD, | |
e32_devid : WORD, | |
e32_ddkver : WORD, | |
}; | |
PIMAGE_VXD_HEADER :: ^IMAGE_VXD_HEADER; | |
IMAGE_FILE_HEADER :: struct { | |
Machine : WORD, | |
NumberOfSections : WORD, | |
TimeDateStamp : DWORD, | |
PointerToSymbolTable : DWORD, | |
NumberOfSymbols : DWORD, | |
SizeOfOptionalHeader : WORD, | |
Characteristics : WORD, | |
}; | |
PIMAGE_FILE_HEADER :: ^IMAGE_FILE_HEADER; | |
IMAGE_DATA_DIRECTORY :: struct { | |
VirtualAddress : DWORD, | |
Size : DWORD, | |
}; | |
PIMAGE_DATA_DIRECTORY :: ^IMAGE_DATA_DIRECTORY; | |
IMAGE_OPTIONAL_HEADER32 :: struct { | |
Magic : WORD, | |
MajorLinkerVersion : BYTE, | |
MinorLinkerVersion : BYTE, | |
SizeOfCode : DWORD, | |
SizeOfInitializedData : DWORD, | |
SizeOfUninitializedData : DWORD, | |
AddressOfEntryPoint : DWORD, | |
BaseOfCode : DWORD, | |
BaseOfData : DWORD, | |
ImageBase : DWORD, | |
SectionAlignment : DWORD, | |
FileAlignment : DWORD, | |
MajorOperatingSystemVersion : WORD, | |
MinorOperatingSystemVersion : WORD, | |
MajorImageVersion : WORD, | |
MinorImageVersion : WORD, | |
MajorSubsystemVersion : WORD, | |
MinorSubsystemVersion : WORD, | |
Win32VersionValue : DWORD, | |
SizeOfImage : DWORD, | |
SizeOfHeaders : DWORD, | |
CheckSum : DWORD, | |
Subsystem : WORD, | |
DllCharacteristics : WORD, | |
SizeOfStackReserve : DWORD, | |
SizeOfStackCommit : DWORD, | |
SizeOfHeapReserve : DWORD, | |
SizeOfHeapCommit : DWORD, | |
LoaderFlags : DWORD, | |
NumberOfRvaAndSizes : DWORD, | |
DataDirectory : [16]IMAGE_DATA_DIRECTORY, | |
}; | |
PIMAGE_OPTIONAL_HEADER32 :: ^IMAGE_OPTIONAL_HEADER32; | |
IMAGE_ROM_OPTIONAL_HEADER :: struct { | |
Magic : WORD, | |
MajorLinkerVersion : BYTE, | |
MinorLinkerVersion : BYTE, | |
SizeOfCode : DWORD, | |
SizeOfInitializedData : DWORD, | |
SizeOfUninitializedData : DWORD, | |
AddressOfEntryPoint : DWORD, | |
BaseOfCode : DWORD, | |
BaseOfData : DWORD, | |
BaseOfBss : DWORD, | |
GprMask : DWORD, | |
CprMask : [4]DWORD, | |
GpValue : DWORD, | |
}; | |
PIMAGE_ROM_OPTIONAL_HEADER :: ^IMAGE_ROM_OPTIONAL_HEADER; | |
IMAGE_OPTIONAL_HEADER64 :: struct { | |
Magic : WORD, | |
MajorLinkerVersion : BYTE, | |
MinorLinkerVersion : BYTE, | |
SizeOfCode : DWORD, | |
SizeOfInitializedData : DWORD, | |
SizeOfUninitializedData : DWORD, | |
AddressOfEntryPoint : DWORD, | |
BaseOfCode : DWORD, | |
ImageBase : ULONGLONG, | |
SectionAlignment : DWORD, | |
FileAlignment : DWORD, | |
MajorOperatingSystemVersion : WORD, | |
MinorOperatingSystemVersion : WORD, | |
MajorImageVersion : WORD, | |
MinorImageVersion : WORD, | |
MajorSubsystemVersion : WORD, | |
MinorSubsystemVersion : WORD, | |
Win32VersionValue : DWORD, | |
SizeOfImage : DWORD, | |
SizeOfHeaders : DWORD, | |
CheckSum : DWORD, | |
Subsystem : WORD, | |
DllCharacteristics : WORD, | |
SizeOfStackReserve : ULONGLONG, | |
SizeOfStackCommit : ULONGLONG, | |
SizeOfHeapReserve : ULONGLONG, | |
SizeOfHeapCommit : ULONGLONG, | |
LoaderFlags : DWORD, | |
NumberOfRvaAndSizes : DWORD, | |
DataDirectory : [16]IMAGE_DATA_DIRECTORY, | |
}; | |
PIMAGE_OPTIONAL_HEADER64 :: ^IMAGE_OPTIONAL_HEADER64; | |
IMAGE_OPTIONAL_HEADER :: IMAGE_OPTIONAL_HEADER64; | |
PIMAGE_OPTIONAL_HEADER :: PIMAGE_OPTIONAL_HEADER64; | |
IMAGE_NT_HEADERS64 :: struct { | |
Signature : DWORD, | |
FileHeader : IMAGE_FILE_HEADER, | |
OptionalHeader : IMAGE_OPTIONAL_HEADER64, | |
}; | |
PIMAGE_NT_HEADERS64 :: ^IMAGE_NT_HEADERS64; | |
IMAGE_NT_HEADERS32 :: struct { | |
Signature : DWORD, | |
FileHeader : IMAGE_FILE_HEADER, | |
OptionalHeader : IMAGE_OPTIONAL_HEADER32, | |
}; | |
PIMAGE_NT_HEADERS32 :: ^IMAGE_NT_HEADERS32; | |
IMAGE_ROM_HEADERS :: struct { | |
FileHeader : IMAGE_FILE_HEADER, | |
OptionalHeader : IMAGE_ROM_OPTIONAL_HEADER, | |
}; | |
PIMAGE_ROM_HEADERS :: ^IMAGE_ROM_HEADERS; | |
IMAGE_NT_HEADERS :: IMAGE_NT_HEADERS64; | |
PIMAGE_NT_HEADERS :: PIMAGE_NT_HEADERS64; | |
ANON_OBJECT_HEADER :: struct { | |
Sig1 : WORD, | |
Sig2 : WORD, | |
Version : WORD, | |
Machine : WORD, | |
TimeDateStamp : DWORD, | |
ClassID : CLSID, | |
SizeOfData : DWORD, | |
}; | |
ANON_OBJECT_HEADER_V2 :: struct { | |
Sig1 : WORD, | |
Sig2 : WORD, | |
Version : WORD, | |
Machine : WORD, | |
TimeDateStamp : DWORD, | |
ClassID : CLSID, | |
SizeOfData : DWORD, | |
Flags : DWORD, | |
MetaDataSize : DWORD, | |
MetaDataOffset : DWORD, | |
}; | |
ANON_OBJECT_HEADER_BIGOBJ :: struct { | |
Sig1 : WORD, | |
Sig2 : WORD, | |
Version : WORD, | |
Machine : WORD, | |
TimeDateStamp : DWORD, | |
ClassID : CLSID, | |
SizeOfData : DWORD, | |
Flags : DWORD, | |
MetaDataSize : DWORD, | |
MetaDataOffset : DWORD, | |
NumberOfSections : DWORD, | |
PointerToSymbolTable : DWORD, | |
NumberOfSymbols : DWORD, | |
}; | |
IMAGE_SECTION_HEADER :: struct { | |
Name : [8]BYTE, | |
Misc : struct #raw_union { | |
PhysicalAddress : DWORD, | |
VirtualSize : DWORD, | |
}, | |
VirtualAddress : DWORD, | |
SizeOfRawData : DWORD, | |
PointerToRawData : DWORD, | |
PointerToRelocations : DWORD, | |
PointerToLinenumbers : DWORD, | |
NumberOfRelocations : WORD, | |
NumberOfLinenumbers : WORD, | |
Characteristics : DWORD, | |
}; | |
PIMAGE_SECTION_HEADER :: ^IMAGE_SECTION_HEADER; | |
IMAGE_SYMBOL :: struct { | |
N : struct #raw_union { | |
ShortName : [8]BYTE, | |
Name : struct { | |
Short : DWORD, | |
Long : DWORD, | |
}, | |
LongName : [2]DWORD, | |
}, | |
Value : DWORD, | |
SectionNumber : SHORT, | |
Type : WORD, | |
StorageClass : BYTE, | |
NumberOfAuxSymbols : BYTE, | |
}; | |
PIMAGE_SYMBOL :: ^IMAGE_SYMBOL; | |
IMAGE_SYMBOL_EX :: struct { | |
N : struct #raw_union { | |
ShortName : [8]BYTE, | |
Name : struct { | |
Short : DWORD, | |
Long : DWORD, | |
}, | |
LongName : [2]DWORD, | |
}, | |
Value : DWORD, | |
SectionNumber : LONG, | |
Type : WORD, | |
StorageClass : BYTE, | |
NumberOfAuxSymbols : BYTE, | |
}; | |
PIMAGE_SYMBOL_EX :: ^IMAGE_SYMBOL_EX; | |
IMAGE_AUX_SYMBOL_TOKEN_DEF :: struct { | |
bAuxType : BYTE, | |
bReserved : BYTE, | |
SymbolTableIndex : DWORD, | |
rgbReserved : [12]BYTE, | |
}; | |
PIMAGE_AUX_SYMBOL_TOKEN_DEF :: ^IMAGE_AUX_SYMBOL_TOKEN_DEF; | |
IMAGE_AUX_SYMBOL :: struct #raw_union { | |
Sym : struct { | |
TagIndex : DWORD, | |
Misc : struct #raw_union { | |
LnSz : struct { | |
Linenumber : WORD, | |
Size : WORD, | |
}, | |
TotalSize : DWORD, | |
}, | |
FcnAry : struct #raw_union { | |
Function : struct { | |
PointerToLinenumber : DWORD, | |
PointerToNextFunction : DWORD, | |
}, | |
Array : struct { | |
Dimension : [4]WORD, | |
}, | |
}, | |
TvIndex : WORD, | |
}, | |
File : struct { | |
Name : [18]BYTE, | |
}, | |
Section : struct { | |
Length : DWORD, | |
NumberOfRelocations : WORD, | |
NumberOfLinenumbers : WORD, | |
CheckSum : DWORD, | |
Number : SHORT, | |
Selection : BYTE, | |
bReserved : BYTE, | |
HighNumber : SHORT, | |
}, | |
TokenDef : IMAGE_AUX_SYMBOL_TOKEN_DEF, | |
CRC : struct { | |
crc : DWORD, | |
rgbReserved : [14]BYTE, | |
}, | |
}; | |
PIMAGE_AUX_SYMBOL :: ^IMAGE_AUX_SYMBOL; | |
IMAGE_AUX_SYMBOL_EX :: struct #raw_union { | |
Sym : struct { | |
WeakDefaultSymIndex : DWORD, | |
WeakSearchType : DWORD, | |
rgbReserved : [12]BYTE, | |
}, | |
File : struct { | |
Name : [size_of(IMAGE_SYMBOL_EX)]BYTE, | |
}, | |
Section : struct { | |
Length : DWORD, | |
NumberOfRelocations : WORD, | |
NumberOfLinenumbers : WORD, | |
CheckSum : DWORD, | |
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 : DWORD, | |
rgbReserved : [16]BYTE, | |
}, | |
}; | |
PIMAGE_AUX_SYMBOL_EX :: ^IMAGE_AUX_SYMBOL_EX; | |
/* IMAGE_AUX_SYMBOL_TYPE :: enum { */ | |
IMAGE_AUX_SYMBOL_TYPE :: _c.int; | |
IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF :: 1; | |
/* } */ | |
; | |
IMAGE_RELOCATION :: struct { | |
u : struct #raw_union { | |
VirtualAddress : DWORD, | |
RelocCount : DWORD, | |
}, | |
SymbolTableIndex : DWORD, | |
Type : WORD, | |
}; | |
PIMAGE_RELOCATION :: ^IMAGE_RELOCATION; | |
IMAGE_LINENUMBER :: struct { | |
Type : struct #raw_union { | |
SymbolTableIndex : DWORD, | |
VirtualAddress : DWORD, | |
}, | |
Linenumber : WORD, | |
}; | |
PIMAGE_LINENUMBER :: ^IMAGE_LINENUMBER; | |
IMAGE_BASE_RELOCATION :: struct { | |
VirtualAddress : DWORD, | |
SizeOfBlock : DWORD, | |
}; | |
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 :: ^IMAGE_ARCHIVE_MEMBER_HEADER; | |
IMAGE_EXPORT_DIRECTORY :: struct { | |
Characteristics : DWORD, | |
TimeDateStamp : DWORD, | |
MajorVersion : WORD, | |
MinorVersion : WORD, | |
Name : DWORD, | |
Base : DWORD, | |
NumberOfFunctions : DWORD, | |
NumberOfNames : DWORD, | |
AddressOfFunctions : DWORD, | |
AddressOfNames : DWORD, | |
AddressOfNameOrdinals : DWORD, | |
}; | |
PIMAGE_EXPORT_DIRECTORY :: ^IMAGE_EXPORT_DIRECTORY; | |
IMAGE_IMPORT_BY_NAME :: struct { | |
Hint : WORD, | |
Name : [1]CHAR, | |
}; | |
PIMAGE_IMPORT_BY_NAME :: ^IMAGE_IMPORT_BY_NAME; | |
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 : DWORD, | |
Function : DWORD, | |
Ordinal : DWORD, | |
AddressOfData : DWORD, | |
}, | |
}; | |
PIMAGE_THUNK_DATA32 :: ^IMAGE_THUNK_DATA32; | |
PIMAGE_TLS_CALLBACK :: proc "stdcall" (DllHandle : PVOID, Reason : DWORD, Reserved : PVOID); | |
IMAGE_TLS_DIRECTORY64 :: struct { | |
StartAddressOfRawData : ULONGLONG, | |
EndAddressOfRawData : ULONGLONG, | |
AddressOfIndex : ULONGLONG, | |
AddressOfCallBacks : ULONGLONG, | |
SizeOfZeroFill : DWORD, | |
u : struct #raw_union { | |
Characteristics : DWORD, | |
s : bit_field { | |
Reserved0 : 20, | |
Alignment : 4, | |
Reserved1 : 8, | |
}, | |
}, | |
}; | |
PIMAGE_TLS_DIRECTORY64 :: ^IMAGE_TLS_DIRECTORY64; | |
IMAGE_TLS_DIRECTORY32 :: struct { | |
StartAddressOfRawData : DWORD, | |
EndAddressOfRawData : DWORD, | |
AddressOfIndex : DWORD, | |
AddressOfCallBacks : DWORD, | |
SizeOfZeroFill : DWORD, | |
u : struct #raw_union { | |
Characteristics : DWORD, | |
s : bit_field { | |
Reserved0 : 20, | |
Alignment : 4, | |
Reserved1 : 8, | |
}, | |
}, | |
}; | |
PIMAGE_TLS_DIRECTORY32 :: ^IMAGE_TLS_DIRECTORY32; | |
IMAGE_THUNK_DATA :: IMAGE_THUNK_DATA64; | |
PIMAGE_THUNK_DATA :: PIMAGE_THUNK_DATA64; | |
IMAGE_TLS_DIRECTORY :: IMAGE_TLS_DIRECTORY64; | |
PIMAGE_TLS_DIRECTORY :: PIMAGE_TLS_DIRECTORY64; | |
IMAGE_IMPORT_DESCRIPTOR :: struct { | |
u : struct #raw_union { | |
Characteristics : DWORD, | |
OriginalFirstThunk : DWORD, | |
}, | |
TimeDateStamp : DWORD, | |
ForwarderChain : DWORD, | |
Name : DWORD, | |
FirstThunk : DWORD, | |
}; | |
PIMAGE_IMPORT_DESCRIPTOR :: ^IMAGE_IMPORT_DESCRIPTOR; | |
IMAGE_BOUND_IMPORT_DESCRIPTOR :: struct { | |
TimeDateStamp : DWORD, | |
OffsetModuleName : WORD, | |
NumberOfModuleForwarderRefs : WORD, | |
}; | |
PIMAGE_BOUND_IMPORT_DESCRIPTOR :: ^IMAGE_BOUND_IMPORT_DESCRIPTOR; | |
IMAGE_BOUND_FORWARDER_REF :: struct { | |
TimeDateStamp : DWORD, | |
OffsetModuleName : WORD, | |
Reserved : WORD, | |
}; | |
PIMAGE_BOUND_FORWARDER_REF :: ^IMAGE_BOUND_FORWARDER_REF; | |
IMAGE_DELAYLOAD_DESCRIPTOR :: struct { | |
Attributes : struct #raw_union { | |
AllAttributes : DWORD, | |
s : bit_field { | |
RvaBased : 1, | |
ReservedAttributes : 31, | |
}, | |
}, | |
DllNameRVA : DWORD, | |
ModuleHandleRVA : DWORD, | |
ImportAddressTableRVA : DWORD, | |
ImportNameTableRVA : DWORD, | |
BoundImportAddressTableRVA : DWORD, | |
UnloadInformationTableRVA : DWORD, | |
TimeDateStamp : DWORD, | |
}; | |
PIMAGE_DELAYLOAD_DESCRIPTOR :: ^IMAGE_DELAYLOAD_DESCRIPTOR; | |
PCIMAGE_DELAYLOAD_DESCRIPTOR :: ^IMAGE_DELAYLOAD_DESCRIPTOR; | |
IMAGE_RESOURCE_DIRECTORY :: struct { | |
Characteristics : DWORD, | |
TimeDateStamp : DWORD, | |
MajorVersion : WORD, | |
MinorVersion : WORD, | |
NumberOfNamedEntries : WORD, | |
NumberOfIdEntries : WORD, | |
}; | |
PIMAGE_RESOURCE_DIRECTORY :: ^IMAGE_RESOURCE_DIRECTORY; | |
IMAGE_RESOURCE_DIRECTORY_ENTRY :: struct { | |
u : struct #raw_union { | |
s : bit_field { | |
NameOffset : 31, | |
NameIsString : 1, | |
}, | |
Name : DWORD, | |
Id : WORD, | |
}, | |
u2 : struct #raw_union { | |
OffsetToData : DWORD, | |
s2 : bit_field { | |
OffsetToDirectory : 31, | |
DataIsDirectory : 1, | |
}, | |
}, | |
}; | |
PIMAGE_RESOURCE_DIRECTORY_ENTRY :: ^IMAGE_RESOURCE_DIRECTORY_ENTRY; | |
IMAGE_RESOURCE_DIRECTORY_STRING :: struct { | |
Length : WORD, | |
NameString : [1]CHAR, | |
}; | |
PIMAGE_RESOURCE_DIRECTORY_STRING :: ^IMAGE_RESOURCE_DIRECTORY_STRING; | |
IMAGE_RESOURCE_DIR_STRING_U :: struct { | |
Length : WORD, | |
NameString : [1]WCHAR, | |
}; | |
PIMAGE_RESOURCE_DIR_STRING_U :: ^IMAGE_RESOURCE_DIR_STRING_U; | |
IMAGE_RESOURCE_DATA_ENTRY :: struct { | |
OffsetToData : DWORD, | |
Size : DWORD, | |
CodePage : DWORD, | |
Reserved : DWORD, | |
}; | |
PIMAGE_RESOURCE_DATA_ENTRY :: ^IMAGE_RESOURCE_DATA_ENTRY; | |
IMAGE_LOAD_CONFIG_CODE_INTEGRITY :: struct { | |
Flags : WORD, | |
Catalog : WORD, | |
CatalogOffset : DWORD, | |
Reserved : DWORD, | |
}; | |
PIMAGE_LOAD_CONFIG_CODE_INTEGRITY :: ^IMAGE_LOAD_CONFIG_CODE_INTEGRITY; | |
IMAGE_DYNAMIC_RELOCATION_TABLE :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
}; | |
PIMAGE_DYNAMIC_RELOCATION_TABLE :: ^IMAGE_DYNAMIC_RELOCATION_TABLE; | |
IMAGE_DYNAMIC_RELOCATION32 :: struct { | |
Symbol : DWORD, | |
BaseRelocSize : DWORD, | |
}; | |
PIMAGE_DYNAMIC_RELOCATION32 :: ^IMAGE_DYNAMIC_RELOCATION32; | |
IMAGE_DYNAMIC_RELOCATION64 :: struct { | |
Symbol : ULONGLONG, | |
BaseRelocSize : DWORD, | |
}; | |
PIMAGE_DYNAMIC_RELOCATION64 :: ^IMAGE_DYNAMIC_RELOCATION64; | |
IMAGE_DYNAMIC_RELOCATION32_V2 :: struct { | |
HeaderSize : DWORD, | |
FixupInfoSize : DWORD, | |
Symbol : DWORD, | |
SymbolGroup : DWORD, | |
Flags : DWORD, | |
}; | |
PIMAGE_DYNAMIC_RELOCATION32_V2 :: ^IMAGE_DYNAMIC_RELOCATION32_V2; | |
IMAGE_DYNAMIC_RELOCATION64_V2 :: struct { | |
HeaderSize : DWORD, | |
FixupInfoSize : DWORD, | |
Symbol : ULONGLONG, | |
SymbolGroup : DWORD, | |
Flags : DWORD, | |
}; | |
PIMAGE_DYNAMIC_RELOCATION64_V2 :: ^IMAGE_DYNAMIC_RELOCATION64_V2; | |
IMAGE_DYNAMIC_RELOCATION :: IMAGE_DYNAMIC_RELOCATION64; | |
PIMAGE_DYNAMIC_RELOCATION :: PIMAGE_DYNAMIC_RELOCATION64; | |
IMAGE_DYNAMIC_RELOCATION_V2 :: IMAGE_DYNAMIC_RELOCATION64_V2; | |
PIMAGE_DYNAMIC_RELOCATION_V2 :: PIMAGE_DYNAMIC_RELOCATION64_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 : DWORD, | |
EpilogueByteCount : BYTE, | |
BranchDescriptorElementSize : BYTE, | |
BranchDescriptorCount : WORD, | |
}; | |
PIMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER :: ^IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER; | |
IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION :: bit_field { | |
PageRelativeOffset : 12, | |
IndirectCall : 1, | |
IATIndex : 19, | |
}; | |
PIMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION :: ^IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION; | |
IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION :: bit_field { | |
PageRelativeOffset : 12, | |
IndirectCall : 1, | |
RexWPrefix : 1, | |
CfgCheck : 1, | |
Reserved : 1, | |
}; | |
PIMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION :: ^IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION; | |
IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION :: bit_field { | |
PageRelativeOffset : 12, | |
RegisterNumber : 4, | |
}; | |
PIMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION :: ^IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION; | |
IMAGE_LOAD_CONFIG_DIRECTORY32 :: struct { | |
Size : DWORD, | |
TimeDateStamp : DWORD, | |
MajorVersion : WORD, | |
MinorVersion : WORD, | |
GlobalFlagsClear : DWORD, | |
GlobalFlagsSet : DWORD, | |
CriticalSectionDefaultTimeout : DWORD, | |
DeCommitFreeBlockThreshold : DWORD, | |
DeCommitTotalFreeThreshold : DWORD, | |
LockPrefixTable : DWORD, | |
MaximumAllocationSize : DWORD, | |
VirtualMemoryThreshold : DWORD, | |
ProcessHeapFlags : DWORD, | |
ProcessAffinityMask : DWORD, | |
CSDVersion : WORD, | |
DependentLoadFlags : WORD, | |
EditList : DWORD, | |
SecurityCookie : DWORD, | |
SEHandlerTable : DWORD, | |
SEHandlerCount : DWORD, | |
GuardCFCheckFunctionPointer : DWORD, | |
GuardCFDispatchFunctionPointer : DWORD, | |
GuardCFFunctionTable : DWORD, | |
GuardCFFunctionCount : DWORD, | |
GuardFlags : DWORD, | |
CodeIntegrity : IMAGE_LOAD_CONFIG_CODE_INTEGRITY, | |
GuardAddressTakenIatEntryTable : DWORD, | |
GuardAddressTakenIatEntryCount : DWORD, | |
GuardLongJumpTargetTable : DWORD, | |
GuardLongJumpTargetCount : DWORD, | |
DynamicValueRelocTable : DWORD, | |
CHPEMetadataPointer : DWORD, | |
GuardRFFailureRoutine : DWORD, | |
GuardRFFailureRoutineFunctionPointer : DWORD, | |
DynamicValueRelocTableOffset : DWORD, | |
DynamicValueRelocTableSection : WORD, | |
Reserved2 : WORD, | |
GuardRFVerifyStackPointerFunctionPointer : DWORD, | |
HotPatchTableOffset : DWORD, | |
Reserved3 : DWORD, | |
EnclaveConfigurationPointer : DWORD, | |
VolatileMetadataPointer : DWORD, | |
}; | |
PIMAGE_LOAD_CONFIG_DIRECTORY32 :: ^IMAGE_LOAD_CONFIG_DIRECTORY32; | |
IMAGE_LOAD_CONFIG_DIRECTORY64 :: struct { | |
Size : DWORD, | |
TimeDateStamp : DWORD, | |
MajorVersion : WORD, | |
MinorVersion : WORD, | |
GlobalFlagsClear : DWORD, | |
GlobalFlagsSet : DWORD, | |
CriticalSectionDefaultTimeout : DWORD, | |
DeCommitFreeBlockThreshold : ULONGLONG, | |
DeCommitTotalFreeThreshold : ULONGLONG, | |
LockPrefixTable : ULONGLONG, | |
MaximumAllocationSize : ULONGLONG, | |
VirtualMemoryThreshold : ULONGLONG, | |
ProcessAffinityMask : ULONGLONG, | |
ProcessHeapFlags : DWORD, | |
CSDVersion : WORD, | |
DependentLoadFlags : WORD, | |
EditList : ULONGLONG, | |
SecurityCookie : ULONGLONG, | |
SEHandlerTable : ULONGLONG, | |
SEHandlerCount : ULONGLONG, | |
GuardCFCheckFunctionPointer : ULONGLONG, | |
GuardCFDispatchFunctionPointer : ULONGLONG, | |
GuardCFFunctionTable : ULONGLONG, | |
GuardCFFunctionCount : ULONGLONG, | |
GuardFlags : DWORD, | |
CodeIntegrity : IMAGE_LOAD_CONFIG_CODE_INTEGRITY, | |
GuardAddressTakenIatEntryTable : ULONGLONG, | |
GuardAddressTakenIatEntryCount : ULONGLONG, | |
GuardLongJumpTargetTable : ULONGLONG, | |
GuardLongJumpTargetCount : ULONGLONG, | |
DynamicValueRelocTable : ULONGLONG, | |
CHPEMetadataPointer : ULONGLONG, | |
GuardRFFailureRoutine : ULONGLONG, | |
GuardRFFailureRoutineFunctionPointer : ULONGLONG, | |
DynamicValueRelocTableOffset : DWORD, | |
DynamicValueRelocTableSection : WORD, | |
Reserved2 : WORD, | |
GuardRFVerifyStackPointerFunctionPointer : ULONGLONG, | |
HotPatchTableOffset : DWORD, | |
Reserved3 : DWORD, | |
EnclaveConfigurationPointer : ULONGLONG, | |
VolatileMetadataPointer : ULONGLONG, | |
}; | |
PIMAGE_LOAD_CONFIG_DIRECTORY64 :: ^IMAGE_LOAD_CONFIG_DIRECTORY64; | |
IMAGE_LOAD_CONFIG_DIRECTORY :: IMAGE_LOAD_CONFIG_DIRECTORY64; | |
PIMAGE_LOAD_CONFIG_DIRECTORY :: PIMAGE_LOAD_CONFIG_DIRECTORY64; | |
IMAGE_HOT_PATCH_INFO :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
SequenceNumber : DWORD, | |
BaseImageList : DWORD, | |
BaseImageCount : DWORD, | |
BufferOffset : DWORD, | |
ExtraPatchSize : DWORD, | |
}; | |
PIMAGE_HOT_PATCH_INFO :: ^IMAGE_HOT_PATCH_INFO; | |
IMAGE_HOT_PATCH_BASE :: struct { | |
SequenceNumber : DWORD, | |
Flags : DWORD, | |
OriginalTimeDateStamp : DWORD, | |
OriginalCheckSum : DWORD, | |
CodeIntegrityInfo : DWORD, | |
CodeIntegritySize : DWORD, | |
PatchTable : DWORD, | |
BufferOffset : DWORD, | |
}; | |
PIMAGE_HOT_PATCH_BASE :: ^IMAGE_HOT_PATCH_BASE; | |
IMAGE_HOT_PATCH_HASHES :: struct { | |
SHA256 : [32]BYTE, | |
SHA1 : [20]BYTE, | |
}; | |
PIMAGE_HOT_PATCH_HASHES :: ^IMAGE_HOT_PATCH_HASHES; | |
IMAGE_CE_RUNTIME_FUNCTION_ENTRY :: struct { | |
FuncStart : DWORD, | |
using _ : bit_field { | |
PrologLen : 8, | |
FuncLen : 22, | |
ThirtyTwoBit : 1, | |
ExceptionFlag : 1, | |
}, | |
}; | |
PIMAGE_CE_RUNTIME_FUNCTION_ENTRY :: ^IMAGE_CE_RUNTIME_FUNCTION_ENTRY; | |
IMAGE_ARM_RUNTIME_FUNCTION_ENTRY :: struct { | |
BeginAddress : DWORD, | |
u : struct #raw_union { | |
UnwindData : DWORD, | |
s : bit_field { | |
Flag : 2, | |
FunctionLength : 11, | |
Ret : 2, | |
H : 1, | |
Reg : 3, | |
R : 1, | |
L : 1, | |
C : 1, | |
StackAdjust : 10, | |
}, | |
}, | |
}; | |
PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY :: ^IMAGE_ARM_RUNTIME_FUNCTION_ENTRY; | |
IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY :: struct { | |
BeginAddress : DWORD, | |
u : struct #raw_union { | |
UnwindData : DWORD, | |
s : bit_field { | |
Flag : 2, | |
FunctionLength : 11, | |
RegF : 3, | |
RegI : 4, | |
H : 1, | |
CR : 2, | |
FrameSize : 9, | |
}, | |
}, | |
}; | |
PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY :: ^IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; | |
IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY :: struct { | |
BeginAddress : ULONGLONG, | |
EndAddress : ULONGLONG, | |
ExceptionHandler : ULONGLONG, | |
HandlerData : ULONGLONG, | |
PrologEndAddress : ULONGLONG, | |
}; | |
PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY :: ^IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; | |
IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY :: struct { | |
BeginAddress : DWORD, | |
EndAddress : DWORD, | |
ExceptionHandler : DWORD, | |
HandlerData : DWORD, | |
PrologEndAddress : DWORD, | |
}; | |
PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY :: ^IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; | |
_IMAGE_RUNTIME_FUNCTION_ENTRY :: struct { | |
BeginAddress : DWORD, | |
EndAddress : DWORD, | |
u : struct #raw_union { | |
UnwindInfoAddress : DWORD, | |
UnwindData : DWORD, | |
}, | |
}; | |
_PIMAGE_RUNTIME_FUNCTION_ENTRY :: ^_IMAGE_RUNTIME_FUNCTION_ENTRY; | |
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 : DWORD, | |
MinimumRequiredConfigSize : DWORD, | |
PolicyFlags : DWORD, | |
NumberOfImports : DWORD, | |
ImportList : DWORD, | |
ImportEntrySize : DWORD, | |
FamilyID : [16]BYTE, | |
ImageID : [16]BYTE, | |
ImageVersion : DWORD, | |
SecurityVersion : DWORD, | |
EnclaveSize : DWORD, | |
NumberOfThreads : DWORD, | |
EnclaveFlags : DWORD, | |
}; | |
PIMAGE_ENCLAVE_CONFIG32 :: ^IMAGE_ENCLAVE_CONFIG32; | |
IMAGE_ENCLAVE_CONFIG64 :: struct { | |
Size : DWORD, | |
MinimumRequiredConfigSize : DWORD, | |
PolicyFlags : DWORD, | |
NumberOfImports : DWORD, | |
ImportList : DWORD, | |
ImportEntrySize : DWORD, | |
FamilyID : [16]BYTE, | |
ImageID : [16]BYTE, | |
ImageVersion : DWORD, | |
SecurityVersion : DWORD, | |
EnclaveSize : ULONGLONG, | |
NumberOfThreads : DWORD, | |
EnclaveFlags : DWORD, | |
}; | |
PIMAGE_ENCLAVE_CONFIG64 :: ^IMAGE_ENCLAVE_CONFIG64; | |
IMAGE_ENCLAVE_CONFIG :: IMAGE_ENCLAVE_CONFIG64; | |
PIMAGE_ENCLAVE_CONFIG :: PIMAGE_ENCLAVE_CONFIG64; | |
IMAGE_ENCLAVE_IMPORT :: struct { | |
MatchType : DWORD, | |
MinimumSecurityVersion : DWORD, | |
UniqueOrAuthorID : [32]BYTE, | |
FamilyID : [16]BYTE, | |
ImageID : [16]BYTE, | |
ImportName : DWORD, | |
Reserved : DWORD, | |
}; | |
PIMAGE_ENCLAVE_IMPORT :: ^IMAGE_ENCLAVE_IMPORT; | |
IMAGE_DEBUG_DIRECTORY :: struct { | |
Characteristics : DWORD, | |
TimeDateStamp : DWORD, | |
MajorVersion : WORD, | |
MinorVersion : WORD, | |
Type : DWORD, | |
SizeOfData : DWORD, | |
AddressOfRawData : DWORD, | |
PointerToRawData : DWORD, | |
}; | |
PIMAGE_DEBUG_DIRECTORY :: ^IMAGE_DEBUG_DIRECTORY; | |
IMAGE_COFF_SYMBOLS_HEADER :: struct { | |
NumberOfSymbols : DWORD, | |
LvaToFirstSymbol : DWORD, | |
NumberOfLinenumbers : DWORD, | |
LvaToFirstLinenumber : DWORD, | |
RvaToFirstByteOfCode : DWORD, | |
RvaToLastByteOfCode : DWORD, | |
RvaToFirstByteOfData : DWORD, | |
RvaToLastByteOfData : DWORD, | |
}; | |
PIMAGE_COFF_SYMBOLS_HEADER :: ^IMAGE_COFF_SYMBOLS_HEADER; | |
FPO_DATA :: struct { | |
ulOffStart : DWORD, | |
cbProcSize : DWORD, | |
cdwLocals : DWORD, | |
cdwParams : WORD, | |
using _ : bit_field { | |
cbProlog : 8, | |
cbRegs : 3, | |
fHasSEH : 1, | |
fUseBP : 1, | |
reserved : 1, | |
cbFrame : 2, | |
}, | |
}; | |
PFPO_DATA :: ^FPO_DATA; | |
IMAGE_DEBUG_MISC :: struct { | |
DataType : DWORD, | |
Length : DWORD, | |
Unicode : BOOLEAN, | |
Reserved : [3]BYTE, | |
Data : [1]BYTE, | |
}; | |
PIMAGE_DEBUG_MISC :: ^IMAGE_DEBUG_MISC; | |
IMAGE_FUNCTION_ENTRY :: struct { | |
StartingAddress : DWORD, | |
EndingAddress : DWORD, | |
EndOfPrologue : DWORD, | |
}; | |
PIMAGE_FUNCTION_ENTRY :: ^IMAGE_FUNCTION_ENTRY; | |
IMAGE_FUNCTION_ENTRY64 :: struct { | |
StartingAddress : ULONGLONG, | |
EndingAddress : ULONGLONG, | |
u : struct #raw_union { | |
EndOfPrologue : ULONGLONG, | |
UnwindInfoAddress : ULONGLONG, | |
}, | |
}; | |
PIMAGE_FUNCTION_ENTRY64 :: ^IMAGE_FUNCTION_ENTRY64; | |
IMAGE_SEPARATE_DEBUG_HEADER :: struct { | |
Signature : WORD, | |
Flags : WORD, | |
Machine : WORD, | |
Characteristics : WORD, | |
TimeDateStamp : DWORD, | |
CheckSum : DWORD, | |
ImageBase : DWORD, | |
SizeOfImage : DWORD, | |
NumberOfSections : DWORD, | |
ExportedNamesSize : DWORD, | |
DebugDirectorySize : DWORD, | |
SectionAlignment : DWORD, | |
Reserved : [2]DWORD, | |
}; | |
PIMAGE_SEPARATE_DEBUG_HEADER :: ^IMAGE_SEPARATE_DEBUG_HEADER; | |
NON_PAGED_DEBUG_INFO :: struct { | |
Signature : WORD, | |
Flags : WORD, | |
Size : DWORD, | |
Machine : WORD, | |
Characteristics : WORD, | |
TimeDateStamp : DWORD, | |
CheckSum : DWORD, | |
SizeOfImage : DWORD, | |
ImageBase : ULONGLONG, | |
}; | |
PNON_PAGED_DEBUG_INFO :: ^NON_PAGED_DEBUG_INFO; | |
IMAGE_ARCHITECTURE_HEADER :: struct { | |
using _ : bit_field { | |
AmaskValue : 1, | |
_ : 7, | |
AmaskShift : 8, | |
_ : 16, | |
}, | |
FirstEntryRVA : DWORD, | |
}; | |
PIMAGE_ARCHITECTURE_HEADER :: ^IMAGE_ARCHITECTURE_HEADER; | |
IMAGE_ARCHITECTURE_ENTRY :: struct { | |
FixupInstRVA : DWORD, | |
NewInst : DWORD, | |
}; | |
PIMAGE_ARCHITECTURE_ENTRY :: ^IMAGE_ARCHITECTURE_ENTRY; | |
IMPORT_OBJECT_HEADER :: struct { | |
Sig1 : WORD, | |
Sig2 : WORD, | |
Version : WORD, | |
Machine : WORD, | |
TimeDateStamp : DWORD, | |
SizeOfData : DWORD, | |
u : struct #raw_union { | |
Ordinal : WORD, | |
Hint : WORD, | |
}, | |
using _ : bit_field { | |
Type : 2, | |
NameType : 3, | |
Reserved : 11, | |
}, | |
}; | |
/* IMPORT_OBJECT_TYPE :: enum { */ | |
IMPORT_OBJECT_TYPE :: _c.int; | |
IMPORT_OBJECT_CODE :: 0; | |
IMPORT_OBJECT_DATA :: 1; | |
IMPORT_OBJECT_CONST :: 2; | |
/* } */ | |
; | |
/* IMPORT_OBJECT_NAME_TYPE :: enum { */ | |
IMPORT_OBJECT_NAME_TYPE :: _c.int; | |
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 { */ | |
ReplacesCorHdrNumericDefines :: _c.int; | |
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 : DWORD, | |
MajorRuntimeVersion : WORD, | |
MinorRuntimeVersion : WORD, | |
MetaData : IMAGE_DATA_DIRECTORY, | |
Flags : DWORD, | |
u : struct #raw_union { | |
EntryPointToken : DWORD, | |
EntryPointRVA : DWORD, | |
}, | |
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 :: ^IMAGE_COR20_HEADER; | |
SLIST_ENTRY :: struct { | |
Next : ^SLIST_ENTRY, | |
}; | |
PSLIST_ENTRY :: ^SLIST_ENTRY; | |
SLIST_HEADER :: struct #raw_union { | |
s : struct { | |
Alignment : ULONGLONG, | |
Region : ULONGLONG, | |
}, | |
HeaderX64 : bit_field { | |
Depth : 16, | |
Sequence : 48, | |
Reserved : 4, | |
NextEntry : 60, | |
}, | |
}; | |
PSLIST_HEADER :: ^SLIST_HEADER; | |
RTL_RUN_ONCE :: struct #raw_union { | |
Ptr : PVOID, | |
}; | |
PRTL_RUN_ONCE :: ^RTL_RUN_ONCE; | |
RTL_BARRIER :: struct { | |
Reserved1 : DWORD, | |
Reserved2 : DWORD, | |
Reserved3 : [2]ULONG_PTR, | |
Reserved4 : DWORD, | |
Reserved5 : DWORD, | |
}; | |
PRTL_BARRIER :: ^RTL_BARRIER; | |
MESSAGE_RESOURCE_ENTRY :: struct { | |
Length : WORD, | |
Flags : WORD, | |
Text : [1]BYTE, | |
}; | |
PMESSAGE_RESOURCE_ENTRY :: ^MESSAGE_RESOURCE_ENTRY; | |
MESSAGE_RESOURCE_BLOCK :: struct { | |
LowId : DWORD, | |
HighId : DWORD, | |
OffsetToEntries : DWORD, | |
}; | |
PMESSAGE_RESOURCE_BLOCK :: ^MESSAGE_RESOURCE_BLOCK; | |
MESSAGE_RESOURCE_DATA :: struct { | |
NumberOfBlocks : DWORD, | |
Blocks : [1]MESSAGE_RESOURCE_BLOCK, | |
}; | |
PMESSAGE_RESOURCE_DATA :: ^MESSAGE_RESOURCE_DATA; | |
OSVERSIONINFOA :: struct { | |
dwOSVersionInfoSize : DWORD, | |
dwMajorVersion : DWORD, | |
dwMinorVersion : DWORD, | |
dwBuildNumber : DWORD, | |
dwPlatformId : DWORD, | |
szCSDVersion : [128]CHAR, | |
}; | |
POSVERSIONINFOA :: ^OSVERSIONINFOA; | |
LPOSVERSIONINFOA :: ^OSVERSIONINFOA; | |
OSVERSIONINFOW :: struct { | |
dwOSVersionInfoSize : DWORD, | |
dwMajorVersion : DWORD, | |
dwMinorVersion : DWORD, | |
dwBuildNumber : DWORD, | |
dwPlatformId : DWORD, | |
szCSDVersion : [128]WCHAR, | |
}; | |
POSVERSIONINFOW :: ^OSVERSIONINFOW; | |
LPOSVERSIONINFOW :: ^OSVERSIONINFOW; | |
RTL_OSVERSIONINFOW :: struct { | |
dwOSVersionInfoSize : DWORD, | |
dwMajorVersion : DWORD, | |
dwMinorVersion : DWORD, | |
dwBuildNumber : DWORD, | |
dwPlatformId : DWORD, | |
szCSDVersion : [128]WCHAR, | |
}; | |
PRTL_OSVERSIONINFOW :: ^RTL_OSVERSIONINFOW; | |
OSVERSIONINFO :: OSVERSIONINFOA; | |
POSVERSIONINFO :: POSVERSIONINFOA; | |
LPOSVERSIONINFO :: LPOSVERSIONINFOA; | |
OSVERSIONINFOEXA :: struct { | |
dwOSVersionInfoSize : DWORD, | |
dwMajorVersion : DWORD, | |
dwMinorVersion : DWORD, | |
dwBuildNumber : DWORD, | |
dwPlatformId : DWORD, | |
szCSDVersion : [128]CHAR, | |
wServicePackMajor : WORD, | |
wServicePackMinor : WORD, | |
wSuiteMask : WORD, | |
wProductType : BYTE, | |
wReserved : BYTE, | |
}; | |
POSVERSIONINFOEXA :: ^OSVERSIONINFOEXA; | |
LPOSVERSIONINFOEXA :: ^OSVERSIONINFOEXA; | |
OSVERSIONINFOEXW :: struct { | |
dwOSVersionInfoSize : DWORD, | |
dwMajorVersion : DWORD, | |
dwMinorVersion : DWORD, | |
dwBuildNumber : DWORD, | |
dwPlatformId : DWORD, | |
szCSDVersion : [128]WCHAR, | |
wServicePackMajor : WORD, | |
wServicePackMinor : WORD, | |
wSuiteMask : WORD, | |
wProductType : BYTE, | |
wReserved : BYTE, | |
}; | |
POSVERSIONINFOEXW :: ^OSVERSIONINFOEXW; | |
LPOSVERSIONINFOEXW :: ^OSVERSIONINFOEXW; | |
RTL_OSVERSIONINFOEXW :: struct { | |
dwOSVersionInfoSize : DWORD, | |
dwMajorVersion : DWORD, | |
dwMinorVersion : DWORD, | |
dwBuildNumber : DWORD, | |
dwPlatformId : DWORD, | |
szCSDVersion : [128]WCHAR, | |
wServicePackMajor : WORD, | |
wServicePackMinor : WORD, | |
wSuiteMask : WORD, | |
wProductType : BYTE, | |
wReserved : BYTE, | |
}; | |
PRTL_OSVERSIONINFOEXW :: ^RTL_OSVERSIONINFOEXW; | |
OSVERSIONINFOEX :: OSVERSIONINFOEXA; | |
POSVERSIONINFOEX :: POSVERSIONINFOEXA; | |
LPOSVERSIONINFOEX :: LPOSVERSIONINFOEXA; | |
/* RTL_UMS_THREAD_INFO_CLASS :: enum { */ | |
RTL_UMS_THREAD_INFO_CLASS :: _c.int; | |
UmsThreadInvalidInfoClass :: 0; | |
UmsThreadUserContext :: UmsThreadInvalidInfoClass + 1; | |
UmsThreadPriority :: UmsThreadUserContext + 1; | |
UmsThreadAffinity :: UmsThreadPriority + 1; | |
UmsThreadTeb :: UmsThreadAffinity + 1; | |
UmsThreadIsSuspended :: UmsThreadTeb + 1; | |
UmsThreadIsTerminated :: UmsThreadIsSuspended + 1; | |
UmsThreadMaxInfoClass :: UmsThreadIsTerminated + 1; | |
/* } */ | |
PRTL_UMS_THREAD_INFO_CLASS :: ^RTL_UMS_THREAD_INFO_CLASS; | |
/* RTL_UMS_SCHEDULER_REASON :: enum { */ | |
RTL_UMS_SCHEDULER_REASON :: _c.int; | |
UmsSchedulerStartup :: 0; | |
UmsSchedulerThreadBlocked :: UmsSchedulerStartup + 1; | |
UmsSchedulerThreadYield :: UmsSchedulerThreadBlocked + 1; | |
/* } */ | |
PRTL_UMS_SCHEDULER_REASON :: ^RTL_UMS_SCHEDULER_REASON; | |
RTL_UMS_SCHEDULER_ENTRY_POINT :: #type proc "stdcall" (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_DEPLOYEMENT_STATE_VALUES :: _c.int; | |
OS_DEPLOYMENT_STANDARD :: 1; | |
OS_DEPLOYMENT_COMPACT :: OS_DEPLOYMENT_STANDARD + 1; | |
/* } */ | |
; | |
NV_MEMORY_RANGE :: struct { | |
BaseAddress : rawptr, | |
Length : SIZE_T, | |
}; | |
PNV_MEMORY_RANGE :: ^NV_MEMORY_RANGE; | |
CORRELATION_VECTOR :: struct { | |
Version : CHAR, | |
Vector : [129]CHAR, | |
}; | |
PCORRELATION_VECTOR :: ^CORRELATION_VECTOR; | |
CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG :: struct { | |
Size : DWORD, | |
TriggerId : PCWSTR, | |
}; | |
PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG :: ^CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG; | |
/* IMAGE_POLICY_ENTRY_TYPE :: enum { */ | |
IMAGE_POLICY_ENTRY_TYPE :: _c.int; | |
ImagePolicyEntryTypeNone :: 0; | |
ImagePolicyEntryTypeBool :: ImagePolicyEntryTypeNone + 1; | |
ImagePolicyEntryTypeInt8 :: ImagePolicyEntryTypeBool + 1; | |
ImagePolicyEntryTypeUInt8 :: ImagePolicyEntryTypeInt8 + 1; | |
ImagePolicyEntryTypeInt16 :: ImagePolicyEntryTypeUInt8 + 1; | |
ImagePolicyEntryTypeUInt16 :: ImagePolicyEntryTypeInt16 + 1; | |
ImagePolicyEntryTypeInt32 :: ImagePolicyEntryTypeUInt16 + 1; | |
ImagePolicyEntryTypeUInt32 :: ImagePolicyEntryTypeInt32 + 1; | |
ImagePolicyEntryTypeInt64 :: ImagePolicyEntryTypeUInt32 + 1; | |
ImagePolicyEntryTypeUInt64 :: ImagePolicyEntryTypeInt64 + 1; | |
ImagePolicyEntryTypeAnsiString :: ImagePolicyEntryTypeUInt64 + 1; | |
ImagePolicyEntryTypeUnicodeString :: ImagePolicyEntryTypeAnsiString + 1; | |
ImagePolicyEntryTypeOverride :: ImagePolicyEntryTypeUnicodeString + 1; | |
ImagePolicyEntryTypeMaximum :: ImagePolicyEntryTypeOverride + 1; | |
/* } */ | |
; | |
/* IMAGE_POLICY_ID :: enum { */ | |
IMAGE_POLICY_ID :: _c.int; | |
ImagePolicyIdNone :: 0; | |
ImagePolicyIdEtw :: ImagePolicyIdNone + 1; | |
ImagePolicyIdDebug :: ImagePolicyIdEtw + 1; | |
ImagePolicyIdCrashDump :: ImagePolicyIdDebug + 1; | |
ImagePolicyIdCrashDumpKey :: ImagePolicyIdCrashDump + 1; | |
ImagePolicyIdCrashDumpKeyGuid :: ImagePolicyIdCrashDumpKey + 1; | |
ImagePolicyIdParentSd :: ImagePolicyIdCrashDumpKeyGuid + 1; | |
ImagePolicyIdParentSdRev :: ImagePolicyIdParentSd + 1; | |
ImagePolicyIdSvn :: ImagePolicyIdParentSdRev + 1; | |
ImagePolicyIdDeviceId :: ImagePolicyIdSvn + 1; | |
ImagePolicyIdCapability :: ImagePolicyIdDeviceId + 1; | |
ImagePolicyIdScenarioId :: ImagePolicyIdCapability + 1; | |
ImagePolicyIdMaximum :: ImagePolicyIdScenarioId + 1; | |
/* } */ | |
; | |
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 : WORD, | |
CreatorBackTraceIndex : WORD, | |
CriticalSection : ^RTL_CRITICAL_SECTION, | |
ProcessLocksList : LIST_ENTRY, | |
EntryCount : DWORD, | |
ContentionCount : DWORD, | |
Flags : DWORD, | |
CreatorBackTraceIndexHigh : WORD, | |
SpareWORD : WORD, | |
}; | |
PRTL_CRITICAL_SECTION_DEBUG :: ^RTL_CRITICAL_SECTION_DEBUG; | |
RTL_RESOURCE_DEBUG :: struct { | |
Type : WORD, | |
CreatorBackTraceIndex : WORD, | |
CriticalSection : ^RTL_CRITICAL_SECTION, | |
ProcessLocksList : LIST_ENTRY, | |
EntryCount : DWORD, | |
ContentionCount : DWORD, | |
Flags : DWORD, | |
CreatorBackTraceIndexHigh : WORD, | |
SpareWORD : WORD, | |
}; | |
PRTL_RESOURCE_DEBUG :: ^RTL_RESOURCE_DEBUG; | |
RTL_CRITICAL_SECTION :: struct { | |
DebugInfo : PRTL_CRITICAL_SECTION_DEBUG, | |
LockCount : LONG, | |
RecursionCount : LONG, | |
OwningThread : HANDLE, | |
LockSemaphore : HANDLE, | |
SpinCount : ULONG_PTR, | |
}; | |
PRTL_CRITICAL_SECTION :: ^RTL_CRITICAL_SECTION; | |
RTL_SRWLOCK :: struct { | |
Ptr : PVOID, | |
}; | |
PRTL_SRWLOCK :: ^RTL_SRWLOCK; | |
RTL_CONDITION_VARIABLE :: struct { | |
Ptr : PVOID, | |
}; | |
PRTL_CONDITION_VARIABLE :: ^RTL_CONDITION_VARIABLE; | |
PAPCFUNC :: proc "stdcall" (Parameter : ULONG_PTR); | |
PVECTORED_EXCEPTION_HANDLER :: (proc "stdcall" (ExceptionInfo : ^EXCEPTION_POINTERS) -> LONG); | |
/* HEAP_INFORMATION_CLASS :: enum { */ | |
HEAP_INFORMATION_CLASS :: _c.int; | |
HeapCompatibilityInformation :: 0; | |
HeapEnableTerminationOnCorruption :: 1; | |
HeapOptimizeResources :: 3; | |
/* } */ | |
; | |
HEAP_OPTIMIZE_RESOURCES_INFORMATION :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
}; | |
PHEAP_OPTIMIZE_RESOURCES_INFORMATION :: ^HEAP_OPTIMIZE_RESOURCES_INFORMATION; | |
WAITORTIMERCALLBACKFUNC :: proc "stdcall" (PVOID, BOOLEAN); | |
WORKERCALLBACKFUNC :: proc "stdcall" (PVOID); | |
APC_CALLBACK_FUNCTION :: proc "stdcall" (DWORD, PVOID, PVOID); | |
WAITORTIMERCALLBACK :: WAITORTIMERCALLBACKFUNC; | |
PFLS_CALLBACK_FUNCTION :: proc "stdcall" (lpFlsData : PVOID); | |
PSECURE_MEMORY_CACHE_CALLBACK :: (proc "stdcall" (Addr : PVOID, Range : SIZE_T) -> BOOLEAN); | |
/* ACTIVATION_CONTEXT_INFO_CLASS :: enum { */ | |
ACTIVATION_CONTEXT_INFO_CLASS :: _c.int; | |
ActivationContextBasicInformation :: 1; | |
ActivationContextDetailedInformation :: 2; | |
AssemblyDetailedInformationInActivationContext :: 3; | |
FileInformationInAssemblyOfAssemblyInActivationContext :: 4; | |
RunlevelInformationInActivationContext :: 5; | |
CompatibilityInformationInActivationContext :: 6; | |
ActivationContextManifestResourceName :: 7; | |
MaxActivationContextInfoClass :: ActivationContextManifestResourceName + 1; | |
AssemblyDetailedInformationInActivationContxt :: 3; | |
FileInformationInAssemblyOfAssemblyInActivationContxt :: 4; | |
/* } */ | |
; | |
ACTIVATION_CONTEXT_QUERY_INDEX :: struct { | |
ulAssemblyIndex : DWORD, | |
ulFileIndexInAssembly : DWORD, | |
}; | |
PACTIVATION_CONTEXT_QUERY_INDEX :: ^ACTIVATION_CONTEXT_QUERY_INDEX; | |
PCACTIVATION_CONTEXT_QUERY_INDEX :: ^ACTIVATION_CONTEXT_QUERY_INDEX; | |
ASSEMBLY_FILE_DETAILED_INFORMATION :: struct { | |
ulFlags : DWORD, | |
ulFilenameLength : DWORD, | |
ulPathLength : DWORD, | |
lpFileName : PCWSTR, | |
lpFilePath : PCWSTR, | |
}; | |
PASSEMBLY_FILE_DETAILED_INFORMATION :: ^ASSEMBLY_FILE_DETAILED_INFORMATION; | |
PCASSEMBLY_FILE_DETAILED_INFORMATION :: ^ASSEMBLY_FILE_DETAILED_INFORMATION; | |
ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION :: struct { | |
ulFlags : DWORD, | |
ulEncodedAssemblyIdentityLength : DWORD, | |
ulManifestPathType : DWORD, | |
ulManifestPathLength : DWORD, | |
liManifestLastWriteTime : LARGE_INTEGER, | |
ulPolicyPathType : DWORD, | |
ulPolicyPathLength : DWORD, | |
liPolicyLastWriteTime : LARGE_INTEGER, | |
ulMetadataSatelliteRosterIndex : DWORD, | |
ulManifestVersionMajor : DWORD, | |
ulManifestVersionMinor : DWORD, | |
ulPolicyVersionMajor : DWORD, | |
ulPolicyVersionMinor : DWORD, | |
ulAssemblyDirectoryNameLength : DWORD, | |
lpAssemblyEncodedAssemblyIdentity : PCWSTR, | |
lpAssemblyManifestPath : PCWSTR, | |
lpAssemblyPolicyPath : PCWSTR, | |
lpAssemblyDirectoryName : PCWSTR, | |
ulFileCount : DWORD, | |
}; | |
PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION :: ^ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; | |
PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION :: ^ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; | |
/* ACTCTX_REQUESTED_RUN_LEVEL :: enum { */ | |
ACTCTX_REQUESTED_RUN_LEVEL :: _c.int; | |
ACTCTX_RUN_LEVEL_UNSPECIFIED :: 0; | |
ACTCTX_RUN_LEVEL_AS_INVOKER :: ACTCTX_RUN_LEVEL_UNSPECIFIED + 1; | |
ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE :: ACTCTX_RUN_LEVEL_AS_INVOKER + 1; | |
ACTCTX_RUN_LEVEL_REQUIRE_ADMIN :: ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE + 1; | |
ACTCTX_RUN_LEVEL_NUMBERS :: ACTCTX_RUN_LEVEL_REQUIRE_ADMIN + 1; | |
/* } */ | |
; | |
ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION :: struct { | |
ulFlags : DWORD, | |
RunLevel : ACTCTX_REQUESTED_RUN_LEVEL, | |
UiAccess : DWORD, | |
}; | |
PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION :: ^ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; | |
PCACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION :: ^ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; | |
/* ACTCTX_COMPATIBILITY_ELEMENT_TYPE :: enum { */ | |
ACTCTX_COMPATIBILITY_ELEMENT_TYPE :: _c.int; | |
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN :: 0; | |
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS :: ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN + 1; | |
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION :: ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS + 1; | |
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MAXVERSIONTESTED :: ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION + 1; | |
/* } */ | |
; | |
COMPATIBILITY_CONTEXT_ELEMENT :: struct { | |
Id : GUID, | |
Type : ACTCTX_COMPATIBILITY_ELEMENT_TYPE, | |
MaxVersionTested : ULONGLONG, | |
}; | |
PCOMPATIBILITY_CONTEXT_ELEMENT :: ^COMPATIBILITY_CONTEXT_ELEMENT; | |
PCCOMPATIBILITY_CONTEXT_ELEMENT :: ^COMPATIBILITY_CONTEXT_ELEMENT; | |
SUPPORTED_OS_INFO :: struct { | |
MajorVersion : WORD, | |
MinorVersion : WORD, | |
}; | |
PSUPPORTED_OS_INFO :: ^SUPPORTED_OS_INFO; | |
MAXVERSIONTESTED_INFO :: struct { | |
MaxVersionTested : ULONGLONG, | |
}; | |
PMAXVERSIONTESTED_INFO :: ^MAXVERSIONTESTED_INFO; | |
ACTIVATION_CONTEXT_DETAILED_INFORMATION :: struct { | |
dwFlags : DWORD, | |
ulFormatVersion : DWORD, | |
ulAssemblyCount : DWORD, | |
ulRootManifestPathType : DWORD, | |
ulRootManifestPathChars : DWORD, | |
ulRootConfigurationPathType : DWORD, | |
ulRootConfigurationPathChars : DWORD, | |
ulAppDirPathType : DWORD, | |
ulAppDirPathChars : DWORD, | |
lpRootManifestPath : PCWSTR, | |
lpRootConfigurationPath : PCWSTR, | |
lpAppDirPath : PCWSTR, | |
}; | |
PACTIVATION_CONTEXT_DETAILED_INFORMATION :: ^ACTIVATION_CONTEXT_DETAILED_INFORMATION; | |
PCACTIVATION_CONTEXT_DETAILED_INFORMATION :: ^ACTIVATION_CONTEXT_DETAILED_INFORMATION; | |
HARDWARE_COUNTER_DATA :: struct { | |
Type : HARDWARE_COUNTER_TYPE, | |
Reserved : DWORD, | |
Value : DWORD64, | |
}; | |
PHARDWARE_COUNTER_DATA :: ^HARDWARE_COUNTER_DATA; | |
PERFORMANCE_DATA :: struct { | |
Size : WORD, | |
Version : BYTE, | |
HwCountersCount : BYTE, | |
ContextSwitchCount : DWORD, | |
WaitReasonBitMap : DWORD64, | |
CycleTime : DWORD64, | |
RetryCount : DWORD, | |
Reserved : DWORD, | |
HwCounters : [16]HARDWARE_COUNTER_DATA, | |
}; | |
PPERFORMANCE_DATA :: ^PERFORMANCE_DATA; | |
EVENTLOGRECORD :: struct { | |
Length : DWORD, | |
Reserved : DWORD, | |
RecordNumber : DWORD, | |
TimeGenerated : DWORD, | |
TimeWritten : DWORD, | |
EventID : DWORD, | |
EventType : WORD, | |
NumStrings : WORD, | |
EventCategory : WORD, | |
ReservedFlags : WORD, | |
ClosingRecordNumber : DWORD, | |
StringOffset : DWORD, | |
UserSidLength : DWORD, | |
UserSidOffset : DWORD, | |
DataLength : DWORD, | |
DataOffset : DWORD, | |
}; | |
PEVENTLOGRECORD :: ^EVENTLOGRECORD; | |
EVENTSFORLOGFILE :: struct {}; | |
PEVENTSFORLOGFILE :: ^EVENTSFORLOGFILE; | |
PACKEDEVENTINFO :: struct {}; | |
PPACKEDEVENTINFO :: ^PACKEDEVENTINFO; | |
/* SERVICE_NODE_TYPE :: enum { */ | |
SERVICE_NODE_TYPE :: _c.int; | |
DriverType :: 0x00000001; | |
FileSystemType :: 0x00000002; | |
Win32ServiceOwnProcess :: 0x00000010; | |
Win32ServiceShareProcess :: 0x00000020; | |
AdapterType :: 0x00000004; | |
RecognizerType :: 0x00000008; | |
/* } */ | |
; | |
/* SERVICE_LOAD_TYPE :: enum { */ | |
SERVICE_LOAD_TYPE :: _c.int; | |
BootLoad :: 0x00000000; | |
SystemLoad :: 0x00000001; | |
AutoLoad :: 0x00000002; | |
DemandLoad :: 0x00000003; | |
DisableLoad :: 0x00000004; | |
/* } */ | |
; | |
/* SERVICE_ERROR_TYPE :: enum { */ | |
SERVICE_ERROR_TYPE :: _c.int; | |
IgnoreError :: 0x00000000; | |
NormalError :: 0x00000001; | |
SevereError :: 0x00000002; | |
CriticalError :: 0x00000003; | |
/* } */ | |
; | |
TAPE_ERASE :: struct { | |
Type : DWORD, | |
Immediate : BOOLEAN, | |
}; | |
PTAPE_ERASE :: ^TAPE_ERASE; | |
TAPE_PREPARE :: struct { | |
Operation : DWORD, | |
Immediate : BOOLEAN, | |
}; | |
PTAPE_PREPARE :: ^TAPE_PREPARE; | |
TAPE_WRITE_MARKS :: struct { | |
Type : DWORD, | |
Count : DWORD, | |
Immediate : BOOLEAN, | |
}; | |
PTAPE_WRITE_MARKS :: ^TAPE_WRITE_MARKS; | |
TAPE_GET_POSITION :: struct { | |
Type : DWORD, | |
Partition : DWORD, | |
Offset : LARGE_INTEGER, | |
}; | |
PTAPE_GET_POSITION :: ^TAPE_GET_POSITION; | |
TAPE_SET_POSITION :: struct { | |
Method : DWORD, | |
Partition : DWORD, | |
Offset : LARGE_INTEGER, | |
Immediate : BOOLEAN, | |
}; | |
PTAPE_SET_POSITION :: ^TAPE_SET_POSITION; | |
TAPE_GET_DRIVE_PARAMETERS :: struct { | |
ECC : BOOLEAN, | |
Compression : BOOLEAN, | |
DataPadding : BOOLEAN, | |
ReportSetmarks : BOOLEAN, | |
DefaultBlockSize : DWORD, | |
MaximumBlockSize : DWORD, | |
MinimumBlockSize : DWORD, | |
MaximumPartitionCount : DWORD, | |
FeaturesLow : DWORD, | |
FeaturesHigh : DWORD, | |
EOTWarningZoneSize : DWORD, | |
}; | |
PTAPE_GET_DRIVE_PARAMETERS :: ^TAPE_GET_DRIVE_PARAMETERS; | |
TAPE_SET_DRIVE_PARAMETERS :: struct { | |
ECC : BOOLEAN, | |
Compression : BOOLEAN, | |
DataPadding : BOOLEAN, | |
ReportSetmarks : BOOLEAN, | |
EOTWarningZoneSize : DWORD, | |
}; | |
PTAPE_SET_DRIVE_PARAMETERS :: ^TAPE_SET_DRIVE_PARAMETERS; | |
TAPE_GET_MEDIA_PARAMETERS :: struct { | |
Capacity : LARGE_INTEGER, | |
Remaining : LARGE_INTEGER, | |
BlockSize : DWORD, | |
PartitionCount : DWORD, | |
WriteProtected : BOOLEAN, | |
}; | |
PTAPE_GET_MEDIA_PARAMETERS :: ^TAPE_GET_MEDIA_PARAMETERS; | |
TAPE_SET_MEDIA_PARAMETERS :: struct { | |
BlockSize : DWORD, | |
}; | |
PTAPE_SET_MEDIA_PARAMETERS :: ^TAPE_SET_MEDIA_PARAMETERS; | |
TAPE_CREATE_PARTITION :: struct { | |
Method : DWORD, | |
Count : DWORD, | |
Size : DWORD, | |
}; | |
PTAPE_CREATE_PARTITION :: ^TAPE_CREATE_PARTITION; | |
TAPE_WMI_OPERATIONS :: struct { | |
Method : DWORD, | |
DataBufferSize : DWORD, | |
DataBuffer : PVOID, | |
}; | |
PTAPE_WMI_OPERATIONS :: ^TAPE_WMI_OPERATIONS; | |
/* TAPE_DRIVE_PROBLEM_TYPE :: enum { */ | |
TAPE_DRIVE_PROBLEM_TYPE :: _c.int; | |
TapeDriveProblemNone :: 0; | |
TapeDriveReadWriteWarning :: TapeDriveProblemNone + 1; | |
TapeDriveReadWriteError :: TapeDriveReadWriteWarning + 1; | |
TapeDriveReadWarning :: TapeDriveReadWriteError + 1; | |
TapeDriveWriteWarning :: TapeDriveReadWarning + 1; | |
TapeDriveReadError :: TapeDriveWriteWarning + 1; | |
TapeDriveWriteError :: TapeDriveReadError + 1; | |
TapeDriveHardwareError :: TapeDriveWriteError + 1; | |
TapeDriveUnsupportedMedia :: TapeDriveHardwareError + 1; | |
TapeDriveScsiConnectionError :: TapeDriveUnsupportedMedia + 1; | |
TapeDriveTimetoClean :: TapeDriveScsiConnectionError + 1; | |
TapeDriveCleanDriveNow :: TapeDriveTimetoClean + 1; | |
TapeDriveMediaLifeExpired :: TapeDriveCleanDriveNow + 1; | |
TapeDriveSnappedTape :: TapeDriveMediaLifeExpired + 1; | |
/* } */ | |
; | |
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 :: ^TRANSACTION_NOTIFICATION; | |
TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT :: struct { | |
EnlistmentId : GUID, | |
UOW : UOW, | |
}; | |
PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT :: ^TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT; | |
TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT :: struct { | |
TmIdentity : GUID, | |
Flags : ULONG, | |
}; | |
PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT :: ^TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT; | |
SAVEPOINT_ID :: ULONG; | |
PSAVEPOINT_ID :: ^ULONG; | |
TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT :: struct { | |
SavepointId : SAVEPOINT_ID, | |
}; | |
PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT :: ^TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT; | |
TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT :: struct { | |
PropagationCookie : ULONG, | |
UOW : GUID, | |
TmIdentity : GUID, | |
BufferLength : ULONG, | |
}; | |
PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT :: ^TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; | |
TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT :: struct { | |
MarshalCookie : ULONG, | |
UOW : GUID, | |
}; | |
PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT :: ^TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT; | |
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 :: ^KCRM_MARSHAL_HEADER; | |
PRKCRM_MARSHAL_HEADER :: ^KCRM_MARSHAL_HEADER; | |
KCRM_TRANSACTION_BLOB :: struct { | |
UOW : UOW, | |
TmIdentity : GUID, | |
IsolationLevel : ULONG, | |
IsolationFlags : ULONG, | |
Timeout : ULONG, | |
Description : [64]WCHAR, | |
}; | |
PKCRM_TRANSACTION_BLOB :: ^KCRM_TRANSACTION_BLOB; | |
PRKCRM_TRANSACTION_BLOB :: ^KCRM_TRANSACTION_BLOB; | |
KCRM_PROTOCOL_BLOB :: struct { | |
ProtocolId : CRM_PROTOCOL_ID, | |
StaticInfoLength : ULONG, | |
TransactionIdInfoLength : ULONG, | |
Unused1 : ULONG, | |
Unused2 : ULONG, | |
}; | |
PKCRM_PROTOCOL_BLOB :: ^KCRM_PROTOCOL_BLOB; | |
PRKCRM_PROTOCOL_BLOB :: ^KCRM_PROTOCOL_BLOB; | |
/* TRANSACTION_OUTCOME :: enum { */ | |
TRANSACTION_OUTCOME :: _c.int; | |
TransactionOutcomeUndetermined :: 1; | |
TransactionOutcomeCommitted :: TransactionOutcomeUndetermined + 1; | |
TransactionOutcomeAborted :: TransactionOutcomeCommitted + 1; | |
/* } */ | |
; | |
/* TRANSACTION_STATE :: enum { */ | |
TRANSACTION_STATE :: _c.int; | |
TransactionStateNormal :: 1; | |
TransactionStateIndoubt :: TransactionStateNormal + 1; | |
TransactionStateCommittedNotify :: TransactionStateIndoubt + 1; | |
/* } */ | |
; | |
TRANSACTION_BASIC_INFORMATION :: struct { | |
TransactionId : GUID, | |
State : DWORD, | |
Outcome : DWORD, | |
}; | |
PTRANSACTION_BASIC_INFORMATION :: ^TRANSACTION_BASIC_INFORMATION; | |
TRANSACTIONMANAGER_BASIC_INFORMATION :: struct { | |
TmIdentity : GUID, | |
VirtualClock : LARGE_INTEGER, | |
}; | |
PTRANSACTIONMANAGER_BASIC_INFORMATION :: ^TRANSACTIONMANAGER_BASIC_INFORMATION; | |
TRANSACTIONMANAGER_LOG_INFORMATION :: struct { | |
LogIdentity : GUID, | |
}; | |
PTRANSACTIONMANAGER_LOG_INFORMATION :: ^TRANSACTIONMANAGER_LOG_INFORMATION; | |
TRANSACTIONMANAGER_LOGPATH_INFORMATION :: struct { | |
LogPathLength : DWORD, | |
LogPath : [1]WCHAR, | |
}; | |
PTRANSACTIONMANAGER_LOGPATH_INFORMATION :: ^TRANSACTIONMANAGER_LOGPATH_INFORMATION; | |
TRANSACTIONMANAGER_RECOVERY_INFORMATION :: struct { | |
LastRecoveredLsn : ULONGLONG, | |
}; | |
PTRANSACTIONMANAGER_RECOVERY_INFORMATION :: ^TRANSACTIONMANAGER_RECOVERY_INFORMATION; | |
TRANSACTIONMANAGER_OLDEST_INFORMATION :: struct { | |
OldestTransactionGuid : GUID, | |
}; | |
PTRANSACTIONMANAGER_OLDEST_INFORMATION :: ^TRANSACTIONMANAGER_OLDEST_INFORMATION; | |
TRANSACTION_PROPERTIES_INFORMATION :: struct { | |
IsolationLevel : DWORD, | |
IsolationFlags : DWORD, | |
Timeout : LARGE_INTEGER, | |
Outcome : DWORD, | |
DescriptionLength : DWORD, | |
Description : [1]WCHAR, | |
}; | |
PTRANSACTION_PROPERTIES_INFORMATION :: ^TRANSACTION_PROPERTIES_INFORMATION; | |
TRANSACTION_BIND_INFORMATION :: struct { | |
TmHandle : HANDLE, | |
}; | |
PTRANSACTION_BIND_INFORMATION :: ^TRANSACTION_BIND_INFORMATION; | |
TRANSACTION_ENLISTMENT_PAIR :: struct { | |
EnlistmentId : GUID, | |
ResourceManagerId : GUID, | |
}; | |
PTRANSACTION_ENLISTMENT_PAIR :: ^TRANSACTION_ENLISTMENT_PAIR; | |
TRANSACTION_ENLISTMENTS_INFORMATION :: struct { | |
NumberOfEnlistments : DWORD, | |
EnlistmentPair : [1]TRANSACTION_ENLISTMENT_PAIR, | |
}; | |
PTRANSACTION_ENLISTMENTS_INFORMATION :: ^TRANSACTION_ENLISTMENTS_INFORMATION; | |
TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION :: struct { | |
SuperiorEnlistmentPair : TRANSACTION_ENLISTMENT_PAIR, | |
}; | |
PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION :: ^TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION; | |
RESOURCEMANAGER_BASIC_INFORMATION :: struct { | |
ResourceManagerId : GUID, | |
DescriptionLength : DWORD, | |
Description : [1]WCHAR, | |
}; | |
PRESOURCEMANAGER_BASIC_INFORMATION :: ^RESOURCEMANAGER_BASIC_INFORMATION; | |
RESOURCEMANAGER_COMPLETION_INFORMATION :: struct { | |
IoCompletionPortHandle : HANDLE, | |
CompletionKey : ULONG_PTR, | |
}; | |
PRESOURCEMANAGER_COMPLETION_INFORMATION :: ^RESOURCEMANAGER_COMPLETION_INFORMATION; | |
/* TRANSACTION_INFORMATION_CLASS :: enum { */ | |
TRANSACTION_INFORMATION_CLASS :: _c.int; | |
TransactionBasicInformation :: 0; | |
TransactionPropertiesInformation :: TransactionBasicInformation + 1; | |
TransactionEnlistmentInformation :: TransactionPropertiesInformation + 1; | |
TransactionSuperiorEnlistmentInformation :: TransactionEnlistmentInformation + 1; | |
TransactionBindInformation :: TransactionSuperiorEnlistmentInformation + 1; | |
TransactionDTCPrivateInformation :: TransactionBindInformation + 1; | |
/* } */ | |
; | |
/* TRANSACTIONMANAGER_INFORMATION_CLASS :: enum { */ | |
TRANSACTIONMANAGER_INFORMATION_CLASS :: _c.int; | |
TransactionManagerBasicInformation :: 0; | |
TransactionManagerLogInformation :: TransactionManagerBasicInformation + 1; | |
TransactionManagerLogPathInformation :: TransactionManagerLogInformation + 1; | |
TransactionManagerRecoveryInformation :: 4; | |
TransactionManagerOnlineProbeInformation :: 3; | |
TransactionManagerOldestTransactionInformation :: 5; | |
/* } */ | |
; | |
/* RESOURCEMANAGER_INFORMATION_CLASS :: enum { */ | |
RESOURCEMANAGER_INFORMATION_CLASS :: _c.int; | |
ResourceManagerBasicInformation :: 0; | |
ResourceManagerCompletionInformation :: ResourceManagerBasicInformation + 1; | |
/* } */ | |
; | |
ENLISTMENT_BASIC_INFORMATION :: struct { | |
EnlistmentId : GUID, | |
TransactionId : GUID, | |
ResourceManagerId : GUID, | |
}; | |
PENLISTMENT_BASIC_INFORMATION :: ^ENLISTMENT_BASIC_INFORMATION; | |
ENLISTMENT_CRM_INFORMATION :: struct { | |
CrmTransactionManagerId : GUID, | |
CrmResourceManagerId : GUID, | |
CrmEnlistmentId : GUID, | |
}; | |
PENLISTMENT_CRM_INFORMATION :: ^ENLISTMENT_CRM_INFORMATION; | |
/* ENLISTMENT_INFORMATION_CLASS :: enum { */ | |
ENLISTMENT_INFORMATION_CLASS :: _c.int; | |
EnlistmentBasicInformation :: 0; | |
EnlistmentRecoveryInformation :: EnlistmentBasicInformation + 1; | |
EnlistmentCrmInformation :: EnlistmentRecoveryInformation + 1; | |
/* } */ | |
; | |
TRANSACTION_LIST_ENTRY :: struct { | |
UOW : UOW, | |
}; | |
PTRANSACTION_LIST_ENTRY :: ^TRANSACTION_LIST_ENTRY; | |
TRANSACTION_LIST_INFORMATION :: struct { | |
NumberOfTransactions : DWORD, | |
TransactionInformation : [1]TRANSACTION_LIST_ENTRY, | |
}; | |
PTRANSACTION_LIST_INFORMATION :: ^TRANSACTION_LIST_INFORMATION; | |
/* KTMOBJECT_TYPE :: enum { */ | |
KTMOBJECT_TYPE :: _c.int; | |
KTMOBJECT_TRANSACTION :: 0; | |
KTMOBJECT_TRANSACTION_MANAGER :: KTMOBJECT_TRANSACTION + 1; | |
KTMOBJECT_RESOURCE_MANAGER :: KTMOBJECT_TRANSACTION_MANAGER + 1; | |
KTMOBJECT_ENLISTMENT :: KTMOBJECT_RESOURCE_MANAGER + 1; | |
KTMOBJECT_INVALID :: KTMOBJECT_ENLISTMENT + 1; | |
/* } */ | |
PKTMOBJECT_TYPE :: ^KTMOBJECT_TYPE; | |
KTMOBJECT_CURSOR :: struct { | |
LastQuery : GUID, | |
ObjectIdCount : DWORD, | |
ObjectIds : [1]GUID, | |
}; | |
PKTMOBJECT_CURSOR :: ^KTMOBJECT_CURSOR; | |
TP_VERSION :: DWORD; | |
PTP_VERSION :: ^DWORD; | |
TP_CALLBACK_INSTANCE :: struct {}; | |
PTP_CALLBACK_INSTANCE :: ^TP_CALLBACK_INSTANCE; | |
PTP_SIMPLE_CALLBACK :: proc "stdcall" (Instance : PTP_CALLBACK_INSTANCE, Context : PVOID); | |
TP_POOL :: struct {}; | |
PTP_POOL :: ^TP_POOL; | |
/* TP_CALLBACK_PRIORITY :: enum { */ | |
TP_CALLBACK_PRIORITY :: _c.int; | |
TP_CALLBACK_PRIORITY_HIGH :: 0; | |
TP_CALLBACK_PRIORITY_NORMAL :: TP_CALLBACK_PRIORITY_HIGH + 1; | |
TP_CALLBACK_PRIORITY_LOW :: TP_CALLBACK_PRIORITY_NORMAL + 1; | |
TP_CALLBACK_PRIORITY_INVALID :: TP_CALLBACK_PRIORITY_LOW + 1; | |
TP_CALLBACK_PRIORITY_COUNT :: TP_CALLBACK_PRIORITY_INVALID; | |
/* } */ | |
; | |
TP_POOL_STACK_INFORMATION :: struct { | |
StackReserve : SIZE_T, | |
StackCommit : SIZE_T, | |
}; | |
PTP_POOL_STACK_INFORMATION :: ^TP_POOL_STACK_INFORMATION; | |
TP_CLEANUP_GROUP :: struct {}; | |
PTP_CLEANUP_GROUP :: ^TP_CLEANUP_GROUP; | |
PTP_CLEANUP_GROUP_CANCEL_CALLBACK :: proc "stdcall" (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 : DWORD, | |
s : bit_field { | |
LongFunction : 1, | |
Persistent : 1, | |
Private : 30, | |
}, | |
}, | |
CallbackPriority : TP_CALLBACK_PRIORITY, | |
Size : DWORD, | |
}; | |
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 "stdcall" (Instance : PTP_CALLBACK_INSTANCE, Context : PVOID, Work : PTP_WORK); | |
TP_TIMER :: struct {}; | |
PTP_TIMER :: ^TP_TIMER; | |
PTP_TIMER_CALLBACK :: proc "stdcall" (Instance : PTP_CALLBACK_INSTANCE, Context : PVOID, Timer : PTP_TIMER); | |
TP_WAIT_RESULT :: DWORD; | |
TP_WAIT :: struct {}; | |
PTP_WAIT :: ^TP_WAIT; | |
PTP_WAIT_CALLBACK :: proc "stdcall" (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 "stdcall" () -> INT_PTR); | |
NEARPROC :: (proc "stdcall" () -> INT_PTR); | |
PROC :: (proc "stdcall" () -> INT_PTR); | |
ATOM :: WORD; | |
HKEY__ :: struct { | |
unused : _c.int, | |
}; | |
HKEY :: ^HKEY__; | |
PHKEY :: ^HKEY; | |
HMETAFILE__ :: struct { | |
unused : _c.int, | |
}; | |
HMETAFILE :: ^HMETAFILE__; | |
HINSTANCE__ :: struct { | |
unused : _c.int, | |
}; | |
HINSTANCE :: ^HINSTANCE__; | |
HMODULE :: HINSTANCE; | |
HRGN__ :: struct { | |
unused : _c.int, | |
}; | |
HRGN :: ^HRGN__; | |
HRSRC__ :: struct { | |
unused : _c.int, | |
}; | |
HRSRC :: ^HRSRC__; | |
HSPRITE__ :: struct { | |
unused : _c.int, | |
}; | |
HSPRITE :: ^HSPRITE__; | |
HLSURF__ :: struct { | |
unused : _c.int, | |
}; | |
HLSURF :: ^HLSURF__; | |
HSTR__ :: struct { | |
unused : _c.int, | |
}; | |
HSTR :: ^HSTR__; | |
HTASK__ :: struct { | |
unused : _c.int, | |
}; | |
HTASK :: ^HTASK__; | |
HWINSTA__ :: struct { | |
unused : _c.int, | |
}; | |
HWINSTA :: ^HWINSTA__; | |
HKL__ :: struct { | |
unused : _c.int, | |
}; | |
HKL :: ^HKL__; | |
HFILE :: _c.int; | |
FILETIME :: struct { | |
dwLowDateTime : DWORD, | |
dwHighDateTime : DWORD, | |
}; | |
PFILETIME :: ^FILETIME; | |
LPFILETIME :: ^FILETIME; | |
HWND__ :: struct { | |
unused : _c.int, | |
}; | |
HWND :: ^HWND__; | |
HHOOK__ :: struct { | |
unused : _c.int, | |
}; | |
HHOOK :: ^HHOOK__; | |
HGDIOBJ :: rawptr; | |
HACCEL__ :: struct { | |
unused : _c.int, | |
}; | |
HACCEL :: ^HACCEL__; | |
HBITMAP__ :: struct { | |
unused : _c.int, | |
}; | |
HBITMAP :: ^HBITMAP__; | |
HBRUSH__ :: struct { | |
unused : _c.int, | |
}; | |
HBRUSH :: ^HBRUSH__; | |
HCOLORSPACE__ :: struct { | |
unused : _c.int, | |
}; | |
HCOLORSPACE :: ^HCOLORSPACE__; | |
HDC__ :: struct { | |
unused : _c.int, | |
}; | |
HDC :: ^HDC__; | |
HGLRC__ :: struct { | |
unused : _c.int, | |
}; | |
HGLRC :: ^HGLRC__; | |
HDESK__ :: struct { | |
unused : _c.int, | |
}; | |
HDESK :: ^HDESK__; | |
HENHMETAFILE__ :: struct { | |
unused : _c.int, | |
}; | |
HENHMETAFILE :: ^HENHMETAFILE__; | |
HFONT__ :: struct { | |
unused : _c.int, | |
}; | |
HFONT :: ^HFONT__; | |
HICON__ :: struct { | |
unused : _c.int, | |
}; | |
HICON :: ^HICON__; | |
HMENU__ :: struct { | |
unused : _c.int, | |
}; | |
HMENU :: ^HMENU__; | |
HPALETTE__ :: struct { | |
unused : _c.int, | |
}; | |
HPALETTE :: ^HPALETTE__; | |
HPEN__ :: struct { | |
unused : _c.int, | |
}; | |
HPEN :: ^HPEN__; | |
HWINEVENTHOOK__ :: struct { | |
unused : _c.int, | |
}; | |
HWINEVENTHOOK :: ^HWINEVENTHOOK__; | |
HMONITOR__ :: struct { | |
unused : _c.int, | |
}; | |
HMONITOR :: ^HMONITOR__; | |
HUMPD__ :: struct { | |
unused : _c.int, | |
}; | |
HUMPD :: ^HUMPD__; | |
HCURSOR :: HICON; | |
COLORREF :: DWORD; | |
LPCOLORREF :: ^DWORD; | |
RECT :: struct { | |
left : LONG, | |
top : LONG, | |
right : LONG, | |
bottom : LONG, | |
}; | |
PRECT :: ^RECT; | |
NPRECT :: ^RECT; | |
LPRECT :: ^RECT; | |
LPCRECT :: ^RECT; | |
RECTL :: struct { | |
left : LONG, | |
top : LONG, | |
right : LONG, | |
bottom : LONG, | |
}; | |
PRECTL :: ^RECTL; | |
LPRECTL :: ^RECTL; | |
LPCRECTL :: ^RECTL; | |
POINT :: struct { | |
x : LONG, | |
y : LONG, | |
}; | |
PPOINT :: ^POINT; | |
NPPOINT :: ^POINT; | |
LPPOINT :: ^POINT; | |
POINTL :: struct { | |
x : LONG, | |
y : LONG, | |
}; | |
PPOINTL :: ^POINTL; | |
SIZE :: struct { | |
cx : LONG, | |
cy : LONG, | |
}; | |
PSIZE :: ^SIZE; | |
LPSIZE :: ^SIZE; | |
SIZEL :: SIZE; | |
PSIZEL :: ^SIZE; | |
LPSIZEL :: ^SIZE; | |
POINTS :: struct { | |
x : SHORT, | |
y : SHORT, | |
}; | |
PPOINTS :: ^POINTS; | |
LPPOINTS :: ^POINTS; | |
DPI_AWARENESS_CONTEXT__ :: struct { | |
unused : _c.int, | |
}; | |
DPI_AWARENESS_CONTEXT :: ^DPI_AWARENESS_CONTEXT__; | |
/* DPI_AWARENESS :: enum { */ | |
DPI_AWARENESS :: _c.int; | |
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 :: _c.int; | |
DPI_HOSTING_BEHAVIOR_INVALID :: -1; | |
DPI_HOSTING_BEHAVIOR_DEFAULT :: 0; | |
DPI_HOSTING_BEHAVIOR_MIXED :: 1; | |
/* } */ | |
; | |
SECURITY_ATTRIBUTES :: struct { | |
nLength : DWORD, | |
lpSecurityDescriptor : LPVOID, | |
bInheritHandle : BOOL, | |
}; | |
PSECURITY_ATTRIBUTES :: ^SECURITY_ATTRIBUTES; | |
LPSECURITY_ATTRIBUTES :: ^SECURITY_ATTRIBUTES; | |
OVERLAPPED :: struct { | |
Internal : ULONG_PTR, | |
InternalHigh : ULONG_PTR, | |
u : struct #raw_union { | |
s : struct { | |
Offset : DWORD, | |
OffsetHigh : DWORD, | |
}, | |
Pointer : PVOID, | |
}, | |
hEvent : HANDLE, | |
}; | |
LPOVERLAPPED :: ^OVERLAPPED; | |
OVERLAPPED_ENTRY :: struct { | |
lpCompletionKey : ULONG_PTR, | |
lpOverlapped : LPOVERLAPPED, | |
Internal : ULONG_PTR, | |
dwNumberOfBytesTransferred : DWORD, | |
}; | |
LPOVERLAPPED_ENTRY :: ^OVERLAPPED_ENTRY; | |
SYSTEMTIME :: struct { | |
wYear : WORD, | |
wMonth : WORD, | |
wDayOfWeek : WORD, | |
wDay : WORD, | |
wHour : WORD, | |
wMinute : WORD, | |
wSecond : WORD, | |
wMilliseconds : WORD, | |
}; | |
PSYSTEMTIME :: ^SYSTEMTIME; | |
LPSYSTEMTIME :: ^SYSTEMTIME; | |
WIN32_FIND_DATAA :: struct { | |
dwFileAttributes : DWORD, | |
ftCreationTime : FILETIME, | |
ftLastAccessTime : FILETIME, | |
ftLastWriteTime : FILETIME, | |
nFileSizeHigh : DWORD, | |
nFileSizeLow : DWORD, | |
dwReserved0 : DWORD, | |
dwReserved1 : DWORD, | |
cFileName : [260]CHAR, | |
cAlternateFileName : [14]CHAR, | |
}; | |
PWIN32_FIND_DATAA :: ^WIN32_FIND_DATAA; | |
LPWIN32_FIND_DATAA :: ^WIN32_FIND_DATAA; | |
WIN32_FIND_DATAW :: struct { | |
dwFileAttributes : DWORD, | |
ftCreationTime : FILETIME, | |
ftLastAccessTime : FILETIME, | |
ftLastWriteTime : FILETIME, | |
nFileSizeHigh : DWORD, | |
nFileSizeLow : DWORD, | |
dwReserved0 : DWORD, | |
dwReserved1 : DWORD, | |
cFileName : [260]WCHAR, | |
cAlternateFileName : [14]WCHAR, | |
}; | |
PWIN32_FIND_DATAW :: ^WIN32_FIND_DATAW; | |
LPWIN32_FIND_DATAW :: ^WIN32_FIND_DATAW; | |
WIN32_FIND_DATA :: WIN32_FIND_DATAA; | |
PWIN32_FIND_DATA :: PWIN32_FIND_DATAA; | |
LPWIN32_FIND_DATA :: LPWIN32_FIND_DATAA; | |
/* FINDEX_INFO_LEVELS :: enum { */ | |
FINDEX_INFO_LEVELS :: _c.int; | |
FindExInfoStandard :: 0; | |
FindExInfoBasic :: FindExInfoStandard + 1; | |
FindExInfoMaxInfoLevel :: FindExInfoBasic + 1; | |
/* } */ | |
; | |
/* FINDEX_SEARCH_OPS :: enum { */ | |
FINDEX_SEARCH_OPS :: _c.int; | |
FindExSearchNameMatch :: 0; | |
FindExSearchLimitToDirectories :: FindExSearchNameMatch + 1; | |
FindExSearchLimitToDevices :: FindExSearchLimitToDirectories + 1; | |
FindExSearchMaxSearchOp :: FindExSearchLimitToDevices + 1; | |
/* } */ | |
; | |
/* READ_DIRECTORY_NOTIFY_INFORMATION_CLASS :: enum { */ | |
READ_DIRECTORY_NOTIFY_INFORMATION_CLASS :: _c.int; | |
ReadDirectoryNotifyInformation :: 1; | |
ReadDirectoryNotifyExtendedInformation :: ReadDirectoryNotifyInformation + 1; | |
/* } */ | |
PREAD_DIRECTORY_NOTIFY_INFORMATION_CLASS :: ^READ_DIRECTORY_NOTIFY_INFORMATION_CLASS; | |
/* GET_FILEEX_INFO_LEVELS :: enum { */ | |
GET_FILEEX_INFO_LEVELS :: _c.int; | |
GetFileExInfoStandard :: 0; | |
GetFileExMaxInfoLevel :: GetFileExInfoStandard + 1; | |
/* } */ | |
; | |
/* FILE_INFO_BY_HANDLE_CLASS :: enum { */ | |
FILE_INFO_BY_HANDLE_CLASS :: _c.int; | |
FileBasicInfo :: 0; | |
FileStandardInfo :: FileBasicInfo + 1; | |
FileNameInfo :: FileStandardInfo + 1; | |
FileRenameInfo :: FileNameInfo + 1; | |
FileDispositionInfo :: FileRenameInfo + 1; | |
FileAllocationInfo :: FileDispositionInfo + 1; | |
FileEndOfFileInfo :: FileAllocationInfo + 1; | |
FileStreamInfo :: FileEndOfFileInfo + 1; | |
FileCompressionInfo :: FileStreamInfo + 1; | |
FileAttributeTagInfo :: FileCompressionInfo + 1; | |
FileIdBothDirectoryInfo :: FileAttributeTagInfo + 1; | |
FileIdBothDirectoryRestartInfo :: FileIdBothDirectoryInfo + 1; | |
FileIoPriorityHintInfo :: FileIdBothDirectoryRestartInfo + 1; | |
FileRemoteProtocolInfo :: FileIoPriorityHintInfo + 1; | |
FileFullDirectoryInfo :: FileRemoteProtocolInfo + 1; | |
FileFullDirectoryRestartInfo :: FileFullDirectoryInfo + 1; | |
FileStorageInfo :: FileFullDirectoryRestartInfo + 1; | |
FileAlignmentInfo :: FileStorageInfo + 1; | |
FileIdInfo :: FileAlignmentInfo + 1; | |
FileIdExtdDirectoryInfo :: FileIdInfo + 1; | |
FileIdExtdDirectoryRestartInfo :: FileIdExtdDirectoryInfo + 1; | |
FileDispositionInfoEx :: FileIdExtdDirectoryRestartInfo + 1; | |
FileRenameInfoEx :: FileDispositionInfoEx + 1; | |
FileCaseSensitiveInfo :: FileRenameInfoEx + 1; | |
FileNormalizedNameInfo :: FileCaseSensitiveInfo + 1; | |
MaximumFileInfoByHandleClass :: FileNormalizedNameInfo + 1; | |
/* } */ | |
PFILE_INFO_BY_HANDLE_CLASS :: ^FILE_INFO_BY_HANDLE_CLASS; | |
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 "stdcall" (dwErrorCode : DWORD, dwNumberOfBytesTransfered : DWORD, lpOverlapped : LPOVERLAPPED); | |
PROCESS_HEAP_ENTRY :: struct { | |
lpData : PVOID, | |
cbData : DWORD, | |
cbOverhead : BYTE, | |
iRegionIndex : BYTE, | |
wFlags : WORD, | |
u : struct #raw_union { | |
Block : struct { | |
hMem : HANDLE, | |
dwReserved : [3]DWORD, | |
}, | |
Region : struct { | |
dwCommittedSize : DWORD, | |
dwUnCommittedSize : DWORD, | |
lpFirstBlock : LPVOID, | |
lpLastBlock : LPVOID, | |
}, | |
}, | |
}; | |
LPPROCESS_HEAP_ENTRY :: ^PROCESS_HEAP_ENTRY; | |
PPROCESS_HEAP_ENTRY :: ^PROCESS_HEAP_ENTRY; | |
REASON_CONTEXT :: struct { | |
Version : ULONG, | |
Flags : DWORD, | |
Reason : struct #raw_union { | |
Detailed : struct { | |
LocalizedReasonModule : HMODULE, | |
LocalizedReasonId : ULONG, | |
ReasonStringCount : ULONG, | |
ReasonStrings : ^LPWSTR, | |
}, | |
SimpleReasonString : LPWSTR, | |
}, | |
}; | |
PREASON_CONTEXT :: ^REASON_CONTEXT; | |
PTHREAD_START_ROUTINE :: (proc "stdcall" (lpThreadParameter : LPVOID) -> DWORD); | |
LPTHREAD_START_ROUTINE :: PTHREAD_START_ROUTINE; | |
PENCLAVE_ROUTINE :: (proc "stdcall" (lpThreadParameter : LPVOID) -> LPVOID); | |
LPENCLAVE_ROUTINE :: PENCLAVE_ROUTINE; | |
EXCEPTION_DEBUG_INFO :: struct { | |
ExceptionRecord : EXCEPTION_RECORD, | |
dwFirstChance : DWORD, | |
}; | |
LPEXCEPTION_DEBUG_INFO :: ^EXCEPTION_DEBUG_INFO; | |
CREATE_THREAD_DEBUG_INFO :: struct { | |
hThread : HANDLE, | |
lpThreadLocalBase : LPVOID, | |
lpStartAddress : LPTHREAD_START_ROUTINE, | |
}; | |
LPCREATE_THREAD_DEBUG_INFO :: ^CREATE_THREAD_DEBUG_INFO; | |
CREATE_PROCESS_DEBUG_INFO :: struct { | |
hFile : HANDLE, | |
hProcess : HANDLE, | |
hThread : HANDLE, | |
lpBaseOfImage : LPVOID, | |
dwDebugInfoFileOffset : DWORD, | |
nDebugInfoSize : DWORD, | |
lpThreadLocalBase : LPVOID, | |
lpStartAddress : LPTHREAD_START_ROUTINE, | |
lpImageName : LPVOID, | |
fUnicode : WORD, | |
}; | |
LPCREATE_PROCESS_DEBUG_INFO :: ^CREATE_PROCESS_DEBUG_INFO; | |
EXIT_THREAD_DEBUG_INFO :: struct { | |
dwExitCode : DWORD, | |
}; | |
LPEXIT_THREAD_DEBUG_INFO :: ^EXIT_THREAD_DEBUG_INFO; | |
EXIT_PROCESS_DEBUG_INFO :: struct { | |
dwExitCode : DWORD, | |
}; | |
LPEXIT_PROCESS_DEBUG_INFO :: ^EXIT_PROCESS_DEBUG_INFO; | |
LOAD_DLL_DEBUG_INFO :: struct { | |
hFile : HANDLE, | |
lpBaseOfDll : LPVOID, | |
dwDebugInfoFileOffset : DWORD, | |
nDebugInfoSize : DWORD, | |
lpImageName : LPVOID, | |
fUnicode : WORD, | |
}; | |
LPLOAD_DLL_DEBUG_INFO :: ^LOAD_DLL_DEBUG_INFO; | |
UNLOAD_DLL_DEBUG_INFO :: struct { | |
lpBaseOfDll : LPVOID, | |
}; | |
LPUNLOAD_DLL_DEBUG_INFO :: ^UNLOAD_DLL_DEBUG_INFO; | |
OUTPUT_DEBUG_STRING_INFO :: struct { | |
lpDebugStringData : LPSTR, | |
fUnicode : WORD, | |
nDebugStringLength : WORD, | |
}; | |
LPOUTPUT_DEBUG_STRING_INFO :: ^OUTPUT_DEBUG_STRING_INFO; | |
RIP_INFO :: struct { | |
dwError : DWORD, | |
dwType : DWORD, | |
}; | |
LPRIP_INFO :: ^RIP_INFO; | |
DEBUG_EVENT :: struct { | |
dwDebugEventCode : DWORD, | |
dwProcessId : DWORD, | |
dwThreadId : DWORD, | |
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 :: ^DEBUG_EVENT; | |
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 : DWORD, | |
BytesPerSector : DWORD, | |
}; | |
WIN32_FILE_ATTRIBUTE_DATA :: struct { | |
dwFileAttributes : DWORD, | |
ftCreationTime : FILETIME, | |
ftLastAccessTime : FILETIME, | |
ftLastWriteTime : FILETIME, | |
nFileSizeHigh : DWORD, | |
nFileSizeLow : DWORD, | |
}; | |
LPWIN32_FILE_ATTRIBUTE_DATA :: ^WIN32_FILE_ATTRIBUTE_DATA; | |
BY_HANDLE_FILE_INFORMATION :: struct { | |
dwFileAttributes : DWORD, | |
ftCreationTime : FILETIME, | |
ftLastAccessTime : FILETIME, | |
ftLastWriteTime : FILETIME, | |
dwVolumeSerialNumber : DWORD, | |
nFileSizeHigh : DWORD, | |
nFileSizeLow : DWORD, | |
nNumberOfLinks : DWORD, | |
nFileIndexHigh : DWORD, | |
nFileIndexLow : DWORD, | |
}; | |
PBY_HANDLE_FILE_INFORMATION :: ^BY_HANDLE_FILE_INFORMATION; | |
LPBY_HANDLE_FILE_INFORMATION :: ^BY_HANDLE_FILE_INFORMATION; | |
CREATEFILE2_EXTENDED_PARAMETERS :: struct { | |
dwSize : DWORD, | |
dwFileAttributes : DWORD, | |
dwFileFlags : DWORD, | |
dwSecurityQosFlags : DWORD, | |
lpSecurityAttributes : LPSECURITY_ATTRIBUTES, | |
hTemplateFile : HANDLE, | |
}; | |
PCREATEFILE2_EXTENDED_PARAMETERS :: ^CREATEFILE2_EXTENDED_PARAMETERS; | |
LPCREATEFILE2_EXTENDED_PARAMETERS :: ^CREATEFILE2_EXTENDED_PARAMETERS; | |
/* STREAM_INFO_LEVELS :: enum { */ | |
STREAM_INFO_LEVELS :: _c.int; | |
FindStreamInfoStandard :: 0; | |
FindStreamInfoMaxInfoLevel :: FindStreamInfoStandard + 1; | |
/* } */ | |
; | |
WIN32_FIND_STREAM_DATA :: struct { | |
StreamSize : LARGE_INTEGER, | |
cStreamName : [260 + 36]WCHAR, | |
}; | |
PWIN32_FIND_STREAM_DATA :: ^WIN32_FIND_STREAM_DATA; | |
PTOP_LEVEL_EXCEPTION_FILTER :: (proc "stdcall" (ExceptionInfo : ^EXCEPTION_POINTERS) -> LONG); | |
LPTOP_LEVEL_EXCEPTION_FILTER :: PTOP_LEVEL_EXCEPTION_FILTER; | |
HEAP_SUMMARY :: struct { | |
cb : DWORD, | |
cbAllocated : SIZE_T, | |
cbCommitted : SIZE_T, | |
cbReserved : SIZE_T, | |
cbMaxReserve : SIZE_T, | |
}; | |
PHEAP_SUMMARY :: ^HEAP_SUMMARY; | |
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 "stdcall" (InitOnce : PINIT_ONCE, Parameter : PVOID, Context : ^PVOID) -> BOOL); | |
CONDITION_VARIABLE :: RTL_CONDITION_VARIABLE; | |
PCONDITION_VARIABLE :: ^RTL_CONDITION_VARIABLE; | |
PTIMERAPCROUTINE :: proc "stdcall" (lpArgToCompletionRoutine : LPVOID, dwTimerLowValue : DWORD, dwTimerHighValue : DWORD); | |
SYNCHRONIZATION_BARRIER :: RTL_BARRIER; | |
PSYNCHRONIZATION_BARRIER :: PRTL_BARRIER; | |
LPSYNCHRONIZATION_BARRIER :: PRTL_BARRIER; | |
PROCESS_INFORMATION :: struct { | |
hProcess : HANDLE, | |
hThread : HANDLE, | |
dwProcessId : DWORD, | |
dwThreadId : DWORD, | |
}; | |
PPROCESS_INFORMATION :: ^PROCESS_INFORMATION; | |
LPPROCESS_INFORMATION :: ^PROCESS_INFORMATION; | |
STARTUPINFOA :: struct { | |
cb : DWORD, | |
lpReserved : LPSTR, | |
lpDesktop : LPSTR, | |
lpTitle : LPSTR, | |
dwX : DWORD, | |
dwY : DWORD, | |
dwXSize : DWORD, | |
dwYSize : DWORD, | |
dwXCountChars : DWORD, | |
dwYCountChars : DWORD, | |
dwFillAttribute : DWORD, | |
dwFlags : DWORD, | |
wShowWindow : WORD, | |
cbReserved2 : WORD, | |
lpReserved2 : LPBYTE, | |
hStdInput : HANDLE, | |
hStdOutput : HANDLE, | |
hStdError : HANDLE, | |
}; | |
LPSTARTUPINFOA :: ^STARTUPINFOA; | |
STARTUPINFOW :: struct { | |
cb : DWORD, | |
lpReserved : LPWSTR, | |
lpDesktop : LPWSTR, | |
lpTitle : LPWSTR, | |
dwX : DWORD, | |
dwY : DWORD, | |
dwXSize : DWORD, | |
dwYSize : DWORD, | |
dwXCountChars : DWORD, | |
dwYCountChars : DWORD, | |
dwFillAttribute : DWORD, | |
dwFlags : DWORD, | |
wShowWindow : WORD, | |
cbReserved2 : WORD, | |
lpReserved2 : LPBYTE, | |
hStdInput : HANDLE, | |
hStdOutput : HANDLE, | |
hStdError : HANDLE, | |
}; | |
LPSTARTUPINFOW :: ^STARTUPINFOW; | |
STARTUPINFO :: STARTUPINFOA; | |
LPSTARTUPINFO :: LPSTARTUPINFOA; | |
PPROC_THREAD_ATTRIBUTE_LIST :: ^_PROC_THREAD_ATTRIBUTE_LIST; | |
LPPROC_THREAD_ATTRIBUTE_LIST :: ^_PROC_THREAD_ATTRIBUTE_LIST; | |
/* THREAD_INFORMATION_CLASS :: enum { */ | |
THREAD_INFORMATION_CLASS :: _c.int; | |
ThreadMemoryPriority :: 0; | |
ThreadAbsoluteCpuPriority :: ThreadMemoryPriority + 1; | |
ThreadDynamicCodePolicy :: ThreadAbsoluteCpuPriority + 1; | |
ThreadPowerThrottling :: ThreadDynamicCodePolicy + 1; | |
ThreadInformationClassMax :: ThreadPowerThrottling + 1; | |
/* } */ | |
; | |
MEMORY_PRIORITY_INFORMATION :: struct { | |
MemoryPriority : ULONG, | |
}; | |
PMEMORY_PRIORITY_INFORMATION :: ^MEMORY_PRIORITY_INFORMATION; | |
THREAD_POWER_THROTTLING_STATE :: struct { | |
Version : ULONG, | |
ControlMask : ULONG, | |
StateMask : ULONG, | |
}; | |
/* PROCESS_INFORMATION_CLASS :: enum { */ | |
PROCESS_INFORMATION_CLASS :: _c.int; | |
ProcessMemoryPriority :: 0; | |
ProcessMemoryExhaustionInfo :: ProcessMemoryPriority + 1; | |
ProcessAppMemoryInfo :: ProcessMemoryExhaustionInfo + 1; | |
ProcessInPrivateInfo :: ProcessAppMemoryInfo + 1; | |
ProcessPowerThrottling :: ProcessInPrivateInfo + 1; | |
ProcessReservedValue1 :: ProcessPowerThrottling + 1; | |
ProcessTelemetryCoverageInfo :: ProcessReservedValue1 + 1; | |
ProcessProtectionLevelInfo :: ProcessTelemetryCoverageInfo + 1; | |
ProcessLeapSecondInfo :: ProcessProtectionLevelInfo + 1; | |
ProcessInformationClassMax :: ProcessLeapSecondInfo + 1; | |
/* } */ | |
; | |
APP_MEMORY_INFORMATION :: struct { | |
AvailableCommit : ULONG64, | |
PrivateCommitUsage : ULONG64, | |
PeakPrivateCommitUsage : ULONG64, | |
TotalCommitUsage : ULONG64, | |
}; | |
PAPP_MEMORY_INFORMATION :: ^APP_MEMORY_INFORMATION; | |
/* PROCESS_MEMORY_EXHAUSTION_TYPE :: enum { */ | |
PROCESS_MEMORY_EXHAUSTION_TYPE :: _c.int; | |
PMETypeFailFastOnCommitFailure :: 0; | |
PMETypeMax :: PMETypeFailFastOnCommitFailure + 1; | |
/* } */ | |
PPROCESS_MEMORY_EXHAUSTION_TYPE :: ^PROCESS_MEMORY_EXHAUSTION_TYPE; | |
PROCESS_MEMORY_EXHAUSTION_INFO :: struct { | |
Version : USHORT, | |
Reserved : USHORT, | |
Type : PROCESS_MEMORY_EXHAUSTION_TYPE, | |
Value : ULONG_PTR, | |
}; | |
PPROCESS_MEMORY_EXHAUSTION_INFO :: ^PROCESS_MEMORY_EXHAUSTION_INFO; | |
PROCESS_POWER_THROTTLING_STATE :: struct { | |
Version : ULONG, | |
ControlMask : ULONG, | |
StateMask : ULONG, | |
}; | |
PPROCESS_POWER_THROTTLING_STATE :: ^PROCESS_POWER_THROTTLING_STATE; | |
PROCESS_PROTECTION_LEVEL_INFORMATION :: struct { | |
ProtectionLevel : DWORD, | |
}; | |
PROCESS_LEAP_SECOND_INFO :: struct { | |
Flags : ULONG, | |
Reserved : ULONG, | |
}; | |
PPROCESS_LEAP_SECOND_INFO :: ^PROCESS_LEAP_SECOND_INFO; | |
SYSTEM_INFO :: struct { | |
u : struct #raw_union { | |
dwOemId : DWORD, | |
s : struct { | |
wProcessorArchitecture : WORD, | |
wReserved : WORD, | |
}, | |
}, | |
dwPageSize : DWORD, | |
lpMinimumApplicationAddress : LPVOID, | |
lpMaximumApplicationAddress : LPVOID, | |
dwActiveProcessorMask : DWORD_PTR, | |
dwNumberOfProcessors : DWORD, | |
dwProcessorType : DWORD, | |
dwAllocationGranularity : DWORD, | |
wProcessorLevel : WORD, | |
wProcessorRevision : WORD, | |
}; | |
LPSYSTEM_INFO :: ^SYSTEM_INFO; | |
MEMORYSTATUSEX :: struct { | |
dwLength : DWORD, | |
dwMemoryLoad : DWORD, | |
ullTotalPhys : DWORDLONG, | |
ullAvailPhys : DWORDLONG, | |
ullTotalPageFile : DWORDLONG, | |
ullAvailPageFile : DWORDLONG, | |
ullTotalVirtual : DWORDLONG, | |
ullAvailVirtual : DWORDLONG, | |
ullAvailExtendedVirtual : DWORDLONG, | |
}; | |
LPMEMORYSTATUSEX :: ^MEMORYSTATUSEX; | |
/* COMPUTER_NAME_FORMAT :: enum { */ | |
COMPUTER_NAME_FORMAT :: _c.int; | |
ComputerNameNetBIOS :: 0; | |
ComputerNameDnsHostname :: ComputerNameNetBIOS + 1; | |
ComputerNameDnsDomain :: ComputerNameDnsHostname + 1; | |
ComputerNameDnsFullyQualified :: ComputerNameDnsDomain + 1; | |
ComputerNamePhysicalNetBIOS :: ComputerNameDnsFullyQualified + 1; | |
ComputerNamePhysicalDnsHostname :: ComputerNamePhysicalNetBIOS + 1; | |
ComputerNamePhysicalDnsDomain :: ComputerNamePhysicalDnsHostname + 1; | |
ComputerNamePhysicalDnsFullyQualified :: ComputerNamePhysicalDnsDomain + 1; | |
ComputerNameMax :: ComputerNamePhysicalDnsFullyQualified + 1; | |
/* } */ | |
; | |
/* MEMORY_RESOURCE_NOTIFICATION_TYPE :: enum { */ | |
MEMORY_RESOURCE_NOTIFICATION_TYPE :: _c.int; | |
LowMemoryResourceNotification :: 0; | |
HighMemoryResourceNotification :: LowMemoryResourceNotification + 1; | |
/* } */ | |
; | |
WIN32_MEMORY_RANGE_ENTRY :: struct { | |
VirtualAddress : PVOID, | |
NumberOfBytes : SIZE_T, | |
}; | |
PWIN32_MEMORY_RANGE_ENTRY :: ^WIN32_MEMORY_RANGE_ENTRY; | |
BAD_MEMORY_CALLBACK_ROUTINE :: #type proc "stdcall" (); | |
PBAD_MEMORY_CALLBACK_ROUTINE :: ^BAD_MEMORY_CALLBACK_ROUTINE; | |
/* OFFER_PRIORITY :: enum { */ | |
OFFER_PRIORITY :: _c.int; | |
VmOfferPriorityVeryLow :: 1; | |
VmOfferPriorityLow :: VmOfferPriorityVeryLow + 1; | |
VmOfferPriorityBelowNormal :: VmOfferPriorityLow + 1; | |
VmOfferPriorityNormal :: VmOfferPriorityBelowNormal + 1; | |
/* } */ | |
; | |
/* WIN32_MEMORY_INFORMATION_CLASS :: enum { */ | |
WIN32_MEMORY_INFORMATION_CLASS :: _c.int; | |
MemoryRegionInfo :: 0; | |
/* } */ | |
; | |
WIN32_MEMORY_REGION_INFORMATION :: struct { | |
AllocationBase : PVOID, | |
AllocationProtect : ULONG, | |
u : struct #raw_union { | |
Flags : ULONG, | |
s : bit_field { | |
Private : 1, | |
MappedDataFile : 1, | |
MappedImage : 1, | |
MappedPageFile : 1, | |
MappedPhysical : 1, | |
DirectMapped : 1, | |
Reserved : 26, | |
}, | |
}, | |
RegionSize : SIZE_T, | |
CommitSize : SIZE_T, | |
}; | |
PTP_WIN32_IO_CALLBACK :: proc "stdcall" (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 :: ^ENUMUILANG; | |
ENUMRESLANGPROCA :: (proc "stdcall" (hModule : HMODULE, lpType : LPCSTR, lpName : LPCSTR, wLanguage : WORD, lParam : LONG_PTR) -> BOOL); | |
ENUMRESLANGPROCW :: (proc "stdcall" (hModule : HMODULE, lpType : LPCWSTR, lpName : LPCWSTR, wLanguage : WORD, lParam : LONG_PTR) -> BOOL); | |
ENUMRESNAMEPROCA :: (proc "stdcall" (hModule : HMODULE, lpType : LPCSTR, lpName : LPSTR, lParam : LONG_PTR) -> BOOL); | |
ENUMRESNAMEPROCW :: (proc "stdcall" (hModule : HMODULE, lpType : LPCWSTR, lpName : LPWSTR, lParam : LONG_PTR) -> BOOL); | |
ENUMRESTYPEPROCA :: (proc "stdcall" (hModule : HMODULE, lpType : LPSTR, lParam : LONG_PTR) -> BOOL); | |
ENUMRESTYPEPROCW :: (proc "stdcall" (hModule : HMODULE, lpType : LPWSTR, lParam : LONG_PTR) -> BOOL); | |
PGET_MODULE_HANDLE_EXA :: (proc "stdcall" (dwFlags : DWORD, lpModuleName : LPCSTR, phModule : ^HMODULE) -> BOOL); | |
PGET_MODULE_HANDLE_EXW :: (proc "stdcall" (dwFlags : DWORD, lpModuleName : LPCWSTR, phModule : ^HMODULE) -> BOOL); | |
REDIRECTION_FUNCTION_DESCRIPTOR :: struct { | |
DllName : PCSTR, | |
FunctionName : PCSTR, | |
RedirectionTarget : PVOID, | |
}; | |
PREDIRECTION_FUNCTION_DESCRIPTOR :: ^REDIRECTION_FUNCTION_DESCRIPTOR; | |
PCREDIRECTION_FUNCTION_DESCRIPTOR :: ^REDIRECTION_FUNCTION_DESCRIPTOR; | |
REDIRECTION_DESCRIPTOR :: struct { | |
Version : ULONG, | |
FunctionCount : ULONG, | |
Redirections : PCREDIRECTION_FUNCTION_DESCRIPTOR, | |
}; | |
PREDIRECTION_DESCRIPTOR :: ^REDIRECTION_DESCRIPTOR; | |
PCREDIRECTION_DESCRIPTOR :: ^REDIRECTION_DESCRIPTOR; | |
DLL_DIRECTORY_COOKIE :: PVOID; | |
PDLL_DIRECTORY_COOKIE :: ^PVOID; | |
PFIBER_START_ROUTINE :: proc "stdcall" (lpFiberParameter : LPVOID); | |
LPFIBER_START_ROUTINE :: PFIBER_START_ROUTINE; | |
PFIBER_CALLOUT_ROUTINE :: (proc "stdcall" (lpParameter : LPVOID) -> LPVOID); | |
LPLDT_ENTRY :: LPVOID; | |
COMMPROP :: struct { | |
wPacketLength : WORD, | |
wPacketVersion : WORD, | |
dwServiceMask : DWORD, | |
dwReserved1 : DWORD, | |
dwMaxTxQueue : DWORD, | |
dwMaxRxQueue : DWORD, | |
dwMaxBaud : DWORD, | |
dwProvSubType : DWORD, | |
dwProvCapabilities : DWORD, | |
dwSettableParams : DWORD, | |
dwSettableBaud : DWORD, | |
wSettableData : WORD, | |
wSettableStopParity : WORD, | |
dwCurrentTxQueue : DWORD, | |
dwCurrentRxQueue : DWORD, | |
dwProvSpec1 : DWORD, | |
dwProvSpec2 : DWORD, | |
wcProvChar : [1]WCHAR, | |
}; | |
LPCOMMPROP :: ^COMMPROP; | |
COMSTAT :: struct { | |
using _ : bit_field { | |
fCtsHold : 1, | |
fDsrHold : 1, | |
fRlsdHold : 1, | |
fXoffHold : 1, | |
fXoffSent : 1, | |
fEof : 1, | |
fTxim : 1, | |
fReserved : 25, | |
}, | |
cbInQue : DWORD, | |
cbOutQue : DWORD, | |
}; | |
LPCOMSTAT :: ^COMSTAT; | |
DCB :: struct { | |
DCBlength : DWORD, | |
BaudRate : DWORD, | |
using _ : bit_field { | |
fBinary : 1, | |
fParity : 1, | |
fOutxCtsFlow : 1, | |
fOutxDsrFlow : 1, | |
fDtrControl : 2, | |
fDsrSensitivity : 1, | |
fTXContinueOnXoff : 1, | |
fOutX : 1, | |
fInX : 1, | |
fErrorChar : 1, | |
fNull : 1, | |
fRtsControl : 2, | |
fAbortOnError : 1, | |
fDummy2 : 17, | |
}, | |
wReserved : WORD, | |
XonLim : WORD, | |
XoffLim : WORD, | |
ByteSize : BYTE, | |
Parity : BYTE, | |
StopBits : BYTE, | |
XonChar : _c.uchar, | |
XoffChar : _c.uchar, | |
ErrorChar : _c.uchar, | |
EofChar : _c.uchar, | |
EvtChar : _c.uchar, | |
wReserved1 : WORD, | |
}; | |
LPDCB :: ^DCB; | |
COMMTIMEOUTS :: struct { | |
ReadIntervalTimeout : DWORD, | |
ReadTotalTimeoutMultiplier : DWORD, | |
ReadTotalTimeoutConstant : DWORD, | |
WriteTotalTimeoutMultiplier : DWORD, | |
WriteTotalTimeoutConstant : DWORD, | |
}; | |
LPCOMMTIMEOUTS :: ^COMMTIMEOUTS; | |
COMMCONFIG :: struct { | |
dwSize : DWORD, | |
wVersion : WORD, | |
wReserved : WORD, | |
dcb : DCB, | |
dwProviderSubType : DWORD, | |
dwProviderOffset : DWORD, | |
dwProviderSize : DWORD, | |
wcProviderData : [1]WCHAR, | |
}; | |
LPCOMMCONFIG :: ^COMMCONFIG; | |
MEMORYSTATUS :: struct { | |
dwLength : DWORD, | |
dwMemoryLoad : DWORD, | |
dwTotalPhys : SIZE_T, | |
dwAvailPhys : SIZE_T, | |
dwTotalPageFile : SIZE_T, | |
dwAvailPageFile : SIZE_T, | |
dwTotalVirtual : SIZE_T, | |
dwAvailVirtual : SIZE_T, | |
}; | |
LPMEMORYSTATUS :: ^MEMORYSTATUS; | |
JIT_DEBUG_INFO :: struct { | |
dwSize : DWORD, | |
dwProcessorArchitecture : DWORD, | |
dwThreadID : DWORD, | |
dwReserved0 : DWORD, | |
lpExceptionAddress : ULONG64, | |
lpExceptionRecord : ULONG64, | |
lpContextRecord : ULONG64, | |
}; | |
LPJIT_DEBUG_INFO :: ^JIT_DEBUG_INFO; | |
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 : WORD, | |
Reserved1 : WORD, | |
Reserved2 : WORD, | |
szPathName : [128]CHAR, | |
}; | |
LPOFSTRUCT :: ^OFSTRUCT; | |
POFSTRUCT :: ^OFSTRUCT; | |
PUMS_CONTEXT :: rawptr; | |
PUMS_COMPLETION_LIST :: rawptr; | |
UMS_THREAD_INFO_CLASS :: RTL_UMS_THREAD_INFO_CLASS; | |
PUMS_THREAD_INFO_CLASS :: ^RTL_UMS_THREAD_INFO_CLASS; | |
UMS_SCHEDULER_REASON :: RTL_UMS_SCHEDULER_REASON; | |
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 :: ^UMS_SCHEDULER_STARTUP_INFO; | |
UMS_SYSTEM_THREAD_INFORMATION :: struct { | |
UmsVersion : ULONG, | |
u : struct #raw_union { | |
s : bit_field { | |
IsUmsSchedulerThread : 1, | |
IsUmsWorkerThread : 1, | |
}, | |
ThreadUmsFlags : ULONG, | |
}, | |
}; | |
PUMS_SYSTEM_THREAD_INFORMATION :: ^UMS_SYSTEM_THREAD_INFORMATION; | |
POWER_REQUEST_CONTEXT :: REASON_CONTEXT; | |
PPOWER_REQUEST_CONTEXT :: ^REASON_CONTEXT; | |
LPPOWER_REQUEST_CONTEXT :: ^REASON_CONTEXT; | |
/* DEP_SYSTEM_POLICY_TYPE :: enum { */ | |
DEP_SYSTEM_POLICY_TYPE :: _c.int; | |
DEPPolicyAlwaysOff :: 0; | |
DEPPolicyAlwaysOn :: DEPPolicyAlwaysOff + 1; | |
DEPPolicyOptIn :: DEPPolicyAlwaysOn + 1; | |
DEPPolicyOptOut :: DEPPolicyOptIn + 1; | |
DEPTotalPolicyCount :: DEPPolicyOptOut + 1; | |
/* } */ | |
; | |
PFE_EXPORT_FUNC :: (proc "stdcall" (pbData : PBYTE, pvCallbackContext : PVOID, ulLength : ULONG) -> DWORD); | |
PFE_IMPORT_FUNC :: (proc "stdcall" (pbData : PBYTE, pvCallbackContext : PVOID, ulLength : PULONG) -> DWORD); | |
WIN32_STREAM_ID :: struct { | |
dwStreamId : DWORD, | |
dwStreamAttributes : DWORD, | |
Size : LARGE_INTEGER, | |
dwStreamNameSize : DWORD, | |
cStreamName : [1]WCHAR, | |
}; | |
LPWIN32_STREAM_ID :: ^WIN32_STREAM_ID; | |
STARTUPINFOEXA :: struct { | |
StartupInfo : STARTUPINFOA, | |
lpAttributeList : LPPROC_THREAD_ATTRIBUTE_LIST, | |
}; | |
LPSTARTUPINFOEXA :: ^STARTUPINFOEXA; | |
STARTUPINFOEXW :: struct { | |
StartupInfo : STARTUPINFOW, | |
lpAttributeList : LPPROC_THREAD_ATTRIBUTE_LIST, | |
}; | |
LPSTARTUPINFOEXW :: ^STARTUPINFOEXW; | |
STARTUPINFOEX :: STARTUPINFOEXA; | |
LPSTARTUPINFOEX :: LPSTARTUPINFOEXA; | |
/* PROC_THREAD_ATTRIBUTE_NUM :: enum { */ | |
PROC_THREAD_ATTRIBUTE_NUM :: _c.int; | |
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 "stdcall" (lpBuffer : LPSTR, uSize : UINT) -> UINT); | |
PGET_SYSTEM_WOW64_DIRECTORY_W :: (proc "stdcall" (lpBuffer : LPWSTR, uSize : UINT) -> UINT); | |
LPPROGRESS_ROUTINE :: (proc "stdcall" (TotalFileSize : LARGE_INTEGER, TotalBytesTransferred : LARGE_INTEGER, StreamSize : LARGE_INTEGER, StreamBytesTransferred : LARGE_INTEGER, dwStreamNumber : DWORD, dwCallbackReason : DWORD, hSourceFile : HANDLE, hDestinationFile : HANDLE, lpData : LPVOID) -> DWORD); | |
/* COPYFILE2_MESSAGE_TYPE :: enum { */ | |
COPYFILE2_MESSAGE_TYPE :: _c.int; | |
COPYFILE2_CALLBACK_NONE :: 0; | |
COPYFILE2_CALLBACK_CHUNK_STARTED :: COPYFILE2_CALLBACK_NONE + 1; | |
COPYFILE2_CALLBACK_CHUNK_FINISHED :: COPYFILE2_CALLBACK_CHUNK_STARTED + 1; | |
COPYFILE2_CALLBACK_STREAM_STARTED :: COPYFILE2_CALLBACK_CHUNK_FINISHED + 1; | |
COPYFILE2_CALLBACK_STREAM_FINISHED :: COPYFILE2_CALLBACK_STREAM_STARTED + 1; | |
COPYFILE2_CALLBACK_POLL_CONTINUE :: COPYFILE2_CALLBACK_STREAM_FINISHED + 1; | |
COPYFILE2_CALLBACK_ERROR :: COPYFILE2_CALLBACK_POLL_CONTINUE + 1; | |
COPYFILE2_CALLBACK_MAX :: COPYFILE2_CALLBACK_ERROR + 1; | |
/* } */ | |
; | |
/* COPYFILE2_MESSAGE_ACTION :: enum { */ | |
COPYFILE2_MESSAGE_ACTION :: _c.int; | |
COPYFILE2_PROGRESS_CONTINUE :: 0; | |
COPYFILE2_PROGRESS_CANCEL :: COPYFILE2_PROGRESS_CONTINUE + 1; | |
COPYFILE2_PROGRESS_STOP :: COPYFILE2_PROGRESS_CANCEL + 1; | |
COPYFILE2_PROGRESS_QUIET :: COPYFILE2_PROGRESS_STOP + 1; | |
COPYFILE2_PROGRESS_PAUSE :: COPYFILE2_PROGRESS_QUIET + 1; | |
/* } */ | |
; | |
/* COPYFILE2_COPY_PHASE :: enum { */ | |
COPYFILE2_COPY_PHASE :: _c.int; | |
COPYFILE2_PHASE_NONE :: 0; | |
COPYFILE2_PHASE_PREPARE_SOURCE :: COPYFILE2_PHASE_NONE + 1; | |
COPYFILE2_PHASE_PREPARE_DEST :: COPYFILE2_PHASE_PREPARE_SOURCE + 1; | |
COPYFILE2_PHASE_READ_SOURCE :: COPYFILE2_PHASE_PREPARE_DEST + 1; | |
COPYFILE2_PHASE_WRITE_DESTINATION :: COPYFILE2_PHASE_READ_SOURCE + 1; | |
COPYFILE2_PHASE_SERVER_COPY :: COPYFILE2_PHASE_WRITE_DESTINATION + 1; | |
COPYFILE2_PHASE_NAMEGRAFT_COPY :: COPYFILE2_PHASE_SERVER_COPY + 1; | |
COPYFILE2_PHASE_MAX :: COPYFILE2_PHASE_NAMEGRAFT_COPY + 1; | |
/* } */ | |
; | |
COPYFILE2_MESSAGE :: struct { | |
Type : COPYFILE2_MESSAGE_TYPE, | |
dwPadding : DWORD, | |
Info : struct #raw_union { | |
ChunkStarted : struct { | |
dwStreamNumber : DWORD, | |
dwReserved : DWORD, | |
hSourceFile : HANDLE, | |
hDestinationFile : HANDLE, | |
uliChunkNumber : ULARGE_INTEGER, | |
uliChunkSize : ULARGE_INTEGER, | |
uliStreamSize : ULARGE_INTEGER, | |
uliTotalFileSize : ULARGE_INTEGER, | |
}, | |
ChunkFinished : struct { | |
dwStreamNumber : DWORD, | |
dwFlags : DWORD, | |
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 : DWORD, | |
dwReserved : DWORD, | |
hSourceFile : HANDLE, | |
hDestinationFile : HANDLE, | |
uliStreamSize : ULARGE_INTEGER, | |
uliTotalFileSize : ULARGE_INTEGER, | |
}, | |
StreamFinished : struct { | |
dwStreamNumber : DWORD, | |
dwReserved : DWORD, | |
hSourceFile : HANDLE, | |
hDestinationFile : HANDLE, | |
uliStreamSize : ULARGE_INTEGER, | |
uliStreamBytesTransferred : ULARGE_INTEGER, | |
uliTotalFileSize : ULARGE_INTEGER, | |
uliTotalBytesTransferred : ULARGE_INTEGER, | |
}, | |
PollContinue : struct { | |
dwReserved : DWORD, | |
}, | |
Error : struct { | |
CopyPhase : COPYFILE2_COPY_PHASE, | |
dwStreamNumber : DWORD, | |
hrFailure : HRESULT, | |
dwReserved : DWORD, | |
uliChunkNumber : ULARGE_INTEGER, | |
uliStreamSize : ULARGE_INTEGER, | |
uliStreamBytesTransferred : ULARGE_INTEGER, | |
uliTotalFileSize : ULARGE_INTEGER, | |
uliTotalBytesTransferred : ULARGE_INTEGER, | |
}, | |
}, | |
}; | |
PCOPYFILE2_PROGRESS_ROUTINE :: (proc "stdcall" (pMessage : ^COPYFILE2_MESSAGE, pvCallbackContext : PVOID) -> COPYFILE2_MESSAGE_ACTION); | |
COPYFILE2_EXTENDED_PARAMETERS :: struct { | |
dwSize : DWORD, | |
dwCopyFlags : DWORD, | |
pfCancel : ^BOOL, | |
pProgressRoutine : PCOPYFILE2_PROGRESS_ROUTINE, | |
pvCallbackContext : PVOID, | |
}; | |
EVENTLOG_FULL_INFORMATION :: struct { | |
dwFull : DWORD, | |
}; | |
LPEVENTLOG_FULL_INFORMATION :: ^EVENTLOG_FULL_INFORMATION; | |
OPERATION_ID :: ULONG; | |
OPERATION_START_PARAMETERS :: struct { | |
Version : ULONG, | |
OperationId : OPERATION_ID, | |
Flags : ULONG, | |
}; | |
POPERATION_START_PARAMETERS :: ^OPERATION_START_PARAMETERS; | |
OPERATION_END_PARAMETERS :: struct { | |
Version : ULONG, | |
OperationId : OPERATION_ID, | |
Flags : ULONG, | |
}; | |
POPERATION_END_PARAMETERS :: ^OPERATION_END_PARAMETERS; | |
HW_PROFILE_INFOA :: struct { | |
dwDockInfo : DWORD, | |
szHwProfileGuid : [39]CHAR, | |
szHwProfileName : [80]CHAR, | |
}; | |
LPHW_PROFILE_INFOA :: ^HW_PROFILE_INFOA; | |
HW_PROFILE_INFOW :: struct { | |
dwDockInfo : DWORD, | |
szHwProfileGuid : [39]WCHAR, | |
szHwProfileName : [80]WCHAR, | |
}; | |
LPHW_PROFILE_INFOW :: ^HW_PROFILE_INFOW; | |
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 :: ^TIME_ZONE_INFORMATION; | |
LPTIME_ZONE_INFORMATION :: ^TIME_ZONE_INFORMATION; | |
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 :: ^DYNAMIC_TIME_ZONE_INFORMATION; | |
SYSTEM_POWER_STATUS :: struct { | |
ACLineStatus : BYTE, | |
BatteryFlag : BYTE, | |
BatteryLifePercent : BYTE, | |
SystemStatusFlag : BYTE, | |
BatteryLifeTime : DWORD, | |
BatteryFullLifeTime : DWORD, | |
}; | |
LPSYSTEM_POWER_STATUS :: ^SYSTEM_POWER_STATUS; | |
ACTCTXA :: struct { | |
cbSize : ULONG, | |
dwFlags : DWORD, | |
lpSource : LPCSTR, | |
wProcessorArchitecture : USHORT, | |
wLangId : LANGID, | |
lpAssemblyDirectory : LPCSTR, | |
lpResourceName : LPCSTR, | |
lpApplicationName : LPCSTR, | |
hModule : HMODULE, | |
}; | |
PACTCTXA :: ^ACTCTXA; | |
ACTCTXW :: struct { | |
cbSize : ULONG, | |
dwFlags : DWORD, | |
lpSource : LPCWSTR, | |
wProcessorArchitecture : USHORT, | |
wLangId : LANGID, | |
lpAssemblyDirectory : LPCWSTR, | |
lpResourceName : LPCWSTR, | |
lpApplicationName : LPCWSTR, | |
hModule : HMODULE, | |
}; | |
PACTCTXW :: ^ACTCTXW; | |
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 :: ^ACTCTX_SECTION_KEYED_DATA_2600; | |
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 :: ^ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; | |
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 :: ^ACTCTX_SECTION_KEYED_DATA; | |
PCACTCTX_SECTION_KEYED_DATA :: ^ACTCTX_SECTION_KEYED_DATA; | |
ACTIVATION_CONTEXT_BASIC_INFORMATION :: struct { | |
hActCtx : HANDLE, | |
dwFlags : DWORD, | |
}; | |
PACTIVATION_CONTEXT_BASIC_INFORMATION :: ^ACTIVATION_CONTEXT_BASIC_INFORMATION; | |
PCACTIVATION_CONTEXT_BASIC_INFORMATION :: ^ACTIVATION_CONTEXT_BASIC_INFORMATION; | |
PQUERYACTCTXW_FUNC :: (proc "stdcall" (dwFlags : DWORD, hActCtx : HANDLE, pvSubInstance : PVOID, ulInfoClass : ULONG, pvBuffer : PVOID, cbBuffer : SIZE_T, pcbWrittenOrRequired : ^SIZE_T) -> BOOL); | |
APPLICATION_RECOVERY_CALLBACK :: (proc "stdcall" (pvParameter : PVOID) -> DWORD); | |
FILE_BASIC_INFO :: struct { | |
CreationTime : LARGE_INTEGER, | |
LastAccessTime : LARGE_INTEGER, | |
LastWriteTime : LARGE_INTEGER, | |
ChangeTime : LARGE_INTEGER, | |
FileAttributes : DWORD, | |
}; | |
PFILE_BASIC_INFO :: ^FILE_BASIC_INFO; | |
FILE_STANDARD_INFO :: struct { | |
AllocationSize : LARGE_INTEGER, | |
EndOfFile : LARGE_INTEGER, | |
NumberOfLinks : DWORD, | |
DeletePending : BOOLEAN, | |
Directory : BOOLEAN, | |
}; | |
PFILE_STANDARD_INFO :: ^FILE_STANDARD_INFO; | |
FILE_NAME_INFO :: struct { | |
FileNameLength : DWORD, | |
FileName : [1]WCHAR, | |
}; | |
PFILE_NAME_INFO :: ^FILE_NAME_INFO; | |
FILE_CASE_SENSITIVE_INFO :: struct { | |
Flags : ULONG, | |
}; | |
PFILE_CASE_SENSITIVE_INFO :: ^FILE_CASE_SENSITIVE_INFO; | |
FILE_RENAME_INFO :: struct { | |
u : struct #raw_union { | |
ReplaceIfExists : BOOLEAN, | |
Flags : DWORD, | |
}, | |
RootDirectory : HANDLE, | |
FileNameLength : DWORD, | |
FileName : [1]WCHAR, | |
}; | |
PFILE_RENAME_INFO :: ^FILE_RENAME_INFO; | |
FILE_ALLOCATION_INFO :: struct { | |
AllocationSize : LARGE_INTEGER, | |
}; | |
PFILE_ALLOCATION_INFO :: ^FILE_ALLOCATION_INFO; | |
FILE_END_OF_FILE_INFO :: struct { | |
EndOfFile : LARGE_INTEGER, | |
}; | |
PFILE_END_OF_FILE_INFO :: ^FILE_END_OF_FILE_INFO; | |
FILE_STREAM_INFO :: struct { | |
NextEntryOffset : DWORD, | |
StreamNameLength : DWORD, | |
StreamSize : LARGE_INTEGER, | |
StreamAllocationSize : LARGE_INTEGER, | |
StreamName : [1]WCHAR, | |
}; | |
PFILE_STREAM_INFO :: ^FILE_STREAM_INFO; | |
FILE_COMPRESSION_INFO :: struct { | |
CompressedFileSize : LARGE_INTEGER, | |
CompressionFormat : WORD, | |
CompressionUnitShift : UCHAR, | |
ChunkShift : UCHAR, | |
ClusterShift : UCHAR, | |
Reserved : [3]UCHAR, | |
}; | |
PFILE_COMPRESSION_INFO :: ^FILE_COMPRESSION_INFO; | |
FILE_ATTRIBUTE_TAG_INFO :: struct { | |
FileAttributes : DWORD, | |
ReparseTag : DWORD, | |
}; | |
PFILE_ATTRIBUTE_TAG_INFO :: ^FILE_ATTRIBUTE_TAG_INFO; | |
FILE_DISPOSITION_INFO :: struct { | |
DeleteFileA : BOOLEAN, | |
}; | |
PFILE_DISPOSITION_INFO :: ^FILE_DISPOSITION_INFO; | |
FILE_DISPOSITION_INFO_EX :: struct { | |
Flags : DWORD, | |
}; | |
PFILE_DISPOSITION_INFO_EX :: ^FILE_DISPOSITION_INFO_EX; | |
FILE_ID_BOTH_DIR_INFO :: struct { | |
NextEntryOffset : DWORD, | |
FileIndex : DWORD, | |
CreationTime : LARGE_INTEGER, | |
LastAccessTime : LARGE_INTEGER, | |
LastWriteTime : LARGE_INTEGER, | |
ChangeTime : LARGE_INTEGER, | |
EndOfFile : LARGE_INTEGER, | |
AllocationSize : LARGE_INTEGER, | |
FileAttributes : DWORD, | |
FileNameLength : DWORD, | |
EaSize : DWORD, | |
ShortNameLength : CCHAR, | |
ShortName : [12]WCHAR, | |
FileId : LARGE_INTEGER, | |
FileName : [1]WCHAR, | |
}; | |
PFILE_ID_BOTH_DIR_INFO :: ^FILE_ID_BOTH_DIR_INFO; | |
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 :: ^FILE_FULL_DIR_INFO; | |
/* PRIORITY_HINT :: enum { */ | |
PRIORITY_HINT :: _c.int; | |
IoPriorityHintVeryLow :: 0; | |
IoPriorityHintLow :: IoPriorityHintVeryLow + 1; | |
IoPriorityHintNormal :: IoPriorityHintLow + 1; | |
MaximumIoPriorityHintType :: IoPriorityHintNormal + 1; | |
/* } */ | |
; | |
FILE_IO_PRIORITY_HINT_INFO :: struct { | |
PriorityHint : PRIORITY_HINT, | |
}; | |
PFILE_IO_PRIORITY_HINT_INFO :: ^FILE_IO_PRIORITY_HINT_INFO; | |
FILE_ALIGNMENT_INFO :: struct { | |
AlignmentRequirement : ULONG, | |
}; | |
PFILE_ALIGNMENT_INFO :: ^FILE_ALIGNMENT_INFO; | |
FILE_STORAGE_INFO :: struct { | |
LogicalBytesPerSector : ULONG, | |
PhysicalBytesPerSectorForAtomicity : ULONG, | |
PhysicalBytesPerSectorForPerformance : ULONG, | |
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : ULONG, | |
Flags : ULONG, | |
ByteOffsetForSectorAlignment : ULONG, | |
ByteOffsetForPartitionAlignment : ULONG, | |
}; | |
PFILE_STORAGE_INFO :: ^FILE_STORAGE_INFO; | |
FILE_ID_INFO :: struct { | |
VolumeSerialNumber : ULONGLONG, | |
FileId : FILE_ID_128, | |
}; | |
PFILE_ID_INFO :: ^FILE_ID_INFO; | |
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 :: ^FILE_ID_EXTD_DIR_INFO; | |
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 :: ^FILE_REMOTE_PROTOCOL_INFO; | |
/* FILE_ID_TYPE :: enum { */ | |
FILE_ID_TYPE :: _c.int; | |
FileIdType :: 0; | |
ObjectIdType :: FileIdType + 1; | |
ExtendedFileIdType :: ObjectIdType + 1; | |
MaximumFileIdType :: ExtendedFileIdType + 1; | |
/* } */ | |
PFILE_ID_TYPE :: ^FILE_ID_TYPE; | |
FILE_ID_DESCRIPTOR :: struct { | |
dwSize : DWORD, | |
Type : FILE_ID_TYPE, | |
u : struct #raw_union { | |
FileId : LARGE_INTEGER, | |
ObjectId : GUID, | |
ExtendedFileId : FILE_ID_128, | |
}, | |
}; | |
LPFILE_ID_DESCRIPTOR :: ^FILE_ID_DESCRIPTOR; | |
DRAWPATRECT :: struct { | |
ptPosition : POINT, | |
ptSize : POINT, | |
wStyle : WORD, | |
wPattern : WORD, | |
}; | |
PDRAWPATRECT :: ^DRAWPATRECT; | |
PSINJECTDATA :: struct { | |
DataBytes : DWORD, | |
InjectionPoint : WORD, | |
PageNumber : WORD, | |
}; | |
PPSINJECTDATA :: ^PSINJECTDATA; | |
PSFEATURE_OUTPUT :: struct { | |
bPageIndependent : BOOL, | |
bSetPageDevice : BOOL, | |
}; | |
PPSFEATURE_OUTPUT :: ^PSFEATURE_OUTPUT; | |
PSFEATURE_CUSTPAPER :: struct { | |
lOrientation : LONG, | |
lWidth : LONG, | |
lHeight : LONG, | |
lWidthOffset : LONG, | |
lHeightOffset : LONG, | |
}; | |
PPSFEATURE_CUSTPAPER :: ^PSFEATURE_CUSTPAPER; | |
XFORM :: struct { | |
eM11 : FLOAT, | |
eM12 : FLOAT, | |
eM21 : FLOAT, | |
eM22 : FLOAT, | |
eDx : FLOAT, | |
eDy : FLOAT, | |
}; | |
PXFORM :: ^XFORM; | |
LPXFORM :: ^XFORM; | |
BITMAP :: struct { | |
bmType : LONG, | |
bmWidth : LONG, | |
bmHeight : LONG, | |
bmWidthBytes : LONG, | |
bmPlanes : WORD, | |
bmBitsPixel : WORD, | |
bmBits : LPVOID, | |
}; | |
PBITMAP :: ^BITMAP; | |
NPBITMAP :: ^BITMAP; | |
LPBITMAP :: ^BITMAP; | |
RGBTRIPLE :: struct { | |
rgbtBlue : BYTE, | |
rgbtGreen : BYTE, | |
rgbtRed : BYTE, | |
}; | |
PRGBTRIPLE :: ^RGBTRIPLE; | |
NPRGBTRIPLE :: ^RGBTRIPLE; | |
LPRGBTRIPLE :: ^RGBTRIPLE; | |
RGBQUAD :: struct { | |
rgbBlue : BYTE, | |
rgbGreen : BYTE, | |
rgbRed : BYTE, | |
rgbReserved : BYTE, | |
}; | |
LPRGBQUAD :: ^RGBQUAD; | |
LCSCSTYPE :: LONG; | |
LCSGAMUTMATCH :: LONG; | |
FXPT16DOT16 :: _c.long; | |
LPFXPT16DOT16 :: ^_c.long; | |
FXPT2DOT30 :: _c.long; | |
LPFXPT2DOT30 :: ^_c.long; | |
CIEXYZ :: struct { | |
ciexyzX : FXPT2DOT30, | |
ciexyzY : FXPT2DOT30, | |
ciexyzZ : FXPT2DOT30, | |
}; | |
LPCIEXYZ :: ^CIEXYZ; | |
CIEXYZTRIPLE :: struct { | |
ciexyzRed : CIEXYZ, | |
ciexyzGreen : CIEXYZ, | |
ciexyzBlue : CIEXYZ, | |
}; | |
LPCIEXYZTRIPLE :: ^CIEXYZTRIPLE; | |
LOGCOLORSPACEA :: struct { | |
lcsSignature : DWORD, | |
lcsVersion : DWORD, | |
lcsSize : DWORD, | |
lcsCSType : LCSCSTYPE, | |
lcsIntent : LCSGAMUTMATCH, | |
lcsEndpoints : CIEXYZTRIPLE, | |
lcsGammaRed : DWORD, | |
lcsGammaGreen : DWORD, | |
lcsGammaBlue : DWORD, | |
lcsFilename : [260]CHAR, | |
}; | |
LPLOGCOLORSPACEA :: ^LOGCOLORSPACEA; | |
LOGCOLORSPACEW :: struct { | |
lcsSignature : DWORD, | |
lcsVersion : DWORD, | |
lcsSize : DWORD, | |
lcsCSType : LCSCSTYPE, | |
lcsIntent : LCSGAMUTMATCH, | |
lcsEndpoints : CIEXYZTRIPLE, | |
lcsGammaRed : DWORD, | |
lcsGammaGreen : DWORD, | |
lcsGammaBlue : DWORD, | |
lcsFilename : [260]WCHAR, | |
}; | |
LPLOGCOLORSPACEW :: ^LOGCOLORSPACEW; | |
LOGCOLORSPACE :: LOGCOLORSPACEA; | |
LPLOGCOLORSPACE :: LPLOGCOLORSPACEA; | |
BITMAPCOREHEADER :: struct { | |
bcSize : DWORD, | |
bcWidth : WORD, | |
bcHeight : WORD, | |
bcPlanes : WORD, | |
bcBitCount : WORD, | |
}; | |
LPBITMAPCOREHEADER :: ^BITMAPCOREHEADER; | |
PBITMAPCOREHEADER :: ^BITMAPCOREHEADER; | |
BITMAPINFOHEADER :: struct { | |
biSize : DWORD, | |
biWidth : LONG, | |
biHeight : LONG, | |
biPlanes : WORD, | |
biBitCount : WORD, | |
biCompression : DWORD, | |
biSizeImage : DWORD, | |
biXPelsPerMeter : LONG, | |
biYPelsPerMeter : LONG, | |
biClrUsed : DWORD, | |
biClrImportant : DWORD, | |
}; | |
LPBITMAPINFOHEADER :: ^BITMAPINFOHEADER; | |
PBITMAPINFOHEADER :: ^BITMAPINFOHEADER; | |
BITMAPV4HEADER :: struct { | |
bV4Size : DWORD, | |
bV4Width : LONG, | |
bV4Height : LONG, | |
bV4Planes : WORD, | |
bV4BitCount : WORD, | |
bV4V4Compression : DWORD, | |
bV4SizeImage : DWORD, | |
bV4XPelsPerMeter : LONG, | |
bV4YPelsPerMeter : LONG, | |
bV4ClrUsed : DWORD, | |
bV4ClrImportant : DWORD, | |
bV4RedMask : DWORD, | |
bV4GreenMask : DWORD, | |
bV4BlueMask : DWORD, | |
bV4AlphaMask : DWORD, | |
bV4CSType : DWORD, | |
bV4Endpoints : CIEXYZTRIPLE, | |
bV4GammaRed : DWORD, | |
bV4GammaGreen : DWORD, | |
bV4GammaBlue : DWORD, | |
}; | |
LPBITMAPV4HEADER :: ^BITMAPV4HEADER; | |
PBITMAPV4HEADER :: ^BITMAPV4HEADER; | |
BITMAPV5HEADER :: struct { | |
bV5Size : DWORD, | |
bV5Width : LONG, | |
bV5Height : LONG, | |
bV5Planes : WORD, | |
bV5BitCount : WORD, | |
bV5Compression : DWORD, | |
bV5SizeImage : DWORD, | |
bV5XPelsPerMeter : LONG, | |
bV5YPelsPerMeter : LONG, | |
bV5ClrUsed : DWORD, | |
bV5ClrImportant : DWORD, | |
bV5RedMask : DWORD, | |
bV5GreenMask : DWORD, | |
bV5BlueMask : DWORD, | |
bV5AlphaMask : DWORD, | |
bV5CSType : DWORD, | |
bV5Endpoints : CIEXYZTRIPLE, | |
bV5GammaRed : DWORD, | |
bV5GammaGreen : DWORD, | |
bV5GammaBlue : DWORD, | |
bV5Intent : DWORD, | |
bV5ProfileData : DWORD, | |
bV5ProfileSize : DWORD, | |
bV5Reserved : DWORD, | |
}; | |
LPBITMAPV5HEADER :: ^BITMAPV5HEADER; | |
PBITMAPV5HEADER :: ^BITMAPV5HEADER; | |
BITMAPINFO :: struct { | |
bmiHeader : BITMAPINFOHEADER, | |
bmiColors : [1]RGBQUAD, | |
}; | |
LPBITMAPINFO :: ^BITMAPINFO; | |
PBITMAPINFO :: ^BITMAPINFO; | |
BITMAPCOREINFO :: struct { | |
bmciHeader : BITMAPCOREHEADER, | |
bmciColors : [1]RGBTRIPLE, | |
}; | |
LPBITMAPCOREINFO :: ^BITMAPCOREINFO; | |
PBITMAPCOREINFO :: ^BITMAPCOREINFO; | |
BITMAPFILEHEADER :: struct { | |
bfType : WORD, | |
bfSize : DWORD, | |
bfReserved1 : WORD, | |
bfReserved2 : WORD, | |
bfOffBits : DWORD, | |
}; | |
LPBITMAPFILEHEADER :: ^BITMAPFILEHEADER; | |
PBITMAPFILEHEADER :: ^BITMAPFILEHEADER; | |
FONTSIGNATURE :: struct { | |
fsUsb : [4]DWORD, | |
fsCsb : [2]DWORD, | |
}; | |
PFONTSIGNATURE :: ^FONTSIGNATURE; | |
LPFONTSIGNATURE :: ^FONTSIGNATURE; | |
CHARSETINFO :: struct { | |
ciCharset : UINT, | |
ciACP : UINT, | |
fs : FONTSIGNATURE, | |
}; | |
PCHARSETINFO :: ^CHARSETINFO; | |
NPCHARSETINFO :: ^CHARSETINFO; | |
LPCHARSETINFO :: ^CHARSETINFO; | |
LOCALESIGNATURE :: struct { | |
lsUsb : [4]DWORD, | |
lsCsbDefault : [2]DWORD, | |
lsCsbSupported : [2]DWORD, | |
}; | |
PLOCALESIGNATURE :: ^LOCALESIGNATURE; | |
LPLOCALESIGNATURE :: ^LOCALESIGNATURE; | |
HANDLETABLE :: struct { | |
objectHandle : [1]HGDIOBJ, | |
}; | |
PHANDLETABLE :: ^HANDLETABLE; | |
LPHANDLETABLE :: ^HANDLETABLE; | |
METARECORD :: struct { | |
rdSize : DWORD, | |
rdFunction : WORD, | |
rdParm : [1]WORD, | |
}; | |
PMETARECORD :: ^METARECORD; | |
LPMETARECORD :: ^METARECORD; | |
METAFILEPICT :: struct { | |
mm : LONG, | |
xExt : LONG, | |
yExt : LONG, | |
hMF : HMETAFILE, | |
}; | |
LPMETAFILEPICT :: ^METAFILEPICT; | |
METAHEADER :: struct { | |
mtType : WORD, | |
mtHeaderSize : WORD, | |
mtVersion : WORD, | |
mtSize : DWORD, | |
mtNoObjects : WORD, | |
mtMaxRecord : DWORD, | |
mtNoParameters : WORD, | |
}; | |
PMETAHEADER :: ^METAHEADER; | |
LPMETAHEADER :: ^METAHEADER; | |
ENHMETARECORD :: struct { | |
iType : DWORD, | |
nSize : DWORD, | |
dParm : [1]DWORD, | |
}; | |
PENHMETARECORD :: ^ENHMETARECORD; | |
LPENHMETARECORD :: ^ENHMETARECORD; | |
ENHMETAHEADER :: struct { | |
iType : DWORD, | |
nSize : DWORD, | |
rclBounds : RECTL, | |
rclFrame : RECTL, | |
dSignature : DWORD, | |
nVersion : DWORD, | |
nBytes : DWORD, | |
nRecords : DWORD, | |
nHandles : WORD, | |
sReserved : WORD, | |
nDescription : DWORD, | |
offDescription : DWORD, | |
nPalEntries : DWORD, | |
szlDevice : SIZEL, | |
szlMillimeters : SIZEL, | |
cbPixelFormat : DWORD, | |
offPixelFormat : DWORD, | |
bOpenGL : DWORD, | |
szlMicrometers : SIZEL, | |
}; | |
PENHMETAHEADER :: ^ENHMETAHEADER; | |
LPENHMETAHEADER :: ^ENHMETAHEADER; | |
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 :: ^TEXTMETRICA; | |
NPTEXTMETRICA :: ^TEXTMETRICA; | |
LPTEXTMETRICA :: ^TEXTMETRICA; | |
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 :: ^TEXTMETRICW; | |
NPTEXTMETRICW :: ^TEXTMETRICW; | |
LPTEXTMETRICW :: ^TEXTMETRICW; | |
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 : DWORD, | |
ntmSizeEM : UINT, | |
ntmCellHeight : UINT, | |
ntmAvgWidth : UINT, | |
}; | |
PNEWTEXTMETRICA :: ^NEWTEXTMETRICA; | |
NPNEWTEXTMETRICA :: ^NEWTEXTMETRICA; | |
LPNEWTEXTMETRICA :: ^NEWTEXTMETRICA; | |
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 : DWORD, | |
ntmSizeEM : UINT, | |
ntmCellHeight : UINT, | |
ntmAvgWidth : UINT, | |
}; | |
PNEWTEXTMETRICW :: ^NEWTEXTMETRICW; | |
NPNEWTEXTMETRICW :: ^NEWTEXTMETRICW; | |
LPNEWTEXTMETRICW :: ^NEWTEXTMETRICW; | |
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 :: ^PELARRAY; | |
NPPELARRAY :: ^PELARRAY; | |
LPPELARRAY :: ^PELARRAY; | |
LOGBRUSH :: struct { | |
lbStyle : UINT, | |
lbColor : COLORREF, | |
lbHatch : ULONG_PTR, | |
}; | |
PLOGBRUSH :: ^LOGBRUSH; | |
NPLOGBRUSH :: ^LOGBRUSH; | |
LPLOGBRUSH :: ^LOGBRUSH; | |
LOGBRUSH32 :: struct { | |
lbStyle : UINT, | |
lbColor : COLORREF, | |
lbHatch : ULONG, | |
}; | |
PLOGBRUSH32 :: ^LOGBRUSH32; | |
NPLOGBRUSH32 :: ^LOGBRUSH32; | |
LPLOGBRUSH32 :: ^LOGBRUSH32; | |
PATTERN :: LOGBRUSH; | |
PPATTERN :: ^PATTERN; | |
NPPATTERN :: ^PATTERN; | |
LPPATTERN :: ^PATTERN; | |
LOGPEN :: struct { | |
lopnStyle : UINT, | |
lopnWidth : POINT, | |
lopnColor : COLORREF, | |
}; | |
PLOGPEN :: ^LOGPEN; | |
NPLOGPEN :: ^LOGPEN; | |
LPLOGPEN :: ^LOGPEN; | |
EXTLOGPEN :: struct { | |
elpPenStyle : DWORD, | |
elpWidth : DWORD, | |
elpBrushStyle : UINT, | |
elpColor : COLORREF, | |
elpHatch : ULONG_PTR, | |
elpNumEntries : DWORD, | |
elpStyleEntry : [1]DWORD, | |
}; | |
PEXTLOGPEN :: ^EXTLOGPEN; | |
NPEXTLOGPEN :: ^EXTLOGPEN; | |
LPEXTLOGPEN :: ^EXTLOGPEN; | |
EXTLOGPEN32 :: struct { | |
elpPenStyle : DWORD, | |
elpWidth : DWORD, | |
elpBrushStyle : UINT, | |
elpColor : COLORREF, | |
elpHatch : ULONG, | |
elpNumEntries : DWORD, | |
elpStyleEntry : [1]DWORD, | |
}; | |
PEXTLOGPEN32 :: ^EXTLOGPEN32; | |
NPEXTLOGPEN32 :: ^EXTLOGPEN32; | |
LPEXTLOGPEN32 :: ^EXTLOGPEN32; | |
PALETTEENTRY :: struct { | |
peRed : BYTE, | |
peGreen : BYTE, | |
peBlue : BYTE, | |
peFlags : BYTE, | |
}; | |
PPALETTEENTRY :: ^PALETTEENTRY; | |
LPPALETTEENTRY :: ^PALETTEENTRY; | |
LOGPALETTE :: struct { | |
palVersion : WORD, | |
palNumEntries : WORD, | |
palPalEntry : [1]PALETTEENTRY, | |
}; | |
PLOGPALETTE :: ^LOGPALETTE; | |
NPLOGPALETTE :: ^LOGPALETTE; | |
LPLOGPALETTE :: ^LOGPALETTE; | |
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 :: ^LOGFONTA; | |
NPLOGFONTA :: ^LOGFONTA; | |
LPLOGFONTA :: ^LOGFONTA; | |
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 :: ^LOGFONTW; | |
NPLOGFONTW :: ^LOGFONTW; | |
LPLOGFONTW :: ^LOGFONTW; | |
LOGFONT :: LOGFONTA; | |
PLOGFONT :: PLOGFONTA; | |
NPLOGFONT :: NPLOGFONTA; | |
LPLOGFONT :: LPLOGFONTA; | |
ENUMLOGFONTA :: struct { | |
elfLogFont : LOGFONTA, | |
elfFullName : [64]BYTE, | |
elfStyle : [32]BYTE, | |
}; | |
LPENUMLOGFONTA :: ^ENUMLOGFONTA; | |
ENUMLOGFONTW :: struct { | |
elfLogFont : LOGFONTW, | |
elfFullName : [64]WCHAR, | |
elfStyle : [32]WCHAR, | |
}; | |
LPENUMLOGFONTW :: ^ENUMLOGFONTW; | |
ENUMLOGFONT :: ENUMLOGFONTA; | |
LPENUMLOGFONT :: LPENUMLOGFONTA; | |
ENUMLOGFONTEXA :: struct { | |
elfLogFont : LOGFONTA, | |
elfFullName : [64]BYTE, | |
elfStyle : [32]BYTE, | |
elfScript : [32]BYTE, | |
}; | |
LPENUMLOGFONTEXA :: ^ENUMLOGFONTEXA; | |
ENUMLOGFONTEXW :: struct { | |
elfLogFont : LOGFONTW, | |
elfFullName : [64]WCHAR, | |
elfStyle : [32]WCHAR, | |
elfScript : [32]WCHAR, | |
}; | |
LPENUMLOGFONTEXW :: ^ENUMLOGFONTEXW; | |
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 :: ^PANOSE; | |
EXTLOGFONTA :: struct { | |
elfLogFont : LOGFONTA, | |
elfFullName : [64]BYTE, | |
elfStyle : [32]BYTE, | |
elfVersion : DWORD, | |
elfStyleSize : DWORD, | |
elfMatch : DWORD, | |
elfReserved : DWORD, | |
elfVendorId : [4]BYTE, | |
elfCulture : DWORD, | |
elfPanose : PANOSE, | |
}; | |
PEXTLOGFONTA :: ^EXTLOGFONTA; | |
NPEXTLOGFONTA :: ^EXTLOGFONTA; | |
LPEXTLOGFONTA :: ^EXTLOGFONTA; | |
EXTLOGFONTW :: struct { | |
elfLogFont : LOGFONTW, | |
elfFullName : [64]WCHAR, | |
elfStyle : [32]WCHAR, | |
elfVersion : DWORD, | |
elfStyleSize : DWORD, | |
elfMatch : DWORD, | |
elfReserved : DWORD, | |
elfVendorId : [4]BYTE, | |
elfCulture : DWORD, | |
elfPanose : PANOSE, | |
}; | |
PEXTLOGFONTW :: ^EXTLOGFONTW; | |
NPEXTLOGFONTW :: ^EXTLOGFONTW; | |
LPEXTLOGFONTW :: ^EXTLOGFONTW; | |
EXTLOGFONT :: EXTLOGFONTA; | |
PEXTLOGFONT :: PEXTLOGFONTA; | |
NPEXTLOGFONT :: NPEXTLOGFONTA; | |
LPEXTLOGFONT :: LPEXTLOGFONTA; | |
DEVMODEA :: struct { | |
dmDeviceName : [32]BYTE, | |
dmSpecVersion : WORD, | |
dmDriverVersion : WORD, | |
dmSize : WORD, | |
dmDriverExtra : WORD, | |
dmFields : DWORD, | |
u : struct #raw_union { | |
s : struct { | |
dmOrientation : _c.short, | |
dmPaperSize : _c.short, | |
dmPaperLength : _c.short, | |
dmPaperWidth : _c.short, | |
dmScale : _c.short, | |
dmCopies : _c.short, | |
dmDefaultSource : _c.short, | |
dmPrintQuality : _c.short, | |
}, | |
s2 : struct { | |
dmPosition : POINTL, | |
dmDisplayOrientation : DWORD, | |
dmDisplayFixedOutput : DWORD, | |
}, | |
}, | |
dmColor : _c.short, | |
dmDuplex : _c.short, | |
dmYResolution : _c.short, | |
dmTTOption : _c.short, | |
dmCollate : _c.short, | |
dmFormName : [32]BYTE, | |
dmLogPixels : WORD, | |
dmBitsPerPel : DWORD, | |
dmPelsWidth : DWORD, | |
dmPelsHeight : DWORD, | |
u2 : struct #raw_union { | |
dmDisplayFlags : DWORD, | |
dmNup : DWORD, | |
}, | |
dmDisplayFrequency : DWORD, | |
dmICMMethod : DWORD, | |
dmICMIntent : DWORD, | |
dmMediaType : DWORD, | |
dmDitherType : DWORD, | |
dmReserved1 : DWORD, | |
dmReserved2 : DWORD, | |
dmPanningWidth : DWORD, | |
dmPanningHeight : DWORD, | |
}; | |
PDEVMODEA :: ^DEVMODEA; | |
NPDEVMODEA :: ^DEVMODEA; | |
LPDEVMODEA :: ^DEVMODEA; | |
DEVMODEW :: struct { | |
dmDeviceName : [32]WCHAR, | |
dmSpecVersion : WORD, | |
dmDriverVersion : WORD, | |
dmSize : WORD, | |
dmDriverExtra : WORD, | |
dmFields : DWORD, | |
u : struct #raw_union { | |
s : struct { | |
dmOrientation : _c.short, | |
dmPaperSize : _c.short, | |
dmPaperLength : _c.short, | |
dmPaperWidth : _c.short, | |
dmScale : _c.short, | |
dmCopies : _c.short, | |
dmDefaultSource : _c.short, | |
dmPrintQuality : _c.short, | |
}, | |
s2 : struct { | |
dmPosition : POINTL, | |
dmDisplayOrientation : DWORD, | |
dmDisplayFixedOutput : DWORD, | |
}, | |
}, | |
dmColor : _c.short, | |
dmDuplex : _c.short, | |
dmYResolution : _c.short, | |
dmTTOption : _c.short, | |
dmCollate : _c.short, | |
dmFormName : [32]WCHAR, | |
dmLogPixels : WORD, | |
dmBitsPerPel : DWORD, | |
dmPelsWidth : DWORD, | |
dmPelsHeight : DWORD, | |
u2 : struct #raw_union { | |
dmDisplayFlags : DWORD, | |
dmNup : DWORD, | |
}, | |
dmDisplayFrequency : DWORD, | |
dmICMMethod : DWORD, | |
dmICMIntent : DWORD, | |
dmMediaType : DWORD, | |
dmDitherType : DWORD, | |
dmReserved1 : DWORD, | |
dmReserved2 : DWORD, | |
dmPanningWidth : DWORD, | |
dmPanningHeight : DWORD, | |
}; | |
PDEVMODEW :: ^DEVMODEW; | |
NPDEVMODEW :: ^DEVMODEW; | |
LPDEVMODEW :: ^DEVMODEW; | |
DEVMODE :: DEVMODEA; | |
PDEVMODE :: PDEVMODEA; | |
NPDEVMODE :: NPDEVMODEA; | |
LPDEVMODE :: LPDEVMODEA; | |
DISPLAY_DEVICEA :: struct { | |
cb : DWORD, | |
DeviceName : [32]CHAR, | |
DeviceString : [128]CHAR, | |
StateFlags : DWORD, | |
DeviceID : [128]CHAR, | |
DeviceKey : [128]CHAR, | |
}; | |
PDISPLAY_DEVICEA :: ^DISPLAY_DEVICEA; | |
LPDISPLAY_DEVICEA :: ^DISPLAY_DEVICEA; | |
DISPLAY_DEVICEW :: struct { | |
cb : DWORD, | |
DeviceName : [32]WCHAR, | |
DeviceString : [128]WCHAR, | |
StateFlags : DWORD, | |
DeviceID : [128]WCHAR, | |
DeviceKey : [128]WCHAR, | |
}; | |
PDISPLAY_DEVICEW :: ^DISPLAY_DEVICEW; | |
LPDISPLAY_DEVICEW :: ^DISPLAY_DEVICEW; | |
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_VIDEO_OUTPUT_TECHNOLOGY :: _c.int; | |
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 :: _c.int; | |
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 : bit_field { | |
videoStandard : 16, | |
vSyncFreqDivider : 6, | |
reserved : 10, | |
}, | |
videoStandard : UINT32, | |
}, | |
scanLineOrdering : DISPLAYCONFIG_SCANLINE_ORDERING, | |
}; | |
/* DISPLAYCONFIG_SCALING :: enum { */ | |
DISPLAYCONFIG_SCALING :: _c.int; | |
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 :: _c.int; | |
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 :: _c.int; | |
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 :: _c.int; | |
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 : bit_field { | |
cloneGroupId : 16, | |
sourceModeInfoIdx : 16, | |
}, | |
}, | |
statusFlags : UINT32, | |
}; | |
DISPLAYCONFIG_PATH_TARGET_INFO :: struct { | |
adapterId : LUID, | |
id : UINT32, | |
u : struct #raw_union { | |
modeInfoIdx : UINT32, | |
s : bit_field { | |
desktopModeInfoIdx : 16, | |
targetModeInfoIdx : 16, | |
}, | |
}, | |
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_ID :: _c.int; | |
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_TYPE :: _c.int; | |
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 { | |
type : 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 : bit_field { | |
friendlyNameFromEdid : 1, | |
friendlyNameForced : 1, | |
edidIdsValid : 1, | |
reserved : 29, | |
}, | |
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 : bit_field { | |
bootPersistenceOn : 1, | |
reserved : 31, | |
}, | |
value : UINT32, | |
}, | |
}; | |
DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION :: struct { | |
header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
s : struct #raw_union { | |
s : bit_field { | |
disableMonitorVirtualResolution : 1, | |
reserved : 31, | |
}, | |
value : UINT32, | |
}, | |
}; | |
/* DISPLAYCONFIG_COLOR_ENCODING :: enum { */ | |
DISPLAYCONFIG_COLOR_ENCODING :: _c.int; | |
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 : bit_field { | |
advancedColorSupported : 1, | |
advancedColorEnabled : 1, | |
wideColorEnforced : 1, | |
advancedColorForceDisabled : 1, | |
reserved : 28, | |
}, | |
value : UINT32, | |
}, | |
colorEncoding : DISPLAYCONFIG_COLOR_ENCODING, | |
bitsPerColorChannel : UINT32, | |
}; | |
DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE :: struct { | |
header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
u : struct #raw_union { | |
s : bit_field { | |
enableAdvancedColor : 1, | |
reserved : 31, | |
}, | |
value : UINT32, | |
}, | |
}; | |
DISPLAYCONFIG_SDR_WHITE_LEVEL :: struct { | |
header : DISPLAYCONFIG_DEVICE_INFO_HEADER, | |
SDRWhiteLevel : ULONG, | |
}; | |
RGNDATAHEADER :: struct { | |
dwSize : DWORD, | |
iType : DWORD, | |
nCount : DWORD, | |
nRgnSize : DWORD, | |
rcBound : RECT, | |
}; | |
PRGNDATAHEADER :: ^RGNDATAHEADER; | |
RGNDATA :: struct { | |
rdh : RGNDATAHEADER, | |
Buffer : [1]_c.uchar, | |
}; | |
PRGNDATA :: ^RGNDATA; | |
NPRGNDATA :: ^RGNDATA; | |
LPRGNDATA :: ^RGNDATA; | |
ABC :: struct { | |
abcA : _c.int, | |
abcB : UINT, | |
abcC : _c.int, | |
}; | |
PABC :: ^ABC; | |
NPABC :: ^ABC; | |
LPABC :: ^ABC; | |
ABCFLOAT :: struct { | |
abcfA : FLOAT, | |
abcfB : FLOAT, | |
abcfC : FLOAT, | |
}; | |
PABCFLOAT :: ^ABCFLOAT; | |
NPABCFLOAT :: ^ABCFLOAT; | |
LPABCFLOAT :: ^ABCFLOAT; | |
OUTLINETEXTMETRICA :: struct { | |
otmSize : UINT, | |
otmTextMetrics : TEXTMETRICA, | |
otmFiller : BYTE, | |
otmPanoseNumber : PANOSE, | |
otmfsSelection : UINT, | |
otmfsType : UINT, | |
otmsCharSlopeRise : _c.int, | |
otmsCharSlopeRun : _c.int, | |
otmItalicAngle : _c.int, | |
otmEMSquare : UINT, | |
otmAscent : _c.int, | |
otmDescent : _c.int, | |
otmLineGap : UINT, | |
otmsCapEmHeight : UINT, | |
otmsXHeight : UINT, | |
otmrcFontBox : RECT, | |
otmMacAscent : _c.int, | |
otmMacDescent : _c.int, | |
otmMacLineGap : UINT, | |
otmusMinimumPPEM : UINT, | |
otmptSubscriptSize : POINT, | |
otmptSubscriptOffset : POINT, | |
otmptSuperscriptSize : POINT, | |
otmptSuperscriptOffset : POINT, | |
otmsStrikeoutSize : UINT, | |
otmsStrikeoutPosition : _c.int, | |
otmsUnderscoreSize : _c.int, | |
otmsUnderscorePosition : _c.int, | |
otmpFamilyName : PSTR, | |
otmpFaceName : PSTR, | |
otmpStyleName : PSTR, | |
otmpFullName : PSTR, | |
}; | |
POUTLINETEXTMETRICA :: ^OUTLINETEXTMETRICA; | |
NPOUTLINETEXTMETRICA :: ^OUTLINETEXTMETRICA; | |
LPOUTLINETEXTMETRICA :: ^OUTLINETEXTMETRICA; | |
OUTLINETEXTMETRICW :: struct { | |
otmSize : UINT, | |
otmTextMetrics : TEXTMETRICW, | |
otmFiller : BYTE, | |
otmPanoseNumber : PANOSE, | |
otmfsSelection : UINT, | |
otmfsType : UINT, | |
otmsCharSlopeRise : _c.int, | |
otmsCharSlopeRun : _c.int, | |
otmItalicAngle : _c.int, | |
otmEMSquare : UINT, | |
otmAscent : _c.int, | |
otmDescent : _c.int, | |
otmLineGap : UINT, | |
otmsCapEmHeight : UINT, | |
otmsXHeight : UINT, | |
otmrcFontBox : RECT, | |
otmMacAscent : _c.int, | |
otmMacDescent : _c.int, | |
otmMacLineGap : UINT, | |
otmusMinimumPPEM : UINT, | |
otmptSubscriptSize : POINT, | |
otmptSubscriptOffset : POINT, | |
otmptSuperscriptSize : POINT, | |
otmptSuperscriptOffset : POINT, | |
otmsStrikeoutSize : UINT, | |
otmsStrikeoutPosition : _c.int, | |
otmsUnderscoreSize : _c.int, | |
otmsUnderscorePosition : _c.int, | |
otmpFamilyName : PSTR, | |
otmpFaceName : PSTR, | |
otmpStyleName : PSTR, | |
otmpFullName : PSTR, | |
}; | |
POUTLINETEXTMETRICW :: ^OUTLINETEXTMETRICW; | |
NPOUTLINETEXTMETRICW :: ^OUTLINETEXTMETRICW; | |
LPOUTLINETEXTMETRICW :: ^OUTLINETEXTMETRICW; | |
OUTLINETEXTMETRIC :: OUTLINETEXTMETRICA; | |
POUTLINETEXTMETRIC :: POUTLINETEXTMETRICA; | |
NPOUTLINETEXTMETRIC :: NPOUTLINETEXTMETRICA; | |
LPOUTLINETEXTMETRIC :: LPOUTLINETEXTMETRICA; | |
POLYTEXTA :: struct { | |
x : _c.int, | |
y : _c.int, | |
n : UINT, | |
lpstr : LPCSTR, | |
uiFlags : UINT, | |
rcl : RECT, | |
pdx : ^_c.int, | |
}; | |
PPOLYTEXTA :: ^POLYTEXTA; | |
NPPOLYTEXTA :: ^POLYTEXTA; | |
LPPOLYTEXTA :: ^POLYTEXTA; | |
POLYTEXTW :: struct { | |
x : _c.int, | |
y : _c.int, | |
n : UINT, | |
lpstr : LPCWSTR, | |
uiFlags : UINT, | |
rcl : RECT, | |
pdx : ^_c.int, | |
}; | |
PPOLYTEXTW :: ^POLYTEXTW; | |
NPPOLYTEXTW :: ^POLYTEXTW; | |
LPPOLYTEXTW :: ^POLYTEXTW; | |
POLYTEXT :: POLYTEXTA; | |
PPOLYTEXT :: PPOLYTEXTA; | |
NPPOLYTEXT :: NPPOLYTEXTA; | |
LPPOLYTEXT :: LPPOLYTEXTA; | |
FIXED :: struct { | |
fract : WORD, | |
value : _c.short, | |
}; | |
MAT2 :: struct { | |
eM11 : FIXED, | |
eM12 : FIXED, | |
eM21 : FIXED, | |
eM22 : FIXED, | |
}; | |
LPMAT2 :: ^MAT2; | |
GLYPHMETRICS :: struct { | |
gmBlackBoxX : UINT, | |
gmBlackBoxY : UINT, | |
gmptGlyphOrigin : POINT, | |
gmCellIncX : _c.short, | |
gmCellIncY : _c.short, | |
}; | |
LPGLYPHMETRICS :: ^GLYPHMETRICS; | |
POINTFX :: struct { | |
x : FIXED, | |
y : FIXED, | |
}; | |
LPPOINTFX :: ^POINTFX; | |
TTPOLYCURVE :: struct { | |
wType : WORD, | |
cpfx : WORD, | |
apfx : [1]POINTFX, | |
}; | |
LPTTPOLYCURVE :: ^TTPOLYCURVE; | |
TTPOLYGONHEADER :: struct { | |
cb : DWORD, | |
dwType : DWORD, | |
pfxStart : POINTFX, | |
}; | |
LPTTPOLYGONHEADER :: ^TTPOLYGONHEADER; | |
GCP_RESULTSA :: struct { | |
lStructSize : DWORD, | |
lpOutString : LPSTR, | |
lpOrder : ^UINT, | |
lpDx : ^_c.int, | |
lpCaretPos : ^_c.int, | |
lpClass : LPSTR, | |
lpGlyphs : LPWSTR, | |
nGlyphs : UINT, | |
nMaxFit : _c.int, | |
}; | |
LPGCP_RESULTSA :: ^GCP_RESULTSA; | |
GCP_RESULTSW :: struct { | |
lStructSize : DWORD, | |
lpOutString : LPWSTR, | |
lpOrder : ^UINT, | |
lpDx : ^_c.int, | |
lpCaretPos : ^_c.int, | |
lpClass : LPSTR, | |
lpGlyphs : LPWSTR, | |
nGlyphs : UINT, | |
nMaxFit : _c.int, | |
}; | |
LPGCP_RESULTSW :: ^GCP_RESULTSW; | |
GCP_RESULTS :: GCP_RESULTSA; | |
LPGCP_RESULTS :: LPGCP_RESULTSA; | |
RASTERIZER_STATUS :: struct { | |
nSize : _c.short, | |
wFlags : _c.short, | |
nLanguageID : _c.short, | |
}; | |
LPRASTERIZER_STATUS :: ^RASTERIZER_STATUS; | |
PIXELFORMATDESCRIPTOR :: struct { | |
nSize : WORD, | |
nVersion : WORD, | |
dwFlags : DWORD, | |
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 : DWORD, | |
dwVisibleMask : DWORD, | |
dwDamageMask : DWORD, | |
}; | |
PPIXELFORMATDESCRIPTOR :: ^PIXELFORMATDESCRIPTOR; | |
LPPIXELFORMATDESCRIPTOR :: ^PIXELFORMATDESCRIPTOR; | |
OLDFONTENUMPROCA :: (proc "stdcall" (^LOGFONTA, ^TEXTMETRICA, DWORD, LPARAM) -> _c.int); | |
OLDFONTENUMPROCW :: (proc "stdcall" (^LOGFONTW, ^TEXTMETRICW, DWORD, LPARAM) -> _c.int); | |
FONTENUMPROCA :: OLDFONTENUMPROCA; | |
FONTENUMPROCW :: OLDFONTENUMPROCW; | |
FONTENUMPROC :: FONTENUMPROCA; | |
GOBJENUMPROC :: (proc "stdcall" (LPVOID, LPARAM) -> _c.int); | |
LINEDDAPROC :: proc "stdcall" (_c.int, _c.int, LPARAM); | |
LPFNDEVMODE :: (proc "stdcall" (HWND, HMODULE, LPDEVMODE, LPSTR, LPSTR, LPDEVMODE, LPSTR, UINT) -> UINT); | |
LPFNDEVCAPS :: (proc "stdcall" (LPSTR, LPSTR, UINT, LPSTR, LPDEVMODE) -> DWORD); | |
WCRANGE :: struct { | |
wcLow : WCHAR, | |
cGlyphs : USHORT, | |
}; | |
PWCRANGE :: ^WCRANGE; | |
LPWCRANGE :: ^WCRANGE; | |
GLYPHSET :: struct { | |
cbThis : DWORD, | |
flAccel : DWORD, | |
cGlyphsSupported : DWORD, | |
cRanges : DWORD, | |
ranges : [1]WCRANGE, | |
}; | |
PGLYPHSET :: ^GLYPHSET; | |
LPGLYPHSET :: ^GLYPHSET; | |
DESIGNVECTOR :: struct { | |
dvReserved : DWORD, | |
dvNumAxes : DWORD, | |
dvValues : [16]LONG, | |
}; | |
PDESIGNVECTOR :: ^DESIGNVECTOR; | |
LPDESIGNVECTOR :: ^DESIGNVECTOR; | |
AXISINFOA :: struct { | |
axMinValue : LONG, | |
axMaxValue : LONG, | |
axAxisName : [16]BYTE, | |
}; | |
PAXISINFOA :: ^AXISINFOA; | |
LPAXISINFOA :: ^AXISINFOA; | |
AXISINFOW :: struct { | |
axMinValue : LONG, | |
axMaxValue : LONG, | |
axAxisName : [16]WCHAR, | |
}; | |
PAXISINFOW :: ^AXISINFOW; | |
LPAXISINFOW :: ^AXISINFOW; | |
AXISINFO :: AXISINFOA; | |
PAXISINFO :: PAXISINFOA; | |
LPAXISINFO :: LPAXISINFOA; | |
AXESLISTA :: struct { | |
axlReserved : DWORD, | |
axlNumAxes : DWORD, | |
axlAxisInfo : [16]AXISINFOA, | |
}; | |
PAXESLISTA :: ^AXESLISTA; | |
LPAXESLISTA :: ^AXESLISTA; | |
AXESLISTW :: struct { | |
axlReserved : DWORD, | |
axlNumAxes : DWORD, | |
axlAxisInfo : [16]AXISINFOW, | |
}; | |
PAXESLISTW :: ^AXESLISTW; | |
LPAXESLISTW :: ^AXESLISTW; | |
AXESLIST :: AXESLISTA; | |
PAXESLIST :: PAXESLISTA; | |
LPAXESLIST :: LPAXESLISTA; | |
ENUMLOGFONTEXDVA :: struct { | |
elfEnumLogfontEx : ENUMLOGFONTEXA, | |
elfDesignVector : DESIGNVECTOR, | |
}; | |
PENUMLOGFONTEXDVA :: ^ENUMLOGFONTEXDVA; | |
LPENUMLOGFONTEXDVA :: ^ENUMLOGFONTEXDVA; | |
ENUMLOGFONTEXDVW :: struct { | |
elfEnumLogfontEx : ENUMLOGFONTEXW, | |
elfDesignVector : DESIGNVECTOR, | |
}; | |
PENUMLOGFONTEXDVW :: ^ENUMLOGFONTEXDVW; | |
LPENUMLOGFONTEXDVW :: ^ENUMLOGFONTEXDVW; | |
ENUMLOGFONTEXDV :: ENUMLOGFONTEXDVA; | |
PENUMLOGFONTEXDV :: PENUMLOGFONTEXDVA; | |
LPENUMLOGFONTEXDV :: LPENUMLOGFONTEXDVA; | |
ENUMTEXTMETRICA :: struct { | |
etmNewTextMetricEx : NEWTEXTMETRICEXA, | |
etmAxesList : AXESLISTA, | |
}; | |
PENUMTEXTMETRICA :: ^ENUMTEXTMETRICA; | |
LPENUMTEXTMETRICA :: ^ENUMTEXTMETRICA; | |
ENUMTEXTMETRICW :: struct { | |
etmNewTextMetricEx : NEWTEXTMETRICEXW, | |
etmAxesList : AXESLISTW, | |
}; | |
PENUMTEXTMETRICW :: ^ENUMTEXTMETRICW; | |
LPENUMTEXTMETRICW :: ^ENUMTEXTMETRICW; | |
ENUMTEXTMETRIC :: ENUMTEXTMETRICA; | |
PENUMTEXTMETRIC :: PENUMTEXTMETRICA; | |
LPENUMTEXTMETRIC :: LPENUMTEXTMETRICA; | |
COLOR16 :: USHORT; | |
TRIVERTEX :: struct { | |
x : LONG, | |
y : LONG, | |
Red : COLOR16, | |
Green : COLOR16, | |
Blue : COLOR16, | |
Alpha : COLOR16, | |
}; | |
PTRIVERTEX :: ^TRIVERTEX; | |
LPTRIVERTEX :: ^TRIVERTEX; | |
GRADIENT_TRIANGLE :: struct { | |
Vertex1 : ULONG, | |
Vertex2 : ULONG, | |
Vertex3 : ULONG, | |
}; | |
PGRADIENT_TRIANGLE :: ^GRADIENT_TRIANGLE; | |
LPGRADIENT_TRIANGLE :: ^GRADIENT_TRIANGLE; | |
GRADIENT_RECT :: struct { | |
UpperLeft : ULONG, | |
LowerRight : ULONG, | |
}; | |
PGRADIENT_RECT :: ^GRADIENT_RECT; | |
LPGRADIENT_RECT :: ^GRADIENT_RECT; | |
BLENDFUNCTION :: struct { | |
BlendOp : BYTE, | |
BlendFlags : BYTE, | |
SourceConstantAlpha : BYTE, | |
AlphaFormat : BYTE, | |
}; | |
PBLENDFUNCTION :: ^BLENDFUNCTION; | |
MFENUMPROC :: (proc "stdcall" (hdc : HDC, lpht : ^HANDLETABLE, lpMR : ^METARECORD, nObj : _c.int, param : LPARAM) -> _c.int); | |
ENHMFENUMPROC :: (proc "stdcall" (hdc : HDC, lpht : ^HANDLETABLE, lpmr : ^ENHMETARECORD, nHandles : _c.int, data : LPARAM) -> _c.int); | |
DIBSECTION :: struct { | |
dsBm : BITMAP, | |
dsBmih : BITMAPINFOHEADER, | |
dsBitfields : [3]DWORD, | |
dshSection : HANDLE, | |
dsOffset : DWORD, | |
}; | |
LPDIBSECTION :: ^DIBSECTION; | |
PDIBSECTION :: ^DIBSECTION; | |
COLORADJUSTMENT :: struct { | |
caSize : WORD, | |
caFlags : WORD, | |
caIlluminantIndex : WORD, | |
caRedGamma : WORD, | |
caGreenGamma : WORD, | |
caBlueGamma : WORD, | |
caReferenceBlack : WORD, | |
caReferenceWhite : WORD, | |
caContrast : SHORT, | |
caBrightness : SHORT, | |
caColorfulness : SHORT, | |
caRedGreenTint : SHORT, | |
}; | |
PCOLORADJUSTMENT :: ^COLORADJUSTMENT; | |
LPCOLORADJUSTMENT :: ^COLORADJUSTMENT; | |
ABORTPROC :: (proc "stdcall" (HDC, _c.int) -> BOOL); | |
DOCINFOA :: struct { | |
cbSize : _c.int, | |
lpszDocName : LPCSTR, | |
lpszOutput : LPCSTR, | |
lpszDatatype : LPCSTR, | |
fwType : DWORD, | |
}; | |
LPDOCINFOA :: ^DOCINFOA; | |
DOCINFOW :: struct { | |
cbSize : _c.int, | |
lpszDocName : LPCWSTR, | |
lpszOutput : LPCWSTR, | |
lpszDatatype : LPCWSTR, | |
fwType : DWORD, | |
}; | |
LPDOCINFOW :: ^DOCINFOW; | |
DOCINFO :: DOCINFOA; | |
LPDOCINFO :: LPDOCINFOA; | |
KERNINGPAIR :: struct { | |
wFirst : WORD, | |
wSecond : WORD, | |
iKernAmount : _c.int, | |
}; | |
LPKERNINGPAIR :: ^KERNINGPAIR; | |
ICMENUMPROCA :: (proc "stdcall" (LPSTR, LPARAM) -> _c.int); | |
ICMENUMPROCW :: (proc "stdcall" (LPWSTR, LPARAM) -> _c.int); | |
EMR :: struct { | |
iType : DWORD, | |
nSize : DWORD, | |
}; | |
PEMR :: ^EMR; | |
EMRTEXT :: struct { | |
ptlReference : POINTL, | |
nChars : DWORD, | |
offString : DWORD, | |
fOptions : DWORD, | |
rcl : RECTL, | |
offDx : DWORD, | |
}; | |
PEMRTEXT :: ^EMRTEXT; | |
EMRABORTPATH :: struct { | |
emr : EMR, | |
}; | |
PEMRABORTPATH :: ^EMRABORTPATH; | |
EMRBEGINPATH :: struct { | |
emr : EMR, | |
}; | |
PEMRBEGINPATH :: ^EMRBEGINPATH; | |
EMRENDPATH :: struct { | |
emr : EMR, | |
}; | |
PEMRENDPATH :: ^EMRENDPATH; | |
EMRCLOSEFIGURE :: struct { | |
emr : EMR, | |
}; | |
PEMRCLOSEFIGURE :: ^EMRCLOSEFIGURE; | |
EMRFLATTENPATH :: struct { | |
emr : EMR, | |
}; | |
PEMRFLATTENPATH :: ^EMRFLATTENPATH; | |
EMRWIDENPATH :: struct { | |
emr : EMR, | |
}; | |
PEMRWIDENPATH :: ^EMRWIDENPATH; | |
EMRSETMETARGN :: struct { | |
emr : EMR, | |
}; | |
PEMRSETMETARGN :: ^EMRSETMETARGN; | |
EMRSAVEDC :: struct { | |
emr : EMR, | |
}; | |
PEMRSAVEDC :: ^EMRSAVEDC; | |
EMRREALIZEPALETTE :: struct { | |
emr : EMR, | |
}; | |
PEMRREALIZEPALETTE :: ^EMRREALIZEPALETTE; | |
EMRSELECTCLIPPATH :: struct { | |
emr : EMR, | |
iMode : DWORD, | |
}; | |
PEMRSELECTCLIPPATH :: ^EMRSELECTCLIPPATH; | |
EMRSETBKMODE :: struct { | |
emr : EMR, | |
iMode : DWORD, | |
}; | |
PEMRSETBKMODE :: ^EMRSETBKMODE; | |
EMRSETMAPMODE :: struct { | |
emr : EMR, | |
iMode : DWORD, | |
}; | |
PEMRSETMAPMODE :: ^EMRSETMAPMODE; | |
EMRSETLAYOUT :: struct { | |
emr : EMR, | |
iMode : DWORD, | |
}; | |
PEMRSETLAYOUT :: ^EMRSETLAYOUT; | |
EMRSETPOLYFILLMODE :: struct { | |
emr : EMR, | |
iMode : DWORD, | |
}; | |
PEMRSETPOLYFILLMODE :: ^EMRSETPOLYFILLMODE; | |
EMRSETROP2 :: struct { | |
emr : EMR, | |
iMode : DWORD, | |
}; | |
PEMRSETROP2 :: ^EMRSETROP2; | |
EMRSETSTRETCHBLTMODE :: struct { | |
emr : EMR, | |
iMode : DWORD, | |
}; | |
PEMRSETSTRETCHBLTMODE :: ^EMRSETSTRETCHBLTMODE; | |
EMRSETICMMODE :: struct { | |
emr : EMR, | |
iMode : DWORD, | |
}; | |
PEMRSETICMMODE :: ^EMRSETICMMODE; | |
EMRSETTEXTALIGN :: struct { | |
emr : EMR, | |
iMode : DWORD, | |
}; | |
PEMRSETTEXTALIGN :: ^EMRSETTEXTALIGN; | |
EMRSETMITERLIMIT :: struct { | |
emr : EMR, | |
eMiterLimit : FLOAT, | |
}; | |
PEMRSETMITERLIMIT :: ^EMRSETMITERLIMIT; | |
EMRRESTOREDC :: struct { | |
emr : EMR, | |
iRelative : LONG, | |
}; | |
PEMRRESTOREDC :: ^EMRRESTOREDC; | |
EMRSETARCDIRECTION :: struct { | |
emr : EMR, | |
iArcDirection : DWORD, | |
}; | |
PEMRSETARCDIRECTION :: ^EMRSETARCDIRECTION; | |
EMRSETMAPPERFLAGS :: struct { | |
emr : EMR, | |
dwFlags : DWORD, | |
}; | |
PEMRSETMAPPERFLAGS :: ^EMRSETMAPPERFLAGS; | |
EMRSETBKCOLOR :: struct { | |
emr : EMR, | |
crColor : COLORREF, | |
}; | |
PEMRSETBKCOLOR :: ^EMRSETBKCOLOR; | |
EMRSETTEXTCOLOR :: struct { | |
emr : EMR, | |
crColor : COLORREF, | |
}; | |
PEMRSETTEXTCOLOR :: ^EMRSETTEXTCOLOR; | |
EMRSELECTOBJECT :: struct { | |
emr : EMR, | |
ihObject : DWORD, | |
}; | |
PEMRSELECTOBJECT :: ^EMRSELECTOBJECT; | |
EMRDELETEOBJECT :: struct { | |
emr : EMR, | |
ihObject : DWORD, | |
}; | |
PEMRDELETEOBJECT :: ^EMRDELETEOBJECT; | |
EMRSELECTPALETTE :: struct { | |
emr : EMR, | |
ihPal : DWORD, | |
}; | |
PEMRSELECTPALETTE :: ^EMRSELECTPALETTE; | |
EMRRESIZEPALETTE :: struct { | |
emr : EMR, | |
ihPal : DWORD, | |
cEntries : DWORD, | |
}; | |
PEMRRESIZEPALETTE :: ^EMRRESIZEPALETTE; | |
EMRSETPALETTEENTRIES :: struct { | |
emr : EMR, | |
ihPal : DWORD, | |
iStart : DWORD, | |
cEntries : DWORD, | |
aPalEntries : [1]PALETTEENTRY, | |
}; | |
PEMRSETPALETTEENTRIES :: ^EMRSETPALETTEENTRIES; | |
EMRSETCOLORADJUSTMENT :: struct { | |
emr : EMR, | |
ColorAdjustment : COLORADJUSTMENT, | |
}; | |
PEMRSETCOLORADJUSTMENT :: ^EMRSETCOLORADJUSTMENT; | |
EMRGDICOMMENT :: struct { | |
emr : EMR, | |
cbData : DWORD, | |
Data : [1]BYTE, | |
}; | |
PEMRGDICOMMENT :: ^EMRGDICOMMENT; | |
EMREOF :: struct { | |
emr : EMR, | |
nPalEntries : DWORD, | |
offPalEntries : DWORD, | |
nSizeLast : DWORD, | |
}; | |
PEMREOF :: ^EMREOF; | |
EMRLINETO :: struct { | |
emr : EMR, | |
ptl : POINTL, | |
}; | |
PEMRLINETO :: ^EMRLINETO; | |
EMRMOVETOEX :: struct { | |
emr : EMR, | |
ptl : POINTL, | |
}; | |
PEMRMOVETOEX :: ^EMRMOVETOEX; | |
EMROFFSETCLIPRGN :: struct { | |
emr : EMR, | |
ptlOffset : POINTL, | |
}; | |
PEMROFFSETCLIPRGN :: ^EMROFFSETCLIPRGN; | |
EMRFILLPATH :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
}; | |
PEMRFILLPATH :: ^EMRFILLPATH; | |
EMRSTROKEANDFILLPATH :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
}; | |
PEMRSTROKEANDFILLPATH :: ^EMRSTROKEANDFILLPATH; | |
EMRSTROKEPATH :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
}; | |
PEMRSTROKEPATH :: ^EMRSTROKEPATH; | |
EMREXCLUDECLIPRECT :: struct { | |
emr : EMR, | |
rclClip : RECTL, | |
}; | |
PEMREXCLUDECLIPRECT :: ^EMREXCLUDECLIPRECT; | |
EMRINTERSECTCLIPRECT :: struct { | |
emr : EMR, | |
rclClip : RECTL, | |
}; | |
PEMRINTERSECTCLIPRECT :: ^EMRINTERSECTCLIPRECT; | |
EMRSETVIEWPORTORGEX :: struct { | |
emr : EMR, | |
ptlOrigin : POINTL, | |
}; | |
PEMRSETVIEWPORTORGEX :: ^EMRSETVIEWPORTORGEX; | |
EMRSETWINDOWORGEX :: struct { | |
emr : EMR, | |
ptlOrigin : POINTL, | |
}; | |
PEMRSETWINDOWORGEX :: ^EMRSETWINDOWORGEX; | |
EMRSETBRUSHORGEX :: struct { | |
emr : EMR, | |
ptlOrigin : POINTL, | |
}; | |
PEMRSETBRUSHORGEX :: ^EMRSETBRUSHORGEX; | |
EMRSETVIEWPORTEXTEX :: struct { | |
emr : EMR, | |
szlExtent : SIZEL, | |
}; | |
PEMRSETVIEWPORTEXTEX :: ^EMRSETVIEWPORTEXTEX; | |
EMRSETWINDOWEXTEX :: struct { | |
emr : EMR, | |
szlExtent : SIZEL, | |
}; | |
PEMRSETWINDOWEXTEX :: ^EMRSETWINDOWEXTEX; | |
EMRSCALEVIEWPORTEXTEX :: struct { | |
emr : EMR, | |
xNum : LONG, | |
xDenom : LONG, | |
yNum : LONG, | |
yDenom : LONG, | |
}; | |
PEMRSCALEVIEWPORTEXTEX :: ^EMRSCALEVIEWPORTEXTEX; | |
EMRSCALEWINDOWEXTEX :: struct { | |
emr : EMR, | |
xNum : LONG, | |
xDenom : LONG, | |
yNum : LONG, | |
yDenom : LONG, | |
}; | |
PEMRSCALEWINDOWEXTEX :: ^EMRSCALEWINDOWEXTEX; | |
EMRSETWORLDTRANSFORM :: struct { | |
emr : EMR, | |
xform : XFORM, | |
}; | |
PEMRSETWORLDTRANSFORM :: ^EMRSETWORLDTRANSFORM; | |
EMRMODIFYWORLDTRANSFORM :: struct { | |
emr : EMR, | |
xform : XFORM, | |
iMode : DWORD, | |
}; | |
PEMRMODIFYWORLDTRANSFORM :: ^EMRMODIFYWORLDTRANSFORM; | |
EMRSETPIXELV :: struct { | |
emr : EMR, | |
ptlPixel : POINTL, | |
crColor : COLORREF, | |
}; | |
PEMRSETPIXELV :: ^EMRSETPIXELV; | |
EMREXTFLOODFILL :: struct { | |
emr : EMR, | |
ptlStart : POINTL, | |
crColor : COLORREF, | |
iMode : DWORD, | |
}; | |
PEMREXTFLOODFILL :: ^EMREXTFLOODFILL; | |
EMRELLIPSE :: struct { | |
emr : EMR, | |
rclBox : RECTL, | |
}; | |
PEMRELLIPSE :: ^EMRELLIPSE; | |
EMRRECTANGLE :: struct { | |
emr : EMR, | |
rclBox : RECTL, | |
}; | |
PEMRRECTANGLE :: ^EMRRECTANGLE; | |
EMRROUNDRECT :: struct { | |
emr : EMR, | |
rclBox : RECTL, | |
szlCorner : SIZEL, | |
}; | |
PEMRROUNDRECT :: ^EMRROUNDRECT; | |
EMRARC :: struct { | |
emr : EMR, | |
rclBox : RECTL, | |
ptlStart : POINTL, | |
ptlEnd : POINTL, | |
}; | |
PEMRARC :: ^EMRARC; | |
EMRARCTO :: struct { | |
emr : EMR, | |
rclBox : RECTL, | |
ptlStart : POINTL, | |
ptlEnd : POINTL, | |
}; | |
PEMRARCTO :: ^EMRARCTO; | |
EMRCHORD :: struct { | |
emr : EMR, | |
rclBox : RECTL, | |
ptlStart : POINTL, | |
ptlEnd : POINTL, | |
}; | |
PEMRCHORD :: ^EMRCHORD; | |
EMRPIE :: struct { | |
emr : EMR, | |
rclBox : RECTL, | |
ptlStart : POINTL, | |
ptlEnd : POINTL, | |
}; | |
PEMRPIE :: ^EMRPIE; | |
EMRANGLEARC :: struct { | |
emr : EMR, | |
ptlCenter : POINTL, | |
nRadius : DWORD, | |
eStartAngle : FLOAT, | |
eSweepAngle : FLOAT, | |
}; | |
PEMRANGLEARC :: ^EMRANGLEARC; | |
EMRPOLYLINE :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cptl : DWORD, | |
aptl : [1]POINTL, | |
}; | |
PEMRPOLYLINE :: ^EMRPOLYLINE; | |
EMRPOLYBEZIER :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cptl : DWORD, | |
aptl : [1]POINTL, | |
}; | |
PEMRPOLYBEZIER :: ^EMRPOLYBEZIER; | |
EMRPOLYGON :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cptl : DWORD, | |
aptl : [1]POINTL, | |
}; | |
PEMRPOLYGON :: ^EMRPOLYGON; | |
EMRPOLYBEZIERTO :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cptl : DWORD, | |
aptl : [1]POINTL, | |
}; | |
PEMRPOLYBEZIERTO :: ^EMRPOLYBEZIERTO; | |
EMRPOLYLINETO :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cptl : DWORD, | |
aptl : [1]POINTL, | |
}; | |
PEMRPOLYLINETO :: ^EMRPOLYLINETO; | |
EMRPOLYLINE16 :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cpts : DWORD, | |
apts : [1]POINTS, | |
}; | |
PEMRPOLYLINE16 :: ^EMRPOLYLINE16; | |
EMRPOLYBEZIER16 :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cpts : DWORD, | |
apts : [1]POINTS, | |
}; | |
PEMRPOLYBEZIER16 :: ^EMRPOLYBEZIER16; | |
EMRPOLYGON16 :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cpts : DWORD, | |
apts : [1]POINTS, | |
}; | |
PEMRPOLYGON16 :: ^EMRPOLYGON16; | |
EMRPOLYBEZIERTO16 :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cpts : DWORD, | |
apts : [1]POINTS, | |
}; | |
PEMRPOLYBEZIERTO16 :: ^EMRPOLYBEZIERTO16; | |
EMRPOLYLINETO16 :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cpts : DWORD, | |
apts : [1]POINTS, | |
}; | |
PEMRPOLYLINETO16 :: ^EMRPOLYLINETO16; | |
EMRPOLYDRAW :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cptl : DWORD, | |
aptl : [1]POINTL, | |
abTypes : [1]BYTE, | |
}; | |
PEMRPOLYDRAW :: ^EMRPOLYDRAW; | |
EMRPOLYDRAW16 :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cpts : DWORD, | |
apts : [1]POINTS, | |
abTypes : [1]BYTE, | |
}; | |
PEMRPOLYDRAW16 :: ^EMRPOLYDRAW16; | |
EMRPOLYPOLYLINE :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
nPolys : DWORD, | |
cptl : DWORD, | |
aPolyCounts : [1]DWORD, | |
aptl : [1]POINTL, | |
}; | |
PEMRPOLYPOLYLINE :: ^EMRPOLYPOLYLINE; | |
EMRPOLYPOLYGON :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
nPolys : DWORD, | |
cptl : DWORD, | |
aPolyCounts : [1]DWORD, | |
aptl : [1]POINTL, | |
}; | |
PEMRPOLYPOLYGON :: ^EMRPOLYPOLYGON; | |
EMRPOLYPOLYLINE16 :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
nPolys : DWORD, | |
cpts : DWORD, | |
aPolyCounts : [1]DWORD, | |
apts : [1]POINTS, | |
}; | |
PEMRPOLYPOLYLINE16 :: ^EMRPOLYPOLYLINE16; | |
EMRPOLYPOLYGON16 :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
nPolys : DWORD, | |
cpts : DWORD, | |
aPolyCounts : [1]DWORD, | |
apts : [1]POINTS, | |
}; | |
PEMRPOLYPOLYGON16 :: ^EMRPOLYPOLYGON16; | |
EMRINVERTRGN :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cbRgnData : DWORD, | |
RgnData : [1]BYTE, | |
}; | |
PEMRINVERTRGN :: ^EMRINVERTRGN; | |
EMRPAINTRGN :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cbRgnData : DWORD, | |
RgnData : [1]BYTE, | |
}; | |
PEMRPAINTRGN :: ^EMRPAINTRGN; | |
EMRFILLRGN :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cbRgnData : DWORD, | |
ihBrush : DWORD, | |
RgnData : [1]BYTE, | |
}; | |
PEMRFILLRGN :: ^EMRFILLRGN; | |
EMRFRAMERGN :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cbRgnData : DWORD, | |
ihBrush : DWORD, | |
szlStroke : SIZEL, | |
RgnData : [1]BYTE, | |
}; | |
PEMRFRAMERGN :: ^EMRFRAMERGN; | |
EMREXTSELECTCLIPRGN :: struct { | |
emr : EMR, | |
cbRgnData : DWORD, | |
iMode : DWORD, | |
RgnData : [1]BYTE, | |
}; | |
PEMREXTSELECTCLIPRGN :: ^EMREXTSELECTCLIPRGN; | |
EMREXTTEXTOUTA :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
iGraphicsMode : DWORD, | |
exScale : FLOAT, | |
eyScale : FLOAT, | |
emrtext : EMRTEXT, | |
}; | |
PEMREXTTEXTOUTA :: ^EMREXTTEXTOUTA; | |
EMREXTTEXTOUTW :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
iGraphicsMode : DWORD, | |
exScale : FLOAT, | |
eyScale : FLOAT, | |
emrtext : EMRTEXT, | |
}; | |
PEMREXTTEXTOUTW :: ^EMREXTTEXTOUTW; | |
EMRPOLYTEXTOUTA :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
iGraphicsMode : DWORD, | |
exScale : FLOAT, | |
eyScale : FLOAT, | |
cStrings : LONG, | |
aemrtext : [1]EMRTEXT, | |
}; | |
PEMRPOLYTEXTOUTA :: ^EMRPOLYTEXTOUTA; | |
EMRPOLYTEXTOUTW :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
iGraphicsMode : DWORD, | |
exScale : FLOAT, | |
eyScale : FLOAT, | |
cStrings : LONG, | |
aemrtext : [1]EMRTEXT, | |
}; | |
PEMRPOLYTEXTOUTW :: ^EMRPOLYTEXTOUTW; | |
EMRBITBLT :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
xDest : LONG, | |
yDest : LONG, | |
cxDest : LONG, | |
cyDest : LONG, | |
dwRop : DWORD, | |
xSrc : LONG, | |
ySrc : LONG, | |
xformSrc : XFORM, | |
crBkColorSrc : COLORREF, | |
iUsageSrc : DWORD, | |
offBmiSrc : DWORD, | |
cbBmiSrc : DWORD, | |
offBitsSrc : DWORD, | |
cbBitsSrc : DWORD, | |
}; | |
PEMRBITBLT :: ^EMRBITBLT; | |
EMRSTRETCHBLT :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
xDest : LONG, | |
yDest : LONG, | |
cxDest : LONG, | |
cyDest : LONG, | |
dwRop : DWORD, | |
xSrc : LONG, | |
ySrc : LONG, | |
xformSrc : XFORM, | |
crBkColorSrc : COLORREF, | |
iUsageSrc : DWORD, | |
offBmiSrc : DWORD, | |
cbBmiSrc : DWORD, | |
offBitsSrc : DWORD, | |
cbBitsSrc : DWORD, | |
cxSrc : LONG, | |
cySrc : LONG, | |
}; | |
PEMRSTRETCHBLT :: ^EMRSTRETCHBLT; | |
EMRMASKBLT :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
xDest : LONG, | |
yDest : LONG, | |
cxDest : LONG, | |
cyDest : LONG, | |
dwRop : DWORD, | |
xSrc : LONG, | |
ySrc : LONG, | |
xformSrc : XFORM, | |
crBkColorSrc : COLORREF, | |
iUsageSrc : DWORD, | |
offBmiSrc : DWORD, | |
cbBmiSrc : DWORD, | |
offBitsSrc : DWORD, | |
cbBitsSrc : DWORD, | |
xMask : LONG, | |
yMask : LONG, | |
iUsageMask : DWORD, | |
offBmiMask : DWORD, | |
cbBmiMask : DWORD, | |
offBitsMask : DWORD, | |
cbBitsMask : DWORD, | |
}; | |
PEMRMASKBLT :: ^EMRMASKBLT; | |
EMRPLGBLT :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
aptlDest : [3]POINTL, | |
xSrc : LONG, | |
ySrc : LONG, | |
cxSrc : LONG, | |
cySrc : LONG, | |
xformSrc : XFORM, | |
crBkColorSrc : COLORREF, | |
iUsageSrc : DWORD, | |
offBmiSrc : DWORD, | |
cbBmiSrc : DWORD, | |
offBitsSrc : DWORD, | |
cbBitsSrc : DWORD, | |
xMask : LONG, | |
yMask : LONG, | |
iUsageMask : DWORD, | |
offBmiMask : DWORD, | |
cbBmiMask : DWORD, | |
offBitsMask : DWORD, | |
cbBitsMask : DWORD, | |
}; | |
PEMRPLGBLT :: ^EMRPLGBLT; | |
EMRSETDIBITSTODEVICE :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
xDest : LONG, | |
yDest : LONG, | |
xSrc : LONG, | |
ySrc : LONG, | |
cxSrc : LONG, | |
cySrc : LONG, | |
offBmiSrc : DWORD, | |
cbBmiSrc : DWORD, | |
offBitsSrc : DWORD, | |
cbBitsSrc : DWORD, | |
iUsageSrc : DWORD, | |
iStartScan : DWORD, | |
cScans : DWORD, | |
}; | |
PEMRSETDIBITSTODEVICE :: ^EMRSETDIBITSTODEVICE; | |
EMRSTRETCHDIBITS :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
xDest : LONG, | |
yDest : LONG, | |
xSrc : LONG, | |
ySrc : LONG, | |
cxSrc : LONG, | |
cySrc : LONG, | |
offBmiSrc : DWORD, | |
cbBmiSrc : DWORD, | |
offBitsSrc : DWORD, | |
cbBitsSrc : DWORD, | |
iUsageSrc : DWORD, | |
dwRop : DWORD, | |
cxDest : LONG, | |
cyDest : LONG, | |
}; | |
PEMRSTRETCHDIBITS :: ^EMRSTRETCHDIBITS; | |
EMREXTCREATEFONTINDIRECTW :: struct { | |
emr : EMR, | |
ihFont : DWORD, | |
elfw : EXTLOGFONTW, | |
}; | |
PEMREXTCREATEFONTINDIRECTW :: ^EMREXTCREATEFONTINDIRECTW; | |
EMRCREATEPALETTE :: struct { | |
emr : EMR, | |
ihPal : DWORD, | |
lgpl : LOGPALETTE, | |
}; | |
PEMRCREATEPALETTE :: ^EMRCREATEPALETTE; | |
EMRCREATEPEN :: struct { | |
emr : EMR, | |
ihPen : DWORD, | |
lopn : LOGPEN, | |
}; | |
PEMRCREATEPEN :: ^EMRCREATEPEN; | |
EMREXTCREATEPEN :: struct { | |
emr : EMR, | |
ihPen : DWORD, | |
offBmi : DWORD, | |
cbBmi : DWORD, | |
offBits : DWORD, | |
cbBits : DWORD, | |
elp : EXTLOGPEN32, | |
}; | |
PEMREXTCREATEPEN :: ^EMREXTCREATEPEN; | |
EMRCREATEBRUSHINDIRECT :: struct { | |
emr : EMR, | |
ihBrush : DWORD, | |
lb : LOGBRUSH32, | |
}; | |
PEMRCREATEBRUSHINDIRECT :: ^EMRCREATEBRUSHINDIRECT; | |
EMRCREATEMONOBRUSH :: struct { | |
emr : EMR, | |
ihBrush : DWORD, | |
iUsage : DWORD, | |
offBmi : DWORD, | |
cbBmi : DWORD, | |
offBits : DWORD, | |
cbBits : DWORD, | |
}; | |
PEMRCREATEMONOBRUSH :: ^EMRCREATEMONOBRUSH; | |
EMRCREATEDIBPATTERNBRUSHPT :: struct { | |
emr : EMR, | |
ihBrush : DWORD, | |
iUsage : DWORD, | |
offBmi : DWORD, | |
cbBmi : DWORD, | |
offBits : DWORD, | |
cbBits : DWORD, | |
}; | |
PEMRCREATEDIBPATTERNBRUSHPT :: ^EMRCREATEDIBPATTERNBRUSHPT; | |
EMRFORMAT :: struct { | |
dSignature : DWORD, | |
nVersion : DWORD, | |
cbData : DWORD, | |
offData : DWORD, | |
}; | |
PEMRFORMAT :: ^EMRFORMAT; | |
EMRGLSRECORD :: struct { | |
emr : EMR, | |
cbData : DWORD, | |
Data : [1]BYTE, | |
}; | |
PEMRGLSRECORD :: ^EMRGLSRECORD; | |
EMRGLSBOUNDEDRECORD :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
cbData : DWORD, | |
Data : [1]BYTE, | |
}; | |
PEMRGLSBOUNDEDRECORD :: ^EMRGLSBOUNDEDRECORD; | |
EMRPIXELFORMAT :: struct { | |
emr : EMR, | |
pfd : PIXELFORMATDESCRIPTOR, | |
}; | |
PEMRPIXELFORMAT :: ^EMRPIXELFORMAT; | |
EMRCREATECOLORSPACE :: struct { | |
emr : EMR, | |
ihCS : DWORD, | |
lcs : LOGCOLORSPACEA, | |
}; | |
PEMRCREATECOLORSPACE :: ^EMRCREATECOLORSPACE; | |
EMRSETCOLORSPACE :: struct { | |
emr : EMR, | |
ihCS : DWORD, | |
}; | |
PEMRSETCOLORSPACE :: ^EMRSETCOLORSPACE; | |
EMRSELECTCOLORSPACE :: struct { | |
emr : EMR, | |
ihCS : DWORD, | |
}; | |
PEMRSELECTCOLORSPACE :: ^EMRSELECTCOLORSPACE; | |
EMRDELETECOLORSPACE :: struct { | |
emr : EMR, | |
ihCS : DWORD, | |
}; | |
PEMRDELETECOLORSPACE :: ^EMRDELETECOLORSPACE; | |
EMREXTESCAPE :: struct { | |
emr : EMR, | |
iEscape : INT, | |
cbEscData : INT, | |
EscData : [1]BYTE, | |
}; | |
PEMREXTESCAPE :: ^EMREXTESCAPE; | |
EMRDRAWESCAPE :: struct { | |
emr : EMR, | |
iEscape : INT, | |
cbEscData : INT, | |
EscData : [1]BYTE, | |
}; | |
PEMRDRAWESCAPE :: ^EMRDRAWESCAPE; | |
EMRNAMEDESCAPE :: struct { | |
emr : EMR, | |
iEscape : INT, | |
cbDriver : INT, | |
cbEscData : INT, | |
EscData : [1]BYTE, | |
}; | |
PEMRNAMEDESCAPE :: ^EMRNAMEDESCAPE; | |
EMRSETICMPROFILE :: struct { | |
emr : EMR, | |
dwFlags : DWORD, | |
cbName : DWORD, | |
cbData : DWORD, | |
Data : [1]BYTE, | |
}; | |
PEMRSETICMPROFILE :: ^EMRSETICMPROFILE; | |
EMRSETICMPROFILEA :: struct { | |
emr : EMR, | |
dwFlags : DWORD, | |
cbName : DWORD, | |
cbData : DWORD, | |
Data : [1]BYTE, | |
}; | |
PEMRSETICMPROFILEA :: ^EMRSETICMPROFILEA; | |
EMRSETICMPROFILEW :: struct { | |
emr : EMR, | |
dwFlags : DWORD, | |
cbName : DWORD, | |
cbData : DWORD, | |
Data : [1]BYTE, | |
}; | |
PEMRSETICMPROFILEW :: ^EMRSETICMPROFILEW; | |
EMRCREATECOLORSPACEW :: struct { | |
emr : EMR, | |
ihCS : DWORD, | |
lcs : LOGCOLORSPACEW, | |
dwFlags : DWORD, | |
cbData : DWORD, | |
Data : [1]BYTE, | |
}; | |
PEMRCREATECOLORSPACEW :: ^EMRCREATECOLORSPACEW; | |
EMRCOLORMATCHTOTARGET :: struct { | |
emr : EMR, | |
dwAction : DWORD, | |
dwFlags : DWORD, | |
cbName : DWORD, | |
cbData : DWORD, | |
Data : [1]BYTE, | |
}; | |
PEMRCOLORMATCHTOTARGET :: ^EMRCOLORMATCHTOTARGET; | |
EMRCOLORCORRECTPALETTE :: struct { | |
emr : EMR, | |
ihPalette : DWORD, | |
nFirstEntry : DWORD, | |
nPalEntries : DWORD, | |
nReserved : DWORD, | |
}; | |
PEMRCOLORCORRECTPALETTE :: ^EMRCOLORCORRECTPALETTE; | |
EMRALPHABLEND :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
xDest : LONG, | |
yDest : LONG, | |
cxDest : LONG, | |
cyDest : LONG, | |
dwRop : DWORD, | |
xSrc : LONG, | |
ySrc : LONG, | |
xformSrc : XFORM, | |
crBkColorSrc : COLORREF, | |
iUsageSrc : DWORD, | |
offBmiSrc : DWORD, | |
cbBmiSrc : DWORD, | |
offBitsSrc : DWORD, | |
cbBitsSrc : DWORD, | |
cxSrc : LONG, | |
cySrc : LONG, | |
}; | |
PEMRALPHABLEND :: ^EMRALPHABLEND; | |
EMRGRADIENTFILL :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
nVer : DWORD, | |
nTri : DWORD, | |
ulMode : ULONG, | |
Ver : [1]TRIVERTEX, | |
}; | |
PEMRGRADIENTFILL :: ^EMRGRADIENTFILL; | |
EMRTRANSPARENTBLT :: struct { | |
emr : EMR, | |
rclBounds : RECTL, | |
xDest : LONG, | |
yDest : LONG, | |
cxDest : LONG, | |
cyDest : LONG, | |
dwRop : DWORD, | |
xSrc : LONG, | |
ySrc : LONG, | |
xformSrc : XFORM, | |
crBkColorSrc : COLORREF, | |
iUsageSrc : DWORD, | |
offBmiSrc : DWORD, | |
cbBmiSrc : DWORD, | |
offBitsSrc : DWORD, | |
cbBitsSrc : DWORD, | |
cxSrc : LONG, | |
cySrc : LONG, | |
}; | |
PEMRTRANSPARENTBLT :: ^EMRTRANSPARENTBLT; | |
POINTFLOAT :: struct { | |
x : FLOAT, | |
y : FLOAT, | |
}; | |
PPOINTFLOAT :: ^POINTFLOAT; | |
GLYPHMETRICSFLOAT :: struct { | |
gmfBlackBoxX : FLOAT, | |
gmfBlackBoxY : FLOAT, | |
gmfptGlyphOrigin : POINTFLOAT, | |
gmfCellIncX : FLOAT, | |
gmfCellIncY : FLOAT, | |
}; | |
PGLYPHMETRICSFLOAT :: ^GLYPHMETRICSFLOAT; | |
LPGLYPHMETRICSFLOAT :: ^GLYPHMETRICSFLOAT; | |
LAYERPLANEDESCRIPTOR :: struct { | |
nSize : WORD, | |
nVersion : WORD, | |
dwFlags : DWORD, | |
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 :: ^LAYERPLANEDESCRIPTOR; | |
LPLAYERPLANEDESCRIPTOR :: ^LAYERPLANEDESCRIPTOR; | |
WGLSWAP :: struct { | |
hdc : HDC, | |
uiFlags : UINT, | |
}; | |
PWGLSWAP :: ^WGLSWAP; | |
LPWGLSWAP :: ^WGLSWAP; | |
HDWP :: HANDLE; | |
LPMENUTEMPLATEA :: PVOID; | |
LPMENUTEMPLATEW :: PVOID; | |
LPMENUTEMPLATE :: LPMENUTEMPLATEA; | |
WNDPROC :: (proc "stdcall" (HWND, UINT, WPARAM, LPARAM) -> LRESULT); | |
DLGPROC :: (proc "stdcall" (HWND, UINT, WPARAM, LPARAM) -> INT_PTR); | |
TIMERPROC :: proc "stdcall" (HWND, UINT, UINT_PTR, DWORD); | |
GRAYSTRINGPROC :: (proc "stdcall" (HDC, LPARAM, _c.int) -> BOOL); | |
WNDENUMPROC :: (proc "stdcall" (HWND, LPARAM) -> BOOL); | |
HOOKPROC :: (proc "stdcall" (code : _c.int, wParam : WPARAM, lParam : LPARAM) -> LRESULT); | |
SENDASYNCPROC :: proc "stdcall" (HWND, UINT, ULONG_PTR, LRESULT); | |
PROPENUMPROCA :: (proc "stdcall" (HWND, LPCSTR, HANDLE) -> BOOL); | |
PROPENUMPROCW :: (proc "stdcall" (HWND, LPCWSTR, HANDLE) -> BOOL); | |
PROPENUMPROCEXA :: (proc "stdcall" (HWND, LPSTR, HANDLE, ULONG_PTR) -> BOOL); | |
PROPENUMPROCEXW :: (proc "stdcall" (HWND, LPWSTR, HANDLE, ULONG_PTR) -> BOOL); | |
EDITWORDBREAKPROCA :: (proc "stdcall" (lpch : LPSTR, ichCurrent : _c.int, cch : _c.int, code : _c.int) -> _c.int); | |
EDITWORDBREAKPROCW :: (proc "stdcall" (lpch : LPWSTR, ichCurrent : _c.int, cch : _c.int, code : _c.int) -> _c.int); | |
DRAWSTATEPROC :: (proc "stdcall" (hdc : HDC, lData : LPARAM, wData : WPARAM, cx : _c.int, cy : _c.int) -> BOOL); | |
PROPENUMPROC :: PROPENUMPROCA; | |
PROPENUMPROCEX :: PROPENUMPROCEXA; | |
EDITWORDBREAKPROC :: EDITWORDBREAKPROCA; | |
NAMEENUMPROCA :: (proc "stdcall" (LPSTR, LPARAM) -> BOOL); | |
NAMEENUMPROCW :: (proc "stdcall" (LPWSTR, LPARAM) -> BOOL); | |
WINSTAENUMPROCA :: NAMEENUMPROCA; | |
DESKTOPENUMPROCA :: NAMEENUMPROCA; | |
WINSTAENUMPROCW :: NAMEENUMPROCW; | |
DESKTOPENUMPROCW :: NAMEENUMPROCW; | |
WINSTAENUMPROC :: WINSTAENUMPROCA; | |
DESKTOPENUMPROC :: DESKTOPENUMPROCA; | |
CBT_CREATEWNDA :: struct { | |
lpcs : ^CREATESTRUCTA, | |
hwndInsertAfter : HWND, | |
}; | |
LPCBT_CREATEWNDA :: ^CBT_CREATEWNDA; | |
CBT_CREATEWNDW :: struct { | |
lpcs : ^CREATESTRUCTW, | |
hwndInsertAfter : HWND, | |
}; | |
LPCBT_CREATEWNDW :: ^CBT_CREATEWNDW; | |
CBT_CREATEWND :: CBT_CREATEWNDA; | |
LPCBT_CREATEWND :: LPCBT_CREATEWNDA; | |
CBTACTIVATESTRUCT :: struct { | |
fMouse : BOOL, | |
hWndActive : HWND, | |
}; | |
LPCBTACTIVATESTRUCT :: ^CBTACTIVATESTRUCT; | |
WTSSESSION_NOTIFICATION :: struct { | |
cbSize : DWORD, | |
dwSessionId : DWORD, | |
}; | |
PWTSSESSION_NOTIFICATION :: ^WTSSESSION_NOTIFICATION; | |
SHELLHOOKINFO :: struct { | |
hwnd : HWND, | |
rc : RECT, | |
}; | |
LPSHELLHOOKINFO :: ^SHELLHOOKINFO; | |
EVENTMSG :: struct { | |
message : UINT, | |
paramL : UINT, | |
paramH : UINT, | |
time : DWORD, | |
hwnd : HWND, | |
}; | |
PEVENTMSGMSG :: ^EVENTMSG; | |
NPEVENTMSGMSG :: ^EVENTMSG; | |
LPEVENTMSGMSG :: ^EVENTMSG; | |
PEVENTMSG :: ^EVENTMSG; | |
NPEVENTMSG :: ^EVENTMSG; | |
LPEVENTMSG :: ^EVENTMSG; | |
CWPSTRUCT :: struct { | |
lParam : LPARAM, | |
wParam : WPARAM, | |
message : UINT, | |
hwnd : HWND, | |
}; | |
PCWPSTRUCT :: ^CWPSTRUCT; | |
NPCWPSTRUCT :: ^CWPSTRUCT; | |
LPCWPSTRUCT :: ^CWPSTRUCT; | |
CWPRETSTRUCT :: struct { | |
lResult : LRESULT, | |
lParam : LPARAM, | |
wParam : WPARAM, | |
message : UINT, | |
hwnd : HWND, | |
}; | |
PCWPRETSTRUCT :: ^CWPRETSTRUCT; | |
NPCWPRETSTRUCT :: ^CWPRETSTRUCT; | |
LPCWPRETSTRUCT :: ^CWPRETSTRUCT; | |
KBDLLHOOKSTRUCT :: struct { | |
vkCode : DWORD, | |
scanCode : DWORD, | |
flags : DWORD, | |
time : DWORD, | |
dwExtraInfo : ULONG_PTR, | |
}; | |
LPKBDLLHOOKSTRUCT :: ^KBDLLHOOKSTRUCT; | |
PKBDLLHOOKSTRUCT :: ^KBDLLHOOKSTRUCT; | |
MSLLHOOKSTRUCT :: struct { | |
pt : POINT, | |
mouseData : DWORD, | |
flags : DWORD, | |
time : DWORD, | |
dwExtraInfo : ULONG_PTR, | |
}; | |
LPMSLLHOOKSTRUCT :: ^MSLLHOOKSTRUCT; | |
PMSLLHOOKSTRUCT :: ^MSLLHOOKSTRUCT; | |
DEBUGHOOKINFO :: struct { | |
idThread : DWORD, | |
idThreadInstaller : DWORD, | |
lParam : LPARAM, | |
wParam : WPARAM, | |
code : _c.int, | |
}; | |
PDEBUGHOOKINFO :: ^DEBUGHOOKINFO; | |
NPDEBUGHOOKINFO :: ^DEBUGHOOKINFO; | |
LPDEBUGHOOKINFO :: ^DEBUGHOOKINFO; | |
MOUSEHOOKSTRUCT :: struct { | |
pt : POINT, | |
hwnd : HWND, | |
wHitTestCode : UINT, | |
dwExtraInfo : ULONG_PTR, | |
}; | |
LPMOUSEHOOKSTRUCT :: ^MOUSEHOOKSTRUCT; | |
PMOUSEHOOKSTRUCT :: ^MOUSEHOOKSTRUCT; | |
MOUSEHOOKSTRUCTEX :: struct { | |
s : MOUSEHOOKSTRUCT, | |
mouseData : DWORD, | |
}; | |
LPMOUSEHOOKSTRUCTEX :: ^MOUSEHOOKSTRUCTEX; | |
PMOUSEHOOKSTRUCTEX :: ^MOUSEHOOKSTRUCTEX; | |
HARDWAREHOOKSTRUCT :: struct { | |
hwnd : HWND, | |
message : UINT, | |
wParam : WPARAM, | |
lParam : LPARAM, | |
}; | |
LPHARDWAREHOOKSTRUCT :: ^HARDWAREHOOKSTRUCT; | |
PHARDWAREHOOKSTRUCT :: ^HARDWAREHOOKSTRUCT; | |
MOUSEMOVEPOINT :: struct { | |
x : _c.int, | |
y : _c.int, | |
time : DWORD, | |
dwExtraInfo : ULONG_PTR, | |
}; | |
PMOUSEMOVEPOINT :: ^MOUSEMOVEPOINT; | |
LPMOUSEMOVEPOINT :: ^MOUSEMOVEPOINT; | |
USEROBJECTFLAGS :: struct { | |
fInherit : BOOL, | |
fReserved : BOOL, | |
dwFlags : DWORD, | |
}; | |
PUSEROBJECTFLAGS :: ^USEROBJECTFLAGS; | |
WNDCLASSEXA :: struct { | |
cbSize : UINT, | |
style : UINT, | |
lpfnWndProc : WNDPROC, | |
cbClsExtra : _c.int, | |
cbWndExtra : _c.int, | |
hInstance : HINSTANCE, | |
hIcon : HICON, | |
hCursor : HCURSOR, | |
hbrBackground : HBRUSH, | |
lpszMenuName : LPCSTR, | |
lpszClassName : LPCSTR, | |
hIconSm : HICON, | |
}; | |
PWNDCLASSEXA :: ^WNDCLASSEXA; | |
NPWNDCLASSEXA :: ^WNDCLASSEXA; | |
LPWNDCLASSEXA :: ^WNDCLASSEXA; | |
WNDCLASSEXW :: struct { | |
cbSize : UINT, | |
style : UINT, | |
lpfnWndProc : WNDPROC, | |
cbClsExtra : _c.int, | |
cbWndExtra : _c.int, | |
hInstance : HINSTANCE, | |
hIcon : HICON, | |
hCursor : HCURSOR, | |
hbrBackground : HBRUSH, | |
lpszMenuName : LPCWSTR, | |
lpszClassName : LPCWSTR, | |
hIconSm : HICON, | |
}; | |
PWNDCLASSEXW :: ^WNDCLASSEXW; | |
NPWNDCLASSEXW :: ^WNDCLASSEXW; | |
LPWNDCLASSEXW :: ^WNDCLASSEXW; | |
WNDCLASSEX :: WNDCLASSEXA; | |
PWNDCLASSEX :: PWNDCLASSEXA; | |
NPWNDCLASSEX :: NPWNDCLASSEXA; | |
LPWNDCLASSEX :: LPWNDCLASSEXA; | |
WNDCLASSA :: struct { | |
style : UINT, | |
lpfnWndProc : WNDPROC, | |
cbClsExtra : _c.int, | |
cbWndExtra : _c.int, | |
hInstance : HINSTANCE, | |
hIcon : HICON, | |
hCursor : HCURSOR, | |
hbrBackground : HBRUSH, | |
lpszMenuName : LPCSTR, | |
lpszClassName : LPCSTR, | |
}; | |
PWNDCLASSA :: ^WNDCLASSA; | |
NPWNDCLASSA :: ^WNDCLASSA; | |
LPWNDCLASSA :: ^WNDCLASSA; | |
WNDCLASSW :: struct { | |
style : UINT, | |
lpfnWndProc : WNDPROC, | |
cbClsExtra : _c.int, | |
cbWndExtra : _c.int, | |
hInstance : HINSTANCE, | |
hIcon : HICON, | |
hCursor : HCURSOR, | |
hbrBackground : HBRUSH, | |
lpszMenuName : LPCWSTR, | |
lpszClassName : LPCWSTR, | |
}; | |
PWNDCLASSW :: ^WNDCLASSW; | |
NPWNDCLASSW :: ^WNDCLASSW; | |
LPWNDCLASSW :: ^WNDCLASSW; | |
WNDCLASS :: WNDCLASSA; | |
PWNDCLASS :: PWNDCLASSA; | |
NPWNDCLASS :: NPWNDCLASSA; | |
LPWNDCLASS :: LPWNDCLASSA; | |
MSG :: struct { | |
hwnd : HWND, | |
message : UINT, | |
wParam : WPARAM, | |
lParam : LPARAM, | |
time : DWORD, | |
pt : POINT, | |
}; | |
PMSG :: ^MSG; | |
NPMSG :: ^MSG; | |
LPMSG :: ^MSG; | |
MINMAXINFO :: struct { | |
ptReserved : POINT, | |
ptMaxSize : POINT, | |
ptMaxPosition : POINT, | |
ptMinTrackSize : POINT, | |
ptMaxTrackSize : POINT, | |
}; | |
PMINMAXINFO :: ^MINMAXINFO; | |
LPMINMAXINFO :: ^MINMAXINFO; | |
COPYDATASTRUCT :: struct { | |
dwData : ULONG_PTR, | |
cbData : DWORD, | |
lpData : PVOID, | |
}; | |
PCOPYDATASTRUCT :: ^COPYDATASTRUCT; | |
MDINEXTMENU :: struct { | |
hmenuIn : HMENU, | |
hmenuNext : HMENU, | |
hwndNext : HWND, | |
}; | |
PMDINEXTMENU :: ^MDINEXTMENU; | |
LPMDINEXTMENU :: ^MDINEXTMENU; | |
POWERBROADCAST_SETTING :: struct { | |
PowerSetting : GUID, | |
DataLength : DWORD, | |
Data : [1]UCHAR, | |
}; | |
PPOWERBROADCAST_SETTING :: ^POWERBROADCAST_SETTING; | |
WINDOWPOS :: struct { | |
hwnd : HWND, | |
hwndInsertAfter : HWND, | |
x : _c.int, | |
y : _c.int, | |
cx : _c.int, | |
cy : _c.int, | |
flags : UINT, | |
}; | |
LPWINDOWPOS :: ^WINDOWPOS; | |
PWINDOWPOS :: ^WINDOWPOS; | |
NCCALCSIZE_PARAMS :: struct { | |
rgrc : [3]RECT, | |
lppos : PWINDOWPOS, | |
}; | |
LPNCCALCSIZE_PARAMS :: ^NCCALCSIZE_PARAMS; | |
TRACKMOUSEEVENT :: struct { | |
cbSize : DWORD, | |
dwFlags : DWORD, | |
hwndTrack : HWND, | |
dwHoverTime : DWORD, | |
}; | |
LPTRACKMOUSEEVENT :: ^TRACKMOUSEEVENT; | |
ACCEL :: struct { | |
fVirt : BYTE, | |
key : WORD, | |
cmd : WORD, | |
}; | |
LPACCEL :: ^ACCEL; | |
PAINTSTRUCT :: struct { | |
hdc : HDC, | |
fErase : BOOL, | |
rcPaint : RECT, | |
fRestore : BOOL, | |
fIncUpdate : BOOL, | |
rgbReserved : [32]BYTE, | |
}; | |
PPAINTSTRUCT :: ^PAINTSTRUCT; | |
NPPAINTSTRUCT :: ^PAINTSTRUCT; | |
LPPAINTSTRUCT :: ^PAINTSTRUCT; | |
CREATESTRUCTA :: struct { | |
lpCreateParams : LPVOID, | |
hInstance : HINSTANCE, | |
hMenu : HMENU, | |
hwndParent : HWND, | |
cy : _c.int, | |
cx : _c.int, | |
y : _c.int, | |
x : _c.int, | |
style : LONG, | |
lpszName : LPCSTR, | |
lpszClass : LPCSTR, | |
dwExStyle : DWORD, | |
}; | |
LPCREATESTRUCTA :: ^CREATESTRUCTA; | |
CREATESTRUCTW :: struct { | |
lpCreateParams : LPVOID, | |
hInstance : HINSTANCE, | |
hMenu : HMENU, | |
hwndParent : HWND, | |
cy : _c.int, | |
cx : _c.int, | |
y : _c.int, | |
x : _c.int, | |
style : LONG, | |
lpszName : LPCWSTR, | |
lpszClass : LPCWSTR, | |
dwExStyle : DWORD, | |
}; | |
LPCREATESTRUCTW :: ^CREATESTRUCTW; | |
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 : DWORD, | |
styleNew : DWORD, | |
}; | |
LPSTYLESTRUCT :: ^STYLESTRUCT; | |
MEASUREITEMSTRUCT :: struct { | |
CtlType : UINT, | |
CtlID : UINT, | |
itemID : UINT, | |
itemWidth : UINT, | |
itemHeight : UINT, | |
itemData : ULONG_PTR, | |
}; | |
PMEASUREITEMSTRUCT :: ^MEASUREITEMSTRUCT; | |
LPMEASUREITEMSTRUCT :: ^MEASUREITEMSTRUCT; | |
DRAWITEMSTRUCT :: struct { | |
CtlType : UINT, | |
CtlID : UINT, | |
itemID : UINT, | |
itemAction : UINT, | |
itemState : UINT, | |
hwndItem : HWND, | |
hDC : HDC, | |
rcItem : RECT, | |
itemData : ULONG_PTR, | |
}; | |
PDRAWITEMSTRUCT :: ^DRAWITEMSTRUCT; | |
LPDRAWITEMSTRUCT :: ^DRAWITEMSTRUCT; | |
DELETEITEMSTRUCT :: struct { | |
CtlType : UINT, | |
CtlID : UINT, | |
itemID : UINT, | |
hwndItem : HWND, | |
itemData : ULONG_PTR, | |
}; | |
PDELETEITEMSTRUCT :: ^DELETEITEMSTRUCT; | |
LPDELETEITEMSTRUCT :: ^DELETEITEMSTRUCT; | |
COMPAREITEMSTRUCT :: struct { | |
CtlType : UINT, | |
CtlID : UINT, | |
hwndItem : HWND, | |
itemID1 : UINT, | |
itemData1 : ULONG_PTR, | |
itemID2 : UINT, | |
itemData2 : ULONG_PTR, | |
dwLocaleId : DWORD, | |
}; | |
PCOMPAREITEMSTRUCT :: ^COMPAREITEMSTRUCT; | |
LPCOMPAREITEMSTRUCT :: ^COMPAREITEMSTRUCT; | |
BSMINFO :: struct { | |
cbSize : UINT, | |
hdesk : HDESK, | |
hwnd : HWND, | |
luid : LUID, | |
}; | |
PBSMINFO :: ^BSMINFO; | |
HDEVNOTIFY :: PVOID; | |
PHDEVNOTIFY :: ^HDEVNOTIFY; | |
HPOWERNOTIFY :: PVOID; | |
PHPOWERNOTIFY :: ^HPOWERNOTIFY; | |
PREGISTERCLASSNAMEW :: (proc "stdcall" (LPCWSTR) -> BOOLEAN); | |
UPDATELAYEREDWINDOWINFO :: struct { | |
cbSize : DWORD, | |
hdcDst : HDC, | |
pptDst : ^POINT, | |
psize : ^SIZE, | |
hdcSrc : HDC, | |
pptSrc : ^POINT, | |
crKey : COLORREF, | |
pblend : ^BLENDFUNCTION, | |
dwFlags : DWORD, | |
prcDirty : ^RECT, | |
}; | |
PUPDATELAYEREDWINDOWINFO :: ^UPDATELAYEREDWINDOWINFO; | |
FLASHWINFO :: struct { | |
cbSize : UINT, | |
hwnd : HWND, | |
dwFlags : DWORD, | |
uCount : UINT, | |
dwTimeout : DWORD, | |
}; | |
PFLASHWINFO :: ^FLASHWINFO; | |
DLGTEMPLATE :: struct { | |
style : DWORD, | |
dwExtendedStyle : DWORD, | |
cdit : WORD, | |
x : _c.short, | |
y : _c.short, | |
cx : _c.short, | |
cy : _c.short, | |
}; | |
LPDLGTEMPLATEA :: ^DLGTEMPLATE; | |
LPDLGTEMPLATEW :: ^DLGTEMPLATE; | |
LPDLGTEMPLATE :: LPDLGTEMPLATEA; | |
LPCDLGTEMPLATEA :: ^DLGTEMPLATE; | |
LPCDLGTEMPLATEW :: ^DLGTEMPLATE; | |
LPCDLGTEMPLATE :: LPCDLGTEMPLATEA; | |
DLGITEMTEMPLATE :: struct { | |
style : DWORD, | |
dwExtendedStyle : DWORD, | |
x : _c.short, | |
y : _c.short, | |
cx : _c.short, | |
cy : _c.short, | |
id : WORD, | |
}; | |
PDLGITEMTEMPLATEA :: ^DLGITEMTEMPLATE; | |
PDLGITEMTEMPLATEW :: ^DLGITEMTEMPLATE; | |
PDLGITEMTEMPLATE :: PDLGITEMTEMPLATEA; | |
LPDLGITEMTEMPLATEA :: ^DLGITEMTEMPLATE; | |
LPDLGITEMTEMPLATEW :: ^DLGITEMTEMPLATE; | |
LPDLGITEMTEMPLATE :: LPDLGITEMTEMPLATEA; | |
/* DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS :: enum { */ | |
DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS :: _c.int; | |
DCDC_DEFAULT :: 0x0000; | |
DCDC_DISABLE_FONT_UPDATE :: 0x0001; | |
DCDC_DISABLE_RELAYOUT :: 0x0002; | |
/* } */ | |
; | |
/* DIALOG_DPI_CHANGE_BEHAVIORS :: enum { */ | |
DIALOG_DPI_CHANGE_BEHAVIORS :: _c.int; | |
DDC_DEFAULT :: 0x0000; | |
DDC_DISABLE_ALL :: 0x0001; | |
DDC_DISABLE_RESIZE :: 0x0002; | |
DDC_DISABLE_CONTROL_RELAYOUT :: 0x0004; | |
/* } */ | |
; | |
MOUSEINPUT :: struct { | |
dx : LONG, | |
dy : LONG, | |
mouseData : DWORD, | |
dwFlags : DWORD, | |
time : DWORD, | |
dwExtraInfo : ULONG_PTR, | |
}; | |
PMOUSEINPUT :: ^MOUSEINPUT; | |
LPMOUSEINPUT :: ^MOUSEINPUT; | |
KEYBDINPUT :: struct { | |
wVk : WORD, | |
wScan : WORD, | |
dwFlags : DWORD, | |
time : DWORD, | |
dwExtraInfo : ULONG_PTR, | |
}; | |
PKEYBDINPUT :: ^KEYBDINPUT; | |
LPKEYBDINPUT :: ^KEYBDINPUT; | |
HARDWAREINPUT :: struct { | |
uMsg : DWORD, | |
wParamL : WORD, | |
wParamH : WORD, | |
}; | |
PHARDWAREINPUT :: ^HARDWAREINPUT; | |
LPHARDWAREINPUT :: ^HARDWAREINPUT; | |
INPUT :: struct { | |
type : DWORD, | |
u : struct #raw_union { | |
mi : MOUSEINPUT, | |
ki : KEYBDINPUT, | |
hi : HARDWAREINPUT, | |
}, | |
}; | |
PINPUT :: ^INPUT; | |
LPINPUT :: ^INPUT; | |
HTOUCHINPUT__ :: struct { | |
unused : _c.int, | |
}; | |
HTOUCHINPUT :: ^HTOUCHINPUT__; | |
TOUCHINPUT :: struct { | |
x : LONG, | |
y : LONG, | |
hSource : HANDLE, | |
dwID : DWORD, | |
dwFlags : DWORD, | |
dwMask : DWORD, | |
dwTime : DWORD, | |
dwExtraInfo : ULONG_PTR, | |
cxContact : DWORD, | |
cyContact : DWORD, | |
}; | |
PTOUCHINPUT :: ^TOUCHINPUT; | |
PCTOUCHINPUT :: ^TOUCHINPUT; | |
/* tagPOINTER_INPUT_TYPE :: enum { */ | |
tagPOINTER_INPUT_TYPE :: _c.int; | |
PT_POINTER :: 1; | |
PT_TOUCH :: 2; | |
PT_PEN :: 3; | |
PT_MOUSE :: 4; | |
PT_TOUCHPAD :: 5; | |
/* } */ | |
; | |
POINTER_INPUT_TYPE :: DWORD; | |
POINTER_FLAGS :: UINT32; | |
/* POINTER_BUTTON_CHANGE_TYPE :: enum { */ | |
POINTER_BUTTON_CHANGE_TYPE :: _c.int; | |
POINTER_CHANGE_NONE :: 0; | |
POINTER_CHANGE_FIRSTBUTTON_DOWN :: POINTER_CHANGE_NONE + 1; | |
POINTER_CHANGE_FIRSTBUTTON_UP :: POINTER_CHANGE_FIRSTBUTTON_DOWN + 1; | |
POINTER_CHANGE_SECONDBUTTON_DOWN :: POINTER_CHANGE_FIRSTBUTTON_UP + 1; | |
POINTER_CHANGE_SECONDBUTTON_UP :: POINTER_CHANGE_SECONDBUTTON_DOWN + 1; | |
POINTER_CHANGE_THIRDBUTTON_DOWN :: POINTER_CHANGE_SECONDBUTTON_UP + 1; | |
POINTER_CHANGE_THIRDBUTTON_UP :: POINTER_CHANGE_THIRDBUTTON_DOWN + 1; | |
POINTER_CHANGE_FOURTHBUTTON_DOWN :: POINTER_CHANGE_THIRDBUTTON_UP + 1; | |
POINTER_CHANGE_FOURTHBUTTON_UP :: POINTER_CHANGE_FOURTHBUTTON_DOWN + 1; | |
POINTER_CHANGE_FIFTHBUTTON_DOWN :: POINTER_CHANGE_FOURTHBUTTON_UP + 1; | |
POINTER_CHANGE_FIFTHBUTTON_UP :: POINTER_CHANGE_FIFTHBUTTON_DOWN + 1; | |
/* } */ | |
; | |
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 : DWORD, | |
historyCount : UINT32, | |
InputData : INT32, | |
dwKeyStates : DWORD, | |
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_MODE :: _c.int; | |
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 :: ^USAGE_PROPERTIES; | |
POINTER_TYPE_INFO :: struct { | |
type : POINTER_INPUT_TYPE, | |
u : struct #raw_union { | |
touchInfo : POINTER_TOUCH_INFO, | |
penInfo : POINTER_PEN_INFO, | |
}, | |
}; | |
PPOINTER_TYPE_INFO :: ^POINTER_TYPE_INFO; | |
INPUT_INJECTION_VALUE :: struct { | |
page : USHORT, | |
usage : USHORT, | |
value : INT32, | |
index : USHORT, | |
}; | |
PINPUT_INJECTION_VALUE :: ^INPUT_INJECTION_VALUE; | |
HSYNTHETICPOINTERDEVICE__ :: struct { | |
unused : _c.int, | |
}; | |
HSYNTHETICPOINTERDEVICE :: ^HSYNTHETICPOINTERDEVICE__; | |
TOUCH_HIT_TESTING_PROXIMITY_EVALUATION :: struct { | |
score : UINT16, | |
adjustedPoint : POINT, | |
}; | |
PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION :: ^TOUCH_HIT_TESTING_PROXIMITY_EVALUATION; | |
TOUCH_HIT_TESTING_INPUT :: struct { | |
pointerId : UINT32, | |
point : POINT, | |
boundingBox : RECT, | |
nonOccludedBoundingBox : RECT, | |
orientation : UINT32, | |
}; | |
PTOUCH_HIT_TESTING_INPUT :: ^TOUCH_HIT_TESTING_INPUT; | |
/* FEEDBACK_TYPE :: enum { */ | |
FEEDBACK_TYPE :: _c.int; | |
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 : _c.float, | |
_12 : _c.float, | |
_13 : _c.float, | |
_14 : _c.float, | |
_21 : _c.float, | |
_22 : _c.float, | |
_23 : _c.float, | |
_24 : _c.float, | |
_31 : _c.float, | |
_32 : _c.float, | |
_33 : _c.float, | |
_34 : _c.float, | |
_41 : _c.float, | |
_42 : _c.float, | |
_43 : _c.float, | |
_44 : _c.float, | |
}, | |
m : [4][4]_c.float, | |
}, | |
}; | |
LASTINPUTINFO :: struct { | |
cbSize : UINT, | |
dwTime : DWORD, | |
}; | |
PLASTINPUTINFO :: ^LASTINPUTINFO; | |
TPMPARAMS :: struct { | |
cbSize : UINT, | |
rcExclude : RECT, | |
}; | |
LPTPMPARAMS :: ^TPMPARAMS; | |
MENUINFO :: struct { | |
cbSize : DWORD, | |
fMask : DWORD, | |
dwStyle : DWORD, | |
cyMax : UINT, | |
hbrBack : HBRUSH, | |
dwContextHelpID : DWORD, | |
dwMenuData : ULONG_PTR, | |
}; | |
LPMENUINFO :: ^MENUINFO; | |
LPCMENUINFO :: ^MENUINFO; | |
MENUGETOBJECTINFO :: struct { | |
dwFlags : DWORD, | |
uPos : UINT, | |
hmenu : HMENU, | |
riid : PVOID, | |
pvObj : PVOID, | |
}; | |
PMENUGETOBJECTINFO :: ^MENUGETOBJECTINFO; | |
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 :: ^MENUITEMINFOA; | |
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 :: ^MENUITEMINFOW; | |
MENUITEMINFO :: MENUITEMINFOA; | |
LPMENUITEMINFO :: LPMENUITEMINFOA; | |
LPCMENUITEMINFOA :: ^MENUITEMINFOA; | |
LPCMENUITEMINFOW :: ^MENUITEMINFOW; | |
LPCMENUITEMINFO :: LPCMENUITEMINFOA; | |
DROPSTRUCT :: struct { | |
hwndSource : HWND, | |
hwndSink : HWND, | |
wFmt : DWORD, | |
dwData : ULONG_PTR, | |
ptDrop : POINT, | |
dwControlData : DWORD, | |
}; | |
PDROPSTRUCT :: ^DROPSTRUCT; | |
LPDROPSTRUCT :: ^DROPSTRUCT; | |
DRAWTEXTPARAMS :: struct { | |
cbSize : UINT, | |
iTabLength : _c.int, | |
iLeftMargin : _c.int, | |
iRightMargin : _c.int, | |
uiLengthDrawn : UINT, | |
}; | |
LPDRAWTEXTPARAMS :: ^DRAWTEXTPARAMS; | |
HELPINFO :: struct { | |
cbSize : UINT, | |
iContextType : _c.int, | |
iCtrlId : _c.int, | |
hItemHandle : HANDLE, | |
dwContextId : DWORD_PTR, | |
MousePos : POINT, | |
}; | |
LPHELPINFO :: ^HELPINFO; | |
MSGBOXCALLBACK :: proc "stdcall" (lpHelpInfo : LPHELPINFO); | |
MSGBOXPARAMSA :: struct { | |
cbSize : UINT, | |
hwndOwner : HWND, | |
hInstance : HINSTANCE, | |
lpszText : LPCSTR, | |
lpszCaption : LPCSTR, | |
dwStyle : DWORD, | |
lpszIcon : LPCSTR, | |
dwContextHelpId : DWORD_PTR, | |
lpfnMsgBoxCallback : MSGBOXCALLBACK, | |
dwLanguageId : DWORD, | |
}; | |
PMSGBOXPARAMSA :: ^MSGBOXPARAMSA; | |
LPMSGBOXPARAMSA :: ^MSGBOXPARAMSA; | |
MSGBOXPARAMSW :: struct { | |
cbSize : UINT, | |
hwndOwner : HWND, | |
hInstance : HINSTANCE, | |
lpszText : LPCWSTR, | |
lpszCaption : LPCWSTR, | |
dwStyle : DWORD, | |
lpszIcon : LPCWSTR, | |
dwContextHelpId : DWORD_PTR, | |
lpfnMsgBoxCallback : MSGBOXCALLBACK, | |
dwLanguageId : DWORD, | |
}; | |
PMSGBOXPARAMSW :: ^MSGBOXPARAMSW; | |
LPMSGBOXPARAMSW :: ^MSGBOXPARAMSW; | |
MSGBOXPARAMS :: MSGBOXPARAMSA; | |
PMSGBOXPARAMS :: PMSGBOXPARAMSA; | |
LPMSGBOXPARAMS :: LPMSGBOXPARAMSA; | |
MENUITEMTEMPLATEHEADER :: struct { | |
versionNumber : WORD, | |
offset : WORD, | |
}; | |
PMENUITEMTEMPLATEHEADER :: ^MENUITEMTEMPLATEHEADER; | |
MENUITEMTEMPLATE :: struct { | |
mtOption : WORD, | |
mtID : WORD, | |
mtString : [1]WCHAR, | |
}; | |
PMENUITEMTEMPLATE :: ^MENUITEMTEMPLATE; | |
ICONINFO :: struct { | |
fIcon : BOOL, | |
xHotspot : DWORD, | |
yHotspot : DWORD, | |
hbmMask : HBITMAP, | |
hbmColor : HBITMAP, | |
}; | |
PICONINFO :: ^ICONINFO; | |
CURSORSHAPE :: struct { | |
xHotSpot : _c.int, | |
yHotSpot : _c.int, | |
cx : _c.int, | |
cy : _c.int, | |
cbWidth : _c.int, | |
Planes : BYTE, | |
BitsPixel : BYTE, | |
}; | |
LPCURSORSHAPE :: ^CURSORSHAPE; | |
ICONINFOEXA :: struct { | |
cbSize : DWORD, | |
fIcon : BOOL, | |
xHotspot : DWORD, | |
yHotspot : DWORD, | |
hbmMask : HBITMAP, | |
hbmColor : HBITMAP, | |
wResID : WORD, | |
szModName : [260]CHAR, | |
szResName : [260]CHAR, | |
}; | |
PICONINFOEXA :: ^ICONINFOEXA; | |
ICONINFOEXW :: struct { | |
cbSize : DWORD, | |
fIcon : BOOL, | |
xHotspot : DWORD, | |
yHotspot : DWORD, | |
hbmMask : HBITMAP, | |
hbmColor : HBITMAP, | |
wResID : WORD, | |
szModName : [260]WCHAR, | |
szResName : [260]WCHAR, | |
}; | |
PICONINFOEXW :: ^ICONINFOEXW; | |
ICONINFOEX :: ICONINFOEXA; | |
PICONINFOEX :: PICONINFOEXA; | |
/* EDIT_CONTROL_FEATURE :: enum { */ | |
EDIT_CONTROL_FEATURE :: _c.int; | |
EDIT_CONTROL_FEATURE_ENTERPRISE_DATA_PROTECTION_PASTE_SUPPORT :: 0; | |
EDIT_CONTROL_FEATURE_PASTE_NOTIFICATIONS :: 1; | |
/* } */ | |
; | |
SCROLLINFO :: struct { | |
cbSize : UINT, | |
fMask : UINT, | |
nMin : _c.int, | |
nMax : _c.int, | |
nPage : UINT, | |
nPos : _c.int, | |
nTrackPos : _c.int, | |
}; | |
LPSCROLLINFO :: ^SCROLLINFO; | |
LPCSCROLLINFO :: ^SCROLLINFO; | |
MDICREATESTRUCTA :: struct { | |
szClass : LPCSTR, | |
szTitle : LPCSTR, | |
hOwner : HANDLE, | |
x : _c.int, | |
y : _c.int, | |
cx : _c.int, | |
cy : _c.int, | |
style : DWORD, | |
lParam : LPARAM, | |
}; | |
LPMDICREATESTRUCTA :: ^MDICREATESTRUCTA; | |
MDICREATESTRUCTW :: struct { | |
szClass : LPCWSTR, | |
szTitle : LPCWSTR, | |
hOwner : HANDLE, | |
x : _c.int, | |
y : _c.int, | |
cx : _c.int, | |
cy : _c.int, | |
style : DWORD, | |
lParam : LPARAM, | |
}; | |
LPMDICREATESTRUCTW :: ^MDICREATESTRUCTW; | |
MDICREATESTRUCT :: MDICREATESTRUCTA; | |
LPMDICREATESTRUCT :: LPMDICREATESTRUCTA; | |
CLIENTCREATESTRUCT :: struct { | |
hWindowMenu : HANDLE, | |
idFirstChild : UINT, | |
}; | |
LPCLIENTCREATESTRUCT :: ^CLIENTCREATESTRUCT; | |
HELPPOLY :: DWORD; | |
MULTIKEYHELPA :: struct { | |
mkSize : DWORD, | |
mkKeylist : CHAR, | |
szKeyphrase : [1]CHAR, | |
}; | |
PMULTIKEYHELPA :: ^MULTIKEYHELPA; | |
LPMULTIKEYHELPA :: ^MULTIKEYHELPA; | |
MULTIKEYHELPW :: struct { | |
mkSize : DWORD, | |
mkKeylist : WCHAR, | |
szKeyphrase : [1]WCHAR, | |
}; | |
PMULTIKEYHELPW :: ^MULTIKEYHELPW; | |
LPMULTIKEYHELPW :: ^MULTIKEYHELPW; | |
MULTIKEYHELP :: MULTIKEYHELPA; | |
PMULTIKEYHELP :: PMULTIKEYHELPA; | |
LPMULTIKEYHELP :: LPMULTIKEYHELPA; | |
HELPWININFOA :: struct { | |
wStructSize : _c.int, | |
x : _c.int, | |
y : _c.int, | |
dx : _c.int, | |
dy : _c.int, | |
wMax : _c.int, | |
rgchMember : [2]CHAR, | |
}; | |
PHELPWININFOA :: ^HELPWININFOA; | |
LPHELPWININFOA :: ^HELPWININFOA; | |
HELPWININFOW :: struct { | |
wStructSize : _c.int, | |
x : _c.int, | |
y : _c.int, | |
dx : _c.int, | |
dy : _c.int, | |
wMax : _c.int, | |
rgchMember : [2]WCHAR, | |
}; | |
PHELPWININFOW :: ^HELPWININFOW; | |
LPHELPWININFOW :: ^HELPWININFOW; | |
HELPWININFO :: HELPWININFOA; | |
PHELPWININFO :: PHELPWININFOA; | |
LPHELPWININFO :: LPHELPWININFOA; | |
TOUCHPREDICTIONPARAMETERS :: struct { | |
cbSize : UINT, | |
dwLatency : UINT, | |
dwSampleTime : UINT, | |
bUseHWTimeStamp : UINT, | |
}; | |
PTOUCHPREDICTIONPARAMETERS :: ^TOUCHPREDICTIONPARAMETERS; | |
/* HANDEDNESS :: enum { */ | |
HANDEDNESS :: _c.int; | |
HANDEDNESS_LEFT :: 0; | |
HANDEDNESS_RIGHT :: HANDEDNESS_LEFT + 1; | |
/* } */ | |
PHANDEDNESS :: ^HANDEDNESS; | |
NONCLIENTMETRICSA :: struct { | |
cbSize : UINT, | |
iBorderWidth : _c.int, | |
iScrollWidth : _c.int, | |
iScrollHeight : _c.int, | |
iCaptionWidth : _c.int, | |
iCaptionHeight : _c.int, | |
lfCaptionFont : LOGFONTA, | |
iSmCaptionWidth : _c.int, | |
iSmCaptionHeight : _c.int, | |
lfSmCaptionFont : LOGFONTA, | |
iMenuWidth : _c.int, | |
iMenuHeight : _c.int, | |
lfMenuFont : LOGFONTA, | |
lfStatusFont : LOGFONTA, | |
lfMessageFont : LOGFONTA, | |
iPaddedBorderWidth : _c.int, | |
}; | |
PNONCLIENTMETRICSA :: ^NONCLIENTMETRICSA; | |
LPNONCLIENTMETRICSA :: ^NONCLIENTMETRICSA; | |
NONCLIENTMETRICSW :: struct { | |
cbSize : UINT, | |
iBorderWidth : _c.int, | |
iScrollWidth : _c.int, | |
iScrollHeight : _c.int, | |
iCaptionWidth : _c.int, | |
iCaptionHeight : _c.int, | |
lfCaptionFont : LOGFONTW, | |
iSmCaptionWidth : _c.int, | |
iSmCaptionHeight : _c.int, | |
lfSmCaptionFont : LOGFONTW, | |
iMenuWidth : _c.int, | |
iMenuHeight : _c.int, | |
lfMenuFont : LOGFONTW, | |
lfStatusFont : LOGFONTW, | |
lfMessageFont : LOGFONTW, | |
iPaddedBorderWidth : _c.int, | |
}; | |
PNONCLIENTMETRICSW :: ^NONCLIENTMETRICSW; | |
LPNONCLIENTMETRICSW :: ^NONCLIENTMETRICSW; | |
NONCLIENTMETRICS :: NONCLIENTMETRICSA; | |
PNONCLIENTMETRICS :: PNONCLIENTMETRICSA; | |
LPNONCLIENTMETRICS :: LPNONCLIENTMETRICSA; | |
MINIMIZEDMETRICS :: struct { | |
cbSize : UINT, | |
iWidth : _c.int, | |
iHorzGap : _c.int, | |
iVertGap : _c.int, | |
iArrange : _c.int, | |
}; | |
PMINIMIZEDMETRICS :: ^MINIMIZEDMETRICS; | |
LPMINIMIZEDMETRICS :: ^MINIMIZEDMETRICS; | |
ICONMETRICSA :: struct { | |
cbSize : UINT, | |
iHorzSpacing : _c.int, | |
iVertSpacing : _c.int, | |
iTitleWrap : _c.int, | |
lfFont : LOGFONTA, | |
}; | |
PICONMETRICSA :: ^ICONMETRICSA; | |
LPICONMETRICSA :: ^ICONMETRICSA; | |
ICONMETRICSW :: struct { | |
cbSize : UINT, | |
iHorzSpacing : _c.int, | |
iVertSpacing : _c.int, | |
iTitleWrap : _c.int, | |
lfFont : LOGFONTW, | |
}; | |
PICONMETRICSW :: ^ICONMETRICSW; | |
LPICONMETRICSW :: ^ICONMETRICSW; | |
ICONMETRICS :: ICONMETRICSA; | |
PICONMETRICS :: PICONMETRICSA; | |
LPICONMETRICS :: LPICONMETRICSA; | |
ANIMATIONINFO :: struct { | |
cbSize : UINT, | |
iMinAnimate : _c.int, | |
}; | |
LPANIMATIONINFO :: ^ANIMATIONINFO; | |
SERIALKEYSA :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
lpszActivePort : LPSTR, | |
lpszPort : LPSTR, | |
iBaudRate : UINT, | |
iPortState : UINT, | |
iActive : UINT, | |
}; | |
LPSERIALKEYSA :: ^SERIALKEYSA; | |
SERIALKEYSW :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
lpszActivePort : LPWSTR, | |
lpszPort : LPWSTR, | |
iBaudRate : UINT, | |
iPortState : UINT, | |
iActive : UINT, | |
}; | |
LPSERIALKEYSW :: ^SERIALKEYSW; | |
SERIALKEYS :: SERIALKEYSA; | |
LPSERIALKEYS :: LPSERIALKEYSA; | |
HIGHCONTRASTA :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
lpszDefaultScheme : LPSTR, | |
}; | |
LPHIGHCONTRASTA :: ^HIGHCONTRASTA; | |
HIGHCONTRASTW :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
lpszDefaultScheme : LPWSTR, | |
}; | |
LPHIGHCONTRASTW :: ^HIGHCONTRASTW; | |
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 :: ^VIDEOPARAMETERS; | |
LPVIDEOPARAMETERS :: ^VIDEOPARAMETERS; | |
FILTERKEYS :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
iWaitMSec : DWORD, | |
iDelayMSec : DWORD, | |
iRepeatMSec : DWORD, | |
iBounceMSec : DWORD, | |
}; | |
LPFILTERKEYS :: ^FILTERKEYS; | |
STICKYKEYS :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
}; | |
LPSTICKYKEYS :: ^STICKYKEYS; | |
MOUSEKEYS :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
iMaxSpeed : DWORD, | |
iTimeToMaxSpeed : DWORD, | |
iCtrlSpeed : DWORD, | |
dwReserved1 : DWORD, | |
dwReserved2 : DWORD, | |
}; | |
LPMOUSEKEYS :: ^MOUSEKEYS; | |
ACCESSTIMEOUT :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
iTimeOutMSec : DWORD, | |
}; | |
LPACCESSTIMEOUT :: ^ACCESSTIMEOUT; | |
SOUNDSENTRYA :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
iFSTextEffect : DWORD, | |
iFSTextEffectMSec : DWORD, | |
iFSTextEffectColorBits : DWORD, | |
iFSGrafEffect : DWORD, | |
iFSGrafEffectMSec : DWORD, | |
iFSGrafEffectColor : DWORD, | |
iWindowsEffect : DWORD, | |
iWindowsEffectMSec : DWORD, | |
lpszWindowsEffectDLL : LPSTR, | |
iWindowsEffectOrdinal : DWORD, | |
}; | |
LPSOUNDSENTRYA :: ^SOUNDSENTRYA; | |
SOUNDSENTRYW :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
iFSTextEffect : DWORD, | |
iFSTextEffectMSec : DWORD, | |
iFSTextEffectColorBits : DWORD, | |
iFSGrafEffect : DWORD, | |
iFSGrafEffectMSec : DWORD, | |
iFSGrafEffectColor : DWORD, | |
iWindowsEffect : DWORD, | |
iWindowsEffectMSec : DWORD, | |
lpszWindowsEffectDLL : LPWSTR, | |
iWindowsEffectOrdinal : DWORD, | |
}; | |
LPSOUNDSENTRYW :: ^SOUNDSENTRYW; | |
SOUNDSENTRY :: SOUNDSENTRYA; | |
LPSOUNDSENTRY :: LPSOUNDSENTRYA; | |
TOGGLEKEYS :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
}; | |
LPTOGGLEKEYS :: ^TOGGLEKEYS; | |
AUDIODESCRIPTION :: struct { | |
cbSize : UINT, | |
Enabled : BOOL, | |
Locale : LCID, | |
}; | |
LPAUDIODESCRIPTION :: ^AUDIODESCRIPTION; | |
MONITORINFO :: struct { | |
cbSize : DWORD, | |
rcMonitor : RECT, | |
rcWork : RECT, | |
dwFlags : DWORD, | |
}; | |
LPMONITORINFO :: ^MONITORINFO; | |
MONITORINFOEXA :: struct { | |
s : MONITORINFO, | |
szDevice : [32]CHAR, | |
}; | |
LPMONITORINFOEXA :: ^MONITORINFOEXA; | |
MONITORINFOEXW :: struct { | |
s : MONITORINFO, | |
szDevice : [32]WCHAR, | |
}; | |
LPMONITORINFOEXW :: ^MONITORINFOEXW; | |
MONITORINFOEX :: MONITORINFOEXA; | |
LPMONITORINFOEX :: LPMONITORINFOEXA; | |
MONITORENUMPROC :: (proc "stdcall" (HMONITOR, HDC, LPRECT, LPARAM) -> BOOL); | |
WINEVENTPROC :: proc "stdcall" (hWinEventHook : HWINEVENTHOOK, event : DWORD, hwnd : HWND, idObject : LONG, idChild : LONG, idEventThread : DWORD, dwmsEventTime : DWORD); | |
GUITHREADINFO :: struct { | |
cbSize : DWORD, | |
flags : DWORD, | |
hwndActive : HWND, | |
hwndFocus : HWND, | |
hwndCapture : HWND, | |
hwndMenuOwner : HWND, | |
hwndMoveSize : HWND, | |
hwndCaret : HWND, | |
rcCaret : RECT, | |
}; | |
PGUITHREADINFO :: ^GUITHREADINFO; | |
LPGUITHREADINFO :: ^GUITHREADINFO; | |
CURSORINFO :: struct { | |
cbSize : DWORD, | |
flags : DWORD, | |
hCursor : HCURSOR, | |
ptScreenPos : POINT, | |
}; | |
PCURSORINFO :: ^CURSORINFO; | |
LPCURSORINFO :: ^CURSORINFO; | |
WINDOWINFO :: struct { | |
cbSize : DWORD, | |
rcWindow : RECT, | |
rcClient : RECT, | |
dwStyle : DWORD, | |
dwExStyle : DWORD, | |
dwWindowStatus : DWORD, | |
cxWindowBorders : UINT, | |
cyWindowBorders : UINT, | |
atomWindowType : ATOM, | |
wCreatorVersion : WORD, | |
}; | |
PWINDOWINFO :: ^WINDOWINFO; | |
LPWINDOWINFO :: ^WINDOWINFO; | |
TITLEBARINFO :: struct { | |
cbSize : DWORD, | |
rcTitleBar : RECT, | |
rgstate : [5 + 1]DWORD, | |
}; | |
PTITLEBARINFO :: ^TITLEBARINFO; | |
LPTITLEBARINFO :: ^TITLEBARINFO; | |
TITLEBARINFOEX :: struct { | |
cbSize : DWORD, | |
rcTitleBar : RECT, | |
rgstate : [5 + 1]DWORD, | |
rgrect : [5 + 1]RECT, | |
}; | |
PTITLEBARINFOEX :: ^TITLEBARINFOEX; | |
LPTITLEBARINFOEX :: ^TITLEBARINFOEX; | |
MENUBARINFO :: struct { | |
cbSize : DWORD, | |
rcBar : RECT, | |
hMenu : HMENU, | |
hwndMenu : HWND, | |
using _ : bit_field { | |
fBarFocused : 1, | |
fFocused : 1, | |
}, | |
}; | |
PMENUBARINFO :: ^MENUBARINFO; | |
LPMENUBARINFO :: ^MENUBARINFO; | |
SCROLLBARINFO :: struct { | |
cbSize : DWORD, | |
rcScrollBar : RECT, | |
dxyLineButton : _c.int, | |
xyThumbTop : _c.int, | |
xyThumbBottom : _c.int, | |
reserved : _c.int, | |
rgstate : [5 + 1]DWORD, | |
}; | |
PSCROLLBARINFO :: ^SCROLLBARINFO; | |
LPSCROLLBARINFO :: ^SCROLLBARINFO; | |
COMBOBOXINFO :: struct { | |
cbSize : DWORD, | |
rcItem : RECT, | |
rcButton : RECT, | |
stateButton : DWORD, | |
hwndCombo : HWND, | |
hwndItem : HWND, | |
hwndList : HWND, | |
}; | |
PCOMBOBOXINFO :: ^COMBOBOXINFO; | |
LPCOMBOBOXINFO :: ^COMBOBOXINFO; | |
ALTTABINFO :: struct { | |
cbSize : DWORD, | |
cItems : _c.int, | |
cColumns : _c.int, | |
cRows : _c.int, | |
iColFocus : _c.int, | |
iRowFocus : _c.int, | |
cxItem : _c.int, | |
cyItem : _c.int, | |
ptStart : POINT, | |
}; | |
PALTTABINFO :: ^ALTTABINFO; | |
LPALTTABINFO :: ^ALTTABINFO; | |
HRAWINPUT__ :: struct { | |
unused : _c.int, | |
}; | |
HRAWINPUT :: ^HRAWINPUT__; | |
RAWINPUTHEADER :: struct { | |
dwType : DWORD, | |
dwSize : DWORD, | |
hDevice : HANDLE, | |
wParam : WPARAM, | |
}; | |
PRAWINPUTHEADER :: ^RAWINPUTHEADER; | |
LPRAWINPUTHEADER :: ^RAWINPUTHEADER; | |
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 :: ^RAWMOUSE; | |
LPRAWMOUSE :: ^RAWMOUSE; | |
RAWKEYBOARD :: struct { | |
MakeCode : USHORT, | |
Flags : USHORT, | |
Reserved : USHORT, | |
VKey : USHORT, | |
Message : UINT, | |
ExtraInformation : ULONG, | |
}; | |
PRAWKEYBOARD :: ^RAWKEYBOARD; | |
LPRAWKEYBOARD :: ^RAWKEYBOARD; | |
RAWHID :: struct { | |
dwSizeHid : DWORD, | |
dwCount : DWORD, | |
bRawData : [1]BYTE, | |
}; | |
PRAWHID :: ^RAWHID; | |
LPRAWHID :: ^RAWHID; | |
RAWINPUT :: struct { | |
header : RAWINPUTHEADER, | |
data : struct #raw_union { | |
mouse : RAWMOUSE, | |
keyboard : RAWKEYBOARD, | |
hid : RAWHID, | |
}, | |
}; | |
PRAWINPUT :: ^RAWINPUT; | |
LPRAWINPUT :: ^RAWINPUT; | |
RID_DEVICE_INFO_MOUSE :: struct { | |
dwId : DWORD, | |
dwNumberOfButtons : DWORD, | |
dwSampleRate : DWORD, | |
fHasHorizontalWheel : BOOL, | |
}; | |
PRID_DEVICE_INFO_MOUSE :: ^RID_DEVICE_INFO_MOUSE; | |
RID_DEVICE_INFO_KEYBOARD :: struct { | |
dwType : DWORD, | |
dwSubType : DWORD, | |
dwKeyboardMode : DWORD, | |
dwNumberOfFunctionKeys : DWORD, | |
dwNumberOfIndicators : DWORD, | |
dwNumberOfKeysTotal : DWORD, | |
}; | |
PRID_DEVICE_INFO_KEYBOARD :: ^RID_DEVICE_INFO_KEYBOARD; | |
RID_DEVICE_INFO_HID :: struct { | |
dwVendorId : DWORD, | |
dwProductId : DWORD, | |
dwVersionNumber : DWORD, | |
usUsagePage : USHORT, | |
usUsage : USHORT, | |
}; | |
PRID_DEVICE_INFO_HID :: ^RID_DEVICE_INFO_HID; | |
RID_DEVICE_INFO :: struct { | |
cbSize : DWORD, | |
dwType : DWORD, | |
u : struct #raw_union { | |
mouse : RID_DEVICE_INFO_MOUSE, | |
keyboard : RID_DEVICE_INFO_KEYBOARD, | |
hid : RID_DEVICE_INFO_HID, | |
}, | |
}; | |
PRID_DEVICE_INFO :: ^RID_DEVICE_INFO; | |
LPRID_DEVICE_INFO :: ^RID_DEVICE_INFO; | |
RAWINPUTDEVICE :: struct { | |
usUsagePage : USHORT, | |
usUsage : USHORT, | |
dwFlags : DWORD, | |
hwndTarget : HWND, | |
}; | |
PRAWINPUTDEVICE :: ^RAWINPUTDEVICE; | |
LPRAWINPUTDEVICE :: ^RAWINPUTDEVICE; | |
PCRAWINPUTDEVICE :: ^RAWINPUTDEVICE; | |
RAWINPUTDEVICELIST :: struct { | |
hDevice : HANDLE, | |
dwType : DWORD, | |
}; | |
PRAWINPUTDEVICELIST :: ^RAWINPUTDEVICELIST; | |
/* POINTER_DEVICE_TYPE :: enum { */ | |
POINTER_DEVICE_TYPE :: _c.int; | |
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 : DWORD, | |
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 :: _c.int; | |
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 : DWORD, | |
ExtStatus : DWORD, | |
}; | |
PCHANGEFILTERSTRUCT :: ^CHANGEFILTERSTRUCT; | |
HGESTUREINFO__ :: struct { | |
unused : _c.int, | |
}; | |
HGESTUREINFO :: ^HGESTUREINFO__; | |
GESTUREINFO :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
dwID : DWORD, | |
hwndTarget : HWND, | |
ptsLocation : POINTS, | |
dwInstanceID : DWORD, | |
dwSequenceID : DWORD, | |
ullArguments : ULONGLONG, | |
cbExtraArgs : UINT, | |
}; | |
PGESTUREINFO :: ^GESTUREINFO; | |
PCGESTUREINFO :: ^GESTUREINFO; | |
GESTURENOTIFYSTRUCT :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
hwndTarget : HWND, | |
ptsLocation : POINTS, | |
dwInstanceID : DWORD, | |
}; | |
PGESTURENOTIFYSTRUCT :: ^GESTURENOTIFYSTRUCT; | |
GESTURECONFIG :: struct { | |
dwID : DWORD, | |
dwWant : DWORD, | |
dwBlock : DWORD, | |
}; | |
PGESTURECONFIG :: ^GESTURECONFIG; | |
/* INPUT_MESSAGE_DEVICE_TYPE :: enum { */ | |
INPUT_MESSAGE_DEVICE_TYPE :: _c.int; | |
IMDT_UNAVAILABLE :: 0x00000000; | |
IMDT_KEYBOARD :: 0x00000001; | |
IMDT_MOUSE :: 0x00000002; | |
IMDT_TOUCH :: 0x00000004; | |
IMDT_PEN :: 0x00000008; | |
IMDT_TOUCHPAD :: 0x00000010; | |
/* } */ | |
; | |
/* INPUT_MESSAGE_ORIGIN_ID :: enum { */ | |
INPUT_MESSAGE_ORIGIN_ID :: _c.int; | |
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_STATE :: _c.int; | |
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 :: ^AR_STATE; | |
/* ORIENTATION_PREFERENCE :: enum { */ | |
ORIENTATION_PREFERENCE :: _c.int; | |
ORIENTATION_PREFERENCE_NONE :: 0x0; | |
ORIENTATION_PREFERENCE_LANDSCAPE :: 0x1; | |
ORIENTATION_PREFERENCE_PORTRAIT :: 0x2; | |
ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED :: 0x4; | |
ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED :: 0x8; | |
/* } */ | |
; | |
LGRPID :: DWORD; | |
LCTYPE :: DWORD; | |
CALTYPE :: DWORD; | |
CALID :: DWORD; | |
CPINFO :: struct { | |
MaxCharSize : UINT, | |
DefaultChar : [2]BYTE, | |
LeadByte : [12]BYTE, | |
}; | |
LPCPINFO :: ^CPINFO; | |
GEOTYPE :: DWORD; | |
GEOCLASS :: DWORD; | |
GEOID :: LONG; | |
CPINFOEXA :: struct { | |
MaxCharSize : UINT, | |
DefaultChar : [2]BYTE, | |
LeadByte : [12]BYTE, | |
UnicodeDefaultChar : WCHAR, | |
CodePage : UINT, | |
CodePageName : [260]CHAR, | |
}; | |
LPCPINFOEXA :: ^CPINFOEXA; | |
CPINFOEXW :: struct { | |
MaxCharSize : UINT, | |
DefaultChar : [2]BYTE, | |
LeadByte : [12]BYTE, | |
UnicodeDefaultChar : WCHAR, | |
CodePage : UINT, | |
CodePageName : [260]WCHAR, | |
}; | |
LPCPINFOEXW :: ^CPINFOEXW; | |
CPINFOEX :: CPINFOEXA; | |
LPCPINFOEX :: LPCPINFOEXA; | |
NUMBERFMTA :: struct { | |
NumDigits : UINT, | |
LeadingZero : UINT, | |
Grouping : UINT, | |
lpDecimalSep : LPSTR, | |
lpThousandSep : LPSTR, | |
NegativeOrder : UINT, | |
}; | |
LPNUMBERFMTA :: ^NUMBERFMTA; | |
NUMBERFMTW :: struct { | |
NumDigits : UINT, | |
LeadingZero : UINT, | |
Grouping : UINT, | |
lpDecimalSep : LPWSTR, | |
lpThousandSep : LPWSTR, | |
NegativeOrder : UINT, | |
}; | |
LPNUMBERFMTW :: ^NUMBERFMTW; | |
NUMBERFMT :: NUMBERFMTA; | |
LPNUMBERFMT :: LPNUMBERFMTA; | |
CURRENCYFMTA :: struct { | |
NumDigits : UINT, | |
LeadingZero : UINT, | |
Grouping : UINT, | |
lpDecimalSep : LPSTR, | |
lpThousandSep : LPSTR, | |
NegativeOrder : UINT, | |
PositiveOrder : UINT, | |
lpCurrencySymbol : LPSTR, | |
}; | |
LPCURRENCYFMTA :: ^CURRENCYFMTA; | |
CURRENCYFMTW :: struct { | |
NumDigits : UINT, | |
LeadingZero : UINT, | |
Grouping : UINT, | |
lpDecimalSep : LPWSTR, | |
lpThousandSep : LPWSTR, | |
NegativeOrder : UINT, | |
PositiveOrder : UINT, | |
lpCurrencySymbol : LPWSTR, | |
}; | |
LPCURRENCYFMTW :: ^CURRENCYFMTW; | |
CURRENCYFMT :: CURRENCYFMTA; | |
LPCURRENCYFMT :: LPCURRENCYFMTA; | |
/* SYSNLS_FUNCTION :: enum { */ | |
SYSNLS_FUNCTION :: _c.int; | |
COMPARE_STRING :: 0x0001; | |
/* } */ | |
; | |
NLS_FUNCTION :: DWORD; | |
NLSVERSIONINFO :: struct { | |
dwNLSVersionInfoSize : DWORD, | |
dwNLSVersion : DWORD, | |
dwDefinedVersion : DWORD, | |
dwEffectiveId : DWORD, | |
guidCustomVersion : GUID, | |
}; | |
LPNLSVERSIONINFO :: ^NLSVERSIONINFO; | |
NLSVERSIONINFOEX :: struct { | |
dwNLSVersionInfoSize : DWORD, | |
dwNLSVersion : DWORD, | |
dwDefinedVersion : DWORD, | |
dwEffectiveId : DWORD, | |
guidCustomVersion : GUID, | |
}; | |
LPNLSVERSIONINFOEX :: ^NLSVERSIONINFOEX; | |
/* SYSGEOTYPE :: enum { */ | |
SYSGEOTYPE :: _c.int; | |
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 { */ | |
SYSGEOCLASS :: _c.int; | |
GEOCLASS_NATION :: 16; | |
GEOCLASS_REGION :: 14; | |
GEOCLASS_ALL :: 0; | |
/* } */ | |
; | |
/* NORM_FORM :: enum { */ | |
NORM_FORM :: _c.int; | |
NormalizationOther :: 0; | |
NormalizationC :: 0x1; | |
NormalizationD :: 0x2; | |
NormalizationKC :: 0x5; | |
NormalizationKD :: 0x6; | |
/* } */ | |
; | |
LANGUAGEGROUP_ENUMPROCA :: (proc "stdcall" (LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR) -> BOOL); | |
LANGGROUPLOCALE_ENUMPROCA :: (proc "stdcall" (LGRPID, LCID, LPSTR, LONG_PTR) -> BOOL); | |
UILANGUAGE_ENUMPROCA :: (proc "stdcall" (LPSTR, LONG_PTR) -> BOOL); | |
CODEPAGE_ENUMPROCA :: (proc "stdcall" (LPSTR) -> BOOL); | |
DATEFMT_ENUMPROCA :: (proc "stdcall" (LPSTR) -> BOOL); | |
DATEFMT_ENUMPROCEXA :: (proc "stdcall" (LPSTR, CALID) -> BOOL); | |
TIMEFMT_ENUMPROCA :: (proc "stdcall" (LPSTR) -> BOOL); | |
CALINFO_ENUMPROCA :: (proc "stdcall" (LPSTR) -> BOOL); | |
CALINFO_ENUMPROCEXA :: (proc "stdcall" (LPSTR, CALID) -> BOOL); | |
LOCALE_ENUMPROCA :: (proc "stdcall" (LPSTR) -> BOOL); | |
LOCALE_ENUMPROCW :: (proc "stdcall" (LPWSTR) -> BOOL); | |
LANGUAGEGROUP_ENUMPROCW :: (proc "stdcall" (LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR) -> BOOL); | |
LANGGROUPLOCALE_ENUMPROCW :: (proc "stdcall" (LGRPID, LCID, LPWSTR, LONG_PTR) -> BOOL); | |
UILANGUAGE_ENUMPROCW :: (proc "stdcall" (LPWSTR, LONG_PTR) -> BOOL); | |
CODEPAGE_ENUMPROCW :: (proc "stdcall" (LPWSTR) -> BOOL); | |
DATEFMT_ENUMPROCW :: (proc "stdcall" (LPWSTR) -> BOOL); | |
DATEFMT_ENUMPROCEXW :: (proc "stdcall" (LPWSTR, CALID) -> BOOL); | |
TIMEFMT_ENUMPROCW :: (proc "stdcall" (LPWSTR) -> BOOL); | |
CALINFO_ENUMPROCW :: (proc "stdcall" (LPWSTR) -> BOOL); | |
CALINFO_ENUMPROCEXW :: (proc "stdcall" (LPWSTR, CALID) -> BOOL); | |
GEO_ENUMPROC :: (proc "stdcall" (GEOID) -> BOOL); | |
GEO_ENUMNAMEPROC :: (proc "stdcall" (PWSTR, LPARAM) -> BOOL); | |
FILEMUIINFO :: struct { | |
dwSize : DWORD, | |
dwVersion : DWORD, | |
dwFileType : DWORD, | |
pChecksum : [16]BYTE, | |
pServiceChecksum : [16]BYTE, | |
dwLanguageNameOffset : DWORD, | |
dwTypeIDMainSize : DWORD, | |
dwTypeIDMainOffset : DWORD, | |
dwTypeNameMainOffset : DWORD, | |
dwTypeIDMUISize : DWORD, | |
dwTypeIDMUIOffset : DWORD, | |
dwTypeNameMUIOffset : DWORD, | |
abBuffer : [8]BYTE, | |
}; | |
PFILEMUIINFO :: ^FILEMUIINFO; | |
CALINFO_ENUMPROCEXEX :: (proc "stdcall" (LPWSTR, CALID, LPWSTR, LPARAM) -> BOOL); | |
DATEFMT_ENUMPROCEXEX :: (proc "stdcall" (LPWSTR, CALID, LPARAM) -> BOOL); | |
TIMEFMT_ENUMPROCEX :: (proc "stdcall" (LPWSTR, LPARAM) -> BOOL); | |
LOCALE_ENUMPROCEX :: (proc "stdcall" (LPWSTR, DWORD, LPARAM) -> BOOL); | |
COORD :: struct { | |
X : SHORT, | |
Y : SHORT, | |
}; | |
PCOORD :: ^COORD; | |
SMALL_RECT :: struct { | |
Left : SHORT, | |
Top : SHORT, | |
Right : SHORT, | |
Bottom : SHORT, | |
}; | |
PSMALL_RECT :: ^SMALL_RECT; | |
KEY_EVENT_RECORD :: struct { | |
bKeyDown : BOOL, | |
wRepeatCount : WORD, | |
wVirtualKeyCode : WORD, | |
wVirtualScanCode : WORD, | |
uChar : struct #raw_union { | |
UnicodeChar : WCHAR, | |
AsciiChar : CHAR, | |
}, | |
dwControlKeyState : DWORD, | |
}; | |
PKEY_EVENT_RECORD :: ^KEY_EVENT_RECORD; | |
MOUSE_EVENT_RECORD :: struct { | |
dwMousePosition : COORD, | |
dwButtonState : DWORD, | |
dwControlKeyState : DWORD, | |
dwEventFlags : DWORD, | |
}; | |
PMOUSE_EVENT_RECORD :: ^MOUSE_EVENT_RECORD; | |
WINDOW_BUFFER_SIZE_RECORD :: struct { | |
dwSize : COORD, | |
}; | |
PWINDOW_BUFFER_SIZE_RECORD :: ^WINDOW_BUFFER_SIZE_RECORD; | |
MENU_EVENT_RECORD :: struct { | |
dwCommandId : UINT, | |
}; | |
PMENU_EVENT_RECORD :: ^MENU_EVENT_RECORD; | |
FOCUS_EVENT_RECORD :: struct { | |
bSetFocus : BOOL, | |
}; | |
PFOCUS_EVENT_RECORD :: ^FOCUS_EVENT_RECORD; | |
INPUT_RECORD :: struct { | |
EventType : WORD, | |
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 :: ^INPUT_RECORD; | |
CHAR_INFO :: struct { | |
Char : struct #raw_union { | |
UnicodeChar : WCHAR, | |
AsciiChar : CHAR, | |
}, | |
Attributes : WORD, | |
}; | |
PCHAR_INFO :: ^CHAR_INFO; | |
CONSOLE_FONT_INFO :: struct { | |
nFont : DWORD, | |
dwFontSize : COORD, | |
}; | |
PCONSOLE_FONT_INFO :: ^CONSOLE_FONT_INFO; | |
HPCON :: rawptr; | |
CONSOLE_READCONSOLE_CONTROL :: struct { | |
nLength : ULONG, | |
nInitialChars : ULONG, | |
dwCtrlWakeupMask : ULONG, | |
dwControlKeyState : ULONG, | |
}; | |
PCONSOLE_READCONSOLE_CONTROL :: ^CONSOLE_READCONSOLE_CONTROL; | |
PHANDLER_ROUTINE :: (proc "stdcall" (CtrlType : DWORD) -> BOOL); | |
CONSOLE_CURSOR_INFO :: struct { | |
dwSize : DWORD, | |
bVisible : BOOL, | |
}; | |
PCONSOLE_CURSOR_INFO :: ^CONSOLE_CURSOR_INFO; | |
CONSOLE_SCREEN_BUFFER_INFO :: struct { | |
dwSize : COORD, | |
dwCursorPosition : COORD, | |
wAttributes : WORD, | |
srWindow : SMALL_RECT, | |
dwMaximumWindowSize : COORD, | |
}; | |
PCONSOLE_SCREEN_BUFFER_INFO :: ^CONSOLE_SCREEN_BUFFER_INFO; | |
CONSOLE_SCREEN_BUFFER_INFOEX :: struct { | |
cbSize : ULONG, | |
dwSize : COORD, | |
dwCursorPosition : COORD, | |
wAttributes : WORD, | |
srWindow : SMALL_RECT, | |
dwMaximumWindowSize : COORD, | |
wPopupAttributes : WORD, | |
bFullscreenSupported : BOOL, | |
ColorTable : [16]COLORREF, | |
}; | |
PCONSOLE_SCREEN_BUFFER_INFOEX :: ^CONSOLE_SCREEN_BUFFER_INFOEX; | |
CONSOLE_FONT_INFOEX :: struct { | |
cbSize : ULONG, | |
nFont : DWORD, | |
dwFontSize : COORD, | |
FontFamily : UINT, | |
FontWeight : UINT, | |
FaceName : [32]WCHAR, | |
}; | |
PCONSOLE_FONT_INFOEX :: ^CONSOLE_FONT_INFOEX; | |
CONSOLE_SELECTION_INFO :: struct { | |
dwFlags : DWORD, | |
dwSelectionAnchor : COORD, | |
srSelection : SMALL_RECT, | |
}; | |
PCONSOLE_SELECTION_INFO :: ^CONSOLE_SELECTION_INFO; | |
CONSOLE_HISTORY_INFO :: struct { | |
cbSize : UINT, | |
HistoryBufferSize : UINT, | |
NumberOfHistoryBuffers : UINT, | |
dwFlags : DWORD, | |
}; | |
PCONSOLE_HISTORY_INFO :: ^CONSOLE_HISTORY_INFO; | |
VS_FIXEDFILEINFO :: struct { | |
dwSignature : DWORD, | |
dwStrucVersion : DWORD, | |
dwFileVersionMS : DWORD, | |
dwFileVersionLS : DWORD, | |
dwProductVersionMS : DWORD, | |
dwProductVersionLS : DWORD, | |
dwFileFlagsMask : DWORD, | |
dwFileFlags : DWORD, | |
dwFileOS : DWORD, | |
dwFileType : DWORD, | |
dwFileSubtype : DWORD, | |
dwFileDateMS : DWORD, | |
dwFileDateLS : DWORD, | |
}; | |
LSTATUS :: LONG; | |
REGSAM :: ACCESS_MASK; | |
val_context :: struct { | |
valuelen : _c.int, | |
value_context : LPVOID, | |
val_buff_ptr : LPVOID, | |
}; | |
PVALCONTEXT :: ^val_context; | |
PVALUEA :: struct { | |
pv_valuename : LPSTR, | |
pv_valuelen : _c.int, | |
pv_value_context : LPVOID, | |
pv_type : DWORD, | |
}; | |
PPVALUEA :: ^PVALUEA; | |
PVALUEW :: struct { | |
pv_valuename : LPWSTR, | |
pv_valuelen : _c.int, | |
pv_value_context : LPVOID, | |
pv_type : DWORD, | |
}; | |
PPVALUEW :: ^PVALUEW; | |
PVALUE :: PVALUEA; | |
PPVALUE :: PPVALUEA; | |
QUERYHANDLER :: #type (proc(keycontext : LPVOID, val_list : PVALCONTEXT, num_vals : DWORD, outputbuffer : LPVOID, total_outlen : ^DWORD, input_blen : DWORD) -> DWORD); | |
PQUERYHANDLER :: ^QUERYHANDLER; | |
REG_PROVIDER :: struct { | |
pi_R0_1val : PQUERYHANDLER, | |
pi_R0_allvals : PQUERYHANDLER, | |
pi_R3_1val : PQUERYHANDLER, | |
pi_R3_allvals : PQUERYHANDLER, | |
pi_flags : DWORD, | |
pi_key_context : LPVOID, | |
}; | |
PPROVIDER :: ^REG_PROVIDER; | |
VALENTA :: struct { | |
ve_valuename : LPSTR, | |
ve_valuelen : DWORD, | |
ve_valueptr : DWORD_PTR, | |
ve_type : DWORD, | |
}; | |
PVALENTA :: ^VALENTA; | |
VALENTW :: struct { | |
ve_valuename : LPWSTR, | |
ve_valuelen : DWORD, | |
ve_valueptr : DWORD_PTR, | |
ve_type : DWORD, | |
}; | |
PVALENTW :: ^VALENTW; | |
VALENT :: VALENTA; | |
PVALENT :: PVALENTA; | |
NETRESOURCEA :: struct { | |
dwScope : DWORD, | |
dwType : DWORD, | |
dwDisplayType : DWORD, | |
dwUsage : DWORD, | |
lpLocalName : LPSTR, | |
lpRemoteName : LPSTR, | |
lpComment : LPSTR, | |
lpProvider : LPSTR, | |
}; | |
LPNETRESOURCEA :: ^NETRESOURCEA; | |
NETRESOURCEW :: struct { | |
dwScope : DWORD, | |
dwType : DWORD, | |
dwDisplayType : DWORD, | |
dwUsage : DWORD, | |
lpLocalName : LPWSTR, | |
lpRemoteName : LPWSTR, | |
lpComment : LPWSTR, | |
lpProvider : LPWSTR, | |
}; | |
LPNETRESOURCEW :: ^NETRESOURCEW; | |
NETRESOURCE :: NETRESOURCEA; | |
LPNETRESOURCE :: LPNETRESOURCEA; | |
CONNECTDLGSTRUCTA :: struct { | |
cbStructure : DWORD, | |
hwndOwner : HWND, | |
lpConnRes : LPNETRESOURCEA, | |
dwFlags : DWORD, | |
dwDevNum : DWORD, | |
}; | |
LPCONNECTDLGSTRUCTA :: ^CONNECTDLGSTRUCTA; | |
CONNECTDLGSTRUCTW :: struct { | |
cbStructure : DWORD, | |
hwndOwner : HWND, | |
lpConnRes : LPNETRESOURCEW, | |
dwFlags : DWORD, | |
dwDevNum : DWORD, | |
}; | |
LPCONNECTDLGSTRUCTW :: ^CONNECTDLGSTRUCTW; | |
CONNECTDLGSTRUCT :: CONNECTDLGSTRUCTA; | |
LPCONNECTDLGSTRUCT :: LPCONNECTDLGSTRUCTA; | |
DISCDLGSTRUCTA :: struct { | |
cbStructure : DWORD, | |
hwndOwner : HWND, | |
lpLocalName : LPSTR, | |
lpRemoteName : LPSTR, | |
dwFlags : DWORD, | |
}; | |
LPDISCDLGSTRUCTA :: ^DISCDLGSTRUCTA; | |
DISCDLGSTRUCTW :: struct { | |
cbStructure : DWORD, | |
hwndOwner : HWND, | |
lpLocalName : LPWSTR, | |
lpRemoteName : LPWSTR, | |
dwFlags : DWORD, | |
}; | |
LPDISCDLGSTRUCTW :: ^DISCDLGSTRUCTW; | |
DISCDLGSTRUCT :: DISCDLGSTRUCTA; | |
LPDISCDLGSTRUCT :: LPDISCDLGSTRUCTA; | |
UNIVERSAL_NAME_INFOA :: struct { | |
lpUniversalName : LPSTR, | |
}; | |
LPUNIVERSAL_NAME_INFOA :: ^UNIVERSAL_NAME_INFOA; | |
UNIVERSAL_NAME_INFOW :: struct { | |
lpUniversalName : LPWSTR, | |
}; | |
LPUNIVERSAL_NAME_INFOW :: ^UNIVERSAL_NAME_INFOW; | |
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 :: ^REMOTE_NAME_INFOA; | |
REMOTE_NAME_INFOW :: struct { | |
lpUniversalName : LPWSTR, | |
lpConnectionName : LPWSTR, | |
lpRemainingPath : LPWSTR, | |
}; | |
LPREMOTE_NAME_INFOW :: ^REMOTE_NAME_INFOW; | |
REMOTE_NAME_INFO :: REMOTE_NAME_INFOA; | |
LPREMOTE_NAME_INFO :: LPREMOTE_NAME_INFOA; | |
NETINFOSTRUCT :: struct { | |
cbStructure : DWORD, | |
dwProviderVersion : DWORD, | |
dwStatus : DWORD, | |
dwCharacteristics : DWORD, | |
dwHandle : ULONG_PTR, | |
wNetType : WORD, | |
dwPrinters : DWORD, | |
dwDrives : DWORD, | |
}; | |
LPNETINFOSTRUCT :: ^NETINFOSTRUCT; | |
NETCONNECTINFOSTRUCT :: struct { | |
cbStructure : DWORD, | |
dwFlags : DWORD, | |
dwSpeed : DWORD, | |
dwDelay : DWORD, | |
dwOptDataSize : DWORD, | |
}; | |
LPNETCONNECTINFOSTRUCT :: ^NETCONNECTINFOSTRUCT; | |
DDEACK :: bit_field { | |
bAppReturnCode : 8, | |
reserved : 6, | |
fBusy : 1, | |
fAck : 1, | |
}; | |
DDEADVISE :: struct { | |
using _ : bit_field { | |
reserved : 14, | |
fDeferUpd : 1, | |
fAckReq : 1, | |
}, | |
cfFormat : _c.short, | |
}; | |
DDEDATA :: struct { | |
using _ : bit_field { | |
unused : 12, | |
fResponse : 1, | |
fRelease : 1, | |
reserved : 1, | |
fAckReq : 1, | |
}, | |
cfFormat : _c.short, | |
Value : [1]BYTE, | |
}; | |
DDEPOKE :: struct { | |
using _ : bit_field { | |
unused : 13, | |
fRelease : 1, | |
fReserved : 2, | |
}, | |
cfFormat : _c.short, | |
Value : [1]BYTE, | |
}; | |
DDELN :: struct { | |
using _ : bit_field { | |
unused : 13, | |
fRelease : 1, | |
fDeferUpd : 1, | |
fAckReq : 1, | |
}, | |
cfFormat : _c.short, | |
}; | |
DDEUP :: struct { | |
using _ : bit_field { | |
unused : 12, | |
fAck : 1, | |
fRelease : 1, | |
fReserved : 1, | |
fAckReq : 1, | |
}, | |
cfFormat : _c.short, | |
rgb : [1]BYTE, | |
}; | |
HCONVLIST__ :: struct { | |
unused : _c.int, | |
}; | |
HCONVLIST :: ^HCONVLIST__; | |
HCONV__ :: struct { | |
unused : _c.int, | |
}; | |
HCONV :: ^HCONV__; | |
HSZ__ :: struct { | |
unused : _c.int, | |
}; | |
HSZ :: ^HSZ__; | |
HDDEDATA__ :: struct { | |
unused : _c.int, | |
}; | |
HDDEDATA :: ^HDDEDATA__; | |
HSZPAIR :: struct { | |
hszSvc : HSZ, | |
hszTopic : HSZ, | |
}; | |
PHSZPAIR :: ^HSZPAIR; | |
CONVCONTEXT :: struct { | |
cb : UINT, | |
wFlags : UINT, | |
wCountryID : UINT, | |
iCodePage : _c.int, | |
dwLangID : DWORD, | |
dwSecurity : DWORD, | |
qos : SECURITY_QUALITY_OF_SERVICE, | |
}; | |
PCONVCONTEXT :: ^CONVCONTEXT; | |
CONVINFO :: struct { | |
cb : DWORD, | |
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 :: ^CONVINFO; | |
FNCALLBACK :: #type (proc "stdcall" (wType : UINT, wFmt : UINT, hConv : HCONV, hsz1 : HSZ, hsz2 : HSZ, hData : HDDEDATA, dwData1 : ULONG_PTR, dwData2 : ULONG_PTR) -> HDDEDATA); | |
PFNCALLBACK :: (proc "stdcall" (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 : DWORD, | |
Data : [8]DWORD, | |
}; | |
PDDEML_MSG_HOOK_DATA :: ^DDEML_MSG_HOOK_DATA; | |
MONMSGSTRUCT :: struct { | |
cb : UINT, | |
hwndTo : HWND, | |
dwTime : DWORD, | |
hTask : HANDLE, | |
wMsg : UINT, | |
wParam : WPARAM, | |
lParam : LPARAM, | |
dmhd : DDEML_MSG_HOOK_DATA, | |
}; | |
PMONMSGSTRUCT :: ^MONMSGSTRUCT; | |
MONCBSTRUCT :: struct { | |
cb : UINT, | |
dwTime : DWORD, | |
hTask : HANDLE, | |
dwRet : DWORD, | |
wType : UINT, | |
wFmt : UINT, | |
hConv : HCONV, | |
hsz1 : HSZ, | |
hsz2 : HSZ, | |
hData : HDDEDATA, | |
dwData1 : ULONG_PTR, | |
dwData2 : ULONG_PTR, | |
cc : CONVCONTEXT, | |
cbData : DWORD, | |
Data : [8]DWORD, | |
}; | |
PMONCBSTRUCT :: ^MONCBSTRUCT; | |
MONHSZSTRUCTA :: struct { | |
cb : UINT, | |
fsAction : BOOL, | |
dwTime : DWORD, | |
hsz : HSZ, | |
hTask : HANDLE, | |
str : [1]CHAR, | |
}; | |
PMONHSZSTRUCTA :: ^MONHSZSTRUCTA; | |
MONHSZSTRUCTW :: struct { | |
cb : UINT, | |
fsAction : BOOL, | |
dwTime : DWORD, | |
hsz : HSZ, | |
hTask : HANDLE, | |
str : [1]WCHAR, | |
}; | |
PMONHSZSTRUCTW :: ^MONHSZSTRUCTW; | |
MONHSZSTRUCT :: MONHSZSTRUCTA; | |
PMONHSZSTRUCT :: PMONHSZSTRUCTA; | |
MONERRSTRUCT :: struct { | |
cb : UINT, | |
wLastError : UINT, | |
dwTime : DWORD, | |
hTask : HANDLE, | |
}; | |
PMONERRSTRUCT :: ^MONERRSTRUCT; | |
MONLINKSTRUCT :: struct { | |
cb : UINT, | |
dwTime : DWORD, | |
hTask : HANDLE, | |
fEstablished : BOOL, | |
fNoData : BOOL, | |
hszSvc : HSZ, | |
hszTopic : HSZ, | |
hszItem : HSZ, | |
wFmt : UINT, | |
fServer : BOOL, | |
hConvServer : HCONV, | |
hConvClient : HCONV, | |
}; | |
PMONLINKSTRUCT :: ^MONLINKSTRUCT; | |
MONCONVSTRUCT :: struct { | |
cb : UINT, | |
fConnect : BOOL, | |
dwTime : DWORD, | |
hTask : HANDLE, | |
hszSvc : HSZ, | |
hszTopic : HSZ, | |
hConvClient : HCONV, | |
hConvServer : HCONV, | |
}; | |
PMONCONVSTRUCT :: ^MONCONVSTRUCT; | |
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 : DWORD, | |
sample : DWORD, | |
cb : DWORD, | |
ticks : DWORD, | |
smpte : struct { | |
hour : BYTE, | |
min : BYTE, | |
sec : BYTE, | |
frame : BYTE, | |
fps : BYTE, | |
dummy : BYTE, | |
pad : [2]BYTE, | |
}, | |
midi : struct { | |
songptrpos : DWORD, | |
}, | |
}, | |
}; | |
PMMTIME :: ^MMTIME; | |
NPMMTIME :: ^MMTIME; | |
LPMMTIME :: ^MMTIME; | |
HDRVR__ :: struct { | |
unused : _c.int, | |
}; | |
HDRVR :: ^HDRVR__; | |
DRVCALLBACK :: #type proc "stdcall" (hdrvr : HDRVR, uMsg : UINT, dwUser : DWORD_PTR, dw1 : DWORD_PTR, dw2 : DWORD_PTR); | |
LPDRVCALLBACK :: ^DRVCALLBACK; | |
PDRVCALLBACK :: ^DRVCALLBACK; | |
MCIERROR :: DWORD; | |
MCIDEVICEID :: UINT; | |
YIELDPROC :: (proc "stdcall" (mciId : MCIDEVICEID, dwYieldData : DWORD) -> UINT); | |
MCI_GENERIC_PARMS :: struct { | |
dwCallback : DWORD_PTR, | |
}; | |
PMCI_GENERIC_PARMS :: ^MCI_GENERIC_PARMS; | |
LPMCI_GENERIC_PARMS :: ^MCI_GENERIC_PARMS; | |
MCI_OPEN_PARMSA :: struct { | |
dwCallback : DWORD_PTR, | |
wDeviceID : MCIDEVICEID, | |
lpstrDeviceType : LPCSTR, | |
lpstrElementName : LPCSTR, | |
lpstrAlias : LPCSTR, | |
}; | |
PMCI_OPEN_PARMSA :: ^MCI_OPEN_PARMSA; | |
LPMCI_OPEN_PARMSA :: ^MCI_OPEN_PARMSA; | |
MCI_OPEN_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
wDeviceID : MCIDEVICEID, | |
lpstrDeviceType : LPCWSTR, | |
lpstrElementName : LPCWSTR, | |
lpstrAlias : LPCWSTR, | |
}; | |
PMCI_OPEN_PARMSW :: ^MCI_OPEN_PARMSW; | |
LPMCI_OPEN_PARMSW :: ^MCI_OPEN_PARMSW; | |
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 : DWORD, | |
dwTo : DWORD, | |
}; | |
PMCI_PLAY_PARMS :: ^MCI_PLAY_PARMS; | |
LPMCI_PLAY_PARMS :: ^MCI_PLAY_PARMS; | |
MCI_SEEK_PARMS :: struct { | |
dwCallback : DWORD_PTR, | |
dwTo : DWORD, | |
}; | |
PMCI_SEEK_PARMS :: ^MCI_SEEK_PARMS; | |
LPMCI_SEEK_PARMS :: ^MCI_SEEK_PARMS; | |
MCI_STATUS_PARMS :: struct { | |
dwCallback : DWORD_PTR, | |
dwReturn : DWORD_PTR, | |
dwItem : DWORD, | |
dwTrack : DWORD, | |
}; | |
PMCI_STATUS_PARMS :: ^MCI_STATUS_PARMS; | |
LPMCI_STATUS_PARMS :: ^MCI_STATUS_PARMS; | |
MCI_INFO_PARMSA :: struct { | |
dwCallback : DWORD_PTR, | |
lpstrReturn : LPSTR, | |
dwRetSize : DWORD, | |
}; | |
LPMCI_INFO_PARMSA :: ^MCI_INFO_PARMSA; | |
MCI_INFO_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
lpstrReturn : LPWSTR, | |
dwRetSize : DWORD, | |
}; | |
LPMCI_INFO_PARMSW :: ^MCI_INFO_PARMSW; | |
MCI_INFO_PARMS :: MCI_INFO_PARMSA; | |
LPMCI_INFO_PARMS :: LPMCI_INFO_PARMSA; | |
MCI_GETDEVCAPS_PARMS :: struct { | |
dwCallback : DWORD_PTR, | |
dwReturn : DWORD, | |
dwItem : DWORD, | |
}; | |
PMCI_GETDEVCAPS_PARMS :: ^MCI_GETDEVCAPS_PARMS; | |
LPMCI_GETDEVCAPS_PARMS :: ^MCI_GETDEVCAPS_PARMS; | |
MCI_SYSINFO_PARMSA :: struct { | |
dwCallback : DWORD_PTR, | |
lpstrReturn : LPSTR, | |
dwRetSize : DWORD, | |
dwNumber : DWORD, | |
wDeviceType : UINT, | |
}; | |
PMCI_SYSINFO_PARMSA :: ^MCI_SYSINFO_PARMSA; | |
LPMCI_SYSINFO_PARMSA :: ^MCI_SYSINFO_PARMSA; | |
MCI_SYSINFO_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
lpstrReturn : LPWSTR, | |
dwRetSize : DWORD, | |
dwNumber : DWORD, | |
wDeviceType : UINT, | |
}; | |
PMCI_SYSINFO_PARMSW :: ^MCI_SYSINFO_PARMSW; | |
LPMCI_SYSINFO_PARMSW :: ^MCI_SYSINFO_PARMSW; | |
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 : DWORD, | |
dwAudio : DWORD, | |
}; | |
PMCI_SET_PARMS :: ^MCI_SET_PARMS; | |
LPMCI_SET_PARMS :: ^MCI_SET_PARMS; | |
MCI_BREAK_PARMS :: struct { | |
dwCallback : DWORD_PTR, | |
nVirtKey : _c.int, | |
hwndBreak : HWND, | |
}; | |
PMCI_BREAK_PARMS :: ^MCI_BREAK_PARMS; | |
LPMCI_BREAK_PARMS :: ^MCI_BREAK_PARMS; | |
MCI_SAVE_PARMSA :: struct { | |
dwCallback : DWORD_PTR, | |
lpfilename : LPCSTR, | |
}; | |
PMCI_SAVE_PARMSA :: ^MCI_SAVE_PARMSA; | |
LPMCI_SAVE_PARMSA :: ^MCI_SAVE_PARMSA; | |
MCI_SAVE_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
lpfilename : LPCWSTR, | |
}; | |
PMCI_SAVE_PARMSW :: ^MCI_SAVE_PARMSW; | |
LPMCI_SAVE_PARMSW :: ^MCI_SAVE_PARMSW; | |
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 :: ^MCI_LOAD_PARMSA; | |
LPMCI_LOAD_PARMSA :: ^MCI_LOAD_PARMSA; | |
MCI_LOAD_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
lpfilename : LPCWSTR, | |
}; | |
PMCI_LOAD_PARMSW :: ^MCI_LOAD_PARMSW; | |
LPMCI_LOAD_PARMSW :: ^MCI_LOAD_PARMSW; | |
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 : DWORD, | |
dwTo : DWORD, | |
}; | |
LPMCI_RECORD_PARMS :: ^MCI_RECORD_PARMS; | |
MCI_VD_PLAY_PARMS :: struct { | |
dwCallback : DWORD_PTR, | |
dwFrom : DWORD, | |
dwTo : DWORD, | |
dwSpeed : DWORD, | |
}; | |
PMCI_VD_PLAY_PARMS :: ^MCI_VD_PLAY_PARMS; | |
LPMCI_VD_PLAY_PARMS :: ^MCI_VD_PLAY_PARMS; | |
MCI_VD_STEP_PARMS :: struct { | |
dwCallback : DWORD_PTR, | |
dwFrames : DWORD, | |
}; | |
PMCI_VD_STEP_PARMS :: ^MCI_VD_STEP_PARMS; | |
LPMCI_VD_STEP_PARMS :: ^MCI_VD_STEP_PARMS; | |
MCI_VD_ESCAPE_PARMSA :: struct { | |
dwCallback : DWORD_PTR, | |
lpstrCommand : LPCSTR, | |
}; | |
PMCI_VD_ESCAPE_PARMSA :: ^MCI_VD_ESCAPE_PARMSA; | |
LPMCI_VD_ESCAPE_PARMSA :: ^MCI_VD_ESCAPE_PARMSA; | |
MCI_VD_ESCAPE_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
lpstrCommand : LPCWSTR, | |
}; | |
PMCI_VD_ESCAPE_PARMSW :: ^MCI_VD_ESCAPE_PARMSW; | |
LPMCI_VD_ESCAPE_PARMSW :: ^MCI_VD_ESCAPE_PARMSW; | |
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 : DWORD, | |
}; | |
PMCI_WAVE_OPEN_PARMSA :: ^MCI_WAVE_OPEN_PARMSA; | |
LPMCI_WAVE_OPEN_PARMSA :: ^MCI_WAVE_OPEN_PARMSA; | |
MCI_WAVE_OPEN_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
wDeviceID : MCIDEVICEID, | |
lpstrDeviceType : LPCWSTR, | |
lpstrElementName : LPCWSTR, | |
lpstrAlias : LPCWSTR, | |
dwBufferSeconds : DWORD, | |
}; | |
PMCI_WAVE_OPEN_PARMSW :: ^MCI_WAVE_OPEN_PARMSW; | |
LPMCI_WAVE_OPEN_PARMSW :: ^MCI_WAVE_OPEN_PARMSW; | |
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 : DWORD, | |
dwTo : DWORD, | |
}; | |
PMCI_WAVE_DELETE_PARMS :: ^MCI_WAVE_DELETE_PARMS; | |
LPMCI_WAVE_DELETE_PARMS :: ^MCI_WAVE_DELETE_PARMS; | |
MCI_WAVE_SET_PARMS :: struct { | |
dwCallback : DWORD_PTR, | |
dwTimeFormat : DWORD, | |
dwAudio : DWORD, | |
wInput : UINT, | |
wOutput : UINT, | |
wFormatTag : WORD, | |
wReserved2 : WORD, | |
nChannels : WORD, | |
wReserved3 : WORD, | |
nSamplesPerSec : DWORD, | |
nAvgBytesPerSec : DWORD, | |
nBlockAlign : WORD, | |
wReserved4 : WORD, | |
wBitsPerSample : WORD, | |
wReserved5 : WORD, | |
}; | |
PMCI_WAVE_SET_PARMS :: ^MCI_WAVE_SET_PARMS; | |
LPMCI_WAVE_SET_PARMS :: ^MCI_WAVE_SET_PARMS; | |
MCI_SEQ_SET_PARMS :: struct { | |
dwCallback : DWORD_PTR, | |
dwTimeFormat : DWORD, | |
dwAudio : DWORD, | |
dwTempo : DWORD, | |
dwPort : DWORD, | |
dwSlave : DWORD, | |
dwMaster : DWORD, | |
dwOffset : DWORD, | |
}; | |
PMCI_SEQ_SET_PARMS :: ^MCI_SEQ_SET_PARMS; | |
LPMCI_SEQ_SET_PARMS :: ^MCI_SEQ_SET_PARMS; | |
MCI_ANIM_OPEN_PARMSA :: struct { | |
dwCallback : DWORD_PTR, | |
wDeviceID : MCIDEVICEID, | |
lpstrDeviceType : LPCSTR, | |
lpstrElementName : LPCSTR, | |
lpstrAlias : LPCSTR, | |
dwStyle : DWORD, | |
hWndParent : HWND, | |
}; | |
PMCI_ANIM_OPEN_PARMSA :: ^MCI_ANIM_OPEN_PARMSA; | |
LPMCI_ANIM_OPEN_PARMSA :: ^MCI_ANIM_OPEN_PARMSA; | |
MCI_ANIM_OPEN_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
wDeviceID : MCIDEVICEID, | |
lpstrDeviceType : LPCWSTR, | |
lpstrElementName : LPCWSTR, | |
lpstrAlias : LPCWSTR, | |
dwStyle : DWORD, | |
hWndParent : HWND, | |
}; | |
PMCI_ANIM_OPEN_PARMSW :: ^MCI_ANIM_OPEN_PARMSW; | |
LPMCI_ANIM_OPEN_PARMSW :: ^MCI_ANIM_OPEN_PARMSW; | |
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 : DWORD, | |
dwTo : DWORD, | |
dwSpeed : DWORD, | |
}; | |
PMCI_ANIM_PLAY_PARMS :: ^MCI_ANIM_PLAY_PARMS; | |
LPMCI_ANIM_PLAY_PARMS :: ^MCI_ANIM_PLAY_PARMS; | |
MCI_ANIM_STEP_PARMS :: struct { | |
dwCallback : DWORD_PTR, | |
dwFrames : DWORD, | |
}; | |
PMCI_ANIM_STEP_PARMS :: ^MCI_ANIM_STEP_PARMS; | |
LPMCI_ANIM_STEP_PARMS :: ^MCI_ANIM_STEP_PARMS; | |
MCI_ANIM_WINDOW_PARMSA :: struct { | |
dwCallback : DWORD_PTR, | |
hWnd : HWND, | |
nCmdShow : UINT, | |
lpstrText : LPCSTR, | |
}; | |
PMCI_ANIM_WINDOW_PARMSA :: ^MCI_ANIM_WINDOW_PARMSA; | |
LPMCI_ANIM_WINDOW_PARMSA :: ^MCI_ANIM_WINDOW_PARMSA; | |
MCI_ANIM_WINDOW_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
hWnd : HWND, | |
nCmdShow : UINT, | |
lpstrText : LPCWSTR, | |
}; | |
PMCI_ANIM_WINDOW_PARMSW :: ^MCI_ANIM_WINDOW_PARMSW; | |
LPMCI_ANIM_WINDOW_PARMSW :: ^MCI_ANIM_WINDOW_PARMSW; | |
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 :: ^MCI_ANIM_UPDATE_PARMS; | |
LPMCI_ANIM_UPDATE_PARMS :: ^MCI_ANIM_UPDATE_PARMS; | |
MCI_OVLY_OPEN_PARMSA :: struct { | |
dwCallback : DWORD_PTR, | |
wDeviceID : MCIDEVICEID, | |
lpstrDeviceType : LPCSTR, | |
lpstrElementName : LPCSTR, | |
lpstrAlias : LPCSTR, | |
dwStyle : DWORD, | |
hWndParent : HWND, | |
}; | |
PMCI_OVLY_OPEN_PARMSA :: ^MCI_OVLY_OPEN_PARMSA; | |
LPMCI_OVLY_OPEN_PARMSA :: ^MCI_OVLY_OPEN_PARMSA; | |
MCI_OVLY_OPEN_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
wDeviceID : MCIDEVICEID, | |
lpstrDeviceType : LPCWSTR, | |
lpstrElementName : LPCWSTR, | |
lpstrAlias : LPCWSTR, | |
dwStyle : DWORD, | |
hWndParent : HWND, | |
}; | |
PMCI_OVLY_OPEN_PARMSW :: ^MCI_OVLY_OPEN_PARMSW; | |
LPMCI_OVLY_OPEN_PARMSW :: ^MCI_OVLY_OPEN_PARMSW; | |
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 :: ^MCI_OVLY_WINDOW_PARMSA; | |
LPMCI_OVLY_WINDOW_PARMSA :: ^MCI_OVLY_WINDOW_PARMSA; | |
MCI_OVLY_WINDOW_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
hWnd : HWND, | |
nCmdShow : UINT, | |
lpstrText : LPCWSTR, | |
}; | |
PMCI_OVLY_WINDOW_PARMSW :: ^MCI_OVLY_WINDOW_PARMSW; | |
LPMCI_OVLY_WINDOW_PARMSW :: ^MCI_OVLY_WINDOW_PARMSW; | |
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 :: ^MCI_OVLY_RECT_PARMS; | |
LPMCI_OVLY_RECT_PARMS :: ^MCI_OVLY_RECT_PARMS; | |
MCI_OVLY_SAVE_PARMSA :: struct { | |
dwCallback : DWORD_PTR, | |
lpfilename : LPCSTR, | |
rc : RECT, | |
}; | |
PMCI_OVLY_SAVE_PARMSA :: ^MCI_OVLY_SAVE_PARMSA; | |
LPMCI_OVLY_SAVE_PARMSA :: ^MCI_OVLY_SAVE_PARMSA; | |
MCI_OVLY_SAVE_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
lpfilename : LPCWSTR, | |
rc : RECT, | |
}; | |
PMCI_OVLY_SAVE_PARMSW :: ^MCI_OVLY_SAVE_PARMSW; | |
LPMCI_OVLY_SAVE_PARMSW :: ^MCI_OVLY_SAVE_PARMSW; | |
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 :: ^MCI_OVLY_LOAD_PARMSA; | |
LPMCI_OVLY_LOAD_PARMSA :: ^MCI_OVLY_LOAD_PARMSA; | |
MCI_OVLY_LOAD_PARMSW :: struct { | |
dwCallback : DWORD_PTR, | |
lpfilename : LPCWSTR, | |
rc : RECT, | |
}; | |
PMCI_OVLY_LOAD_PARMSW :: ^MCI_OVLY_LOAD_PARMSW; | |
LPMCI_OVLY_LOAD_PARMSW :: ^MCI_OVLY_LOAD_PARMSW; | |
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 : DWORD, | |
lpszDCISectionName : LPCWSTR, | |
lpszDCIAliasName : LPCWSTR, | |
dnDevNode : DWORD, | |
}; | |
PDRVCONFIGINFOEX :: ^DRVCONFIGINFOEX; | |
NPDRVCONFIGINFOEX :: ^DRVCONFIGINFOEX; | |
LPDRVCONFIGINFOEX :: ^DRVCONFIGINFOEX; | |
DRVCONFIGINFO :: struct { | |
dwDCISize : DWORD, | |
lpszDCISectionName : LPCWSTR, | |
lpszDCIAliasName : LPCWSTR, | |
}; | |
PDRVCONFIGINFO :: ^DRVCONFIGINFO; | |
NPDRVCONFIGINFO :: ^DRVCONFIGINFO; | |
LPDRVCONFIGINFO :: ^DRVCONFIGINFO; | |
DRIVERPROC :: (proc "stdcall" (DWORD_PTR, HDRVR, UINT, LPARAM, LPARAM) -> LRESULT); | |
DRIVERMSGPROC :: (proc "stdcall" (DWORD, DWORD, DWORD_PTR, DWORD_PTR, DWORD_PTR) -> DWORD); | |
FOURCC :: DWORD; | |
HPSTR :: ^_c.uchar; | |
HMMIO__ :: struct { | |
unused : _c.int, | |
}; | |
HMMIO :: ^HMMIO__; | |
MMIOPROC :: #type (proc "stdcall" (lpmmioinfo : LPSTR, uMsg : UINT, lParam1 : LPARAM, lParam2 : LPARAM) -> LRESULT); | |
LPMMIOPROC :: ^MMIOPROC; | |
MMIOINFO :: struct { | |
dwFlags : DWORD, | |
fccIOProc : FOURCC, | |
pIOProc : LPMMIOPROC, | |
wErrorRet : UINT, | |
htask : HTASK, | |
cchBuffer : LONG, | |
pchBuffer : HPSTR, | |
pchNext : HPSTR, | |
pchEndRead : HPSTR, | |
pchEndWrite : HPSTR, | |
lBufOffset : LONG, | |
lDiskOffset : LONG, | |
adwInfo : [3]DWORD, | |
dwReserved1 : DWORD, | |
dwReserved2 : DWORD, | |
hmmio : HMMIO, | |
}; | |
PMMIOINFO :: ^MMIOINFO; | |
NPMMIOINFO :: ^MMIOINFO; | |
LPMMIOINFO :: ^MMIOINFO; | |
LPCMMIOINFO :: ^MMIOINFO; | |
MMCKINFO :: struct { | |
ckid : FOURCC, | |
cksize : DWORD, | |
fccType : FOURCC, | |
dwDataOffset : DWORD, | |
dwFlags : DWORD, | |
}; | |
PMMCKINFO :: ^MMCKINFO; | |
NPMMCKINFO :: ^MMCKINFO; | |
LPMMCKINFO :: ^MMCKINFO; | |
LPCMMCKINFO :: ^MMCKINFO; | |
TIMECALLBACK :: #type proc "stdcall" (uTimerID : UINT, uMsg : UINT, dwUser : DWORD_PTR, dw1 : DWORD_PTR, dw2 : DWORD_PTR); | |
LPTIMECALLBACK :: ^TIMECALLBACK; | |
HWAVE__ :: struct { | |
unused : _c.int, | |
}; | |
HWAVE :: ^HWAVE__; | |
HWAVEIN__ :: struct { | |
unused : _c.int, | |
}; | |
HWAVEIN :: ^HWAVEIN__; | |
HWAVEOUT__ :: struct { | |
unused : _c.int, | |
}; | |
HWAVEOUT :: ^HWAVEOUT__; | |
LPHWAVEIN :: ^HWAVEIN; | |
LPHWAVEOUT :: ^HWAVEOUT; | |
WAVECALLBACK :: DRVCALLBACK; | |
LPWAVECALLBACK :: ^WAVECALLBACK; | |
WAVEHDR :: struct { | |
lpData : LPSTR, | |
dwBufferLength : DWORD, | |
dwBytesRecorded : DWORD, | |
dwUser : DWORD_PTR, | |
dwFlags : DWORD, | |
dwLoops : DWORD, | |
lpNext : ^WAVEHDR, | |
reserved : DWORD_PTR, | |
}; | |
PWAVEHDR :: ^WAVEHDR; | |
NPWAVEHDR :: ^WAVEHDR; | |
LPWAVEHDR :: ^WAVEHDR; | |
WAVEOUTCAPSA :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
dwFormats : DWORD, | |
wChannels : WORD, | |
wReserved1 : WORD, | |
dwSupport : DWORD, | |
}; | |
PWAVEOUTCAPSA :: ^WAVEOUTCAPSA; | |
NPWAVEOUTCAPSA :: ^WAVEOUTCAPSA; | |
LPWAVEOUTCAPSA :: ^WAVEOUTCAPSA; | |
WAVEOUTCAPSW :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
dwFormats : DWORD, | |
wChannels : WORD, | |
wReserved1 : WORD, | |
dwSupport : DWORD, | |
}; | |
PWAVEOUTCAPSW :: ^WAVEOUTCAPSW; | |
NPWAVEOUTCAPSW :: ^WAVEOUTCAPSW; | |
LPWAVEOUTCAPSW :: ^WAVEOUTCAPSW; | |
WAVEOUTCAPS :: WAVEOUTCAPSA; | |
PWAVEOUTCAPS :: PWAVEOUTCAPSA; | |
NPWAVEOUTCAPS :: NPWAVEOUTCAPSA; | |
LPWAVEOUTCAPS :: LPWAVEOUTCAPSA; | |
WAVEOUTCAPS2A :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
dwFormats : DWORD, | |
wChannels : WORD, | |
wReserved1 : WORD, | |
dwSupport : DWORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PWAVEOUTCAPS2A :: ^WAVEOUTCAPS2A; | |
NPWAVEOUTCAPS2A :: ^WAVEOUTCAPS2A; | |
LPWAVEOUTCAPS2A :: ^WAVEOUTCAPS2A; | |
WAVEOUTCAPS2W :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
dwFormats : DWORD, | |
wChannels : WORD, | |
wReserved1 : WORD, | |
dwSupport : DWORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PWAVEOUTCAPS2W :: ^WAVEOUTCAPS2W; | |
NPWAVEOUTCAPS2W :: ^WAVEOUTCAPS2W; | |
LPWAVEOUTCAPS2W :: ^WAVEOUTCAPS2W; | |
WAVEOUTCAPS2 :: WAVEOUTCAPS2A; | |
PWAVEOUTCAPS2 :: PWAVEOUTCAPS2A; | |
NPWAVEOUTCAPS2 :: NPWAVEOUTCAPS2A; | |
LPWAVEOUTCAPS2 :: LPWAVEOUTCAPS2A; | |
WAVEINCAPSA :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
dwFormats : DWORD, | |
wChannels : WORD, | |
wReserved1 : WORD, | |
}; | |
PWAVEINCAPSA :: ^WAVEINCAPSA; | |
NPWAVEINCAPSA :: ^WAVEINCAPSA; | |
LPWAVEINCAPSA :: ^WAVEINCAPSA; | |
WAVEINCAPSW :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
dwFormats : DWORD, | |
wChannels : WORD, | |
wReserved1 : WORD, | |
}; | |
PWAVEINCAPSW :: ^WAVEINCAPSW; | |
NPWAVEINCAPSW :: ^WAVEINCAPSW; | |
LPWAVEINCAPSW :: ^WAVEINCAPSW; | |
WAVEINCAPS :: WAVEINCAPSA; | |
PWAVEINCAPS :: PWAVEINCAPSA; | |
NPWAVEINCAPS :: NPWAVEINCAPSA; | |
LPWAVEINCAPS :: LPWAVEINCAPSA; | |
WAVEINCAPS2A :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
dwFormats : DWORD, | |
wChannels : WORD, | |
wReserved1 : WORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PWAVEINCAPS2A :: ^WAVEINCAPS2A; | |
NPWAVEINCAPS2A :: ^WAVEINCAPS2A; | |
LPWAVEINCAPS2A :: ^WAVEINCAPS2A; | |
WAVEINCAPS2W :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
dwFormats : DWORD, | |
wChannels : WORD, | |
wReserved1 : WORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PWAVEINCAPS2W :: ^WAVEINCAPS2W; | |
NPWAVEINCAPS2W :: ^WAVEINCAPS2W; | |
LPWAVEINCAPS2W :: ^WAVEINCAPS2W; | |
WAVEINCAPS2 :: WAVEINCAPS2A; | |
PWAVEINCAPS2 :: PWAVEINCAPS2A; | |
NPWAVEINCAPS2 :: NPWAVEINCAPS2A; | |
LPWAVEINCAPS2 :: LPWAVEINCAPS2A; | |
WAVEFORMAT :: struct { | |
wFormatTag : WORD, | |
nChannels : WORD, | |
nSamplesPerSec : DWORD, | |
nAvgBytesPerSec : DWORD, | |
nBlockAlign : WORD, | |
}; | |
PWAVEFORMAT :: ^WAVEFORMAT; | |
NPWAVEFORMAT :: ^WAVEFORMAT; | |
LPWAVEFORMAT :: ^WAVEFORMAT; | |
PCMWAVEFORMAT :: struct { | |
wf : WAVEFORMAT, | |
wBitsPerSample : WORD, | |
}; | |
PPCMWAVEFORMAT :: ^PCMWAVEFORMAT; | |
NPPCMWAVEFORMAT :: ^PCMWAVEFORMAT; | |
LPPCMWAVEFORMAT :: ^PCMWAVEFORMAT; | |
WAVEFORMATEX :: struct { | |
wFormatTag : WORD, | |
nChannels : WORD, | |
nSamplesPerSec : DWORD, | |
nAvgBytesPerSec : DWORD, | |
nBlockAlign : WORD, | |
wBitsPerSample : WORD, | |
cbSize : WORD, | |
}; | |
PWAVEFORMATEX :: ^WAVEFORMATEX; | |
NPWAVEFORMATEX :: ^WAVEFORMATEX; | |
LPWAVEFORMATEX :: ^WAVEFORMATEX; | |
LPCWAVEFORMATEX :: ^WAVEFORMATEX; | |
HMIDI__ :: struct { | |
unused : _c.int, | |
}; | |
HMIDI :: ^HMIDI__; | |
HMIDIIN__ :: struct { | |
unused : _c.int, | |
}; | |
HMIDIIN :: ^HMIDIIN__; | |
HMIDIOUT__ :: struct { | |
unused : _c.int, | |
}; | |
HMIDIOUT :: ^HMIDIOUT__; | |
HMIDISTRM__ :: struct { | |
unused : _c.int, | |
}; | |
HMIDISTRM :: ^HMIDISTRM__; | |
LPHMIDI :: ^HMIDI; | |
LPHMIDIIN :: ^HMIDIIN; | |
LPHMIDIOUT :: ^HMIDIOUT; | |
LPHMIDISTRM :: ^HMIDISTRM; | |
MIDICALLBACK :: DRVCALLBACK; | |
LPMIDICALLBACK :: ^MIDICALLBACK; | |
PATCHARRAY :: [128]WORD; | |
LPPATCHARRAY :: ^WORD; | |
KEYARRAY :: [128]WORD; | |
LPKEYARRAY :: ^WORD; | |
MIDIOUTCAPSA :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
wTechnology : WORD, | |
wVoices : WORD, | |
wNotes : WORD, | |
wChannelMask : WORD, | |
dwSupport : DWORD, | |
}; | |
PMIDIOUTCAPSA :: ^MIDIOUTCAPSA; | |
NPMIDIOUTCAPSA :: ^MIDIOUTCAPSA; | |
LPMIDIOUTCAPSA :: ^MIDIOUTCAPSA; | |
MIDIOUTCAPSW :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
wTechnology : WORD, | |
wVoices : WORD, | |
wNotes : WORD, | |
wChannelMask : WORD, | |
dwSupport : DWORD, | |
}; | |
PMIDIOUTCAPSW :: ^MIDIOUTCAPSW; | |
NPMIDIOUTCAPSW :: ^MIDIOUTCAPSW; | |
LPMIDIOUTCAPSW :: ^MIDIOUTCAPSW; | |
MIDIOUTCAPS :: MIDIOUTCAPSA; | |
PMIDIOUTCAPS :: PMIDIOUTCAPSA; | |
NPMIDIOUTCAPS :: NPMIDIOUTCAPSA; | |
LPMIDIOUTCAPS :: LPMIDIOUTCAPSA; | |
MIDIOUTCAPS2A :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
wTechnology : WORD, | |
wVoices : WORD, | |
wNotes : WORD, | |
wChannelMask : WORD, | |
dwSupport : DWORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PMIDIOUTCAPS2A :: ^MIDIOUTCAPS2A; | |
NPMIDIOUTCAPS2A :: ^MIDIOUTCAPS2A; | |
LPMIDIOUTCAPS2A :: ^MIDIOUTCAPS2A; | |
MIDIOUTCAPS2W :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
wTechnology : WORD, | |
wVoices : WORD, | |
wNotes : WORD, | |
wChannelMask : WORD, | |
dwSupport : DWORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PMIDIOUTCAPS2W :: ^MIDIOUTCAPS2W; | |
NPMIDIOUTCAPS2W :: ^MIDIOUTCAPS2W; | |
LPMIDIOUTCAPS2W :: ^MIDIOUTCAPS2W; | |
MIDIOUTCAPS2 :: MIDIOUTCAPS2A; | |
PMIDIOUTCAPS2 :: PMIDIOUTCAPS2A; | |
NPMIDIOUTCAPS2 :: NPMIDIOUTCAPS2A; | |
LPMIDIOUTCAPS2 :: LPMIDIOUTCAPS2A; | |
MIDIINCAPSA :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
dwSupport : DWORD, | |
}; | |
PMIDIINCAPSA :: ^MIDIINCAPSA; | |
NPMIDIINCAPSA :: ^MIDIINCAPSA; | |
LPMIDIINCAPSA :: ^MIDIINCAPSA; | |
MIDIINCAPSW :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
dwSupport : DWORD, | |
}; | |
PMIDIINCAPSW :: ^MIDIINCAPSW; | |
NPMIDIINCAPSW :: ^MIDIINCAPSW; | |
LPMIDIINCAPSW :: ^MIDIINCAPSW; | |
MIDIINCAPS :: MIDIINCAPSA; | |
PMIDIINCAPS :: PMIDIINCAPSA; | |
NPMIDIINCAPS :: NPMIDIINCAPSA; | |
LPMIDIINCAPS :: LPMIDIINCAPSA; | |
MIDIINCAPS2A :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
dwSupport : DWORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PMIDIINCAPS2A :: ^MIDIINCAPS2A; | |
NPMIDIINCAPS2A :: ^MIDIINCAPS2A; | |
LPMIDIINCAPS2A :: ^MIDIINCAPS2A; | |
MIDIINCAPS2W :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
dwSupport : DWORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PMIDIINCAPS2W :: ^MIDIINCAPS2W; | |
NPMIDIINCAPS2W :: ^MIDIINCAPS2W; | |
LPMIDIINCAPS2W :: ^MIDIINCAPS2W; | |
MIDIINCAPS2 :: MIDIINCAPS2A; | |
PMIDIINCAPS2 :: PMIDIINCAPS2A; | |
NPMIDIINCAPS2 :: NPMIDIINCAPS2A; | |
LPMIDIINCAPS2 :: LPMIDIINCAPS2A; | |
MIDIHDR :: struct { | |
lpData : LPSTR, | |
dwBufferLength : DWORD, | |
dwBytesRecorded : DWORD, | |
dwUser : DWORD_PTR, | |
dwFlags : DWORD, | |
lpNext : ^MIDIHDR, | |
reserved : DWORD_PTR, | |
dwOffset : DWORD, | |
dwReserved : [8]DWORD_PTR, | |
}; | |
PMIDIHDR :: ^MIDIHDR; | |
NPMIDIHDR :: ^MIDIHDR; | |
LPMIDIHDR :: ^MIDIHDR; | |
MIDIEVENT :: struct { | |
dwDeltaTime : DWORD, | |
dwStreamID : DWORD, | |
dwEvent : DWORD, | |
dwParms : [1]DWORD, | |
}; | |
MIDISTRMBUFFVER :: struct { | |
dwVersion : DWORD, | |
dwMid : DWORD, | |
dwOEMVersion : DWORD, | |
}; | |
MIDIPROPTIMEDIV :: struct { | |
cbStruct : DWORD, | |
dwTimeDiv : DWORD, | |
}; | |
LPMIDIPROPTIMEDIV :: ^MIDIPROPTIMEDIV; | |
MIDIPROPTEMPO :: struct { | |
cbStruct : DWORD, | |
dwTempo : DWORD, | |
}; | |
LPMIDIPROPTEMPO :: ^MIDIPROPTEMPO; | |
AUXCAPSA :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
wTechnology : WORD, | |
wReserved1 : WORD, | |
dwSupport : DWORD, | |
}; | |
PAUXCAPSA :: ^AUXCAPSA; | |
NPAUXCAPSA :: ^AUXCAPSA; | |
LPAUXCAPSA :: ^AUXCAPSA; | |
AUXCAPSW :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
wTechnology : WORD, | |
wReserved1 : WORD, | |
dwSupport : DWORD, | |
}; | |
PAUXCAPSW :: ^AUXCAPSW; | |
NPAUXCAPSW :: ^AUXCAPSW; | |
LPAUXCAPSW :: ^AUXCAPSW; | |
AUXCAPS :: AUXCAPSA; | |
PAUXCAPS :: PAUXCAPSA; | |
NPAUXCAPS :: NPAUXCAPSA; | |
LPAUXCAPS :: LPAUXCAPSA; | |
AUXCAPS2A :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
wTechnology : WORD, | |
wReserved1 : WORD, | |
dwSupport : DWORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PAUXCAPS2A :: ^AUXCAPS2A; | |
NPAUXCAPS2A :: ^AUXCAPS2A; | |
LPAUXCAPS2A :: ^AUXCAPS2A; | |
AUXCAPS2W :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
wTechnology : WORD, | |
wReserved1 : WORD, | |
dwSupport : DWORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PAUXCAPS2W :: ^AUXCAPS2W; | |
NPAUXCAPS2W :: ^AUXCAPS2W; | |
LPAUXCAPS2W :: ^AUXCAPS2W; | |
AUXCAPS2 :: AUXCAPS2A; | |
PAUXCAPS2 :: PAUXCAPS2A; | |
NPAUXCAPS2 :: NPAUXCAPS2A; | |
LPAUXCAPS2 :: LPAUXCAPS2A; | |
HMIXEROBJ__ :: struct { | |
unused : _c.int, | |
}; | |
HMIXEROBJ :: ^HMIXEROBJ__; | |
LPHMIXEROBJ :: ^HMIXEROBJ; | |
HMIXER__ :: struct { | |
unused : _c.int, | |
}; | |
HMIXER :: ^HMIXER__; | |
LPHMIXER :: ^HMIXER; | |
MIXERCAPSA :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
fdwSupport : DWORD, | |
cDestinations : DWORD, | |
}; | |
PMIXERCAPSA :: ^MIXERCAPSA; | |
LPMIXERCAPSA :: ^MIXERCAPSA; | |
MIXERCAPSW :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
fdwSupport : DWORD, | |
cDestinations : DWORD, | |
}; | |
PMIXERCAPSW :: ^MIXERCAPSW; | |
LPMIXERCAPSW :: ^MIXERCAPSW; | |
MIXERCAPS :: MIXERCAPSA; | |
PMIXERCAPS :: PMIXERCAPSA; | |
LPMIXERCAPS :: LPMIXERCAPSA; | |
MIXERCAPS2A :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
fdwSupport : DWORD, | |
cDestinations : DWORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PMIXERCAPS2A :: ^MIXERCAPS2A; | |
LPMIXERCAPS2A :: ^MIXERCAPS2A; | |
MIXERCAPS2W :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
fdwSupport : DWORD, | |
cDestinations : DWORD, | |
ManufacturerGuid : GUID, | |
ProductGuid : GUID, | |
NameGuid : GUID, | |
}; | |
PMIXERCAPS2W :: ^MIXERCAPS2W; | |
LPMIXERCAPS2W :: ^MIXERCAPS2W; | |
MIXERCAPS2 :: MIXERCAPS2A; | |
PMIXERCAPS2 :: PMIXERCAPS2A; | |
LPMIXERCAPS2 :: LPMIXERCAPS2A; | |
MIXERLINEA :: struct { | |
cbStruct : DWORD, | |
dwDestination : DWORD, | |
dwSource : DWORD, | |
dwLineID : DWORD, | |
fdwLine : DWORD, | |
dwUser : DWORD_PTR, | |
dwComponentType : DWORD, | |
cChannels : DWORD, | |
cConnections : DWORD, | |
cControls : DWORD, | |
szShortName : [16]CHAR, | |
szName : [64]CHAR, | |
Target : struct { | |
dwType : DWORD, | |
dwDeviceID : DWORD, | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]CHAR, | |
}, | |
}; | |
PMIXERLINEA :: ^MIXERLINEA; | |
LPMIXERLINEA :: ^MIXERLINEA; | |
MIXERLINEW :: struct { | |
cbStruct : DWORD, | |
dwDestination : DWORD, | |
dwSource : DWORD, | |
dwLineID : DWORD, | |
fdwLine : DWORD, | |
dwUser : DWORD_PTR, | |
dwComponentType : DWORD, | |
cChannels : DWORD, | |
cConnections : DWORD, | |
cControls : DWORD, | |
szShortName : [16]WCHAR, | |
szName : [64]WCHAR, | |
Target : struct { | |
dwType : DWORD, | |
dwDeviceID : DWORD, | |
wMid : WORD, | |
wPid : WORD, | |
vDriverVersion : MMVERSION, | |
szPname : [32]WCHAR, | |
}, | |
}; | |
PMIXERLINEW :: ^MIXERLINEW; | |
LPMIXERLINEW :: ^MIXERLINEW; | |
MIXERLINE :: MIXERLINEA; | |
PMIXERLINE :: PMIXERLINEA; | |
LPMIXERLINE :: LPMIXERLINEA; | |
MIXERCONTROLA :: struct { | |
cbStruct : DWORD, | |
dwControlID : DWORD, | |
dwControlType : DWORD, | |
fdwControl : DWORD, | |
cMultipleItems : DWORD, | |
szShortName : [16]CHAR, | |
szName : [64]CHAR, | |
Bounds : struct #raw_union { | |
s : struct { | |
lMinimum : LONG, | |
lMaximum : LONG, | |
}, | |
s2 : struct { | |
dwMinimum : DWORD, | |
dwMaximum : DWORD, | |
}, | |
dwReserved : [6]DWORD, | |
}, | |
Metrics : struct #raw_union { | |
cSteps : DWORD, | |
cbCustomData : DWORD, | |
dwReserved : [6]DWORD, | |
}, | |
}; | |
PMIXERCONTROLA :: ^MIXERCONTROLA; | |
LPMIXERCONTROLA :: ^MIXERCONTROLA; | |
MIXERCONTROLW :: struct { | |
cbStruct : DWORD, | |
dwControlID : DWORD, | |
dwControlType : DWORD, | |
fdwControl : DWORD, | |
cMultipleItems : DWORD, | |
szShortName : [16]WCHAR, | |
szName : [64]WCHAR, | |
Bounds : struct #raw_union { | |
s : struct { | |
lMinimum : LONG, | |
lMaximum : LONG, | |
}, | |
s2 : struct { | |
dwMinimum : DWORD, | |
dwMaximum : DWORD, | |
}, | |
dwReserved : [6]DWORD, | |
}, | |
Metrics : struct #raw_union { | |
cSteps : DWORD, | |
cbCustomData : DWORD, | |
dwReserved : [6]DWORD, | |
}, | |
}; | |
PMIXERCONTROLW :: ^MIXERCONTROLW; | |
LPMIXERCONTROLW :: ^MIXERCONTROLW; | |
MIXERCONTROL :: MIXERCONTROLA; | |
PMIXERCONTROL :: PMIXERCONTROLA; | |
LPMIXERCONTROL :: LPMIXERCONTROLA; | |
MIXERLINECONTROLSA :: struct { | |
cbStruct : DWORD, | |
dwLineID : DWORD, | |
u : struct #raw_union { | |
dwControlID : DWORD, | |
dwControlType : DWORD, | |
}, | |
cControls : DWORD, | |
cbmxctrl : DWORD, | |
pamxctrl : LPMIXERCONTROLA, | |
}; | |
PMIXERLINECONTROLSA :: ^MIXERLINECONTROLSA; | |
LPMIXERLINECONTROLSA :: ^MIXERLINECONTROLSA; | |
MIXERLINECONTROLSW :: struct { | |
cbStruct : DWORD, | |
dwLineID : DWORD, | |
u : struct #raw_union { | |
dwControlID : DWORD, | |
dwControlType : DWORD, | |
}, | |
cControls : DWORD, | |
cbmxctrl : DWORD, | |
pamxctrl : LPMIXERCONTROLW, | |
}; | |
PMIXERLINECONTROLSW :: ^MIXERLINECONTROLSW; | |
LPMIXERLINECONTROLSW :: ^MIXERLINECONTROLSW; | |
MIXERLINECONTROLS :: MIXERLINECONTROLSA; | |
PMIXERLINECONTROLS :: PMIXERLINECONTROLSA; | |
LPMIXERLINECONTROLS :: LPMIXERLINECONTROLSA; | |
MIXERCONTROLDETAILS :: struct { | |
cbStruct : DWORD, | |
dwControlID : DWORD, | |
cChannels : DWORD, | |
u : struct #raw_union { | |
hwndOwner : HWND, | |
cMultipleItems : DWORD, | |
}, | |
cbDetails : DWORD, | |
paDetails : LPVOID, | |
}; | |
PMIXERCONTROLDETAILS :: ^MIXERCONTROLDETAILS; | |
LPMIXERCONTROLDETAILS :: ^MIXERCONTROLDETAILS; | |
MIXERCONTROLDETAILS_LISTTEXTA :: struct { | |
dwParam1 : DWORD, | |
dwParam2 : DWORD, | |
szName : [64]CHAR, | |
}; | |
PMIXERCONTROLDETAILS_LISTTEXTA :: ^MIXERCONTROLDETAILS_LISTTEXTA; | |
LPMIXERCONTROLDETAILS_LISTTEXTA :: ^MIXERCONTROLDETAILS_LISTTEXTA; | |
MIXERCONTROLDETAILS_LISTTEXTW :: struct { | |
dwParam1 : DWORD, | |
dwParam2 : DWORD, | |
szName : [64]WCHAR, | |
}; | |
PMIXERCONTROLDETAILS_LISTTEXTW :: ^MIXERCONTROLDETAILS_LISTTEXTW; | |
LPMIXERCONTROLDETAILS_LISTTEXTW :: ^MIXERCONTROLDETAILS_LISTTEXTW; | |
MIXERCONTROLDETAILS_LISTTEXT :: MIXERCONTROLDETAILS_LISTTEXTA; | |
PMIXERCONTROLDETAILS_LISTTEXT :: PMIXERCONTROLDETAILS_LISTTEXTA; | |
LPMIXERCONTROLDETAILS_LISTTEXT :: LPMIXERCONTROLDETAILS_LISTTEXTA; | |
MIXERCONTROLDETAILS_BOOLEAN :: struct { | |
fValue : LONG, | |
}; | |
PMIXERCONTROLDETAILS_BOOLEAN :: ^MIXERCONTROLDETAILS_BOOLEAN; | |
LPMIXERCONTROLDETAILS_BOOLEAN :: ^MIXERCONTROLDETAILS_BOOLEAN; | |
MIXERCONTROLDETAILS_SIGNED :: struct { | |
lValue : LONG, | |
}; | |
PMIXERCONTROLDETAILS_SIGNED :: ^MIXERCONTROLDETAILS_SIGNED; | |
LPMIXERCONTROLDETAILS_SIGNED :: ^MIXERCONTROLDETAILS_SIGNED; | |
MIXERCONTROLDETAILS_UNSIGNED :: struct { | |
dwValue : DWORD, | |
}; | |
PMIXERCONTROLDETAILS_UNSIGNED :: ^MIXERCONTROLDETAILS_UNSIGNED; | |
LPMIXERCONTROLDETAILS_UNSIGNED :: ^MIXERCONTROLDETAILS_UNSIGNED; | |
TIMECAPS :: struct { | |
wPeriodMin : UINT, | |
wPeriodMax : UINT, | |
}; | |
PTIMECAPS :: ^TIMECAPS; | |
NPTIMECAPS :: ^TIMECAPS; | |
LPTIMECAPS :: ^TIMECAPS; | |
JOYCAPSA :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
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 :: ^JOYCAPSA; | |
NPJOYCAPSA :: ^JOYCAPSA; | |
LPJOYCAPSA :: ^JOYCAPSA; | |
JOYCAPSW :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
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 :: ^JOYCAPSW; | |
NPJOYCAPSW :: ^JOYCAPSW; | |
LPJOYCAPSW :: ^JOYCAPSW; | |
JOYCAPS :: JOYCAPSA; | |
PJOYCAPS :: PJOYCAPSA; | |
NPJOYCAPS :: NPJOYCAPSA; | |
LPJOYCAPS :: LPJOYCAPSA; | |
JOYCAPS2A :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
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 :: ^JOYCAPS2A; | |
NPJOYCAPS2A :: ^JOYCAPS2A; | |
LPJOYCAPS2A :: ^JOYCAPS2A; | |
JOYCAPS2W :: struct { | |
wMid : WORD, | |
wPid : WORD, | |
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 :: ^JOYCAPS2W; | |
NPJOYCAPS2W :: ^JOYCAPS2W; | |
LPJOYCAPS2W :: ^JOYCAPS2W; | |
JOYCAPS2 :: JOYCAPS2A; | |
PJOYCAPS2 :: PJOYCAPS2A; | |
NPJOYCAPS2 :: NPJOYCAPS2A; | |
LPJOYCAPS2 :: LPJOYCAPS2A; | |
JOYINFO :: struct { | |
wXpos : UINT, | |
wYpos : UINT, | |
wZpos : UINT, | |
wButtons : UINT, | |
}; | |
PJOYINFO :: ^JOYINFO; | |
NPJOYINFO :: ^JOYINFO; | |
LPJOYINFO :: ^JOYINFO; | |
JOYINFOEX :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
dwXpos : DWORD, | |
dwYpos : DWORD, | |
dwZpos : DWORD, | |
dwRpos : DWORD, | |
dwUpos : DWORD, | |
dwVpos : DWORD, | |
dwButtons : DWORD, | |
dwButtonNumber : DWORD, | |
dwPOV : DWORD, | |
dwReserved1 : DWORD, | |
dwReserved2 : DWORD, | |
}; | |
PJOYINFOEX :: ^JOYINFOEX; | |
NPJOYINFOEX :: ^JOYINFOEX; | |
LPJOYINFOEX :: ^JOYINFOEX; | |
NCB :: struct { | |
ncb_command : UCHAR, | |
ncb_retcode : UCHAR, | |
ncb_lsn : UCHAR, | |
ncb_num : UCHAR, | |
ncb_buffer : PUCHAR, | |
ncb_length : WORD, | |
ncb_callname : [16]UCHAR, | |
ncb_name : [16]UCHAR, | |
ncb_rto : UCHAR, | |
ncb_sto : UCHAR, | |
ncb_post : proc "stdcall" (^NCB), | |
ncb_lana_num : UCHAR, | |
ncb_cmd_cplt : UCHAR, | |
ncb_reserve : [18]UCHAR, | |
ncb_event : HANDLE, | |
}; | |
PNCB :: ^NCB; | |
ADAPTER_STATUS :: struct { | |
adapter_address : [6]UCHAR, | |
rev_major : UCHAR, | |
reserved0 : UCHAR, | |
adapter_type : UCHAR, | |
rev_minor : UCHAR, | |
duration : WORD, | |
frmr_recv : WORD, | |
frmr_xmit : WORD, | |
iframe_recv_err : WORD, | |
xmit_aborts : WORD, | |
xmit_success : DWORD, | |
recv_success : DWORD, | |
iframe_xmit_err : WORD, | |
recv_buff_unavail : WORD, | |
t1_timeouts : WORD, | |
ti_timeouts : WORD, | |
reserved1 : DWORD, | |
free_ncbs : WORD, | |
max_cfg_ncbs : WORD, | |
max_ncbs : WORD, | |
xmit_buf_unavail : WORD, | |
max_dgram_size : WORD, | |
pending_sess : WORD, | |
max_cfg_sess : WORD, | |
max_sess : WORD, | |
max_sess_pkt_size : WORD, | |
name_count : WORD, | |
}; | |
PADAPTER_STATUS :: ^ADAPTER_STATUS; | |
NAME_BUFFER :: struct { | |
name : [16]UCHAR, | |
name_num : UCHAR, | |
name_flags : UCHAR, | |
}; | |
PNAME_BUFFER :: ^NAME_BUFFER; | |
SESSION_HEADER :: struct { | |
sess_name : UCHAR, | |
num_sess : UCHAR, | |
rcv_dg_outstanding : UCHAR, | |
rcv_any_outstanding : UCHAR, | |
}; | |
PSESSION_HEADER :: ^SESSION_HEADER; | |
SESSION_BUFFER :: struct { | |
lsn : UCHAR, | |
state : UCHAR, | |
local_name : [16]UCHAR, | |
remote_name : [16]UCHAR, | |
rcvs_outstanding : UCHAR, | |
sends_outstanding : UCHAR, | |
}; | |
PSESSION_BUFFER :: ^SESSION_BUFFER; | |
LANA_ENUM :: struct { | |
length : UCHAR, | |
lana : [254 + 1]UCHAR, | |
}; | |
PLANA_ENUM :: ^LANA_ENUM; | |
FIND_NAME_HEADER :: struct { | |
node_count : WORD, | |
reserved : UCHAR, | |
unique_group : UCHAR, | |
}; | |
PFIND_NAME_HEADER :: ^FIND_NAME_HEADER; | |
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 :: ^FIND_NAME_BUFFER; | |
ACTION_HEADER :: struct { | |
transport_id : ULONG, | |
action_code : USHORT, | |
reserved : USHORT, | |
}; | |
PACTION_HEADER :: ^ACTION_HEADER; | |
I_RPC_HANDLE :: rawptr; | |
RPC_STATUS :: _c.long; | |
RPC_CSTR :: ^_c.uchar; | |
RPC_WSTR :: ^_c.ushort; | |
RPC_CWSTR :: ^_c.ushort; | |
RPC_BINDING_HANDLE :: I_RPC_HANDLE; | |
handle_t :: RPC_BINDING_HANDLE; | |
UUID :: GUID; | |
RPC_BINDING_VECTOR :: struct { | |
Count : _c.ulong, | |
BindingH : [1]RPC_BINDING_HANDLE, | |
}; | |
UUID_VECTOR :: struct { | |
Count : _c.ulong, | |
Uuid : [1]^UUID, | |
}; | |
RPC_IF_HANDLE :: rawptr; | |
RPC_IF_ID :: struct { | |
Uuid : UUID, | |
VersMajor : _c.ushort, | |
VersMinor : _c.ushort, | |
}; | |
RPC_PROTSEQ_VECTORA :: struct { | |
Count : _c.uint, | |
Protseq : [1]^_c.uchar, | |
}; | |
RPC_PROTSEQ_VECTORW :: struct { | |
Count : _c.uint, | |
Protseq : [1]^_c.ushort, | |
}; | |
RPC_POLICY :: struct { | |
Length : _c.uint, | |
EndpointFlags : _c.ulong, | |
NICFlags : _c.ulong, | |
}; | |
PRPC_POLICY :: ^RPC_POLICY; | |
RPC_OBJECT_INQ_FN :: #type proc "stdcall" (ObjectUuid : ^UUID, TypeUuid : ^UUID, Status : ^RPC_STATUS); | |
RPC_IF_CALLBACK_FN :: #type (proc "stdcall" (InterfaceUuid : RPC_IF_HANDLE, Context : rawptr) -> RPC_STATUS); | |
RPC_SECURITY_CALLBACK_FN :: #type proc "stdcall" (Context : rawptr); | |
RPC_STATS_VECTOR :: struct { | |
Count : _c.uint, | |
Stats : [1]_c.ulong, | |
}; | |
RPC_IF_ID_VECTOR :: struct { | |
Count : _c.ulong, | |
IfId : [1]^RPC_IF_ID, | |
}; | |
RPC_AUTH_IDENTITY_HANDLE :: rawptr; | |
RPC_AUTHZ_HANDLE :: rawptr; | |
RPC_SECURITY_QOS :: struct { | |
Version : _c.ulong, | |
Capabilities : _c.ulong, | |
IdentityTracking : _c.ulong, | |
ImpersonationType : _c.ulong, | |
}; | |
PRPC_SECURITY_QOS :: ^RPC_SECURITY_QOS; | |
SEC_WINNT_AUTH_IDENTITY_W :: struct { | |
User : ^_c.ushort, | |
UserLength : _c.ulong, | |
Domain : ^_c.ushort, | |
DomainLength : _c.ulong, | |
Password : ^_c.ushort, | |
PasswordLength : _c.ulong, | |
Flags : _c.ulong, | |
}; | |
PSEC_WINNT_AUTH_IDENTITY_W :: ^SEC_WINNT_AUTH_IDENTITY_W; | |
SEC_WINNT_AUTH_IDENTITY_A :: struct { | |
User : ^_c.uchar, | |
UserLength : _c.ulong, | |
Domain : ^_c.uchar, | |
DomainLength : _c.ulong, | |
Password : ^_c.uchar, | |
PasswordLength : _c.ulong, | |
Flags : _c.ulong, | |
}; | |
PSEC_WINNT_AUTH_IDENTITY_A :: ^SEC_WINNT_AUTH_IDENTITY_A; | |
RPC_HTTP_TRANSPORT_CREDENTIALS_W :: struct { | |
TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_W, | |
Flags : _c.ulong, | |
AuthenticationTarget : _c.ulong, | |
NumberOfAuthnSchemes : _c.ulong, | |
AuthnSchemes : ^_c.ulong, | |
ServerCertificateSubject : ^_c.ushort, | |
}; | |
PRPC_HTTP_TRANSPORT_CREDENTIALS_W :: ^RPC_HTTP_TRANSPORT_CREDENTIALS_W; | |
RPC_HTTP_TRANSPORT_CREDENTIALS_A :: struct { | |
TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_A, | |
Flags : _c.ulong, | |
AuthenticationTarget : _c.ulong, | |
NumberOfAuthnSchemes : _c.ulong, | |
AuthnSchemes : ^_c.ulong, | |
ServerCertificateSubject : ^_c.uchar, | |
}; | |
PRPC_HTTP_TRANSPORT_CREDENTIALS_A :: ^RPC_HTTP_TRANSPORT_CREDENTIALS_A; | |
RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W :: struct { | |
TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_W, | |
Flags : _c.ulong, | |
AuthenticationTarget : _c.ulong, | |
NumberOfAuthnSchemes : _c.ulong, | |
AuthnSchemes : ^_c.ulong, | |
ServerCertificateSubject : ^_c.ushort, | |
ProxyCredentials : ^SEC_WINNT_AUTH_IDENTITY_W, | |
NumberOfProxyAuthnSchemes : _c.ulong, | |
ProxyAuthnSchemes : ^_c.ulong, | |
}; | |
PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_W :: ^RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W; | |
RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A :: struct { | |
TransportCredentials : ^SEC_WINNT_AUTH_IDENTITY_A, | |
Flags : _c.ulong, | |
AuthenticationTarget : _c.ulong, | |
NumberOfAuthnSchemes : _c.ulong, | |
AuthnSchemes : ^_c.ulong, | |
ServerCertificateSubject : ^_c.uchar, | |
ProxyCredentials : ^SEC_WINNT_AUTH_IDENTITY_A, | |
NumberOfProxyAuthnSchemes : _c.ulong, | |
ProxyAuthnSchemes : ^_c.ulong, | |
}; | |
PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_A :: ^RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A; | |
RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W :: struct { | |
TransportCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
Flags : _c.ulong, | |
AuthenticationTarget : _c.ulong, | |
NumberOfAuthnSchemes : _c.ulong, | |
AuthnSchemes : ^_c.ulong, | |
ServerCertificateSubject : ^_c.ushort, | |
ProxyCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
NumberOfProxyAuthnSchemes : _c.ulong, | |
ProxyAuthnSchemes : ^_c.ulong, | |
}; | |
PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_W :: ^RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W; | |
RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A :: struct { | |
TransportCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
Flags : _c.ulong, | |
AuthenticationTarget : _c.ulong, | |
NumberOfAuthnSchemes : _c.ulong, | |
AuthnSchemes : ^_c.ulong, | |
ServerCertificateSubject : ^_c.uchar, | |
ProxyCredentials : RPC_AUTH_IDENTITY_HANDLE, | |
NumberOfProxyAuthnSchemes : _c.ulong, | |
ProxyAuthnSchemes : ^_c.ulong, | |
}; | |
PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_A :: ^RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A; | |
RPC_SECURITY_QOS_V2_W :: struct { | |
Version : _c.ulong, | |
Capabilities : _c.ulong, | |
IdentityTracking : _c.ulong, | |
ImpersonationType : _c.ulong, | |
AdditionalSecurityInfoType : _c.ulong, | |
u : struct #raw_union { | |
HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
}, | |
}; | |
PRPC_SECURITY_QOS_V2_W :: ^RPC_SECURITY_QOS_V2_W; | |
RPC_SECURITY_QOS_V2_A :: struct { | |
Version : _c.ulong, | |
Capabilities : _c.ulong, | |
IdentityTracking : _c.ulong, | |
ImpersonationType : _c.ulong, | |
AdditionalSecurityInfoType : _c.ulong, | |
u : struct #raw_union { | |
HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
}, | |
}; | |
PRPC_SECURITY_QOS_V2_A :: ^RPC_SECURITY_QOS_V2_A; | |
RPC_SECURITY_QOS_V3_W :: struct { | |
Version : _c.ulong, | |
Capabilities : _c.ulong, | |
IdentityTracking : _c.ulong, | |
ImpersonationType : _c.ulong, | |
AdditionalSecurityInfoType : _c.ulong, | |
u : struct #raw_union { | |
HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
}, | |
Sid : rawptr, | |
}; | |
PRPC_SECURITY_QOS_V3_W :: ^RPC_SECURITY_QOS_V3_W; | |
RPC_SECURITY_QOS_V3_A :: struct { | |
Version : _c.ulong, | |
Capabilities : _c.ulong, | |
IdentityTracking : _c.ulong, | |
ImpersonationType : _c.ulong, | |
AdditionalSecurityInfoType : _c.ulong, | |
u : struct #raw_union { | |
HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
}, | |
Sid : rawptr, | |
}; | |
PRPC_SECURITY_QOS_V3_A :: ^RPC_SECURITY_QOS_V3_A; | |
RPC_SECURITY_QOS_V4_W :: struct { | |
Version : _c.ulong, | |
Capabilities : _c.ulong, | |
IdentityTracking : _c.ulong, | |
ImpersonationType : _c.ulong, | |
AdditionalSecurityInfoType : _c.ulong, | |
u : struct #raw_union { | |
HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
}, | |
Sid : rawptr, | |
EffectiveOnly : _c.uint, | |
}; | |
PRPC_SECURITY_QOS_V4_W :: ^RPC_SECURITY_QOS_V4_W; | |
RPC_SECURITY_QOS_V4_A :: struct { | |
Version : _c.ulong, | |
Capabilities : _c.ulong, | |
IdentityTracking : _c.ulong, | |
ImpersonationType : _c.ulong, | |
AdditionalSecurityInfoType : _c.ulong, | |
u : struct #raw_union { | |
HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
}, | |
Sid : rawptr, | |
EffectiveOnly : _c.uint, | |
}; | |
PRPC_SECURITY_QOS_V4_A :: ^RPC_SECURITY_QOS_V4_A; | |
RPC_SECURITY_QOS_V5_W :: struct { | |
Version : _c.ulong, | |
Capabilities : _c.ulong, | |
IdentityTracking : _c.ulong, | |
ImpersonationType : _c.ulong, | |
AdditionalSecurityInfoType : _c.ulong, | |
u : struct #raw_union { | |
HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_W, | |
}, | |
Sid : rawptr, | |
EffectiveOnly : _c.uint, | |
ServerSecurityDescriptor : rawptr, | |
}; | |
PRPC_SECURITY_QOS_V5_W :: ^RPC_SECURITY_QOS_V5_W; | |
RPC_SECURITY_QOS_V5_A :: struct { | |
Version : _c.ulong, | |
Capabilities : _c.ulong, | |
IdentityTracking : _c.ulong, | |
ImpersonationType : _c.ulong, | |
AdditionalSecurityInfoType : _c.ulong, | |
u : struct #raw_union { | |
HttpCredentials : ^RPC_HTTP_TRANSPORT_CREDENTIALS_A, | |
}, | |
Sid : rawptr, | |
EffectiveOnly : _c.uint, | |
ServerSecurityDescriptor : rawptr, | |
}; | |
PRPC_SECURITY_QOS_V5_A :: ^RPC_SECURITY_QOS_V5_A; | |
RPC_BINDING_HANDLE_TEMPLATE_V1_W :: struct { | |
Version : _c.ulong, | |
Flags : _c.ulong, | |
ProtocolSequence : _c.ulong, | |
NetworkAddress : ^_c.ushort, | |
StringEndpoint : ^_c.ushort, | |
u1 : struct #raw_union { | |
Reserved : ^_c.ushort, | |
}, | |
ObjectUuid : UUID, | |
}; | |
PRPC_BINDING_HANDLE_TEMPLATE_V1_W :: ^RPC_BINDING_HANDLE_TEMPLATE_V1_W; | |
RPC_BINDING_HANDLE_TEMPLATE_V1_A :: struct { | |
Version : _c.ulong, | |
Flags : _c.ulong, | |
ProtocolSequence : _c.ulong, | |
NetworkAddress : ^_c.uchar, | |
StringEndpoint : ^_c.uchar, | |
u1 : struct #raw_union { | |
Reserved : ^_c.uchar, | |
}, | |
ObjectUuid : UUID, | |
}; | |
PRPC_BINDING_HANDLE_TEMPLATE_V1_A :: ^RPC_BINDING_HANDLE_TEMPLATE_V1_A; | |
RPC_BINDING_HANDLE_SECURITY_V1_W :: struct { | |
Version : _c.ulong, | |
ServerPrincName : ^_c.ushort, | |
AuthnLevel : _c.ulong, | |
AuthnSvc : _c.ulong, | |
AuthIdentity : ^SEC_WINNT_AUTH_IDENTITY_W, | |
SecurityQos : ^RPC_SECURITY_QOS, | |
}; | |
PRPC_BINDING_HANDLE_SECURITY_V1_W :: ^RPC_BINDING_HANDLE_SECURITY_V1_W; | |
RPC_BINDING_HANDLE_SECURITY_V1_A :: struct { | |
Version : _c.ulong, | |
ServerPrincName : ^_c.uchar, | |
AuthnLevel : _c.ulong, | |
AuthnSvc : _c.ulong, | |
AuthIdentity : ^SEC_WINNT_AUTH_IDENTITY_A, | |
SecurityQos : ^RPC_SECURITY_QOS, | |
}; | |
PRPC_BINDING_HANDLE_SECURITY_V1_A :: ^RPC_BINDING_HANDLE_SECURITY_V1_A; | |
RPC_BINDING_HANDLE_OPTIONS_V1 :: struct { | |
Version : _c.ulong, | |
Flags : _c.ulong, | |
ComTimeout : _c.ulong, | |
CallTimeout : _c.ulong, | |
}; | |
PRPC_BINDING_HANDLE_OPTIONS_V1 :: ^RPC_BINDING_HANDLE_OPTIONS_V1; | |
/* RPC_HTTP_REDIRECTOR_STAGE :: enum { */ | |
RPC_HTTP_REDIRECTOR_STAGE :: _c.int; | |
RPCHTTP_RS_REDIRECT :: 1; | |
RPCHTTP_RS_ACCESS_1 :: RPCHTTP_RS_REDIRECT + 1; | |
RPCHTTP_RS_SESSION :: RPCHTTP_RS_ACCESS_1 + 1; | |
RPCHTTP_RS_ACCESS_2 :: RPCHTTP_RS_SESSION + 1; | |
RPCHTTP_RS_INTERFACE :: RPCHTTP_RS_ACCESS_2 + 1; | |
/* } */ | |
; | |
RPC_NEW_HTTP_PROXY_CHANNEL :: (proc "stdcall" (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 : _c.ulong, NewServerName : ^RPC_WSTR, NewServerPort : ^RPC_WSTR) -> RPC_STATUS); | |
RPC_HTTP_PROXY_FREE_STRING :: proc "stdcall" (String : RPC_WSTR); | |
RPC_AUTH_KEY_RETRIEVAL_FN :: proc "stdcall" (Arg : rawptr, ServerPrincName : RPC_WSTR, KeyVer : _c.ulong, Key : ^rawptr, Status : ^RPC_STATUS); | |
RPC_CLIENT_INFORMATION1 :: struct { | |
UserName : ^_c.uchar, | |
ComputerName : ^_c.uchar, | |
Privilege : _c.ushort, | |
AuthFlags : _c.ulong, | |
}; | |
PRPC_CLIENT_INFORMATION1 :: ^RPC_CLIENT_INFORMATION1; | |
RPC_EP_INQ_HANDLE :: ^I_RPC_HANDLE; | |
RPC_MGMT_AUTHORIZATION_FN :: (proc "stdcall" (ClientBinding : RPC_BINDING_HANDLE, RequestedMgmtOperation : _c.ulong, Status : ^RPC_STATUS) -> _c.int); | |
RPC_INTERFACE_GROUP :: rawptr; | |
PRPC_INTERFACE_GROUP :: ^rawptr; | |
RPC_ENDPOINT_TEMPLATEW :: struct { | |
Version : _c.ulong, | |
ProtSeq : RPC_WSTR, | |
Endpoint : RPC_WSTR, | |
SecurityDescriptor : rawptr, | |
Backlog : _c.ulong, | |
}; | |
PRPC_ENDPOINT_TEMPLATEW :: ^RPC_ENDPOINT_TEMPLATEW; | |
RPC_ENDPOINT_TEMPLATEA :: struct { | |
Version : _c.ulong, | |
ProtSeq : RPC_CSTR, | |
Endpoint : RPC_CSTR, | |
SecurityDescriptor : rawptr, | |
Backlog : _c.ulong, | |
}; | |
PRPC_ENDPOINT_TEMPLATEA :: ^RPC_ENDPOINT_TEMPLATEA; | |
RPC_INTERFACE_TEMPLATEA :: struct { | |
Version : _c.ulong, | |
IfSpec : RPC_IF_HANDLE, | |
MgrTypeUuid : ^UUID, | |
MgrEpv : rawptr, | |
Flags : _c.uint, | |
MaxCalls : _c.uint, | |
MaxRpcSize : _c.uint, | |
IfCallback : ^RPC_IF_CALLBACK_FN, | |
UuidVector : ^UUID_VECTOR, | |
Annotation : RPC_CSTR, | |
SecurityDescriptor : rawptr, | |
}; | |
PRPC_INTERFACE_TEMPLATEA :: ^RPC_INTERFACE_TEMPLATEA; | |
RPC_INTERFACE_TEMPLATEW :: struct { | |
Version : _c.ulong, | |
IfSpec : RPC_IF_HANDLE, | |
MgrTypeUuid : ^UUID, | |
MgrEpv : rawptr, | |
Flags : _c.uint, | |
MaxCalls : _c.uint, | |
MaxRpcSize : _c.uint, | |
IfCallback : ^RPC_IF_CALLBACK_FN, | |
UuidVector : ^UUID_VECTOR, | |
Annotation : RPC_WSTR, | |
SecurityDescriptor : rawptr, | |
}; | |
PRPC_INTERFACE_TEMPLATEW :: ^RPC_INTERFACE_TEMPLATEW; | |
RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN :: #type proc "stdcall" (IfGroup : RPC_INTERFACE_GROUP, IdleCallbackContext : rawptr, IsGroupIdle : _c.ulong); | |
RPC_VERSION :: struct { | |
MajorVersion : _c.ushort, | |
MinorVersion : _c.ushort, | |
}; | |
RPC_SYNTAX_IDENTIFIER :: struct { | |
SyntaxGUID : GUID, | |
SyntaxVersion : RPC_VERSION, | |
}; | |
PRPC_SYNTAX_IDENTIFIER :: ^RPC_SYNTAX_IDENTIFIER; | |
RPC_MESSAGE :: struct { | |
Handle : RPC_BINDING_HANDLE, | |
DataRepresentation : _c.ulong, | |
Buffer : rawptr, | |
BufferLength : _c.uint, | |
ProcNum : _c.uint, | |
TransferSyntax : PRPC_SYNTAX_IDENTIFIER, | |
RpcInterfaceInformation : rawptr, | |
ReservedForRuntime : rawptr, | |
ManagerEpv : rawptr, | |
ImportContext : rawptr, | |
RpcFlags : _c.ulong, | |
}; | |
PRPC_MESSAGE :: ^RPC_MESSAGE; | |
RPC_FORWARD_FUNCTION :: #type (proc "stdcall" (InterfaceId : ^UUID, InterfaceVersion : ^RPC_VERSION, ObjectId : ^UUID, Rpcpro : ^_c.uchar, ppDestEndpoint : ^rawptr) -> RPC_STATUS); | |
/* RPC_ADDRESS_CHANGE_TYPE :: enum { */ | |
RPC_ADDRESS_CHANGE_TYPE :: _c.int; | |
PROTOCOL_NOT_LOADED :: 1; | |
PROTOCOL_LOADED :: PROTOCOL_NOT_LOADED + 1; | |
PROTOCOL_ADDRESS_CHANGE :: PROTOCOL_LOADED + 1; | |
/* } */ | |
; | |
RPC_ADDRESS_CHANGE_FN :: #type proc "stdcall" (arg : rawptr); | |
RPC_DISPATCH_FUNCTION :: proc "stdcall" (Message : PRPC_MESSAGE); | |
RPC_DISPATCH_TABLE :: struct { | |
DispatchTableCount : _c.uint, | |
DispatchTable : ^RPC_DISPATCH_FUNCTION, | |
Reserved : LONG_PTR, | |
}; | |
PRPC_DISPATCH_TABLE :: ^RPC_DISPATCH_TABLE; | |
RPC_PROTSEQ_ENDPOINT :: struct { | |
RpcProtocolSequence : ^_c.uchar, | |
Endpoint : ^_c.uchar, | |
}; | |
PRPC_PROTSEQ_ENDPOINT :: ^RPC_PROTSEQ_ENDPOINT; | |
RPC_SERVER_INTERFACE :: struct { | |
Length : _c.uint, | |
InterfaceId : RPC_SYNTAX_IDENTIFIER, | |
TransferSyntax : RPC_SYNTAX_IDENTIFIER, | |
DispatchTable : PRPC_DISPATCH_TABLE, | |
RpcProtseqEndpointCount : _c.uint, | |
RpcProtseqEndpoint : PRPC_PROTSEQ_ENDPOINT, | |
DefaultManagerEpv : rawptr, | |
InterpreterInfo : rawptr, | |
Flags : _c.uint, | |
}; | |
PRPC_SERVER_INTERFACE :: ^RPC_SERVER_INTERFACE; | |
RPC_CLIENT_INTERFACE :: struct { | |
Length : _c.uint, | |
InterfaceId : RPC_SYNTAX_IDENTIFIER, | |
TransferSyntax : RPC_SYNTAX_IDENTIFIER, | |
DispatchTable : PRPC_DISPATCH_TABLE, | |
RpcProtseqEndpointCount : _c.uint, | |
RpcProtseqEndpoint : PRPC_PROTSEQ_ENDPOINT, | |
Reserved : ULONG_PTR, | |
InterpreterInfo : rawptr, | |
Flags : _c.uint, | |
}; | |
PRPC_CLIENT_INTERFACE :: ^RPC_CLIENT_INTERFACE; | |
I_RPC_MUTEX :: rawptr; | |
/* LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION :: enum { */ | |
LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION :: _c.int; | |
MarshalDirectionMarshal :: 0; | |
MarshalDirectionUnmarshal :: MarshalDirectionMarshal + 1; | |
/* } */ | |
; | |
PRPC_RUNDOWN :: proc "stdcall" (AssociationContext : rawptr); | |
RPC_SEC_CONTEXT_KEY_INFO :: struct { | |
EncryptAlgorithm : _c.ulong, | |
KeySize : _c.ulong, | |
SignatureAlgorithm : _c.ulong, | |
}; | |
PRPC_SEC_CONTEXT_KEY_INFO :: ^RPC_SEC_CONTEXT_KEY_INFO; | |
RPC_TRANSFER_SYNTAX :: struct { | |
Uuid : UUID, | |
VersMajor : _c.ushort, | |
VersMinor : _c.ushort, | |
}; | |
RPCLT_PDU_FILTER_FUNC :: proc(Buffer : rawptr, BufferLength : _c.uint, fDatagram : _c.int); | |
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 : _c.ulong, | |
Buffer : ^_c.uchar, | |
}; | |
RDR_CALLOUT_STATE :: struct { | |
LastError : RPC_STATUS, | |
LastEEInfo : rawptr, | |
LastCalledStage : RPC_HTTP_REDIRECTOR_STAGE, | |
ServerName : ^_c.ushort, | |
ServerPort : ^_c.ushort, | |
RemoteUser : ^_c.ushort, | |
AuthType : ^_c.ushort, | |
ResourceTypePresent : _c.uchar, | |
SessionIdPresent : _c.uchar, | |
InterfacePresent : _c.uchar, | |
ResourceType : UUID, | |
SessionId : UUID, | |
Interface : RPC_SYNTAX_IDENTIFIER, | |
CertContext : rawptr, | |
}; | |
I_RpcProxyIsValidMachineFn :: (proc "stdcall" (Machine : RPC_WSTR, DotMachine : RPC_WSTR, PortNumber : _c.ulong) -> RPC_STATUS); | |
I_RpcProxyGetClientAddressFn :: (proc "stdcall" (Context : rawptr, Buffer : ^_c.uchar, BufferLength : ^_c.ulong) -> RPC_STATUS); | |
I_RpcProxyGetConnectionTimeoutFn :: (proc "stdcall" (ConnectionTimeout : ^_c.ulong) -> RPC_STATUS); | |
I_RpcPerformCalloutFn :: (proc "stdcall" (Context : rawptr, CallOutState : ^RDR_CALLOUT_STATE, Stage : RPC_HTTP_REDIRECTOR_STAGE) -> RPC_STATUS); | |
I_RpcFreeCalloutStateFn :: proc "stdcall" (CallOutState : ^RDR_CALLOUT_STATE); | |
I_RpcProxyGetClientSessionAndResourceUUID :: (proc "stdcall" (Context : rawptr, SessionIdPresent : ^_c.int, SessionId : ^UUID, ResourceIdPresent : ^_c.int, ResourceId : ^UUID) -> RPC_STATUS); | |
I_RpcProxyFilterIfFn :: (proc "stdcall" (Context : rawptr, IfUuid : ^UUID, IfMajorVersion : _c.ushort, fAllow : ^_c.int) -> RPC_STATUS); | |
/* RpcPerfCounters :: enum { */ | |
RpcPerfCounters :: _c.int; | |
RpcCurrentUniqueUser :: 1; | |
RpcBackEndConnectionAttempts :: RpcCurrentUniqueUser + 1; | |
RpcBackEndConnectionFailed :: RpcBackEndConnectionAttempts + 1; | |
RpcRequestsPerSecond :: RpcBackEndConnectionFailed + 1; | |
RpcIncomingConnections :: RpcRequestsPerSecond + 1; | |
RpcIncomingBandwidth :: RpcIncomingConnections + 1; | |
RpcOutgoingBandwidth :: RpcIncomingBandwidth + 1; | |
RpcAttemptedLbsDecisions :: RpcOutgoingBandwidth + 1; | |
RpcFailedLbsDecisions :: RpcAttemptedLbsDecisions + 1; | |
RpcAttemptedLbsMessages :: RpcFailedLbsDecisions + 1; | |
RpcFailedLbsMessages :: RpcAttemptedLbsMessages + 1; | |
RpcLastCounter :: RpcFailedLbsMessages + 1; | |
/* } */ | |
; | |
I_RpcProxyUpdatePerfCounterFn :: proc "stdcall" (Counter : RpcPerfCounters, ModifyTrend : _c.int, Size : _c.ulong); | |
I_RpcProxyUpdatePerfCounterBackendServerFn :: proc "stdcall" (MachineName : ^_c.ushort, IsConnectEvent : _c.int); | |
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 { */ | |
RPC_NOTIFICATION_TYPES :: _c.int; | |
RpcNotificationTypeNone :: 0; | |
RpcNotificationTypeEvent :: RpcNotificationTypeNone + 1; | |
RpcNotificationTypeApc :: RpcNotificationTypeEvent + 1; | |
RpcNotificationTypeIoc :: RpcNotificationTypeApc + 1; | |
RpcNotificationTypeHwnd :: RpcNotificationTypeIoc + 1; | |
RpcNotificationTypeCallback :: RpcNotificationTypeHwnd + 1; | |
/* } */ | |
; | |
/* RPC_ASYNC_EVENT :: enum { */ | |
RPC_ASYNC_EVENT :: _c.int; | |
RpcCallComplete :: 0; | |
RpcSendComplete :: RpcCallComplete + 1; | |
RpcReceiveComplete :: RpcSendComplete + 1; | |
RpcClientDisconnect :: RpcReceiveComplete + 1; | |
RpcClientCancel :: RpcClientDisconnect + 1; | |
/* } */ | |
; | |
RPCNOTIFICATION_ROUTINE :: #type proc "stdcall" (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 : DWORD, | |
dwCompletionKey : DWORD_PTR, | |
lpOverlapped : LPOVERLAPPED, | |
}, | |
HWND : struct { | |
hWnd : HWND, | |
Msg : UINT, | |
}, | |
hEvent : HANDLE, | |
NotificationRoutine : PFN_RPCNOTIFICATION_ROUTINE, | |
}; | |
PRPC_ASYNC_NOTIFICATION_INFO :: ^RPC_ASYNC_NOTIFICATION_INFO; | |
RPC_ASYNC_STATE :: struct { | |
Size : _c.uint, | |
Signature : _c.ulong, | |
Lock : _c.long, | |
Flags : _c.ulong, | |
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 :: ^RPC_ASYNC_STATE; | |
/* ExtendedErrorParamTypes :: enum { */ | |
ExtendedErrorParamTypes :: _c.int; | |
eeptAnsiString :: 1; | |
eeptUnicodeString :: eeptAnsiString + 1; | |
eeptLongVal :: eeptUnicodeString + 1; | |
eeptShortVal :: eeptLongVal + 1; | |
eeptPointerVal :: eeptShortVal + 1; | |
eeptNone :: eeptPointerVal + 1; | |
eeptBinary :: eeptNone + 1; | |
/* } */ | |
; | |
BinaryParam :: struct { | |
Buffer : rawptr, | |
Size : _c.short, | |
}; | |
RPC_EE_INFO_PARAM :: struct { | |
ParameterType : ExtendedErrorParamTypes, | |
u : struct #raw_union { | |
AnsiString : LPSTR, | |
UnicodeString : LPWSTR, | |
LVal : _c.long, | |
SVal : _c.short, | |
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 : _c.int, | |
Parameters : [4]RPC_EE_INFO_PARAM, | |
}; | |
RPC_ERROR_ENUM_HANDLE :: struct { | |
Signature : ULONG, | |
CurrentPos : rawptr, | |
Head : rawptr, | |
}; | |
/* RpcLocalAddressFormat :: enum { */ | |
RpcLocalAddressFormat :: _c.int; | |
rlafInvalid :: 0; | |
rlafIPv4 :: rlafInvalid + 1; | |
rlafIPv6 :: rlafIPv4 + 1; | |
/* } */ | |
; | |
RPC_CALL_LOCAL_ADDRESS_V1 :: struct { | |
Version : _c.uint, | |
Buffer : rawptr, | |
BufferSize : _c.ulong, | |
AddressFormat : RpcLocalAddressFormat, | |
}; | |
PRPC_CALL_LOCAL_ADDRESS_V1 :: ^RPC_CALL_LOCAL_ADDRESS_V1; | |
RPC_CALL_ATTRIBUTES_V1_W :: struct { | |
Version : _c.uint, | |
Flags : _c.ulong, | |
ServerPrincipalNameBufferLength : _c.ulong, | |
ServerPrincipalName : ^_c.ushort, | |
ClientPrincipalNameBufferLength : _c.ulong, | |
ClientPrincipalName : ^_c.ushort, | |
AuthenticationLevel : _c.ulong, | |
AuthenticationService : _c.ulong, | |
NullSession : BOOL, | |
}; | |
RPC_CALL_ATTRIBUTES_V1_A :: struct { | |
Version : _c.uint, | |
Flags : _c.ulong, | |
ServerPrincipalNameBufferLength : _c.ulong, | |
ServerPrincipalName : ^_c.uchar, | |
ClientPrincipalNameBufferLength : _c.ulong, | |
ClientPrincipalName : ^_c.uchar, | |
AuthenticationLevel : _c.ulong, | |
AuthenticationService : _c.ulong, | |
NullSession : BOOL, | |
}; | |
/* RpcCallType :: enum { */ | |
RpcCallType :: _c.int; | |
rctInvalid :: 0; | |
rctNormal :: rctInvalid + 1; | |
rctTraining :: rctNormal + 1; | |
rctGuaranteed :: rctTraining + 1; | |
/* } */ | |
; | |
/* RpcCallClientLocality :: enum { */ | |
RpcCallClientLocality :: _c.int; | |
rcclInvalid :: 0; | |
rcclLocal :: rcclInvalid + 1; | |
rcclRemote :: rcclLocal + 1; | |
rcclClientUnknownLocality :: rcclRemote + 1; | |
/* } */ | |
; | |
RPC_CALL_ATTRIBUTES_V2_W :: struct { | |
Version : _c.uint, | |
Flags : _c.ulong, | |
ServerPrincipalNameBufferLength : _c.ulong, | |
ServerPrincipalName : ^_c.ushort, | |
ClientPrincipalNameBufferLength : _c.ulong, | |
ClientPrincipalName : ^_c.ushort, | |
AuthenticationLevel : _c.ulong, | |
AuthenticationService : _c.ulong, | |
NullSession : BOOL, | |
KernelModeCaller : BOOL, | |
ProtocolSequence : _c.ulong, | |
IsClientLocal : RpcCallClientLocality, | |
ClientPID : HANDLE, | |
CallStatus : _c.ulong, | |
CallType : RpcCallType, | |
CallLocalAddress : ^RPC_CALL_LOCAL_ADDRESS_V1, | |
OpNum : _c.ushort, | |
InterfaceUuid : UUID, | |
}; | |
RPC_CALL_ATTRIBUTES_V2_A :: struct { | |
Version : _c.uint, | |
Flags : _c.ulong, | |
ServerPrincipalNameBufferLength : _c.ulong, | |
ServerPrincipalName : ^_c.uchar, | |
ClientPrincipalNameBufferLength : _c.ulong, | |
ClientPrincipalName : ^_c.uchar, | |
AuthenticationLevel : _c.ulong, | |
AuthenticationService : _c.ulong, | |
NullSession : BOOL, | |
KernelModeCaller : BOOL, | |
ProtocolSequence : _c.ulong, | |
IsClientLocal : _c.ulong, | |
ClientPID : HANDLE, | |
CallStatus : _c.ulong, | |
CallType : RpcCallType, | |
CallLocalAddress : ^RPC_CALL_LOCAL_ADDRESS_V1, | |
OpNum : _c.ushort, | |
InterfaceUuid : UUID, | |
}; | |
RPC_CALL_ATTRIBUTES_V3_W :: struct { | |
Version : _c.uint, | |
Flags : _c.ulong, | |
ServerPrincipalNameBufferLength : _c.ulong, | |
ServerPrincipalName : ^_c.ushort, | |
ClientPrincipalNameBufferLength : _c.ulong, | |
ClientPrincipalName : ^_c.ushort, | |
AuthenticationLevel : _c.ulong, | |
AuthenticationService : _c.ulong, | |
NullSession : BOOL, | |
KernelModeCaller : BOOL, | |
ProtocolSequence : _c.ulong, | |
IsClientLocal : RpcCallClientLocality, | |
ClientPID : HANDLE, | |
CallStatus : _c.ulong, | |
CallType : RpcCallType, | |
CallLocalAddress : ^RPC_CALL_LOCAL_ADDRESS_V1, | |
OpNum : _c.ushort, | |
InterfaceUuid : UUID, | |
ClientIdentifierBufferLength : _c.ulong, | |
ClientIdentifier : ^_c.uchar, | |
}; | |
RPC_CALL_ATTRIBUTES_V3_A :: struct { | |
Version : _c.uint, | |
Flags : _c.ulong, | |
ServerPrincipalNameBufferLength : _c.ulong, | |
ServerPrincipalName : ^_c.uchar, | |
ClientPrincipalNameBufferLength : _c.ulong, | |
ClientPrincipalName : ^_c.uchar, | |
AuthenticationLevel : _c.ulong, | |
AuthenticationService : _c.ulong, | |
NullSession : BOOL, | |
KernelModeCaller : BOOL, | |
ProtocolSequence : _c.ulong, | |
IsClientLocal : _c.ulong, | |
ClientPID : HANDLE, | |
CallStatus : _c.ulong, | |
CallType : RpcCallType, | |
CallLocalAddress : ^RPC_CALL_LOCAL_ADDRESS_V1, | |
OpNum : _c.ushort, | |
InterfaceUuid : UUID, | |
ClientIdentifierBufferLength : _c.ulong, | |
ClientIdentifier : ^_c.uchar, | |
}; | |
RPC_CALL_ATTRIBUTES :: RPC_CALL_ATTRIBUTES_V3_A; | |
/* RPC_NOTIFICATIONS :: enum { */ | |
RPC_NOTIFICATIONS :: _c.int; | |
RpcNotificationCallNone :: 0; | |
RpcNotificationClientDisconnect :: 1; | |
RpcNotificationCallCancel :: 2; | |
/* } */ | |
; | |
HDROP__ :: struct { | |
unused : _c.int, | |
}; | |
HDROP :: ^HDROP__; | |
DRAGINFOA :: struct { | |
uSize : UINT, | |
pt : POINT, | |
fNC : BOOL, | |
lpFileList : PZZSTR, | |
grfKeyState : DWORD, | |
}; | |
LPDRAGINFOA :: ^DRAGINFOA; | |
DRAGINFOW :: struct { | |
uSize : UINT, | |
pt : POINT, | |
fNC : BOOL, | |
lpFileList : PZZWSTR, | |
grfKeyState : DWORD, | |
}; | |
LPDRAGINFOW :: ^DRAGINFOW; | |
DRAGINFO :: DRAGINFOA; | |
LPDRAGINFO :: LPDRAGINFOA; | |
APPBARDATA :: struct { | |
cbSize : DWORD, | |
hWnd : HWND, | |
uCallbackMessage : UINT, | |
uEdge : UINT, | |
rc : RECT, | |
lParam : LPARAM, | |
}; | |
PAPPBARDATA :: ^APPBARDATA; | |
FILEOP_FLAGS :: WORD; | |
PRINTEROP_FLAGS :: WORD; | |
SHFILEOPSTRUCTA :: struct { | |
hwnd : HWND, | |
wFunc : UINT, | |
pFrom : PCZZSTR, | |
pTo : PCZZSTR, | |
fFlags : FILEOP_FLAGS, | |
fAnyOperationsAborted : BOOL, | |
hNameMappings : LPVOID, | |
lpszProgressTitle : PCSTR, | |
}; | |
LPSHFILEOPSTRUCTA :: ^SHFILEOPSTRUCTA; | |
SHFILEOPSTRUCTW :: struct { | |
hwnd : HWND, | |
wFunc : UINT, | |
pFrom : PCZZWSTR, | |
pTo : PCZZWSTR, | |
fFlags : FILEOP_FLAGS, | |
fAnyOperationsAborted : BOOL, | |
hNameMappings : LPVOID, | |
lpszProgressTitle : PCWSTR, | |
}; | |
LPSHFILEOPSTRUCTW :: ^SHFILEOPSTRUCTW; | |
SHFILEOPSTRUCT :: SHFILEOPSTRUCTA; | |
LPSHFILEOPSTRUCT :: LPSHFILEOPSTRUCTA; | |
SHNAMEMAPPINGA :: struct { | |
pszOldPath : LPSTR, | |
pszNewPath : LPSTR, | |
cchOldPath : _c.int, | |
cchNewPath : _c.int, | |
}; | |
LPSHNAMEMAPPINGA :: ^SHNAMEMAPPINGA; | |
SHNAMEMAPPINGW :: struct { | |
pszOldPath : LPWSTR, | |
pszNewPath : LPWSTR, | |
cchOldPath : _c.int, | |
cchNewPath : _c.int, | |
}; | |
LPSHNAMEMAPPINGW :: ^SHNAMEMAPPINGW; | |
SHNAMEMAPPING :: SHNAMEMAPPINGA; | |
LPSHNAMEMAPPING :: LPSHNAMEMAPPINGA; | |
SHELLEXECUTEINFOA :: struct { | |
cbSize : DWORD, | |
fMask : ULONG, | |
hwnd : HWND, | |
lpVerb : LPCSTR, | |
lpFile : LPCSTR, | |
lpParameters : LPCSTR, | |
lpDirectory : LPCSTR, | |
nShow : _c.int, | |
hInstApp : HINSTANCE, | |
lpIDList : rawptr, | |
lpClass : LPCSTR, | |
hkeyClass : HKEY, | |
dwHotKey : DWORD, | |
u : struct #raw_union { | |
hIcon : HANDLE, | |
hMonitor : HANDLE, | |
}, | |
hProcess : HANDLE, | |
}; | |
LPSHELLEXECUTEINFOA :: ^SHELLEXECUTEINFOA; | |
SHELLEXECUTEINFOW :: struct { | |
cbSize : DWORD, | |
fMask : ULONG, | |
hwnd : HWND, | |
lpVerb : LPCWSTR, | |
lpFile : LPCWSTR, | |
lpParameters : LPCWSTR, | |
lpDirectory : LPCWSTR, | |
nShow : _c.int, | |
hInstApp : HINSTANCE, | |
lpIDList : rawptr, | |
lpClass : LPCWSTR, | |
hkeyClass : HKEY, | |
dwHotKey : DWORD, | |
u : struct #raw_union { | |
hIcon : HANDLE, | |
hMonitor : HANDLE, | |
}, | |
hProcess : HANDLE, | |
}; | |
LPSHELLEXECUTEINFOW :: ^SHELLEXECUTEINFOW; | |
SHELLEXECUTEINFO :: SHELLEXECUTEINFOA; | |
LPSHELLEXECUTEINFO :: LPSHELLEXECUTEINFOA; | |
SHCREATEPROCESSINFOW :: struct { | |
cbSize : DWORD, | |
fMask : ULONG, | |
hwnd : HWND, | |
pszFile : LPCWSTR, | |
pszParameters : LPCWSTR, | |
pszCurrentDirectory : LPCWSTR, | |
hUserToken : HANDLE, | |
lpProcessAttributes : LPSECURITY_ATTRIBUTES, | |
lpThreadAttributes : LPSECURITY_ATTRIBUTES, | |
bInheritHandles : BOOL, | |
dwCreationFlags : DWORD, | |
lpStartupInfo : LPSTARTUPINFOW, | |
lpProcessInformation : LPPROCESS_INFORMATION, | |
}; | |
PSHCREATEPROCESSINFOW :: ^SHCREATEPROCESSINFOW; | |
/* ASSOCCLASS :: enum { */ | |
ASSOCCLASS :: _c.int; | |
ASSOCCLASS_SHELL_KEY :: 0; | |
ASSOCCLASS_PROGID_KEY :: ASSOCCLASS_SHELL_KEY + 1; | |
ASSOCCLASS_PROGID_STR :: ASSOCCLASS_PROGID_KEY + 1; | |
ASSOCCLASS_CLSID_KEY :: ASSOCCLASS_PROGID_STR + 1; | |
ASSOCCLASS_CLSID_STR :: ASSOCCLASS_CLSID_KEY + 1; | |
ASSOCCLASS_APP_KEY :: ASSOCCLASS_CLSID_STR + 1; | |
ASSOCCLASS_APP_STR :: ASSOCCLASS_APP_KEY + 1; | |
ASSOCCLASS_SYSTEM_STR :: ASSOCCLASS_APP_STR + 1; | |
ASSOCCLASS_FOLDER :: ASSOCCLASS_SYSTEM_STR + 1; | |
ASSOCCLASS_STAR :: ASSOCCLASS_FOLDER + 1; | |
ASSOCCLASS_FIXED_PROGID_STR :: ASSOCCLASS_STAR + 1; | |
ASSOCCLASS_PROTOCOL_STR :: ASSOCCLASS_FIXED_PROGID_STR + 1; | |
/* } */ | |
; | |
ASSOCIATIONELEMENT :: struct { | |
ac : ASSOCCLASS, | |
hkClass : HKEY, | |
pszClass : PCWSTR, | |
}; | |
SHQUERYRBINFO :: struct { | |
cbSize : DWORD, | |
i64Size : i64, | |
i64NumItems : i64, | |
}; | |
LPSHQUERYRBINFO :: ^SHQUERYRBINFO; | |
/* QUERY_USER_NOTIFICATION_STATE :: enum { */ | |
QUERY_USER_NOTIFICATION_STATE :: _c.int; | |
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 : DWORD, | |
hWnd : HWND, | |
uID : UINT, | |
uFlags : UINT, | |
uCallbackMessage : UINT, | |
hIcon : HICON, | |
szTip : [128]CHAR, | |
dwState : DWORD, | |
dwStateMask : DWORD, | |
szInfo : [256]CHAR, | |
u : struct #raw_union { | |
uTimeout : UINT, | |
uVersion : UINT, | |
}, | |
szInfoTitle : [64]CHAR, | |
dwInfoFlags : DWORD, | |
guidItem : GUID, | |
hBalloonIcon : HICON, | |
}; | |
PNOTIFYICONDATAA :: ^NOTIFYICONDATAA; | |
NOTIFYICONDATAW :: struct { | |
cbSize : DWORD, | |
hWnd : HWND, | |
uID : UINT, | |
uFlags : UINT, | |
uCallbackMessage : UINT, | |
hIcon : HICON, | |
szTip : [128]WCHAR, | |
dwState : DWORD, | |
dwStateMask : DWORD, | |
szInfo : [256]WCHAR, | |
u : struct #raw_union { | |
uTimeout : UINT, | |
uVersion : UINT, | |
}, | |
szInfoTitle : [64]WCHAR, | |
dwInfoFlags : DWORD, | |
guidItem : GUID, | |
hBalloonIcon : HICON, | |
}; | |
PNOTIFYICONDATAW :: ^NOTIFYICONDATAW; | |
NOTIFYICONDATA :: NOTIFYICONDATAA; | |
PNOTIFYICONDATA :: PNOTIFYICONDATAA; | |
NOTIFYICONIDENTIFIER :: struct { | |
cbSize : DWORD, | |
hWnd : HWND, | |
uID : UINT, | |
guidItem : GUID, | |
}; | |
PNOTIFYICONIDENTIFIER :: ^NOTIFYICONIDENTIFIER; | |
SHFILEINFOA :: struct { | |
hIcon : HICON, | |
iIcon : _c.int, | |
dwAttributes : DWORD, | |
szDisplayName : [260]CHAR, | |
szTypeName : [80]CHAR, | |
}; | |
SHFILEINFOW :: struct { | |
hIcon : HICON, | |
iIcon : _c.int, | |
dwAttributes : DWORD, | |
szDisplayName : [260]WCHAR, | |
szTypeName : [80]WCHAR, | |
}; | |
SHFILEINFO :: SHFILEINFOA; | |
SHSTOCKICONINFO :: struct { | |
cbSize : DWORD, | |
hIcon : HICON, | |
iSysImageIndex : _c.int, | |
iIcon : _c.int, | |
szPath : [260]WCHAR, | |
}; | |
/* SHSTOCKICONID :: enum { */ | |
SHSTOCKICONID :: _c.int; | |
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 : DWORD, | |
pszSheetName : LPSTR, | |
uSheetIndex : UINT, | |
dwFlags : DWORD, | |
bModal : BOOL, | |
}; | |
POPEN_PRINTER_PROPS_INFOA :: ^OPEN_PRINTER_PROPS_INFOA; | |
OPEN_PRINTER_PROPS_INFOW :: struct { | |
dwSize : DWORD, | |
pszSheetName : LPWSTR, | |
uSheetIndex : UINT, | |
dwFlags : DWORD, | |
bModal : BOOL, | |
}; | |
POPEN_PRINTER_PROPS_INFOW :: ^OPEN_PRINTER_PROPS_INFOW; | |
OPEN_PRINTER_PROPS_INFO :: OPEN_PRINTER_PROPS_INFOA; | |
POPEN_PRINTER_PROPS_INFO :: POPEN_PRINTER_PROPS_INFOA; | |
PFNCANSHAREFOLDERW :: (proc "stdcall" (pszPath : PCWSTR) -> HRESULT); | |
PFNSHOWSHAREFOLDERUIW :: (proc "stdcall" (hwndParent : HWND, pszPath : PCWSTR) -> HRESULT); | |
NC_ADDRESS :: struct { | |
pAddrInfo : ^NET_ADDRESS_INFO_, | |
PortNumber : USHORT, | |
PrefixLength : BYTE, | |
}; | |
PNC_ADDRESS :: ^NC_ADDRESS; | |
PERF_DATA_BLOCK :: struct { | |
Signature : [4]WCHAR, | |
LittleEndian : DWORD, | |
Version : DWORD, | |
Revision : DWORD, | |
TotalByteLength : DWORD, | |
HeaderLength : DWORD, | |
NumObjectTypes : DWORD, | |
DefaultObject : LONG, | |
SystemTime : SYSTEMTIME, | |
PerfTime : LARGE_INTEGER, | |
PerfFreq : LARGE_INTEGER, | |
PerfTime100nSec : LARGE_INTEGER, | |
SystemNameLength : DWORD, | |
SystemNameOffset : DWORD, | |
}; | |
PPERF_DATA_BLOCK :: ^PERF_DATA_BLOCK; | |
PERF_OBJECT_TYPE :: struct { | |
TotalByteLength : DWORD, | |
DefinitionLength : DWORD, | |
HeaderLength : DWORD, | |
ObjectNameTitleIndex : DWORD, | |
ObjectNameTitle : DWORD, | |
ObjectHelpTitleIndex : DWORD, | |
ObjectHelpTitle : DWORD, | |
DetailLevel : DWORD, | |
NumCounters : DWORD, | |
DefaultCounter : LONG, | |
NumInstances : LONG, | |
CodePage : DWORD, | |
PerfTime : LARGE_INTEGER, | |
PerfFreq : LARGE_INTEGER, | |
}; | |
PPERF_OBJECT_TYPE :: ^PERF_OBJECT_TYPE; | |
PERF_COUNTER_DEFINITION :: struct { | |
ByteLength : DWORD, | |
CounterNameTitleIndex : DWORD, | |
CounterNameTitle : DWORD, | |
CounterHelpTitleIndex : DWORD, | |
CounterHelpTitle : DWORD, | |
DefaultScale : LONG, | |
DetailLevel : DWORD, | |
CounterType : DWORD, | |
CounterSize : DWORD, | |
CounterOffset : DWORD, | |
}; | |
PPERF_COUNTER_DEFINITION :: ^PERF_COUNTER_DEFINITION; | |
PERF_INSTANCE_DEFINITION :: struct { | |
ByteLength : DWORD, | |
ParentObjectTitleIndex : DWORD, | |
ParentObjectInstance : DWORD, | |
UniqueID : LONG, | |
NameOffset : DWORD, | |
NameLength : DWORD, | |
}; | |
PPERF_INSTANCE_DEFINITION :: ^PERF_INSTANCE_DEFINITION; | |
PERF_COUNTER_BLOCK :: struct { | |
ByteLength : DWORD, | |
}; | |
PPERF_COUNTER_BLOCK :: ^PERF_COUNTER_BLOCK; | |
PM_OPEN_PROC :: #type (proc "stdcall" (LPWSTR) -> DWORD); | |
PM_COLLECT_PROC :: #type (proc "stdcall" (lpValueName : LPWSTR, lppData : ^LPVOID, lpcbTotalBytes : LPDWORD, lpNumObjectTypes : LPDWORD) -> DWORD); | |
PM_CLOSE_PROC :: #type (proc "stdcall" () -> DWORD); | |
PM_QUERY_PROC :: #type (proc "stdcall" (LPDWORD, ^LPVOID, LPDWORD, LPDWORD) -> DWORD); | |
u_char :: _c.uchar; | |
u_short :: _c.ushort; | |
u_int :: _c.uint; | |
u_long :: _c.ulong; | |
SOCKET :: UINT_PTR; | |
fd_set :: struct { | |
fd_count : u_int, | |
fd_array : [64]SOCKET, | |
}; | |
TIMEVAL :: struct { | |
tv_sec : _c.long, | |
tv_usec : _c.long, | |
}; | |
HOSTENT :: struct { | |
h_name : ^_c.uchar, | |
h_aliases : ^^_c.uchar, | |
h_addrtype : _c.short, | |
h_length : _c.short, | |
h_addr_list : ^^_c.uchar, | |
}; | |
netent :: struct { | |
n_name : ^_c.uchar, | |
n_aliases : ^^_c.uchar, | |
n_addrtype : _c.short, | |
n_net : u_long, | |
}; | |
SERVENT :: struct { | |
s_name : ^_c.uchar, | |
s_aliases : ^^_c.uchar, | |
s_proto : ^_c.uchar, | |
s_port : _c.short, | |
}; | |
PROTOENT :: struct { | |
p_name : ^_c.uchar, | |
p_aliases : ^^_c.uchar, | |
p_proto : _c.short, | |
}; | |
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 :: ^IN_ADDR; | |
LPIN_ADDR :: ^IN_ADDR; | |
SOCKADDR_IN :: struct { | |
sin_family : _c.short, | |
sin_port : u_short, | |
sin_addr : IN_ADDR, | |
sin_zero : [8]_c.uchar, | |
}; | |
WSADATA :: struct { | |
wVersion : WORD, | |
wHighVersion : WORD, | |
iMaxSockets : _c.ushort, | |
iMaxUdpDg : _c.ushort, | |
lpVendorInfo : ^_c.uchar, | |
szDescription : [256 + 1]_c.uchar, | |
szSystemStatus : [128 + 1]_c.uchar, | |
}; | |
LPWSADATA :: ^WSADATA; | |
ip_mreq :: struct { | |
imr_multiaddr : IN_ADDR, | |
imr_interface : IN_ADDR, | |
}; | |
SOCKADDR :: struct { | |
sa_family : u_short, | |
sa_data : [14]_c.uchar, | |
}; | |
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 : DWORD, | |
Tail : PVOID, | |
TailLength : DWORD, | |
}; | |
PTRANSMIT_FILE_BUFFERS :: ^TRANSMIT_FILE_BUFFERS; | |
LPTRANSMIT_FILE_BUFFERS :: ^TRANSMIT_FILE_BUFFERS; | |
; | |
PSOCKADDR :: ^SOCKADDR; | |
LPSOCKADDR :: ^SOCKADDR; | |
; | |
PSOCKADDR_IN :: ^SOCKADDR_IN; | |
LPSOCKADDR_IN :: ^SOCKADDR_IN; | |
; | |
PLINGER :: ^LINGER; | |
LPLINGER :: ^LINGER; | |
FD_SET :: fd_set; | |
PFD_SET :: ^fd_set; | |
LPFD_SET :: ^fd_set; | |
; | |
PHOSTENT :: ^HOSTENT; | |
LPHOSTENT :: ^HOSTENT; | |
; | |
PSERVENT :: ^SERVENT; | |
LPSERVENT :: ^SERVENT; | |
; | |
PPROTOENT :: ^PROTOENT; | |
LPPROTOENT :: ^PROTOENT; | |
; | |
PTIMEVAL :: ^TIMEVAL; | |
LPTIMEVAL :: ^TIMEVAL; | |
ALG_ID :: _c.uint; | |
HCRYPTPROV :: ULONG_PTR; | |
HCRYPTKEY :: ULONG_PTR; | |
HCRYPTHASH :: ULONG_PTR; | |
CMS_KEY_INFO :: struct { | |
dwVersion : DWORD, | |
Algid : ALG_ID, | |
pbOID : ^BYTE, | |
cbOID : DWORD, | |
}; | |
PCMS_KEY_INFO :: ^CMS_KEY_INFO; | |
HMAC_INFO :: struct { | |
HashAlgid : ALG_ID, | |
pbInnerString : ^BYTE, | |
cbInnerString : DWORD, | |
pbOuterString : ^BYTE, | |
cbOuterString : DWORD, | |
}; | |
PHMAC_INFO :: ^HMAC_INFO; | |
SCHANNEL_ALG :: struct { | |
dwUse : DWORD, | |
Algid : ALG_ID, | |
cBits : DWORD, | |
dwFlags : DWORD, | |
dwReserved : DWORD, | |
}; | |
PSCHANNEL_ALG :: ^SCHANNEL_ALG; | |
PROV_ENUMALGS :: struct { | |
aiAlgid : ALG_ID, | |
dwBitLen : DWORD, | |
dwNameLen : DWORD, | |
szName : [20]CHAR, | |
}; | |
PROV_ENUMALGS_EX :: struct { | |
aiAlgid : ALG_ID, | |
dwDefaultLen : DWORD, | |
dwMinLen : DWORD, | |
dwMaxLen : DWORD, | |
dwProtocols : DWORD, | |
dwNameLen : DWORD, | |
szName : [20]CHAR, | |
dwLongNameLen : DWORD, | |
szLongName : [40]CHAR, | |
}; | |
BLOBHEADER :: struct { | |
bType : BYTE, | |
bVersion : BYTE, | |
reserved : WORD, | |
aiKeyAlg : ALG_ID, | |
}; | |
PUBLICKEYSTRUC :: struct { | |
bType : BYTE, | |
bVersion : BYTE, | |
reserved : WORD, | |
aiKeyAlg : ALG_ID, | |
}; | |
RSAPUBKEY :: struct { | |
magic : DWORD, | |
bitlen : DWORD, | |
pubexp : DWORD, | |
}; | |
DHPUBKEY :: struct { | |
magic : DWORD, | |
bitlen : DWORD, | |
}; | |
DSSPUBKEY :: struct { | |
magic : DWORD, | |
bitlen : DWORD, | |
}; | |
KEAPUBKEY :: struct { | |
magic : DWORD, | |
bitlen : DWORD, | |
}; | |
TEKPUBKEY :: struct { | |
magic : DWORD, | |
bitlen : DWORD, | |
}; | |
DSSSEED :: struct { | |
counter : DWORD, | |
seed : [20]BYTE, | |
}; | |
DHPUBKEY_VER3 :: struct { | |
magic : DWORD, | |
bitlenP : DWORD, | |
bitlenQ : DWORD, | |
bitlenJ : DWORD, | |
DSSSeed : DSSSEED, | |
}; | |
DSSPUBKEY_VER3 :: struct { | |
magic : DWORD, | |
bitlenP : DWORD, | |
bitlenQ : DWORD, | |
bitlenJ : DWORD, | |
DSSSeed : DSSSEED, | |
}; | |
DHPRIVKEY_VER3 :: struct { | |
magic : DWORD, | |
bitlenP : DWORD, | |
bitlenQ : DWORD, | |
bitlenJ : DWORD, | |
bitlenX : DWORD, | |
DSSSeed : DSSSEED, | |
}; | |
DSSPRIVKEY_VER3 :: struct { | |
magic : DWORD, | |
bitlenP : DWORD, | |
bitlenQ : DWORD, | |
bitlenJ : DWORD, | |
bitlenX : DWORD, | |
DSSSeed : DSSSEED, | |
}; | |
KEY_TYPE_SUBTYPE :: struct { | |
dwKeySpec : DWORD, | |
Type : GUID, | |
Subtype : GUID, | |
}; | |
PKEY_TYPE_SUBTYPE :: ^KEY_TYPE_SUBTYPE; | |
CERT_FORTEZZA_DATA_PROP :: struct { | |
SerialNumber : [8]_c.uchar, | |
CertIndex : _c.int, | |
CertLabel : [36]_c.uchar, | |
}; | |
CRYPT_RC4_KEY_STATE :: struct { | |
Key : [16]_c.uchar, | |
SBox : [256]_c.uchar, | |
i : _c.uchar, | |
j : _c.uchar, | |
}; | |
PCRYPT_RC4_KEY_STATE :: ^CRYPT_RC4_KEY_STATE; | |
CRYPT_DES_KEY_STATE :: struct { | |
Key : [8]_c.uchar, | |
IV : [8]_c.uchar, | |
Feedback : [8]_c.uchar, | |
}; | |
PCRYPT_DES_KEY_STATE :: ^CRYPT_DES_KEY_STATE; | |
CRYPT_3DES_KEY_STATE :: struct { | |
Key : [24]_c.uchar, | |
IV : [8]_c.uchar, | |
Feedback : [8]_c.uchar, | |
}; | |
PCRYPT_3DES_KEY_STATE :: ^CRYPT_3DES_KEY_STATE; | |
CRYPT_AES_128_KEY_STATE :: struct { | |
Key : [16]_c.uchar, | |
IV : [16]_c.uchar, | |
EncryptionState : [11][16]_c.uchar, | |
DecryptionState : [11][16]_c.uchar, | |
Feedback : [16]_c.uchar, | |
}; | |
PCRYPT_AES_128_KEY_STATE :: ^CRYPT_AES_128_KEY_STATE; | |
CRYPT_AES_256_KEY_STATE :: struct { | |
Key : [32]_c.uchar, | |
IV : [16]_c.uchar, | |
EncryptionState : [15][16]_c.uchar, | |
DecryptionState : [15][16]_c.uchar, | |
Feedback : [16]_c.uchar, | |
}; | |
PCRYPT_AES_256_KEY_STATE :: ^CRYPT_AES_256_KEY_STATE; | |
CRYPT_INTEGER_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCRYPT_INTEGER_BLOB :: ^CRYPT_INTEGER_BLOB; | |
CRYPT_UINT_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCRYPT_UINT_BLOB :: ^CRYPT_UINT_BLOB; | |
CRYPT_OBJID_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCRYPT_OBJID_BLOB :: ^CRYPT_OBJID_BLOB; | |
CERT_NAME_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCERT_NAME_BLOB :: ^CERT_NAME_BLOB; | |
CERT_RDN_VALUE_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCERT_RDN_VALUE_BLOB :: ^CERT_RDN_VALUE_BLOB; | |
CERT_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCERT_BLOB :: ^CERT_BLOB; | |
CRL_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCRL_BLOB :: ^CRL_BLOB; | |
DATA_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PDATA_BLOB :: ^DATA_BLOB; | |
CRYPT_DATA_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCRYPT_DATA_BLOB :: ^CRYPT_DATA_BLOB; | |
CRYPT_HASH_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCRYPT_HASH_BLOB :: ^CRYPT_HASH_BLOB; | |
CRYPT_DIGEST_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCRYPT_DIGEST_BLOB :: ^CRYPT_DIGEST_BLOB; | |
CRYPT_DER_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCRYPT_DER_BLOB :: ^CRYPT_DER_BLOB; | |
CRYPT_ATTR_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
}; | |
PCRYPT_ATTR_BLOB :: ^CRYPT_ATTR_BLOB; | |
CMS_DH_KEY_INFO :: struct { | |
dwVersion : DWORD, | |
Algid : ALG_ID, | |
pszContentEncObjId : LPSTR, | |
PubInfo : CRYPT_DATA_BLOB, | |
pReserved : rawptr, | |
}; | |
PCMS_DH_KEY_INFO :: ^CMS_DH_KEY_INFO; | |
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 :: ^BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO; | |
BCryptBuffer :: struct { | |
cbBuffer : ULONG, | |
BufferType : ULONG, | |
pvBuffer : PVOID, | |
}; | |
PBCryptBuffer :: ^BCryptBuffer; | |
BCryptBufferDesc :: struct { | |
ulVersion : ULONG, | |
cBuffers : ULONG, | |
pBuffers : PBCryptBuffer, | |
}; | |
PBCryptBufferDesc :: ^BCryptBufferDesc; | |
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 :: ^BCRYPT_ECCKEY_BLOB; | |
SSL_ECCKEY_BLOB :: struct { | |
dwCurveType : ULONG, | |
cbKey : ULONG, | |
}; | |
PSSL_ECCKEY_BLOB :: ^SSL_ECCKEY_BLOB; | |
/* ECC_CURVE_TYPE_ENUM :: enum { */ | |
ECC_CURVE_TYPE_ENUM :: _c.int; | |
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 { */ | |
ECC_CURVE_ALG_ID_ENUM :: _c.int; | |
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 :: ^BCRYPT_ECCFULLKEY_BLOB; | |
BCRYPT_DH_KEY_BLOB :: struct { | |
dwMagic : ULONG, | |
cbKey : ULONG, | |
}; | |
PBCRYPT_DH_KEY_BLOB :: ^BCRYPT_DH_KEY_BLOB; | |
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 :: ^BCRYPT_DSA_KEY_BLOB; | |
/* HASHALGORITHM_ENUM :: enum { */ | |
HASHALGORITHM_ENUM :: _c.int; | |
DSA_HASH_ALGORITHM_SHA1 :: 0; | |
DSA_HASH_ALGORITHM_SHA256 :: DSA_HASH_ALGORITHM_SHA1 + 1; | |
DSA_HASH_ALGORITHM_SHA512 :: DSA_HASH_ALGORITHM_SHA256 + 1; | |
/* } */ | |
; | |
/* DSAFIPSVERSION_ENUM :: enum { */ | |
DSAFIPSVERSION_ENUM :: _c.int; | |
DSA_FIPS186_2 :: 0; | |
DSA_FIPS186_3 :: DSA_FIPS186_2 + 1; | |
/* } */ | |
; | |
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 :: ^BCRYPT_DSA_KEY_BLOB_V2; | |
BCRYPT_KEY_DATA_BLOB_HEADER :: struct { | |
dwMagic : ULONG, | |
dwVersion : ULONG, | |
cbKeyData : ULONG, | |
}; | |
PBCRYPT_KEY_DATA_BLOB_HEADER :: ^BCRYPT_KEY_DATA_BLOB_HEADER; | |
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_TYPE :: _c.int; | |
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_MULTI_OPERATION_TYPE :: _c.int; | |
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 :: ^BCRYPT_INTERFACE_VERSION; | |
CRYPT_INTERFACE_REG :: struct { | |
dwInterface : ULONG, | |
dwFlags : ULONG, | |
cFunctions : ULONG, | |
rgpszFunctions : ^PWSTR, | |
}; | |
PCRYPT_INTERFACE_REG :: ^CRYPT_INTERFACE_REG; | |
CRYPT_IMAGE_REG :: struct { | |
pszImage : PWSTR, | |
cInterfaces : ULONG, | |
rgpInterfaces : ^PCRYPT_INTERFACE_REG, | |
}; | |
PCRYPT_IMAGE_REG :: ^CRYPT_IMAGE_REG; | |
CRYPT_PROVIDER_REG :: struct { | |
cAliases : ULONG, | |
rgpszAliases : ^PWSTR, | |
pUM : PCRYPT_IMAGE_REG, | |
pKM : PCRYPT_IMAGE_REG, | |
}; | |
PCRYPT_PROVIDER_REG :: ^CRYPT_PROVIDER_REG; | |
CRYPT_PROVIDERS :: struct { | |
cProviders : ULONG, | |
rgpszProviders : ^PWSTR, | |
}; | |
PCRYPT_PROVIDERS :: ^CRYPT_PROVIDERS; | |
CRYPT_CONTEXT_CONFIG :: struct { | |
dwFlags : ULONG, | |
dwReserved : ULONG, | |
}; | |
PCRYPT_CONTEXT_CONFIG :: ^CRYPT_CONTEXT_CONFIG; | |
CRYPT_CONTEXT_FUNCTION_CONFIG :: struct { | |
dwFlags : ULONG, | |
dwReserved : ULONG, | |
}; | |
PCRYPT_CONTEXT_FUNCTION_CONFIG :: ^CRYPT_CONTEXT_FUNCTION_CONFIG; | |
CRYPT_CONTEXTS :: struct { | |
cContexts : ULONG, | |
rgpszContexts : ^PWSTR, | |
}; | |
PCRYPT_CONTEXTS :: ^CRYPT_CONTEXTS; | |
CRYPT_CONTEXT_FUNCTIONS :: struct { | |
cFunctions : ULONG, | |
rgpszFunctions : ^PWSTR, | |
}; | |
PCRYPT_CONTEXT_FUNCTIONS :: ^CRYPT_CONTEXT_FUNCTIONS; | |
CRYPT_CONTEXT_FUNCTION_PROVIDERS :: struct { | |
cProviders : ULONG, | |
rgpszProviders : ^PWSTR, | |
}; | |
PCRYPT_CONTEXT_FUNCTION_PROVIDERS :: ^CRYPT_CONTEXT_FUNCTION_PROVIDERS; | |
CRYPT_PROPERTY_REF :: struct { | |
pszProperty : PWSTR, | |
cbValue : ULONG, | |
pbValue : PUCHAR, | |
}; | |
PCRYPT_PROPERTY_REF :: ^CRYPT_PROPERTY_REF; | |
CRYPT_IMAGE_REF :: struct { | |
pszImage : PWSTR, | |
dwFlags : ULONG, | |
}; | |
PCRYPT_IMAGE_REF :: ^CRYPT_IMAGE_REF; | |
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 :: ^CRYPT_PROVIDER_REF; | |
CRYPT_PROVIDER_REFS :: struct { | |
cProviders : ULONG, | |
rgpProviders : ^PCRYPT_PROVIDER_REF, | |
}; | |
PCRYPT_PROVIDER_REFS :: ^CRYPT_PROVIDER_REFS; | |
SECURITY_STATUS :: LONG; | |
PFN_NCRYPT_ALLOC :: (proc "stdcall" (cbSize : SIZE_T) -> LPVOID); | |
PFN_NCRYPT_FREE :: proc "stdcall" (pv : LPVOID); | |
NCRYPT_ALLOC_PARA :: struct { | |
cbSize : DWORD, | |
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 : DWORD, | |
pbIV : PUCHAR, | |
cbIV : ULONG, | |
pbOtherInfo : PUCHAR, | |
cbOtherInfo : ULONG, | |
}; | |
PNCRYPT_CIPHER_PADDING_INFO :: ^NCRYPT_CIPHER_PADDING_INFO; | |
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 :: ^NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES; | |
NCRYPT_VSM_KEY_ATTESTATION_STATEMENT :: struct { | |
Magic : ULONG, | |
Version : ULONG, | |
cbSignature : ULONG, | |
cbReport : ULONG, | |
cbAttributes : ULONG, | |
}; | |
PNCRYPT_VSM_KEY_ATTESTATION_STATEMENT :: ^NCRYPT_VSM_KEY_ATTESTATION_STATEMENT; | |
NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS :: struct { | |
Version : ULONG, | |
TrustletId : ULONGLONG, | |
MinSvn : ULONG, | |
FlagsMask : ULONG, | |
FlagsExpected : ULONG, | |
using _ : bit_field { | |
AllowDebugging : 1, | |
Reserved : 31, | |
}, | |
}; | |
PNCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS :: ^NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS; | |
NCRYPT_EXPORTED_ISOLATED_KEY_HEADER :: struct { | |
Version : ULONG, | |
KeyUsage : ULONG, | |
using _ : bit_field { | |
PerBootKey : 1, | |
Reserved : 31, | |
}, | |
cbAlgName : ULONG, | |
cbNonce : ULONG, | |
cbAuthTag : ULONG, | |
cbWrappingKey : ULONG, | |
cbIsolatedKey : ULONG, | |
}; | |
PNCRYPT_EXPORTED_ISOLATED_KEY_HEADER :: ^NCRYPT_EXPORTED_ISOLATED_KEY_HEADER; | |
NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE :: struct { | |
Header : NCRYPT_EXPORTED_ISOLATED_KEY_HEADER, | |
}; | |
PNCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE :: ^NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE; | |
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 :: ^NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT; | |
NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT :: struct { | |
Magic : ULONG, | |
Version : ULONG, | |
pcrAlg : ULONG, | |
cbSignature : ULONG, | |
cbQuote : ULONG, | |
cbPcrs : ULONG, | |
}; | |
PNCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT :: ^NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT; | |
NCryptAlgorithmName :: struct { | |
pszName : LPWSTR, | |
dwClass : DWORD, | |
dwAlgOperations : DWORD, | |
dwFlags : DWORD, | |
}; | |
NCryptKeyName :: struct { | |
pszName : LPWSTR, | |
pszAlgid : LPWSTR, | |
dwLegacyKeySpec : DWORD, | |
dwFlags : DWORD, | |
}; | |
NCryptProviderName :: struct { | |
pszName : LPWSTR, | |
pszComment : LPWSTR, | |
}; | |
NCRYPT_UI_POLICY :: struct { | |
dwVersion : DWORD, | |
dwFlags : DWORD, | |
pszCreationTitle : LPCWSTR, | |
pszFriendlyName : LPCWSTR, | |
pszDescription : LPCWSTR, | |
}; | |
NCRYPT_KEY_ACCESS_POLICY_BLOB :: struct { | |
dwVersion : DWORD, | |
dwPolicyFlags : DWORD, | |
cbUserSid : DWORD, | |
cbApplicationSid : DWORD, | |
}; | |
NCRYPT_SUPPORTED_LENGTHS :: struct { | |
dwMinLength : DWORD, | |
dwMaxLength : DWORD, | |
dwIncrement : DWORD, | |
dwDefaultLength : DWORD, | |
}; | |
NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO :: struct { | |
dwVersion : DWORD, | |
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 : DWORD, | |
cbDigest : DWORD, | |
}; | |
NCRYPT_KEY_BLOB_HEADER :: struct { | |
cbSize : ULONG, | |
dwMagic : ULONG, | |
cbAlgName : ULONG, | |
cbKeyData : ULONG, | |
}; | |
PNCRYPT_KEY_BLOB_HEADER :: ^NCRYPT_KEY_BLOB_HEADER; | |
NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER :: struct { | |
magic : DWORD, | |
cbHeader : DWORD, | |
cbPublic : DWORD, | |
cbPrivate : DWORD, | |
cbName : DWORD, | |
}; | |
PNCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER :: ^NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER; | |
HCRYPTPROV_OR_NCRYPT_KEY_HANDLE :: ULONG_PTR; | |
HCRYPTPROV_LEGACY :: ULONG_PTR; | |
CRYPT_BIT_BLOB :: struct { | |
cbData : DWORD, | |
pbData : ^BYTE, | |
cUnusedBits : DWORD, | |
}; | |
PCRYPT_BIT_BLOB :: ^CRYPT_BIT_BLOB; | |
CRYPT_ALGORITHM_IDENTIFIER :: struct { | |
pszObjId : LPSTR, | |
Parameters : CRYPT_OBJID_BLOB, | |
}; | |
PCRYPT_ALGORITHM_IDENTIFIER :: ^CRYPT_ALGORITHM_IDENTIFIER; | |
CRYPT_OBJID_TABLE :: struct { | |
dwAlgId : DWORD, | |
pszObjId : LPCSTR, | |
}; | |
PCRYPT_OBJID_TABLE :: ^CRYPT_OBJID_TABLE; | |
CRYPT_HASH_INFO :: struct { | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
Hash : CRYPT_HASH_BLOB, | |
}; | |
PCRYPT_HASH_INFO :: ^CRYPT_HASH_INFO; | |
CERT_EXTENSION :: struct { | |
pszObjId : LPSTR, | |
fCritical : BOOL, | |
Value : CRYPT_OBJID_BLOB, | |
}; | |
PCERT_EXTENSION :: ^CERT_EXTENSION; | |
PCCERT_EXTENSION :: ^CERT_EXTENSION; | |
CRYPT_ATTRIBUTE_TYPE_VALUE :: struct { | |
pszObjId : LPSTR, | |
Value : CRYPT_OBJID_BLOB, | |
}; | |
PCRYPT_ATTRIBUTE_TYPE_VALUE :: ^CRYPT_ATTRIBUTE_TYPE_VALUE; | |
CRYPT_ATTRIBUTE :: struct { | |
pszObjId : LPSTR, | |
cValue : DWORD, | |
rgValue : PCRYPT_ATTR_BLOB, | |
}; | |
PCRYPT_ATTRIBUTE :: ^CRYPT_ATTRIBUTE; | |
CRYPT_ATTRIBUTES :: struct { | |
cAttr : DWORD, | |
rgAttr : PCRYPT_ATTRIBUTE, | |
}; | |
PCRYPT_ATTRIBUTES :: ^CRYPT_ATTRIBUTES; | |
CERT_RDN_ATTR :: struct { | |
pszObjId : LPSTR, | |
dwValueType : DWORD, | |
Value : CERT_RDN_VALUE_BLOB, | |
}; | |
PCERT_RDN_ATTR :: ^CERT_RDN_ATTR; | |
CERT_RDN :: struct { | |
cRDNAttr : DWORD, | |
rgRDNAttr : PCERT_RDN_ATTR, | |
}; | |
PCERT_RDN :: ^CERT_RDN; | |
CERT_NAME_INFO :: struct { | |
cRDN : DWORD, | |
rgRDN : PCERT_RDN, | |
}; | |
PCERT_NAME_INFO :: ^CERT_NAME_INFO; | |
CERT_NAME_VALUE :: struct { | |
dwValueType : DWORD, | |
Value : CERT_RDN_VALUE_BLOB, | |
}; | |
PCERT_NAME_VALUE :: ^CERT_NAME_VALUE; | |
CERT_PUBLIC_KEY_INFO :: struct { | |
Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
PublicKey : CRYPT_BIT_BLOB, | |
}; | |
PCERT_PUBLIC_KEY_INFO :: ^CERT_PUBLIC_KEY_INFO; | |
CRYPT_ECC_PRIVATE_KEY_INFO :: struct { | |
dwVersion : DWORD, | |
PrivateKey : CRYPT_DER_BLOB, | |
szCurveOid : LPSTR, | |
PublicKey : CRYPT_BIT_BLOB, | |
}; | |
PCRYPT_ECC_PRIVATE_KEY_INFO :: ^CRYPT_ECC_PRIVATE_KEY_INFO; | |
CRYPT_PRIVATE_KEY_INFO :: struct { | |
Version : DWORD, | |
Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
PrivateKey : CRYPT_DER_BLOB, | |
pAttributes : PCRYPT_ATTRIBUTES, | |
}; | |
PCRYPT_PRIVATE_KEY_INFO :: ^CRYPT_PRIVATE_KEY_INFO; | |
CRYPT_ENCRYPTED_PRIVATE_KEY_INFO :: struct { | |
EncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
EncryptedPrivateKey : CRYPT_DATA_BLOB, | |
}; | |
PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO :: ^CRYPT_ENCRYPTED_PRIVATE_KEY_INFO; | |
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC :: (proc "stdcall" (Algorithm : CRYPT_ALGORITHM_IDENTIFIER, EncryptedPrivateKey : CRYPT_DATA_BLOB, pbClearTextKey : ^BYTE, pcbClearTextKey : ^DWORD, pVoidDecryptFunc : LPVOID) -> BOOL); | |
PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC :: (proc "stdcall" (pAlgorithm : ^CRYPT_ALGORITHM_IDENTIFIER, pClearTextPrivateKey : ^CRYPT_DATA_BLOB, pbEncryptedKey : ^BYTE, pcbEncryptedKey : ^DWORD, pVoidEncryptFunc : LPVOID) -> BOOL); | |
PCRYPT_RESOLVE_HCRYPTPROV_FUNC :: (proc "stdcall" (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 :: ^CRYPT_PKCS8_IMPORT_PARAMS; | |
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 :: ^CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS; | |
CRYPT_PKCS8_EXPORT_PARAMS :: struct { | |
hCryptProv : HCRYPTPROV, | |
dwKeySpec : DWORD, | |
pszPrivateKeyObjId : LPSTR, | |
pEncryptPrivateKeyFunc : PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC, | |
pVoidEncryptFunc : LPVOID, | |
}; | |
PCRYPT_PKCS8_EXPORT_PARAMS :: ^CRYPT_PKCS8_EXPORT_PARAMS; | |
CERT_INFO :: struct { | |
dwVersion : DWORD, | |
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 : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
PCERT_INFO :: ^CERT_INFO; | |
CRL_ENTRY :: struct { | |
SerialNumber : CRYPT_INTEGER_BLOB, | |
RevocationDate : FILETIME, | |
cExtension : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
PCRL_ENTRY :: ^CRL_ENTRY; | |
CRL_INFO :: struct { | |
dwVersion : DWORD, | |
SignatureAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
Issuer : CERT_NAME_BLOB, | |
ThisUpdate : FILETIME, | |
NextUpdate : FILETIME, | |
cCRLEntry : DWORD, | |
rgCRLEntry : PCRL_ENTRY, | |
cExtension : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
PCRL_INFO :: ^CRL_INFO; | |
CERT_OR_CRL_BLOB :: struct { | |
dwChoice : DWORD, | |
cbEncoded : DWORD, | |
pbEncoded : ^BYTE, | |
}; | |
PCERT_OR_CRL_BLOB :: ^CERT_OR_CRL_BLOB; | |
CERT_OR_CRL_BUNDLE :: struct { | |
cItem : DWORD, | |
rgItem : PCERT_OR_CRL_BLOB, | |
}; | |
PCERT_OR_CRL_BUNDLE :: ^CERT_OR_CRL_BUNDLE; | |
CERT_REQUEST_INFO :: struct { | |
dwVersion : DWORD, | |
Subject : CERT_NAME_BLOB, | |
SubjectPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
cAttribute : DWORD, | |
rgAttribute : PCRYPT_ATTRIBUTE, | |
}; | |
PCERT_REQUEST_INFO :: ^CERT_REQUEST_INFO; | |
CERT_KEYGEN_REQUEST_INFO :: struct { | |
dwVersion : DWORD, | |
SubjectPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
pwszChallengeString : LPWSTR, | |
}; | |
PCERT_KEYGEN_REQUEST_INFO :: ^CERT_KEYGEN_REQUEST_INFO; | |
CERT_SIGNED_CONTENT_INFO :: struct { | |
ToBeSigned : CRYPT_DER_BLOB, | |
SignatureAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
Signature : CRYPT_BIT_BLOB, | |
}; | |
PCERT_SIGNED_CONTENT_INFO :: ^CERT_SIGNED_CONTENT_INFO; | |
CTL_USAGE :: struct { | |
cUsageIdentifier : DWORD, | |
rgpszUsageIdentifier : ^LPSTR, | |
}; | |
PCTL_USAGE :: ^CTL_USAGE; | |
CERT_ENHKEY_USAGE :: struct { | |
cUsageIdentifier : DWORD, | |
rgpszUsageIdentifier : ^LPSTR, | |
}; | |
PCERT_ENHKEY_USAGE :: ^CERT_ENHKEY_USAGE; | |
PCCTL_USAGE :: ^CTL_USAGE; | |
PCCERT_ENHKEY_USAGE :: ^CERT_ENHKEY_USAGE; | |
CTL_ENTRY :: struct { | |
SubjectIdentifier : CRYPT_DATA_BLOB, | |
cAttribute : DWORD, | |
rgAttribute : PCRYPT_ATTRIBUTE, | |
}; | |
PCTL_ENTRY :: ^CTL_ENTRY; | |
CTL_INFO :: struct { | |
dwVersion : DWORD, | |
SubjectUsage : CTL_USAGE, | |
ListIdentifier : CRYPT_DATA_BLOB, | |
SequenceNumber : CRYPT_INTEGER_BLOB, | |
ThisUpdate : FILETIME, | |
NextUpdate : FILETIME, | |
SubjectAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
cCTLEntry : DWORD, | |
rgCTLEntry : PCTL_ENTRY, | |
cExtension : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
PCTL_INFO :: ^CTL_INFO; | |
CRYPT_TIME_STAMP_REQUEST_INFO :: struct { | |
pszTimeStampAlgorithm : LPSTR, | |
pszContentType : LPSTR, | |
Content : CRYPT_OBJID_BLOB, | |
cAttribute : DWORD, | |
rgAttribute : PCRYPT_ATTRIBUTE, | |
}; | |
PCRYPT_TIME_STAMP_REQUEST_INFO :: ^CRYPT_TIME_STAMP_REQUEST_INFO; | |
CRYPT_ENROLLMENT_NAME_VALUE_PAIR :: struct { | |
pwszName : LPWSTR, | |
pwszValue : LPWSTR, | |
}; | |
PCRYPT_ENROLLMENT_NAME_VALUE_PAIR :: ^CRYPT_ENROLLMENT_NAME_VALUE_PAIR; | |
CRYPT_CSP_PROVIDER :: struct { | |
dwKeySpec : DWORD, | |
pwszProviderName : LPWSTR, | |
Signature : CRYPT_BIT_BLOB, | |
}; | |
PCRYPT_CSP_PROVIDER :: ^CRYPT_CSP_PROVIDER; | |
PFN_CRYPT_ALLOC :: (proc "stdcall" (cbSize : _c.size_t) -> LPVOID); | |
PFN_CRYPT_FREE :: proc "stdcall" (pv : LPVOID); | |
CRYPT_ENCODE_PARA :: struct { | |
cbSize : DWORD, | |
pfnAlloc : PFN_CRYPT_ALLOC, | |
pfnFree : PFN_CRYPT_FREE, | |
}; | |
PCRYPT_ENCODE_PARA :: ^CRYPT_ENCODE_PARA; | |
CRYPT_DECODE_PARA :: struct { | |
cbSize : DWORD, | |
pfnAlloc : PFN_CRYPT_ALLOC, | |
pfnFree : PFN_CRYPT_FREE, | |
}; | |
PCRYPT_DECODE_PARA :: ^CRYPT_DECODE_PARA; | |
CERT_EXTENSIONS :: struct { | |
cExtension : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
PCERT_EXTENSIONS :: ^CERT_EXTENSIONS; | |
CERT_AUTHORITY_KEY_ID_INFO :: struct { | |
KeyId : CRYPT_DATA_BLOB, | |
CertIssuer : CERT_NAME_BLOB, | |
CertSerialNumber : CRYPT_INTEGER_BLOB, | |
}; | |
PCERT_AUTHORITY_KEY_ID_INFO :: ^CERT_AUTHORITY_KEY_ID_INFO; | |
CERT_PRIVATE_KEY_VALIDITY :: struct { | |
NotBefore : FILETIME, | |
NotAfter : FILETIME, | |
}; | |
PCERT_PRIVATE_KEY_VALIDITY :: ^CERT_PRIVATE_KEY_VALIDITY; | |
CERT_KEY_ATTRIBUTES_INFO :: struct { | |
KeyId : CRYPT_DATA_BLOB, | |
IntendedKeyUsage : CRYPT_BIT_BLOB, | |
pPrivateKeyUsagePeriod : PCERT_PRIVATE_KEY_VALIDITY, | |
}; | |
PCERT_KEY_ATTRIBUTES_INFO :: ^CERT_KEY_ATTRIBUTES_INFO; | |
CERT_POLICY_ID :: struct { | |
cCertPolicyElementId : DWORD, | |
rgpszCertPolicyElementId : ^LPSTR, | |
}; | |
PCERT_POLICY_ID :: ^CERT_POLICY_ID; | |
CERT_KEY_USAGE_RESTRICTION_INFO :: struct { | |
cCertPolicyId : DWORD, | |
rgCertPolicyId : PCERT_POLICY_ID, | |
RestrictedKeyUsage : CRYPT_BIT_BLOB, | |
}; | |
PCERT_KEY_USAGE_RESTRICTION_INFO :: ^CERT_KEY_USAGE_RESTRICTION_INFO; | |
CERT_OTHER_NAME :: struct { | |
pszObjId : LPSTR, | |
Value : CRYPT_OBJID_BLOB, | |
}; | |
PCERT_OTHER_NAME :: ^CERT_OTHER_NAME; | |
CERT_ALT_NAME_ENTRY :: struct { | |
dwAltNameChoice : DWORD, | |
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 :: ^CERT_ALT_NAME_ENTRY; | |
CERT_ALT_NAME_INFO :: struct { | |
cAltEntry : DWORD, | |
rgAltEntry : PCERT_ALT_NAME_ENTRY, | |
}; | |
PCERT_ALT_NAME_INFO :: ^CERT_ALT_NAME_INFO; | |
CERT_BASIC_CONSTRAINTS_INFO :: struct { | |
SubjectType : CRYPT_BIT_BLOB, | |
fPathLenConstraint : BOOL, | |
dwPathLenConstraint : DWORD, | |
cSubtreesConstraint : DWORD, | |
rgSubtreesConstraint : ^CERT_NAME_BLOB, | |
}; | |
PCERT_BASIC_CONSTRAINTS_INFO :: ^CERT_BASIC_CONSTRAINTS_INFO; | |
CERT_BASIC_CONSTRAINTS2_INFO :: struct { | |
fCA : BOOL, | |
fPathLenConstraint : BOOL, | |
dwPathLenConstraint : DWORD, | |
}; | |
PCERT_BASIC_CONSTRAINTS2_INFO :: ^CERT_BASIC_CONSTRAINTS2_INFO; | |
CERT_POLICY_QUALIFIER_INFO :: struct { | |
pszPolicyQualifierId : LPSTR, | |
Qualifier : CRYPT_OBJID_BLOB, | |
}; | |
PCERT_POLICY_QUALIFIER_INFO :: ^CERT_POLICY_QUALIFIER_INFO; | |
CERT_POLICY_INFO :: struct { | |
pszPolicyIdentifier : LPSTR, | |
cPolicyQualifier : DWORD, | |
rgPolicyQualifier : ^CERT_POLICY_QUALIFIER_INFO, | |
}; | |
PCERT_POLICY_INFO :: ^CERT_POLICY_INFO; | |
CERT_POLICIES_INFO :: struct { | |
cPolicyInfo : DWORD, | |
rgPolicyInfo : ^CERT_POLICY_INFO, | |
}; | |
PCERT_POLICIES_INFO :: ^CERT_POLICIES_INFO; | |
CERT_POLICY_QUALIFIER_NOTICE_REFERENCE :: struct { | |
pszOrganization : LPSTR, | |
cNoticeNumbers : DWORD, | |
rgNoticeNumbers : ^_c.int, | |
}; | |
PCERT_POLICY_QUALIFIER_NOTICE_REFERENCE :: ^CERT_POLICY_QUALIFIER_NOTICE_REFERENCE; | |
CERT_POLICY_QUALIFIER_USER_NOTICE :: struct { | |
pNoticeReference : ^CERT_POLICY_QUALIFIER_NOTICE_REFERENCE, | |
pszDisplayText : LPWSTR, | |
}; | |
PCERT_POLICY_QUALIFIER_USER_NOTICE :: ^CERT_POLICY_QUALIFIER_USER_NOTICE; | |
CPS_URLS :: struct { | |
pszURL : LPWSTR, | |
pAlgorithm : ^CRYPT_ALGORITHM_IDENTIFIER, | |
pDigest : ^CRYPT_DATA_BLOB, | |
}; | |
PCPS_URLS :: ^CPS_URLS; | |
CERT_POLICY95_QUALIFIER1 :: struct { | |
pszPracticesReference : LPWSTR, | |
pszNoticeIdentifier : LPSTR, | |
pszNSINoticeIdentifier : LPSTR, | |
cCPSURLs : DWORD, | |
rgCPSURLs : ^CPS_URLS, | |
}; | |
PCERT_POLICY95_QUALIFIER1 :: ^CERT_POLICY95_QUALIFIER1; | |
CERT_POLICY_MAPPING :: struct { | |
pszIssuerDomainPolicy : LPSTR, | |
pszSubjectDomainPolicy : LPSTR, | |
}; | |
PCERT_POLICY_MAPPING :: ^CERT_POLICY_MAPPING; | |
CERT_POLICY_MAPPINGS_INFO :: struct { | |
cPolicyMapping : DWORD, | |
rgPolicyMapping : PCERT_POLICY_MAPPING, | |
}; | |
PCERT_POLICY_MAPPINGS_INFO :: ^CERT_POLICY_MAPPINGS_INFO; | |
CERT_POLICY_CONSTRAINTS_INFO :: struct { | |
fRequireExplicitPolicy : BOOL, | |
dwRequireExplicitPolicySkipCerts : DWORD, | |
fInhibitPolicyMapping : BOOL, | |
dwInhibitPolicyMappingSkipCerts : DWORD, | |
}; | |
PCERT_POLICY_CONSTRAINTS_INFO :: ^CERT_POLICY_CONSTRAINTS_INFO; | |
CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY :: struct { | |
pszObjId : LPSTR, | |
cValue : DWORD, | |
rgValue : PCRYPT_DER_BLOB, | |
}; | |
PCRYPT_CONTENT_INFO_SEQUENCE_OF_ANY :: ^CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY; | |
CRYPT_CONTENT_INFO :: struct { | |
pszObjId : LPSTR, | |
Content : CRYPT_DER_BLOB, | |
}; | |
PCRYPT_CONTENT_INFO :: ^CRYPT_CONTENT_INFO; | |
CRYPT_SEQUENCE_OF_ANY :: struct { | |
cValue : DWORD, | |
rgValue : PCRYPT_DER_BLOB, | |
}; | |
PCRYPT_SEQUENCE_OF_ANY :: ^CRYPT_SEQUENCE_OF_ANY; | |
CERT_AUTHORITY_KEY_ID2_INFO :: struct { | |
KeyId : CRYPT_DATA_BLOB, | |
AuthorityCertIssuer : CERT_ALT_NAME_INFO, | |
AuthorityCertSerialNumber : CRYPT_INTEGER_BLOB, | |
}; | |
PCERT_AUTHORITY_KEY_ID2_INFO :: ^CERT_AUTHORITY_KEY_ID2_INFO; | |
CERT_ACCESS_DESCRIPTION :: struct { | |
pszAccessMethod : LPSTR, | |
AccessLocation : CERT_ALT_NAME_ENTRY, | |
}; | |
PCERT_ACCESS_DESCRIPTION :: ^CERT_ACCESS_DESCRIPTION; | |
CERT_AUTHORITY_INFO_ACCESS :: struct { | |
cAccDescr : DWORD, | |
rgAccDescr : PCERT_ACCESS_DESCRIPTION, | |
}; | |
PCERT_AUTHORITY_INFO_ACCESS :: ^CERT_AUTHORITY_INFO_ACCESS; | |
CERT_SUBJECT_INFO_ACCESS :: struct { | |
cAccDescr : DWORD, | |
rgAccDescr : PCERT_ACCESS_DESCRIPTION, | |
}; | |
PCERT_SUBJECT_INFO_ACCESS :: ^CERT_SUBJECT_INFO_ACCESS; | |
CRL_DIST_POINT_NAME :: struct { | |
dwDistPointNameChoice : DWORD, | |
u : struct #raw_union { | |
FullName : CERT_ALT_NAME_INFO, | |
}, | |
}; | |
PCRL_DIST_POINT_NAME :: ^CRL_DIST_POINT_NAME; | |
CRL_DIST_POINT :: struct { | |
DistPointName : CRL_DIST_POINT_NAME, | |
ReasonFlags : CRYPT_BIT_BLOB, | |
CRLIssuer : CERT_ALT_NAME_INFO, | |
}; | |
PCRL_DIST_POINT :: ^CRL_DIST_POINT; | |
CRL_DIST_POINTS_INFO :: struct { | |
cDistPoint : DWORD, | |
rgDistPoint : PCRL_DIST_POINT, | |
}; | |
PCRL_DIST_POINTS_INFO :: ^CRL_DIST_POINTS_INFO; | |
CROSS_CERT_DIST_POINTS_INFO :: struct { | |
dwSyncDeltaTime : DWORD, | |
cDistPoint : DWORD, | |
rgDistPoint : PCERT_ALT_NAME_INFO, | |
}; | |
PCROSS_CERT_DIST_POINTS_INFO :: ^CROSS_CERT_DIST_POINTS_INFO; | |
CERT_PAIR :: struct { | |
Forward : CERT_BLOB, | |
Reverse : CERT_BLOB, | |
}; | |
PCERT_PAIR :: ^CERT_PAIR; | |
CRL_ISSUING_DIST_POINT :: struct { | |
DistPointName : CRL_DIST_POINT_NAME, | |
fOnlyContainsUserCerts : BOOL, | |
fOnlyContainsCACerts : BOOL, | |
OnlySomeReasonFlags : CRYPT_BIT_BLOB, | |
fIndirectCRL : BOOL, | |
}; | |
PCRL_ISSUING_DIST_POINT :: ^CRL_ISSUING_DIST_POINT; | |
CERT_GENERAL_SUBTREE :: struct { | |
Base : CERT_ALT_NAME_ENTRY, | |
dwMinimum : DWORD, | |
fMaximum : BOOL, | |
dwMaximum : DWORD, | |
}; | |
PCERT_GENERAL_SUBTREE :: ^CERT_GENERAL_SUBTREE; | |
CERT_NAME_CONSTRAINTS_INFO :: struct { | |
cPermittedSubtree : DWORD, | |
rgPermittedSubtree : PCERT_GENERAL_SUBTREE, | |
cExcludedSubtree : DWORD, | |
rgExcludedSubtree : PCERT_GENERAL_SUBTREE, | |
}; | |
PCERT_NAME_CONSTRAINTS_INFO :: ^CERT_NAME_CONSTRAINTS_INFO; | |
CERT_DSS_PARAMETERS :: struct { | |
p : CRYPT_UINT_BLOB, | |
q : CRYPT_UINT_BLOB, | |
g : CRYPT_UINT_BLOB, | |
}; | |
PCERT_DSS_PARAMETERS :: ^CERT_DSS_PARAMETERS; | |
CERT_DH_PARAMETERS :: struct { | |
p : CRYPT_UINT_BLOB, | |
g : CRYPT_UINT_BLOB, | |
}; | |
PCERT_DH_PARAMETERS :: ^CERT_DH_PARAMETERS; | |
CERT_ECC_SIGNATURE :: struct { | |
r : CRYPT_UINT_BLOB, | |
s : CRYPT_UINT_BLOB, | |
}; | |
PCERT_ECC_SIGNATURE :: ^CERT_ECC_SIGNATURE; | |
CERT_X942_DH_VALIDATION_PARAMS :: struct { | |
seed : CRYPT_BIT_BLOB, | |
pgenCounter : DWORD, | |
}; | |
PCERT_X942_DH_VALIDATION_PARAMS :: ^CERT_X942_DH_VALIDATION_PARAMS; | |
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 :: ^CERT_X942_DH_PARAMETERS; | |
CRYPT_X942_OTHER_INFO :: struct { | |
pszContentEncryptionObjId : LPSTR, | |
rgbCounter : [4]BYTE, | |
rgbKeyLength : [4]BYTE, | |
PubInfo : CRYPT_DATA_BLOB, | |
}; | |
PCRYPT_X942_OTHER_INFO :: ^CRYPT_X942_OTHER_INFO; | |
CRYPT_ECC_CMS_SHARED_INFO :: struct { | |
Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
EntityUInfo : CRYPT_DATA_BLOB, | |
rgbSuppPubInfo : [4]BYTE, | |
}; | |
PCRYPT_ECC_CMS_SHARED_INFO :: ^CRYPT_ECC_CMS_SHARED_INFO; | |
CRYPT_RC2_CBC_PARAMETERS :: struct { | |
dwVersion : DWORD, | |
fIV : BOOL, | |
rgbIV : [8]BYTE, | |
}; | |
PCRYPT_RC2_CBC_PARAMETERS :: ^CRYPT_RC2_CBC_PARAMETERS; | |
CRYPT_SMIME_CAPABILITY :: struct { | |
pszObjId : LPSTR, | |
Parameters : CRYPT_OBJID_BLOB, | |
}; | |
PCRYPT_SMIME_CAPABILITY :: ^CRYPT_SMIME_CAPABILITY; | |
CRYPT_SMIME_CAPABILITIES :: struct { | |
cCapability : DWORD, | |
rgCapability : PCRYPT_SMIME_CAPABILITY, | |
}; | |
PCRYPT_SMIME_CAPABILITIES :: ^CRYPT_SMIME_CAPABILITIES; | |
CERT_QC_STATEMENT :: struct { | |
pszStatementId : LPSTR, | |
StatementInfo : CRYPT_OBJID_BLOB, | |
}; | |
PCERT_QC_STATEMENT :: ^CERT_QC_STATEMENT; | |
CERT_QC_STATEMENTS_EXT_INFO :: struct { | |
cStatement : DWORD, | |
rgStatement : PCERT_QC_STATEMENT, | |
}; | |
PCERT_QC_STATEMENTS_EXT_INFO :: ^CERT_QC_STATEMENTS_EXT_INFO; | |
CRYPT_MASK_GEN_ALGORITHM :: struct { | |
pszObjId : LPSTR, | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
}; | |
PCRYPT_MASK_GEN_ALGORITHM :: ^CRYPT_MASK_GEN_ALGORITHM; | |
CRYPT_RSA_SSA_PSS_PARAMETERS :: struct { | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
MaskGenAlgorithm : CRYPT_MASK_GEN_ALGORITHM, | |
dwSaltLength : DWORD, | |
dwTrailerField : DWORD, | |
}; | |
PCRYPT_RSA_SSA_PSS_PARAMETERS :: ^CRYPT_RSA_SSA_PSS_PARAMETERS; | |
CRYPT_PSOURCE_ALGORITHM :: struct { | |
pszObjId : LPSTR, | |
EncodingParameters : CRYPT_DATA_BLOB, | |
}; | |
PCRYPT_PSOURCE_ALGORITHM :: ^CRYPT_PSOURCE_ALGORITHM; | |
CRYPT_RSAES_OAEP_PARAMETERS :: struct { | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
MaskGenAlgorithm : CRYPT_MASK_GEN_ALGORITHM, | |
PSourceAlgorithm : CRYPT_PSOURCE_ALGORITHM, | |
}; | |
PCRYPT_RSAES_OAEP_PARAMETERS :: ^CRYPT_RSAES_OAEP_PARAMETERS; | |
CMC_TAGGED_ATTRIBUTE :: struct { | |
dwBodyPartID : DWORD, | |
Attribute : CRYPT_ATTRIBUTE, | |
}; | |
PCMC_TAGGED_ATTRIBUTE :: ^CMC_TAGGED_ATTRIBUTE; | |
CMC_TAGGED_CERT_REQUEST :: struct { | |
dwBodyPartID : DWORD, | |
SignedCertRequest : CRYPT_DER_BLOB, | |
}; | |
PCMC_TAGGED_CERT_REQUEST :: ^CMC_TAGGED_CERT_REQUEST; | |
CMC_TAGGED_REQUEST :: struct { | |
dwTaggedRequestChoice : DWORD, | |
u : struct #raw_union { | |
pTaggedCertRequest : PCMC_TAGGED_CERT_REQUEST, | |
}, | |
}; | |
PCMC_TAGGED_REQUEST :: ^CMC_TAGGED_REQUEST; | |
CMC_TAGGED_CONTENT_INFO :: struct { | |
dwBodyPartID : DWORD, | |
EncodedContentInfo : CRYPT_DER_BLOB, | |
}; | |
PCMC_TAGGED_CONTENT_INFO :: ^CMC_TAGGED_CONTENT_INFO; | |
CMC_TAGGED_OTHER_MSG :: struct { | |
dwBodyPartID : DWORD, | |
pszObjId : LPSTR, | |
Value : CRYPT_OBJID_BLOB, | |
}; | |
PCMC_TAGGED_OTHER_MSG :: ^CMC_TAGGED_OTHER_MSG; | |
CMC_DATA_INFO :: struct { | |
cTaggedAttribute : DWORD, | |
rgTaggedAttribute : PCMC_TAGGED_ATTRIBUTE, | |
cTaggedRequest : DWORD, | |
rgTaggedRequest : PCMC_TAGGED_REQUEST, | |
cTaggedContentInfo : DWORD, | |
rgTaggedContentInfo : PCMC_TAGGED_CONTENT_INFO, | |
cTaggedOtherMsg : DWORD, | |
rgTaggedOtherMsg : PCMC_TAGGED_OTHER_MSG, | |
}; | |
PCMC_DATA_INFO :: ^CMC_DATA_INFO; | |
CMC_RESPONSE_INFO :: struct { | |
cTaggedAttribute : DWORD, | |
rgTaggedAttribute : PCMC_TAGGED_ATTRIBUTE, | |
cTaggedContentInfo : DWORD, | |
rgTaggedContentInfo : PCMC_TAGGED_CONTENT_INFO, | |
cTaggedOtherMsg : DWORD, | |
rgTaggedOtherMsg : PCMC_TAGGED_OTHER_MSG, | |
}; | |
PCMC_RESPONSE_INFO :: ^CMC_RESPONSE_INFO; | |
CMC_PEND_INFO :: struct { | |
PendToken : CRYPT_DATA_BLOB, | |
PendTime : FILETIME, | |
}; | |
PCMC_PEND_INFO :: ^CMC_PEND_INFO; | |
CMC_STATUS_INFO :: struct { | |
dwStatus : DWORD, | |
cBodyList : DWORD, | |
rgdwBodyList : ^DWORD, | |
pwszStatusString : LPWSTR, | |
dwOtherInfoChoice : DWORD, | |
u : struct #raw_union { | |
dwFailInfo : DWORD, | |
pPendInfo : PCMC_PEND_INFO, | |
}, | |
}; | |
PCMC_STATUS_INFO :: ^CMC_STATUS_INFO; | |
CMC_ADD_EXTENSIONS_INFO :: struct { | |
dwCmcDataReference : DWORD, | |
cCertReference : DWORD, | |
rgdwCertReference : ^DWORD, | |
cExtension : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
PCMC_ADD_EXTENSIONS_INFO :: ^CMC_ADD_EXTENSIONS_INFO; | |
CMC_ADD_ATTRIBUTES_INFO :: struct { | |
dwCmcDataReference : DWORD, | |
cCertReference : DWORD, | |
rgdwCertReference : ^DWORD, | |
cAttribute : DWORD, | |
rgAttribute : PCRYPT_ATTRIBUTE, | |
}; | |
PCMC_ADD_ATTRIBUTES_INFO :: ^CMC_ADD_ATTRIBUTES_INFO; | |
CERT_TEMPLATE_EXT :: struct { | |
pszObjId : LPSTR, | |
dwMajorVersion : DWORD, | |
fMinorVersion : BOOL, | |
dwMinorVersion : DWORD, | |
}; | |
PCERT_TEMPLATE_EXT :: ^CERT_TEMPLATE_EXT; | |
CERT_HASHED_URL :: struct { | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
Hash : CRYPT_HASH_BLOB, | |
pwszUrl : LPWSTR, | |
}; | |
PCERT_HASHED_URL :: ^CERT_HASHED_URL; | |
CERT_LOGOTYPE_DETAILS :: struct { | |
pwszMimeType : LPWSTR, | |
cHashedUrl : DWORD, | |
rgHashedUrl : PCERT_HASHED_URL, | |
}; | |
PCERT_LOGOTYPE_DETAILS :: ^CERT_LOGOTYPE_DETAILS; | |
CERT_LOGOTYPE_REFERENCE :: struct { | |
cHashedUrl : DWORD, | |
rgHashedUrl : PCERT_HASHED_URL, | |
}; | |
PCERT_LOGOTYPE_REFERENCE :: ^CERT_LOGOTYPE_REFERENCE; | |
CERT_LOGOTYPE_IMAGE_INFO :: struct { | |
dwLogotypeImageInfoChoice : DWORD, | |
dwFileSize : DWORD, | |
dwXSize : DWORD, | |
dwYSize : DWORD, | |
dwLogotypeImageResolutionChoice : DWORD, | |
u : struct #raw_union { | |
dwNumBits : DWORD, | |
dwTableSize : DWORD, | |
}, | |
pwszLanguage : LPWSTR, | |
}; | |
PCERT_LOGOTYPE_IMAGE_INFO :: ^CERT_LOGOTYPE_IMAGE_INFO; | |
CERT_LOGOTYPE_IMAGE :: struct { | |
LogotypeDetails : CERT_LOGOTYPE_DETAILS, | |
pLogotypeImageInfo : PCERT_LOGOTYPE_IMAGE_INFO, | |
}; | |
PCERT_LOGOTYPE_IMAGE :: ^CERT_LOGOTYPE_IMAGE; | |
CERT_LOGOTYPE_AUDIO_INFO :: struct { | |
dwFileSize : DWORD, | |
dwPlayTime : DWORD, | |
dwChannels : DWORD, | |
dwSampleRate : DWORD, | |
pwszLanguage : LPWSTR, | |
}; | |
PCERT_LOGOTYPE_AUDIO_INFO :: ^CERT_LOGOTYPE_AUDIO_INFO; | |
CERT_LOGOTYPE_AUDIO :: struct { | |
LogotypeDetails : CERT_LOGOTYPE_DETAILS, | |
pLogotypeAudioInfo : PCERT_LOGOTYPE_AUDIO_INFO, | |
}; | |
PCERT_LOGOTYPE_AUDIO :: ^CERT_LOGOTYPE_AUDIO; | |
CERT_LOGOTYPE_DATA :: struct { | |
cLogotypeImage : DWORD, | |
rgLogotypeImage : PCERT_LOGOTYPE_IMAGE, | |
cLogotypeAudio : DWORD, | |
rgLogotypeAudio : PCERT_LOGOTYPE_AUDIO, | |
}; | |
PCERT_LOGOTYPE_DATA :: ^CERT_LOGOTYPE_DATA; | |
CERT_LOGOTYPE_INFO :: struct { | |
dwLogotypeInfoChoice : DWORD, | |
u : struct #raw_union { | |
pLogotypeDirectInfo : PCERT_LOGOTYPE_DATA, | |
pLogotypeIndirectInfo : PCERT_LOGOTYPE_REFERENCE, | |
}, | |
}; | |
PCERT_LOGOTYPE_INFO :: ^CERT_LOGOTYPE_INFO; | |
CERT_OTHER_LOGOTYPE_INFO :: struct { | |
pszObjId : LPSTR, | |
LogotypeInfo : CERT_LOGOTYPE_INFO, | |
}; | |
PCERT_OTHER_LOGOTYPE_INFO :: ^CERT_OTHER_LOGOTYPE_INFO; | |
CERT_LOGOTYPE_EXT_INFO :: struct { | |
cCommunityLogo : DWORD, | |
rgCommunityLogo : PCERT_LOGOTYPE_INFO, | |
pIssuerLogo : PCERT_LOGOTYPE_INFO, | |
pSubjectLogo : PCERT_LOGOTYPE_INFO, | |
cOtherLogo : DWORD, | |
rgOtherLogo : PCERT_OTHER_LOGOTYPE_INFO, | |
}; | |
PCERT_LOGOTYPE_EXT_INFO :: ^CERT_LOGOTYPE_EXT_INFO; | |
CERT_BIOMETRIC_DATA :: struct { | |
dwTypeOfBiometricDataChoice : DWORD, | |
u : struct #raw_union { | |
dwPredefined : DWORD, | |
pszObjId : LPSTR, | |
}, | |
HashedUrl : CERT_HASHED_URL, | |
}; | |
PCERT_BIOMETRIC_DATA :: ^CERT_BIOMETRIC_DATA; | |
CERT_BIOMETRIC_EXT_INFO :: struct { | |
cBiometricData : DWORD, | |
rgBiometricData : PCERT_BIOMETRIC_DATA, | |
}; | |
PCERT_BIOMETRIC_EXT_INFO :: ^CERT_BIOMETRIC_EXT_INFO; | |
OCSP_SIGNATURE_INFO :: struct { | |
SignatureAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
Signature : CRYPT_BIT_BLOB, | |
cCertEncoded : DWORD, | |
rgCertEncoded : PCERT_BLOB, | |
}; | |
POCSP_SIGNATURE_INFO :: ^OCSP_SIGNATURE_INFO; | |
OCSP_SIGNED_REQUEST_INFO :: struct { | |
ToBeSigned : CRYPT_DER_BLOB, | |
pOptionalSignatureInfo : POCSP_SIGNATURE_INFO, | |
}; | |
POCSP_SIGNED_REQUEST_INFO :: ^OCSP_SIGNED_REQUEST_INFO; | |
OCSP_CERT_ID :: struct { | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
IssuerNameHash : CRYPT_HASH_BLOB, | |
IssuerKeyHash : CRYPT_HASH_BLOB, | |
SerialNumber : CRYPT_INTEGER_BLOB, | |
}; | |
POCSP_CERT_ID :: ^OCSP_CERT_ID; | |
OCSP_REQUEST_ENTRY :: struct { | |
CertId : OCSP_CERT_ID, | |
cExtension : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
POCSP_REQUEST_ENTRY :: ^OCSP_REQUEST_ENTRY; | |
OCSP_REQUEST_INFO :: struct { | |
dwVersion : DWORD, | |
pRequestorName : PCERT_ALT_NAME_ENTRY, | |
cRequestEntry : DWORD, | |
rgRequestEntry : POCSP_REQUEST_ENTRY, | |
cExtension : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
POCSP_REQUEST_INFO :: ^OCSP_REQUEST_INFO; | |
OCSP_RESPONSE_INFO :: struct { | |
dwStatus : DWORD, | |
pszObjId : LPSTR, | |
Value : CRYPT_OBJID_BLOB, | |
}; | |
POCSP_RESPONSE_INFO :: ^OCSP_RESPONSE_INFO; | |
OCSP_BASIC_SIGNED_RESPONSE_INFO :: struct { | |
ToBeSigned : CRYPT_DER_BLOB, | |
SignatureInfo : OCSP_SIGNATURE_INFO, | |
}; | |
POCSP_BASIC_SIGNED_RESPONSE_INFO :: ^OCSP_BASIC_SIGNED_RESPONSE_INFO; | |
OCSP_BASIC_REVOKED_INFO :: struct { | |
RevocationDate : FILETIME, | |
dwCrlReasonCode : DWORD, | |
}; | |
POCSP_BASIC_REVOKED_INFO :: ^OCSP_BASIC_REVOKED_INFO; | |
OCSP_BASIC_RESPONSE_ENTRY :: struct { | |
CertId : OCSP_CERT_ID, | |
dwCertStatus : DWORD, | |
u : struct #raw_union { | |
pRevokedInfo : POCSP_BASIC_REVOKED_INFO, | |
}, | |
ThisUpdate : FILETIME, | |
NextUpdate : FILETIME, | |
cExtension : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
POCSP_BASIC_RESPONSE_ENTRY :: ^OCSP_BASIC_RESPONSE_ENTRY; | |
OCSP_BASIC_RESPONSE_INFO :: struct { | |
dwVersion : DWORD, | |
dwResponderIdChoice : DWORD, | |
u : struct #raw_union { | |
ByNameResponderId : CERT_NAME_BLOB, | |
ByKeyResponderId : CRYPT_HASH_BLOB, | |
}, | |
ProducedAt : FILETIME, | |
cResponseEntry : DWORD, | |
rgResponseEntry : POCSP_BASIC_RESPONSE_ENTRY, | |
cExtension : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
POCSP_BASIC_RESPONSE_INFO :: ^OCSP_BASIC_RESPONSE_INFO; | |
CERT_SUPPORTED_ALGORITHM_INFO :: struct { | |
Algorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
IntendedKeyUsage : CRYPT_BIT_BLOB, | |
IntendedCertPolicies : CERT_POLICIES_INFO, | |
}; | |
PCERT_SUPPORTED_ALGORITHM_INFO :: ^CERT_SUPPORTED_ALGORITHM_INFO; | |
CERT_TPM_SPECIFICATION_INFO :: struct { | |
pwszFamily : LPWSTR, | |
dwLevel : DWORD, | |
dwRevision : DWORD, | |
}; | |
PCERT_TPM_SPECIFICATION_INFO :: ^CERT_TPM_SPECIFICATION_INFO; | |
HCRYPTOIDFUNCSET :: rawptr; | |
HCRYPTOIDFUNCADDR :: rawptr; | |
CRYPT_OID_FUNC_ENTRY :: struct { | |
pszOID : LPCSTR, | |
pvFuncAddr : rawptr, | |
}; | |
PCRYPT_OID_FUNC_ENTRY :: ^CRYPT_OID_FUNC_ENTRY; | |
PFN_CRYPT_ENUM_OID_FUNC :: (proc "stdcall" (dwEncodingType : DWORD, pszFuncName : LPCSTR, pszOID : LPCSTR, cValue : DWORD, rgdwValueType : []DWORD, rgpwszValueName : []LPCWSTR, rgpbValueData : []^BYTE, rgcbValueData : []DWORD, pvArg : rawptr) -> BOOL); | |
CRYPT_OID_INFO :: struct { | |
cbSize : DWORD, | |
pszOID : LPCSTR, | |
pwszName : LPCWSTR, | |
dwGroupId : DWORD, | |
u : struct #raw_union { | |
dwValue : DWORD, | |
Algid : ALG_ID, | |
dwLength : DWORD, | |
}, | |
ExtraInfo : CRYPT_DATA_BLOB, | |
}; | |
PCRYPT_OID_INFO :: ^CRYPT_OID_INFO; | |
CCRYPT_OID_INFO :: CRYPT_OID_INFO; | |
PCCRYPT_OID_INFO :: ^CRYPT_OID_INFO; | |
PFN_CRYPT_ENUM_OID_INFO :: (proc "stdcall" (pInfo : PCCRYPT_OID_INFO, pvArg : rawptr) -> BOOL); | |
CERT_STRONG_SIGN_SERIALIZED_INFO :: struct { | |
dwFlags : DWORD, | |
pwszCNGSignHashAlgids : LPWSTR, | |
pwszCNGPubKeyMinBitLengths : LPWSTR, | |
}; | |
PCERT_STRONG_SIGN_SERIALIZED_INFO :: ^CERT_STRONG_SIGN_SERIALIZED_INFO; | |
CERT_STRONG_SIGN_PARA :: struct { | |
cbSize : DWORD, | |
dwInfoChoice : DWORD, | |
u : struct #raw_union { | |
pvInfo : rawptr, | |
pSerializedInfo : PCERT_STRONG_SIGN_SERIALIZED_INFO, | |
pszOID : LPSTR, | |
}, | |
}; | |
PCERT_STRONG_SIGN_PARA :: ^CERT_STRONG_SIGN_PARA; | |
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 :: ^CERT_ISSUER_SERIAL_NUMBER; | |
CERT_ID :: struct { | |
dwIdChoice : DWORD, | |
u : struct #raw_union { | |
IssuerSerialNumber : CERT_ISSUER_SERIAL_NUMBER, | |
KeyId : CRYPT_HASH_BLOB, | |
HashId : CRYPT_HASH_BLOB, | |
}, | |
}; | |
PCERT_ID :: ^CERT_ID; | |
CMSG_SIGNER_ENCODE_INFO :: struct { | |
cbSize : DWORD, | |
pCertInfo : PCERT_INFO, | |
u : struct #raw_union { | |
hCryptProv : HCRYPTPROV, | |
hNCryptKey : NCRYPT_KEY_HANDLE, | |
}, | |
dwKeySpec : DWORD, | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvHashAuxInfo : rawptr, | |
cAuthAttr : DWORD, | |
rgAuthAttr : PCRYPT_ATTRIBUTE, | |
cUnauthAttr : DWORD, | |
rgUnauthAttr : PCRYPT_ATTRIBUTE, | |
}; | |
PCMSG_SIGNER_ENCODE_INFO :: ^CMSG_SIGNER_ENCODE_INFO; | |
CMSG_SIGNED_ENCODE_INFO :: struct { | |
cbSize : DWORD, | |
cSigners : DWORD, | |
rgSigners : PCMSG_SIGNER_ENCODE_INFO, | |
cCertEncoded : DWORD, | |
rgCertEncoded : PCERT_BLOB, | |
cCrlEncoded : DWORD, | |
rgCrlEncoded : PCRL_BLOB, | |
}; | |
PCMSG_SIGNED_ENCODE_INFO :: ^CMSG_SIGNED_ENCODE_INFO; | |
PCMSG_RECIPIENT_ENCODE_INFO :: ^CMSG_RECIPIENT_ENCODE_INFO; | |
CMSG_ENVELOPED_ENCODE_INFO :: struct { | |
cbSize : DWORD, | |
hCryptProv : HCRYPTPROV_LEGACY, | |
ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvEncryptionAuxInfo : rawptr, | |
cRecipients : DWORD, | |
rgpRecipients : ^PCERT_INFO, | |
}; | |
PCMSG_ENVELOPED_ENCODE_INFO :: ^CMSG_ENVELOPED_ENCODE_INFO; | |
CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO :: struct { | |
cbSize : DWORD, | |
KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvKeyEncryptionAuxInfo : rawptr, | |
hCryptProv : HCRYPTPROV_LEGACY, | |
RecipientPublicKey : CRYPT_BIT_BLOB, | |
RecipientId : CERT_ID, | |
}; | |
PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO :: ^CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO; | |
CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO :: struct { | |
cbSize : DWORD, | |
RecipientPublicKey : CRYPT_BIT_BLOB, | |
RecipientId : CERT_ID, | |
Date : FILETIME, | |
pOtherAttr : PCRYPT_ATTRIBUTE_TYPE_VALUE, | |
}; | |
PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO :: ^CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO; | |
CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO :: struct { | |
cbSize : DWORD, | |
KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvKeyEncryptionAuxInfo : rawptr, | |
KeyWrapAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvKeyWrapAuxInfo : rawptr, | |
hCryptProv : HCRYPTPROV_LEGACY, | |
dwKeySpec : DWORD, | |
dwKeyChoice : DWORD, | |
u : struct #raw_union { | |
pEphemeralAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, | |
pSenderId : PCERT_ID, | |
}, | |
UserKeyingMaterial : CRYPT_DATA_BLOB, | |
cRecipientEncryptedKeys : DWORD, | |
rgpRecipientEncryptedKeys : ^PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO, | |
}; | |
PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO :: ^CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO; | |
CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO :: struct { | |
cbSize : DWORD, | |
KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvKeyEncryptionAuxInfo : rawptr, | |
hCryptProv : HCRYPTPROV, | |
dwKeyChoice : DWORD, | |
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 :: ^CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO; | |
CMSG_RECIPIENT_ENCODE_INFO :: struct { | |
dwRecipientChoice : DWORD, | |
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 : DWORD, | |
dwBitLen : DWORD, | |
}; | |
PCMSG_RC2_AUX_INFO :: ^CMSG_RC2_AUX_INFO; | |
CMSG_SP3_COMPATIBLE_AUX_INFO :: struct { | |
cbSize : DWORD, | |
dwFlags : DWORD, | |
}; | |
PCMSG_SP3_COMPATIBLE_AUX_INFO :: ^CMSG_SP3_COMPATIBLE_AUX_INFO; | |
CMSG_RC4_AUX_INFO :: struct { | |
cbSize : DWORD, | |
dwBitLen : DWORD, | |
}; | |
PCMSG_RC4_AUX_INFO :: ^CMSG_RC4_AUX_INFO; | |
CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO :: struct { | |
cbSize : DWORD, | |
SignedInfo : CMSG_SIGNED_ENCODE_INFO, | |
EnvelopedInfo : CMSG_ENVELOPED_ENCODE_INFO, | |
}; | |
PCMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO :: ^CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO; | |
CMSG_HASHED_ENCODE_INFO :: struct { | |
cbSize : DWORD, | |
hCryptProv : HCRYPTPROV_LEGACY, | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvHashAuxInfo : rawptr, | |
}; | |
PCMSG_HASHED_ENCODE_INFO :: ^CMSG_HASHED_ENCODE_INFO; | |
CMSG_ENCRYPTED_ENCODE_INFO :: struct { | |
cbSize : DWORD, | |
ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvEncryptionAuxInfo : rawptr, | |
}; | |
PCMSG_ENCRYPTED_ENCODE_INFO :: ^CMSG_ENCRYPTED_ENCODE_INFO; | |
PFN_CMSG_STREAM_OUTPUT :: (proc "stdcall" (pvArg : rawptr, pbData : ^BYTE, cbData : DWORD, fFinal : BOOL) -> BOOL); | |
CMSG_STREAM_INFO :: struct { | |
cbContent : DWORD, | |
pfnStreamOutput : PFN_CMSG_STREAM_OUTPUT, | |
pvArg : rawptr, | |
}; | |
PCMSG_STREAM_INFO :: ^CMSG_STREAM_INFO; | |
CMSG_SIGNER_INFO :: struct { | |
dwVersion : DWORD, | |
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 :: ^CMSG_SIGNER_INFO; | |
CMSG_CMS_SIGNER_INFO :: struct { | |
dwVersion : DWORD, | |
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 :: ^CMSG_CMS_SIGNER_INFO; | |
CMSG_ATTR :: CRYPT_ATTRIBUTES; | |
PCMSG_ATTR :: ^CRYPT_ATTRIBUTES; | |
CMSG_KEY_TRANS_RECIPIENT_INFO :: struct { | |
dwVersion : DWORD, | |
RecipientId : CERT_ID, | |
KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
EncryptedKey : CRYPT_DATA_BLOB, | |
}; | |
PCMSG_KEY_TRANS_RECIPIENT_INFO :: ^CMSG_KEY_TRANS_RECIPIENT_INFO; | |
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 :: ^CMSG_RECIPIENT_ENCRYPTED_KEY_INFO; | |
CMSG_KEY_AGREE_RECIPIENT_INFO :: struct { | |
dwVersion : DWORD, | |
dwOriginatorChoice : DWORD, | |
u : struct #raw_union { | |
OriginatorCertId : CERT_ID, | |
OriginatorPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
}, | |
UserKeyingMaterial : CRYPT_DATA_BLOB, | |
KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
cRecipientEncryptedKeys : DWORD, | |
rgpRecipientEncryptedKeys : ^PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO, | |
}; | |
PCMSG_KEY_AGREE_RECIPIENT_INFO :: ^CMSG_KEY_AGREE_RECIPIENT_INFO; | |
CMSG_MAIL_LIST_RECIPIENT_INFO :: struct { | |
dwVersion : DWORD, | |
KeyId : CRYPT_DATA_BLOB, | |
KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
EncryptedKey : CRYPT_DATA_BLOB, | |
Date : FILETIME, | |
pOtherAttr : PCRYPT_ATTRIBUTE_TYPE_VALUE, | |
}; | |
PCMSG_MAIL_LIST_RECIPIENT_INFO :: ^CMSG_MAIL_LIST_RECIPIENT_INFO; | |
CMSG_CMS_RECIPIENT_INFO :: struct { | |
dwRecipientChoice : DWORD, | |
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 :: ^CMSG_CMS_RECIPIENT_INFO; | |
CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA :: struct { | |
cbSize : DWORD, | |
hCryptProv : HCRYPTPROV_LEGACY, | |
dwSignerIndex : DWORD, | |
dwSignerType : DWORD, | |
pvSigner : rawptr, | |
}; | |
PCMSG_CTRL_VERIFY_SIGNATURE_EX_PARA :: ^CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA; | |
CMSG_CTRL_DECRYPT_PARA :: struct { | |
cbSize : DWORD, | |
u : struct #raw_union { | |
hCryptProv : HCRYPTPROV, | |
hNCryptKey : NCRYPT_KEY_HANDLE, | |
}, | |
dwKeySpec : DWORD, | |
dwRecipientIndex : DWORD, | |
}; | |
PCMSG_CTRL_DECRYPT_PARA :: ^CMSG_CTRL_DECRYPT_PARA; | |
CMSG_CTRL_KEY_TRANS_DECRYPT_PARA :: struct { | |
cbSize : DWORD, | |
u : struct #raw_union { | |
hCryptProv : HCRYPTPROV, | |
hNCryptKey : NCRYPT_KEY_HANDLE, | |
}, | |
dwKeySpec : DWORD, | |
pKeyTrans : PCMSG_KEY_TRANS_RECIPIENT_INFO, | |
dwRecipientIndex : DWORD, | |
}; | |
PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA :: ^CMSG_CTRL_KEY_TRANS_DECRYPT_PARA; | |
CMSG_CTRL_KEY_AGREE_DECRYPT_PARA :: struct { | |
cbSize : DWORD, | |
u : struct #raw_union { | |
hCryptProv : HCRYPTPROV, | |
hNCryptKey : NCRYPT_KEY_HANDLE, | |
}, | |
dwKeySpec : DWORD, | |
pKeyAgree : PCMSG_KEY_AGREE_RECIPIENT_INFO, | |
dwRecipientIndex : DWORD, | |
dwRecipientEncryptedKeyIndex : DWORD, | |
OriginatorPublicKey : CRYPT_BIT_BLOB, | |
}; | |
PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA :: ^CMSG_CTRL_KEY_AGREE_DECRYPT_PARA; | |
CMSG_CTRL_MAIL_LIST_DECRYPT_PARA :: struct { | |
cbSize : DWORD, | |
hCryptProv : HCRYPTPROV, | |
pMailList : PCMSG_MAIL_LIST_RECIPIENT_INFO, | |
dwRecipientIndex : DWORD, | |
dwKeyChoice : DWORD, | |
u : struct #raw_union { | |
hKeyEncryptionKey : HCRYPTKEY, | |
pvKeyEncryptionKey : rawptr, | |
}, | |
}; | |
PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA :: ^CMSG_CTRL_MAIL_LIST_DECRYPT_PARA; | |
CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA :: struct { | |
cbSize : DWORD, | |
dwSignerIndex : DWORD, | |
blob : CRYPT_DATA_BLOB, | |
}; | |
PCMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA :: ^CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA; | |
CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA :: struct { | |
cbSize : DWORD, | |
dwSignerIndex : DWORD, | |
dwUnauthAttrIndex : DWORD, | |
}; | |
PCMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA :: ^CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA; | |
PFN_CMSG_ALLOC :: (proc "stdcall" (cb : _c.size_t) -> rawptr); | |
PFN_CMSG_FREE :: proc "stdcall" (pv : rawptr); | |
PFN_CMSG_GEN_ENCRYPT_KEY :: (proc "stdcall" (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 "stdcall" (hCryptProv : HCRYPTPROV, hEncryptKey : HCRYPTKEY, pPublicKeyInfo : PCERT_PUBLIC_KEY_INFO, pbData : PBYTE, pcbData : PDWORD) -> BOOL); | |
PFN_CMSG_IMPORT_ENCRYPT_KEY :: (proc "stdcall" (hCryptProv : HCRYPTPROV, dwKeySpec : DWORD, paiEncrypt : PCRYPT_ALGORITHM_IDENTIFIER, paiPubKey : PCRYPT_ALGORITHM_IDENTIFIER, pbEncodedKey : PBYTE, cbEncodedKey : DWORD, phEncryptKey : ^HCRYPTKEY) -> BOOL); | |
CMSG_CONTENT_ENCRYPT_INFO :: struct { | |
cbSize : DWORD, | |
hCryptProv : HCRYPTPROV_LEGACY, | |
ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvEncryptionAuxInfo : rawptr, | |
cRecipients : DWORD, | |
rgCmsRecipients : PCMSG_RECIPIENT_ENCODE_INFO, | |
pfnAlloc : PFN_CMSG_ALLOC, | |
pfnFree : PFN_CMSG_FREE, | |
dwEncryptFlags : DWORD, | |
u : struct #raw_union { | |
hContentEncryptKey : HCRYPTKEY, | |
hCNGContentEncryptKey : BCRYPT_KEY_HANDLE, | |
}, | |
dwFlags : DWORD, | |
fCNG : BOOL, | |
pbCNGContentEncryptKeyObject : ^BYTE, | |
pbContentEncryptKey : ^BYTE, | |
cbContentEncryptKey : DWORD, | |
}; | |
PCMSG_CONTENT_ENCRYPT_INFO :: ^CMSG_CONTENT_ENCRYPT_INFO; | |
PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY :: (proc "stdcall" (pContentEncryptInfo : PCMSG_CONTENT_ENCRYPT_INFO, dwFlags : DWORD, pvReserved : rawptr) -> BOOL); | |
CMSG_KEY_TRANS_ENCRYPT_INFO :: struct { | |
cbSize : DWORD, | |
dwRecipientIndex : DWORD, | |
KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
EncryptedKey : CRYPT_DATA_BLOB, | |
dwFlags : DWORD, | |
}; | |
PCMSG_KEY_TRANS_ENCRYPT_INFO :: ^CMSG_KEY_TRANS_ENCRYPT_INFO; | |
PFN_CMSG_EXPORT_KEY_TRANS :: (proc "stdcall" (pContentEncryptInfo : PCMSG_CONTENT_ENCRYPT_INFO, pKeyTransEncodeInfo : PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, pKeyTransEncryptInfo : PCMSG_KEY_TRANS_ENCRYPT_INFO, dwFlags : DWORD, pvReserved : rawptr) -> BOOL); | |
CMSG_KEY_AGREE_KEY_ENCRYPT_INFO :: struct { | |
cbSize : DWORD, | |
EncryptedKey : CRYPT_DATA_BLOB, | |
}; | |
PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO :: ^CMSG_KEY_AGREE_KEY_ENCRYPT_INFO; | |
CMSG_KEY_AGREE_ENCRYPT_INFO :: struct { | |
cbSize : DWORD, | |
dwRecipientIndex : DWORD, | |
KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
UserKeyingMaterial : CRYPT_DATA_BLOB, | |
dwOriginatorChoice : DWORD, | |
u : struct #raw_union { | |
OriginatorCertId : CERT_ID, | |
OriginatorPublicKeyInfo : CERT_PUBLIC_KEY_INFO, | |
}, | |
cKeyAgreeKeyEncryptInfo : DWORD, | |
rgpKeyAgreeKeyEncryptInfo : ^PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO, | |
dwFlags : DWORD, | |
}; | |
PCMSG_KEY_AGREE_ENCRYPT_INFO :: ^CMSG_KEY_AGREE_ENCRYPT_INFO; | |
PFN_CMSG_EXPORT_KEY_AGREE :: (proc "stdcall" (pContentEncryptInfo : PCMSG_CONTENT_ENCRYPT_INFO, pKeyAgreeEncodeInfo : PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, pKeyAgreeEncryptInfo : PCMSG_KEY_AGREE_ENCRYPT_INFO, dwFlags : DWORD, pvReserved : rawptr) -> BOOL); | |
CMSG_MAIL_LIST_ENCRYPT_INFO :: struct { | |
cbSize : DWORD, | |
dwRecipientIndex : DWORD, | |
KeyEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
EncryptedKey : CRYPT_DATA_BLOB, | |
dwFlags : DWORD, | |
}; | |
PCMSG_MAIL_LIST_ENCRYPT_INFO :: ^CMSG_MAIL_LIST_ENCRYPT_INFO; | |
PFN_CMSG_EXPORT_MAIL_LIST :: (proc "stdcall" (pContentEncryptInfo : PCMSG_CONTENT_ENCRYPT_INFO, pMailListEncodeInfo : PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, pMailListEncryptInfo : PCMSG_MAIL_LIST_ENCRYPT_INFO, dwFlags : DWORD, pvReserved : rawptr) -> BOOL); | |
PFN_CMSG_IMPORT_KEY_TRANS :: (proc "stdcall" (pContentEncryptionAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, pKeyTransDecryptPara : PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA, dwFlags : DWORD, pvReserved : rawptr, phContentEncryptKey : ^HCRYPTKEY) -> BOOL); | |
PFN_CMSG_IMPORT_KEY_AGREE :: (proc "stdcall" (pContentEncryptionAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, pKeyAgreeDecryptPara : PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA, dwFlags : DWORD, pvReserved : rawptr, phContentEncryptKey : ^HCRYPTKEY) -> BOOL); | |
PFN_CMSG_IMPORT_MAIL_LIST :: (proc "stdcall" (pContentEncryptionAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, pMailListDecryptPara : PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA, dwFlags : DWORD, pvReserved : rawptr, phContentEncryptKey : ^HCRYPTKEY) -> BOOL); | |
CMSG_CNG_CONTENT_DECRYPT_INFO :: struct { | |
cbSize : DWORD, | |
ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pfnAlloc : PFN_CMSG_ALLOC, | |
pfnFree : PFN_CMSG_FREE, | |
hNCryptKey : NCRYPT_KEY_HANDLE, | |
pbContentEncryptKey : ^BYTE, | |
cbContentEncryptKey : DWORD, | |
hCNGContentEncryptKey : BCRYPT_KEY_HANDLE, | |
pbCNGContentEncryptKeyObject : ^BYTE, | |
}; | |
PCMSG_CNG_CONTENT_DECRYPT_INFO :: ^CMSG_CNG_CONTENT_DECRYPT_INFO; | |
PFN_CMSG_CNG_IMPORT_KEY_TRANS :: (proc "stdcall" (pCNGContentDecryptInfo : PCMSG_CNG_CONTENT_DECRYPT_INFO, pKeyTransDecryptPara : PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA, dwFlags : DWORD, pvReserved : rawptr) -> BOOL); | |
PFN_CMSG_CNG_IMPORT_KEY_AGREE :: (proc "stdcall" (pCNGContentDecryptInfo : PCMSG_CNG_CONTENT_DECRYPT_INFO, pKeyAgreeDecryptPara : PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA, dwFlags : DWORD, pvReserved : rawptr) -> BOOL); | |
PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY :: (proc "stdcall" (pCNGContentDecryptInfo : PCMSG_CNG_CONTENT_DECRYPT_INFO, dwFlags : DWORD, pvReserved : rawptr) -> BOOL); | |
HCERTSTORE :: rawptr; | |
CERT_CONTEXT :: struct { | |
dwCertEncodingType : DWORD, | |
pbCertEncoded : ^BYTE, | |
cbCertEncoded : DWORD, | |
pCertInfo : PCERT_INFO, | |
hCertStore : HCERTSTORE, | |
}; | |
PCERT_CONTEXT :: ^CERT_CONTEXT; | |
PCCERT_CONTEXT :: ^CERT_CONTEXT; | |
CRL_CONTEXT :: struct { | |
dwCertEncodingType : DWORD, | |
pbCrlEncoded : ^BYTE, | |
cbCrlEncoded : DWORD, | |
pCrlInfo : PCRL_INFO, | |
hCertStore : HCERTSTORE, | |
}; | |
PCRL_CONTEXT :: ^CRL_CONTEXT; | |
PCCRL_CONTEXT :: ^CRL_CONTEXT; | |
CTL_CONTEXT :: struct { | |
dwMsgAndCertEncodingType : DWORD, | |
pbCtlEncoded : ^BYTE, | |
cbCtlEncoded : DWORD, | |
pCtlInfo : PCTL_INFO, | |
hCertStore : HCERTSTORE, | |
hCryptMsg : HCRYPTMSG, | |
pbCtlContent : ^BYTE, | |
cbCtlContent : DWORD, | |
}; | |
PCTL_CONTEXT :: ^CTL_CONTEXT; | |
PCCTL_CONTEXT :: ^CTL_CONTEXT; | |
/* CertKeyType :: enum { */ | |
CertKeyType :: _c.int; | |
KeyTypeOther :: 0; | |
KeyTypeVirtualSmartCard :: 1; | |
KeyTypePhysicalSmartCard :: 2; | |
KeyTypePassport :: 3; | |
KeyTypePassportRemote :: 4; | |
KeyTypePassportSmartCard :: 5; | |
KeyTypeHardware :: 6; | |
KeyTypeSoftware :: 7; | |
KeyTypeSelfSigned :: 8; | |
/* } */ | |
; | |
CRYPT_KEY_PROV_PARAM :: struct { | |
dwParam : DWORD, | |
pbData : ^BYTE, | |
cbData : DWORD, | |
dwFlags : DWORD, | |
}; | |
PCRYPT_KEY_PROV_PARAM :: ^CRYPT_KEY_PROV_PARAM; | |
CRYPT_KEY_PROV_INFO :: struct { | |
pwszContainerName : LPWSTR, | |
pwszProvName : LPWSTR, | |
dwProvType : DWORD, | |
dwFlags : DWORD, | |
cProvParam : DWORD, | |
rgProvParam : PCRYPT_KEY_PROV_PARAM, | |
dwKeySpec : DWORD, | |
}; | |
PCRYPT_KEY_PROV_INFO :: ^CRYPT_KEY_PROV_INFO; | |
CERT_KEY_CONTEXT :: struct { | |
cbSize : DWORD, | |
u : struct #raw_union { | |
hCryptProv : HCRYPTPROV, | |
hNCryptKey : NCRYPT_KEY_HANDLE, | |
}, | |
dwKeySpec : DWORD, | |
}; | |
PCERT_KEY_CONTEXT :: ^CERT_KEY_CONTEXT; | |
ROOT_INFO_LUID :: struct { | |
LowPart : DWORD, | |
HighPart : LONG, | |
}; | |
PROOT_INFO_LUID :: ^ROOT_INFO_LUID; | |
CRYPT_SMART_CARD_ROOT_INFO :: struct { | |
rgbCardID : [16]BYTE, | |
luid : ROOT_INFO_LUID, | |
}; | |
PCRYPT_SMART_CARD_ROOT_INFO :: ^CRYPT_SMART_CARD_ROOT_INFO; | |
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 :: ^CERT_SYSTEM_STORE_RELOCATE_PARA; | |
CERT_REGISTRY_STORE_CLIENT_GPT_PARA :: struct { | |
hKeyBase : HKEY, | |
pwszRegPath : LPWSTR, | |
}; | |
PCERT_REGISTRY_STORE_CLIENT_GPT_PARA :: ^CERT_REGISTRY_STORE_CLIENT_GPT_PARA; | |
CERT_REGISTRY_STORE_ROAMING_PARA :: struct { | |
hKey : HKEY, | |
pwszStoreDirectory : LPWSTR, | |
}; | |
PCERT_REGISTRY_STORE_ROAMING_PARA :: ^CERT_REGISTRY_STORE_ROAMING_PARA; | |
CERT_LDAP_STORE_OPENED_PARA :: struct { | |
pvLdapSessionHandle : rawptr, | |
pwszLdapUrl : LPCWSTR, | |
}; | |
PCERT_LDAP_STORE_OPENED_PARA :: ^CERT_LDAP_STORE_OPENED_PARA; | |
HCERTSTOREPROV :: rawptr; | |
CERT_STORE_PROV_INFO :: struct { | |
cbSize : DWORD, | |
cStoreProvFunc : DWORD, | |
rgpvStoreProvFunc : ^rawptr, | |
hStoreProv : HCERTSTOREPROV, | |
dwStoreProvFlags : DWORD, | |
hStoreProvFuncAddr2 : HCRYPTOIDFUNCADDR, | |
}; | |
PCERT_STORE_PROV_INFO :: ^CERT_STORE_PROV_INFO; | |
PFN_CERT_DLL_OPEN_STORE_PROV_FUNC :: (proc "stdcall" (lpszStoreProvider : LPCSTR, dwEncodingType : DWORD, hCryptProv : HCRYPTPROV_LEGACY, dwFlags : DWORD, pvPara : rawptr, hCertStore : HCERTSTORE, pStoreProvInfo : PCERT_STORE_PROV_INFO) -> BOOL); | |
PFN_CERT_STORE_PROV_CLOSE :: proc "stdcall" (hStoreProv : HCERTSTOREPROV, dwFlags : DWORD); | |
PFN_CERT_STORE_PROV_READ_CERT :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pStoreCertContext : PCCERT_CONTEXT, dwFlags : DWORD, ppProvCertContext : ^PCCERT_CONTEXT) -> BOOL); | |
PFN_CERT_STORE_PROV_WRITE_CERT :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCertContext : PCCERT_CONTEXT, dwFlags : DWORD) -> BOOL); | |
PFN_CERT_STORE_PROV_DELETE_CERT :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCertContext : PCCERT_CONTEXT, dwFlags : DWORD) -> BOOL); | |
PFN_CERT_STORE_PROV_SET_CERT_PROPERTY :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCertContext : PCCERT_CONTEXT, dwPropId : DWORD, dwFlags : DWORD, pvData : rawptr) -> BOOL); | |
PFN_CERT_STORE_PROV_READ_CRL :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pStoreCrlContext : PCCRL_CONTEXT, dwFlags : DWORD, ppProvCrlContext : ^PCCRL_CONTEXT) -> BOOL); | |
PFN_CERT_STORE_PROV_WRITE_CRL :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCrlContext : PCCRL_CONTEXT, dwFlags : DWORD) -> BOOL); | |
PFN_CERT_STORE_PROV_DELETE_CRL :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCrlContext : PCCRL_CONTEXT, dwFlags : DWORD) -> BOOL); | |
PFN_CERT_STORE_PROV_SET_CRL_PROPERTY :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCrlContext : PCCRL_CONTEXT, dwPropId : DWORD, dwFlags : DWORD, pvData : rawptr) -> BOOL); | |
PFN_CERT_STORE_PROV_READ_CTL :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pStoreCtlContext : PCCTL_CONTEXT, dwFlags : DWORD, ppProvCtlContext : ^PCCTL_CONTEXT) -> BOOL); | |
PFN_CERT_STORE_PROV_WRITE_CTL :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCtlContext : PCCTL_CONTEXT, dwFlags : DWORD) -> BOOL); | |
PFN_CERT_STORE_PROV_DELETE_CTL :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCtlContext : PCCTL_CONTEXT, dwFlags : DWORD) -> BOOL); | |
PFN_CERT_STORE_PROV_SET_CTL_PROPERTY :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCtlContext : PCCTL_CONTEXT, dwPropId : DWORD, dwFlags : DWORD, pvData : rawptr) -> BOOL); | |
PFN_CERT_STORE_PROV_CONTROL :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, dwFlags : DWORD, dwCtrlType : DWORD, pvCtrlPara : rawptr) -> BOOL); | |
CERT_STORE_PROV_FIND_INFO :: struct { | |
cbSize : DWORD, | |
dwMsgAndCertEncodingType : DWORD, | |
dwFindFlags : DWORD, | |
dwFindType : DWORD, | |
pvFindPara : rawptr, | |
}; | |
PCERT_STORE_PROV_FIND_INFO :: ^CERT_STORE_PROV_FIND_INFO; | |
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 "stdcall" (hStoreProv : HCERTSTOREPROV, pFindInfo : PCCERT_STORE_PROV_FIND_INFO, pPrevCertContext : PCCERT_CONTEXT, dwFlags : DWORD, ppvStoreProvFindInfo : ^rawptr, ppProvCertContext : ^PCCERT_CONTEXT) -> BOOL); | |
PFN_CERT_STORE_PROV_FREE_FIND_CERT :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCertContext : PCCERT_CONTEXT, pvStoreProvFindInfo : rawptr, dwFlags : DWORD) -> BOOL); | |
PFN_CERT_STORE_PROV_GET_CERT_PROPERTY :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCertContext : PCCERT_CONTEXT, dwPropId : DWORD, dwFlags : DWORD, pvData : rawptr, pcbData : ^DWORD) -> BOOL); | |
PFN_CERT_STORE_PROV_FIND_CRL :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pFindInfo : PCCERT_STORE_PROV_FIND_INFO, pPrevCrlContext : PCCRL_CONTEXT, dwFlags : DWORD, ppvStoreProvFindInfo : ^rawptr, ppProvCrlContext : ^PCCRL_CONTEXT) -> BOOL); | |
PFN_CERT_STORE_PROV_FREE_FIND_CRL :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCrlContext : PCCRL_CONTEXT, pvStoreProvFindInfo : rawptr, dwFlags : DWORD) -> BOOL); | |
PFN_CERT_STORE_PROV_GET_CRL_PROPERTY :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCrlContext : PCCRL_CONTEXT, dwPropId : DWORD, dwFlags : DWORD, pvData : rawptr, pcbData : ^DWORD) -> BOOL); | |
PFN_CERT_STORE_PROV_FIND_CTL :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pFindInfo : PCCERT_STORE_PROV_FIND_INFO, pPrevCtlContext : PCCTL_CONTEXT, dwFlags : DWORD, ppvStoreProvFindInfo : ^rawptr, ppProvCtlContext : ^PCCTL_CONTEXT) -> BOOL); | |
PFN_CERT_STORE_PROV_FREE_FIND_CTL :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCtlContext : PCCTL_CONTEXT, pvStoreProvFindInfo : rawptr, dwFlags : DWORD) -> BOOL); | |
PFN_CERT_STORE_PROV_GET_CTL_PROPERTY :: (proc "stdcall" (hStoreProv : HCERTSTOREPROV, pCtlContext : PCCTL_CONTEXT, dwPropId : DWORD, dwFlags : DWORD, pvData : rawptr, pcbData : ^DWORD) -> BOOL); | |
CRL_FIND_ISSUED_FOR_PARA :: struct { | |
pSubjectCert : PCCERT_CONTEXT, | |
pIssuerCert : PCCERT_CONTEXT, | |
}; | |
PCRL_FIND_ISSUED_FOR_PARA :: ^CRL_FIND_ISSUED_FOR_PARA; | |
CTL_ANY_SUBJECT_INFO :: struct { | |
SubjectAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
SubjectIdentifier : CRYPT_DATA_BLOB, | |
}; | |
PCTL_ANY_SUBJECT_INFO :: ^CTL_ANY_SUBJECT_INFO; | |
CTL_FIND_USAGE_PARA :: struct { | |
cbSize : DWORD, | |
SubjectUsage : CTL_USAGE, | |
ListIdentifier : CRYPT_DATA_BLOB, | |
pSigner : PCERT_INFO, | |
}; | |
PCTL_FIND_USAGE_PARA :: ^CTL_FIND_USAGE_PARA; | |
CTL_FIND_SUBJECT_PARA :: struct { | |
cbSize : DWORD, | |
pUsagePara : PCTL_FIND_USAGE_PARA, | |
dwSubjectType : DWORD, | |
pvSubject : rawptr, | |
}; | |
PCTL_FIND_SUBJECT_PARA :: ^CTL_FIND_SUBJECT_PARA; | |
PFN_CERT_CREATE_CONTEXT_SORT_FUNC :: (proc "stdcall" (cbTotalEncoded : DWORD, cbRemainEncoded : DWORD, cEntry : DWORD, pvSort : rawptr) -> BOOL); | |
CERT_CREATE_CONTEXT_PARA :: struct { | |
cbSize : DWORD, | |
pfnFree : PFN_CRYPT_FREE, | |
pvFree : rawptr, | |
pfnSort : PFN_CERT_CREATE_CONTEXT_SORT_FUNC, | |
pvSort : rawptr, | |
}; | |
PCERT_CREATE_CONTEXT_PARA :: ^CERT_CREATE_CONTEXT_PARA; | |
CERT_SYSTEM_STORE_INFO :: struct { | |
cbSize : DWORD, | |
}; | |
PCERT_SYSTEM_STORE_INFO :: ^CERT_SYSTEM_STORE_INFO; | |
CERT_PHYSICAL_STORE_INFO :: struct { | |
cbSize : DWORD, | |
pszOpenStoreProvider : LPSTR, | |
dwOpenEncodingType : DWORD, | |
dwOpenFlags : DWORD, | |
OpenParameters : CRYPT_DATA_BLOB, | |
dwFlags : DWORD, | |
dwPriority : DWORD, | |
}; | |
PCERT_PHYSICAL_STORE_INFO :: ^CERT_PHYSICAL_STORE_INFO; | |
PFN_CERT_ENUM_SYSTEM_STORE_LOCATION :: (proc "stdcall" (pwszStoreLocation : LPCWSTR, dwFlags : DWORD, pvReserved : rawptr, pvArg : rawptr) -> BOOL); | |
PFN_CERT_ENUM_SYSTEM_STORE :: (proc "stdcall" (pvSystemStore : rawptr, dwFlags : DWORD, pStoreInfo : PCERT_SYSTEM_STORE_INFO, pvReserved : rawptr, pvArg : rawptr) -> BOOL); | |
PFN_CERT_ENUM_PHYSICAL_STORE :: (proc "stdcall" (pvSystemStore : rawptr, dwFlags : DWORD, pwszStoreName : LPCWSTR, pStoreInfo : PCERT_PHYSICAL_STORE_INFO, pvReserved : rawptr, pvArg : rawptr) -> BOOL); | |
CTL_VERIFY_USAGE_PARA :: struct { | |
cbSize : DWORD, | |
ListIdentifier : CRYPT_DATA_BLOB, | |
cCtlStore : DWORD, | |
rghCtlStore : ^HCERTSTORE, | |
cSignerStore : DWORD, | |
rghSignerStore : ^HCERTSTORE, | |
}; | |
PCTL_VERIFY_USAGE_PARA :: ^CTL_VERIFY_USAGE_PARA; | |
CTL_VERIFY_USAGE_STATUS :: struct { | |
cbSize : DWORD, | |
dwError : DWORD, | |
dwFlags : DWORD, | |
ppCtl : ^PCCTL_CONTEXT, | |
dwCtlEntryIndex : DWORD, | |
ppSigner : ^PCCERT_CONTEXT, | |
dwSignerIndex : DWORD, | |
}; | |
PCTL_VERIFY_USAGE_STATUS :: ^CTL_VERIFY_USAGE_STATUS; | |
CERT_REVOCATION_CRL_INFO :: struct { | |
cbSize : DWORD, | |
pBaseCrlContext : PCCRL_CONTEXT, | |
pDeltaCrlContext : PCCRL_CONTEXT, | |
pCrlEntry : PCRL_ENTRY, | |
fDeltaCrlEntry : BOOL, | |
}; | |
PCERT_REVOCATION_CRL_INFO :: ^CERT_REVOCATION_CRL_INFO; | |
PCERT_REVOCATION_CHAIN_PARA :: ^CERT_REVOCATION_CHAIN_PARA; | |
CERT_REVOCATION_PARA :: struct { | |
cbSize : DWORD, | |
pIssuerCert : PCCERT_CONTEXT, | |
cCertStore : DWORD, | |
rgCertStore : ^HCERTSTORE, | |
hCrlStore : HCERTSTORE, | |
pftTimeToUse : LPFILETIME, | |
}; | |
PCERT_REVOCATION_PARA :: ^CERT_REVOCATION_PARA; | |
CERT_REVOCATION_STATUS :: struct { | |
cbSize : DWORD, | |
dwIndex : DWORD, | |
dwError : DWORD, | |
dwReason : DWORD, | |
fHasFreshnessTime : BOOL, | |
dwFreshnessTime : DWORD, | |
}; | |
PCERT_REVOCATION_STATUS :: ^CERT_REVOCATION_STATUS; | |
CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO :: struct { | |
CertSignHashCNGAlgPropData : CRYPT_DATA_BLOB, | |
CertIssuerPubKeyBitLengthPropData : CRYPT_DATA_BLOB, | |
}; | |
PCRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO :: ^CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO; | |
CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO :: struct { | |
cCNGHashAlgid : DWORD, | |
rgpwszCNGHashAlgid : ^PCWSTR, | |
dwWeakIndex : DWORD, | |
}; | |
PCRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO :: ^CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO; | |
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC :: (proc "stdcall" (dwCertEncodingType : DWORD, pSignatureAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, ppvDecodedSignPara : ^rawptr, ppwszCNGHashAlgid : ^LPWSTR) -> BOOL); | |
PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC :: (proc "stdcall" (hKey : NCRYPT_KEY_HANDLE, dwCertEncodingType : DWORD, pSignatureAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, pvDecodedSignPara : rawptr, pwszCNGPubKeyAlgid : LPCWSTR, pwszCNGHashAlgid : LPCWSTR, pbComputedHash : ^BYTE, cbComputedHash : DWORD, pbSignature : ^BYTE, pcbSignature : ^DWORD) -> BOOL); | |
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC :: (proc "stdcall" (dwCertEncodingType : DWORD, pPubKeyInfo : PCERT_PUBLIC_KEY_INFO, pSignatureAlgorithm : PCRYPT_ALGORITHM_IDENTIFIER, pvDecodedSignPara : rawptr, pwszCNGPubKeyAlgid : LPCWSTR, pwszCNGHashAlgid : LPCWSTR, pbComputedHash : ^BYTE, cbComputedHash : DWORD, pbSignature : ^BYTE, cbSignature : DWORD) -> BOOL); | |
HCRYPTDEFAULTCONTEXT :: rawptr; | |
CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA :: struct { | |
cOID : DWORD, | |
rgpszOID : ^LPSTR, | |
}; | |
PCRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA :: ^CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA; | |
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC :: (proc "stdcall" (hNCryptKey : NCRYPT_KEY_HANDLE, dwCertEncodingType : DWORD, pszPublicKeyObjId : LPSTR, dwFlags : DWORD, pvAuxInfo : rawptr, pInfo : PCERT_PUBLIC_KEY_INFO, pcbInfo : ^DWORD) -> BOOL); | |
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC :: (proc "stdcall" (hBCryptKey : BCRYPT_KEY_HANDLE, dwCertEncodingType : DWORD, pszPublicKeyObjId : LPSTR, dwFlags : DWORD, pvAuxInfo : rawptr, pInfo : PCERT_PUBLIC_KEY_INFO, pcbInfo : ^DWORD) -> BOOL); | |
PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC :: (proc "stdcall" (dwCertEncodingType : DWORD, pInfo : PCERT_PUBLIC_KEY_INFO, dwFlags : DWORD, pvAuxInfo : rawptr, phKey : ^BCRYPT_KEY_HANDLE) -> BOOL); | |
PFN_IMPORT_PRIV_KEY_FUNC :: (proc "stdcall" (hCryptProv : HCRYPTPROV, pPrivateKeyInfo : ^CRYPT_PRIVATE_KEY_INFO, dwFlags : DWORD, pvAuxInfo : rawptr) -> BOOL); | |
PFN_EXPORT_PRIV_KEY_FUNC :: (proc "stdcall" (hCryptProv : HCRYPTPROV, dwKeySpec : DWORD, pszPrivateKeyObjId : LPSTR, dwFlags : DWORD, pvAuxInfo : rawptr, pPrivateKeyInfo : ^CRYPT_PRIVATE_KEY_INFO, pcbPrivateKeyInfo : ^DWORD) -> BOOL); | |
PFN_CRYPT_GET_SIGNER_CERTIFICATE :: (proc "stdcall" (pvGetArg : rawptr, dwCertEncodingType : DWORD, pSignerId : PCERT_INFO, hMsgCertStore : HCERTSTORE) -> PCCERT_CONTEXT); | |
CRYPT_SIGN_MESSAGE_PARA :: struct { | |
cbSize : DWORD, | |
dwMsgEncodingType : DWORD, | |
pSigningCert : PCCERT_CONTEXT, | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvHashAuxInfo : rawptr, | |
cMsgCert : DWORD, | |
rgpMsgCert : ^PCCERT_CONTEXT, | |
cMsgCrl : DWORD, | |
rgpMsgCrl : ^PCCRL_CONTEXT, | |
cAuthAttr : DWORD, | |
rgAuthAttr : PCRYPT_ATTRIBUTE, | |
cUnauthAttr : DWORD, | |
rgUnauthAttr : PCRYPT_ATTRIBUTE, | |
dwFlags : DWORD, | |
dwInnerContentType : DWORD, | |
}; | |
PCRYPT_SIGN_MESSAGE_PARA :: ^CRYPT_SIGN_MESSAGE_PARA; | |
CRYPT_VERIFY_MESSAGE_PARA :: struct { | |
cbSize : DWORD, | |
dwMsgAndCertEncodingType : DWORD, | |
hCryptProv : HCRYPTPROV_LEGACY, | |
pfnGetSignerCertificate : PFN_CRYPT_GET_SIGNER_CERTIFICATE, | |
pvGetArg : rawptr, | |
}; | |
PCRYPT_VERIFY_MESSAGE_PARA :: ^CRYPT_VERIFY_MESSAGE_PARA; | |
CRYPT_ENCRYPT_MESSAGE_PARA :: struct { | |
cbSize : DWORD, | |
dwMsgEncodingType : DWORD, | |
hCryptProv : HCRYPTPROV_LEGACY, | |
ContentEncryptionAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvEncryptionAuxInfo : rawptr, | |
dwFlags : DWORD, | |
dwInnerContentType : DWORD, | |
}; | |
PCRYPT_ENCRYPT_MESSAGE_PARA :: ^CRYPT_ENCRYPT_MESSAGE_PARA; | |
CRYPT_DECRYPT_MESSAGE_PARA :: struct { | |
cbSize : DWORD, | |
dwMsgAndCertEncodingType : DWORD, | |
cCertStore : DWORD, | |
rghCertStore : ^HCERTSTORE, | |
}; | |
PCRYPT_DECRYPT_MESSAGE_PARA :: ^CRYPT_DECRYPT_MESSAGE_PARA; | |
CRYPT_HASH_MESSAGE_PARA :: struct { | |
cbSize : DWORD, | |
dwMsgEncodingType : DWORD, | |
hCryptProv : HCRYPTPROV_LEGACY, | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvHashAuxInfo : rawptr, | |
}; | |
PCRYPT_HASH_MESSAGE_PARA :: ^CRYPT_HASH_MESSAGE_PARA; | |
CRYPT_KEY_SIGN_MESSAGE_PARA :: struct { | |
cbSize : DWORD, | |
dwMsgAndCertEncodingType : DWORD, | |
u : struct #raw_union { | |
hCryptProv : HCRYPTPROV, | |
hNCryptKey : NCRYPT_KEY_HANDLE, | |
}, | |
dwKeySpec : DWORD, | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
pvHashAuxInfo : rawptr, | |
PubKeyAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
}; | |
PCRYPT_KEY_SIGN_MESSAGE_PARA :: ^CRYPT_KEY_SIGN_MESSAGE_PARA; | |
CRYPT_KEY_VERIFY_MESSAGE_PARA :: struct { | |
cbSize : DWORD, | |
dwMsgEncodingType : DWORD, | |
hCryptProv : HCRYPTPROV_LEGACY, | |
}; | |
PCRYPT_KEY_VERIFY_MESSAGE_PARA :: ^CRYPT_KEY_VERIFY_MESSAGE_PARA; | |
CERT_CHAIN :: struct { | |
cCerts : DWORD, | |
certs : PCERT_BLOB, | |
keyLocatorInfo : CRYPT_KEY_PROV_INFO, | |
}; | |
PCERT_CHAIN :: ^CERT_CHAIN; | |
HCRYPTASYNC :: HANDLE; | |
PHCRYPTASYNC :: ^HANDLE; | |
PFN_CRYPT_ASYNC_PARAM_FREE_FUNC :: proc "stdcall" (pszParamOid : LPSTR, pvParam : LPVOID); | |
CRYPT_BLOB_ARRAY :: struct { | |
cBlob : DWORD, | |
rgBlob : PCRYPT_DATA_BLOB, | |
}; | |
PCRYPT_BLOB_ARRAY :: ^CRYPT_BLOB_ARRAY; | |
CRYPT_CREDENTIALS :: struct { | |
cbSize : DWORD, | |
pszCredentialsOid : LPCSTR, | |
pvCredentials : LPVOID, | |
}; | |
PCRYPT_CREDENTIALS :: ^CRYPT_CREDENTIALS; | |
CRYPT_PASSWORD_CREDENTIALSA :: struct { | |
cbSize : DWORD, | |
pszUsername : LPSTR, | |
pszPassword : LPSTR, | |
}; | |
PCRYPT_PASSWORD_CREDENTIALSA :: ^CRYPT_PASSWORD_CREDENTIALSA; | |
CRYPT_PASSWORD_CREDENTIALSW :: struct { | |
cbSize : DWORD, | |
pszUsername : LPWSTR, | |
pszPassword : LPWSTR, | |
}; | |
PCRYPT_PASSWORD_CREDENTIALSW :: ^CRYPT_PASSWORD_CREDENTIALSW; | |
CRYPT_PASSWORD_CREDENTIALS :: CRYPT_PASSWORD_CREDENTIALSA; | |
PCRYPT_PASSWORD_CREDENTIALS :: PCRYPT_PASSWORD_CREDENTIALSA; | |
PFN_FREE_ENCODED_OBJECT_FUNC :: proc "stdcall" (pszObjectOid : LPCSTR, pObject : PCRYPT_BLOB_ARRAY, pvFreeContext : LPVOID); | |
CRYPTNET_URL_CACHE_PRE_FETCH_INFO :: struct { | |
cbSize : DWORD, | |
dwObjectType : DWORD, | |
dwError : DWORD, | |
dwReserved : DWORD, | |
ThisUpdateTime : FILETIME, | |
NextUpdateTime : FILETIME, | |
PublishTime : FILETIME, | |
}; | |
PCRYPTNET_URL_CACHE_PRE_FETCH_INFO :: ^CRYPTNET_URL_CACHE_PRE_FETCH_INFO; | |
CRYPTNET_URL_CACHE_FLUSH_INFO :: struct { | |
cbSize : DWORD, | |
dwExemptSeconds : DWORD, | |
ExpireTime : FILETIME, | |
}; | |
PCRYPTNET_URL_CACHE_FLUSH_INFO :: ^CRYPTNET_URL_CACHE_FLUSH_INFO; | |
CRYPTNET_URL_CACHE_RESPONSE_INFO :: struct { | |
cbSize : DWORD, | |
wResponseType : WORD, | |
wResponseFlags : WORD, | |
LastModifiedTime : FILETIME, | |
dwMaxAge : DWORD, | |
pwszETag : LPCWSTR, | |
dwProxyId : DWORD, | |
}; | |
PCRYPTNET_URL_CACHE_RESPONSE_INFO :: ^CRYPTNET_URL_CACHE_RESPONSE_INFO; | |
CRYPT_RETRIEVE_AUX_INFO :: struct { | |
cbSize : DWORD, | |
pLastSyncTime : ^FILETIME, | |
dwMaxUrlRetrievalByteCount : DWORD, | |
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 : DWORD, | |
ppwszErrorResponseHeaders : ^LPWSTR, | |
ppErrorContentBlob : ^PCRYPT_DATA_BLOB, | |
}; | |
PCRYPT_RETRIEVE_AUX_INFO :: ^CRYPT_RETRIEVE_AUX_INFO; | |
PFN_CRYPT_CANCEL_RETRIEVAL :: (proc "stdcall" (dwFlags : DWORD, pvArg : rawptr) -> BOOL); | |
PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC :: proc "stdcall" (pvCompletion : LPVOID, dwCompletionCode : DWORD, pszUrl : LPCSTR, pszObjectOid : LPSTR, pvObject : LPVOID); | |
CRYPT_ASYNC_RETRIEVAL_COMPLETION :: struct { | |
pfnCompletion : PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC, | |
pvCompletion : LPVOID, | |
}; | |
PCRYPT_ASYNC_RETRIEVAL_COMPLETION :: ^CRYPT_ASYNC_RETRIEVAL_COMPLETION; | |
PFN_CANCEL_ASYNC_RETRIEVAL_FUNC :: (proc "stdcall" (hAsyncRetrieve : HCRYPTASYNC) -> BOOL); | |
CRYPT_URL_ARRAY :: struct { | |
cUrl : DWORD, | |
rgwszUrl : ^LPWSTR, | |
}; | |
PCRYPT_URL_ARRAY :: ^CRYPT_URL_ARRAY; | |
CRYPT_URL_INFO :: struct { | |
cbSize : DWORD, | |
dwSyncDeltaTime : DWORD, | |
cGroup : DWORD, | |
rgcGroupEntry : ^DWORD, | |
}; | |
PCRYPT_URL_INFO :: ^CRYPT_URL_INFO; | |
CERT_CRL_CONTEXT_PAIR :: struct { | |
pCertContext : PCCERT_CONTEXT, | |
pCrlContext : PCCRL_CONTEXT, | |
}; | |
PCERT_CRL_CONTEXT_PAIR :: ^CERT_CRL_CONTEXT_PAIR; | |
PCCERT_CRL_CONTEXT_PAIR :: ^CERT_CRL_CONTEXT_PAIR; | |
CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO :: struct { | |
cbSize : DWORD, | |
iDeltaCrlIndicator : _c.int, | |
pftCacheResync : LPFILETIME, | |
pLastSyncTime : LPFILETIME, | |
pMaxAgeTime : LPFILETIME, | |
pChainPara : PCERT_REVOCATION_CHAIN_PARA, | |
pDeltaCrlIndicator : PCRYPT_INTEGER_BLOB, | |
}; | |
PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO :: ^CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO; | |
PFN_CRYPT_ENUM_KEYID_PROP :: (proc "stdcall" (pKeyIdentifier : ^CRYPT_HASH_BLOB, dwFlags : DWORD, pvReserved : rawptr, pvArg : rawptr, cProp : DWORD, rgdwPropId : ^DWORD, rgpvData : ^rawptr, rgcbData : ^DWORD) -> BOOL); | |
HCERTCHAINENGINE :: HANDLE; | |
CERT_CHAIN_ENGINE_CONFIG :: struct { | |
cbSize : DWORD, | |
hRestrictedRoot : HCERTSTORE, | |
hRestrictedTrust : HCERTSTORE, | |
hRestrictedOther : HCERTSTORE, | |
cAdditionalStore : DWORD, | |
rghAdditionalStore : ^HCERTSTORE, | |
dwFlags : DWORD, | |
dwUrlRetrievalTimeout : DWORD, | |
MaximumCachedCertificates : DWORD, | |
CycleDetectionModulus : DWORD, | |
hExclusiveRoot : HCERTSTORE, | |
hExclusiveTrustedPeople : HCERTSTORE, | |
dwExclusiveFlags : DWORD, | |
}; | |
PCERT_CHAIN_ENGINE_CONFIG :: ^CERT_CHAIN_ENGINE_CONFIG; | |
CERT_TRUST_STATUS :: struct { | |
dwErrorStatus : DWORD, | |
dwInfoStatus : DWORD, | |
}; | |
PCERT_TRUST_STATUS :: ^CERT_TRUST_STATUS; | |
CERT_REVOCATION_INFO :: struct { | |
cbSize : DWORD, | |
dwRevocationResult : DWORD, | |
pszRevocationOid : LPCSTR, | |
pvOidSpecificInfo : LPVOID, | |
fHasFreshnessTime : BOOL, | |
dwFreshnessTime : DWORD, | |
pCrlInfo : PCERT_REVOCATION_CRL_INFO, | |
}; | |
PCERT_REVOCATION_INFO :: ^CERT_REVOCATION_INFO; | |
CERT_TRUST_LIST_INFO :: struct { | |
cbSize : DWORD, | |
pCtlEntry : PCTL_ENTRY, | |
pCtlContext : PCCTL_CONTEXT, | |
}; | |
PCERT_TRUST_LIST_INFO :: ^CERT_TRUST_LIST_INFO; | |
CERT_CHAIN_ELEMENT :: struct { | |
cbSize : DWORD, | |
pCertContext : PCCERT_CONTEXT, | |
TrustStatus : CERT_TRUST_STATUS, | |
pRevocationInfo : PCERT_REVOCATION_INFO, | |
pIssuanceUsage : PCERT_ENHKEY_USAGE, | |
pApplicationUsage : PCERT_ENHKEY_USAGE, | |
pwszExtendedErrorInfo : LPCWSTR, | |
}; | |
PCERT_CHAIN_ELEMENT :: ^CERT_CHAIN_ELEMENT; | |
PCCERT_CHAIN_ELEMENT :: ^CERT_CHAIN_ELEMENT; | |
CERT_SIMPLE_CHAIN :: struct { | |
cbSize : DWORD, | |
TrustStatus : CERT_TRUST_STATUS, | |
cElement : DWORD, | |
rgpElement : ^PCERT_CHAIN_ELEMENT, | |
pTrustListInfo : PCERT_TRUST_LIST_INFO, | |
fHasRevocationFreshnessTime : BOOL, | |
dwRevocationFreshnessTime : DWORD, | |
}; | |
PCERT_SIMPLE_CHAIN :: ^CERT_SIMPLE_CHAIN; | |
PCCERT_SIMPLE_CHAIN :: ^CERT_SIMPLE_CHAIN; | |
PCERT_CHAIN_CONTEXT :: ^CERT_CHAIN_CONTEXT; | |
PCCERT_CHAIN_CONTEXT :: ^CERT_CHAIN_CONTEXT; | |
CERT_CHAIN_CONTEXT :: struct { | |
cbSize : DWORD, | |
TrustStatus : CERT_TRUST_STATUS, | |
cChain : DWORD, | |
rgpChain : ^PCERT_SIMPLE_CHAIN, | |
cLowerQualityChainContext : DWORD, | |
rgpLowerQualityChainContext : ^PCCERT_CHAIN_CONTEXT, | |
fHasRevocationFreshnessTime : BOOL, | |
dwRevocationFreshnessTime : DWORD, | |
dwCreateFlags : DWORD, | |
ChainId : GUID, | |
}; | |
CERT_USAGE_MATCH :: struct { | |
dwType : DWORD, | |
Usage : CERT_ENHKEY_USAGE, | |
}; | |
PCERT_USAGE_MATCH :: ^CERT_USAGE_MATCH; | |
CTL_USAGE_MATCH :: struct { | |
dwType : DWORD, | |
Usage : CTL_USAGE, | |
}; | |
PCTL_USAGE_MATCH :: ^CTL_USAGE_MATCH; | |
CERT_CHAIN_PARA :: struct { | |
cbSize : DWORD, | |
RequestedUsage : CERT_USAGE_MATCH, | |
}; | |
PCERT_CHAIN_PARA :: ^CERT_CHAIN_PARA; | |
CERT_REVOCATION_CHAIN_PARA :: struct { | |
cbSize : DWORD, | |
hChainEngine : HCERTCHAINENGINE, | |
hAdditionalStore : HCERTSTORE, | |
dwChainFlags : DWORD, | |
dwUrlRetrievalTimeout : DWORD, | |
pftCurrentTime : LPFILETIME, | |
pftCacheResync : LPFILETIME, | |
cbMaxUrlRetrievalByteCount : DWORD, | |
}; | |
CRL_REVOCATION_INFO :: struct { | |
pCrlEntry : PCRL_ENTRY, | |
pCrlContext : PCCRL_CONTEXT, | |
pCrlIssuerChain : PCCERT_CHAIN_CONTEXT, | |
}; | |
PCRL_REVOCATION_INFO :: ^CRL_REVOCATION_INFO; | |
PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK :: (proc "stdcall" (pCert : PCCERT_CONTEXT, pvFindArg : rawptr) -> BOOL); | |
CERT_CHAIN_FIND_ISSUER_PARA :: struct { | |
cbSize : DWORD, | |
pszUsageIdentifier : LPCSTR, | |
dwKeySpec : DWORD, | |
dwAcquirePrivateKeyFlags : DWORD, | |
cIssuer : DWORD, | |
rgIssuer : ^CERT_NAME_BLOB, | |
pfnFindCallback : PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK, | |
pvFindArg : rawptr, | |
}; | |
PCERT_CHAIN_FIND_ISSUER_PARA :: ^CERT_CHAIN_FIND_ISSUER_PARA; | |
CERT_CHAIN_FIND_BY_ISSUER_PARA :: struct { | |
cbSize : DWORD, | |
pszUsageIdentifier : LPCSTR, | |
dwKeySpec : DWORD, | |
dwAcquirePrivateKeyFlags : DWORD, | |
cIssuer : DWORD, | |
rgIssuer : ^CERT_NAME_BLOB, | |
pfnFindCallback : PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK, | |
pvFindArg : rawptr, | |
}; | |
PCERT_CHAIN_FIND_BY_ISSUER_PARA :: ^CERT_CHAIN_FIND_BY_ISSUER_PARA; | |
CERT_CHAIN_POLICY_PARA :: struct { | |
cbSize : DWORD, | |
dwFlags : DWORD, | |
pvExtraPolicyPara : rawptr, | |
}; | |
PCERT_CHAIN_POLICY_PARA :: ^CERT_CHAIN_POLICY_PARA; | |
CERT_CHAIN_POLICY_STATUS :: struct { | |
cbSize : DWORD, | |
dwError : DWORD, | |
lChainIndex : LONG, | |
lElementIndex : LONG, | |
pvExtraPolicyStatus : rawptr, | |
}; | |
PCERT_CHAIN_POLICY_STATUS :: ^CERT_CHAIN_POLICY_STATUS; | |
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
cbSize : DWORD, | |
dwRegPolicySettings : DWORD, | |
pSignerInfo : PCMSG_SIGNER_INFO, | |
}; | |
PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA :: ^AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA; | |
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS :: struct { | |
cbSize : DWORD, | |
fCommercial : BOOL, | |
}; | |
PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS :: ^AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS; | |
AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
cbSize : DWORD, | |
dwRegPolicySettings : DWORD, | |
fCommercial : BOOL, | |
}; | |
PAUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA :: ^AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA; | |
HTTPSPolicyCallbackData :: struct { | |
u : struct #raw_union { | |
cbStruct : DWORD, | |
cbSize : DWORD, | |
}, | |
dwAuthType : DWORD, | |
fdwChecks : DWORD, | |
pwszServerName : ^WCHAR, | |
}; | |
PHTTPSPolicyCallbackData :: ^HTTPSPolicyCallbackData; | |
SSL_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
u : struct #raw_union { | |
cbStruct : DWORD, | |
cbSize : DWORD, | |
}, | |
dwAuthType : DWORD, | |
fdwChecks : DWORD, | |
pwszServerName : ^WCHAR, | |
}; | |
PSSL_EXTRA_CERT_CHAIN_POLICY_PARA :: ^SSL_EXTRA_CERT_CHAIN_POLICY_PARA; | |
EV_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
cbSize : DWORD, | |
dwRootProgramQualifierFlags : DWORD, | |
}; | |
PEV_EXTRA_CERT_CHAIN_POLICY_PARA :: ^EV_EXTRA_CERT_CHAIN_POLICY_PARA; | |
EV_EXTRA_CERT_CHAIN_POLICY_STATUS :: struct { | |
cbSize : DWORD, | |
dwQualifiers : DWORD, | |
dwIssuanceUsageIndex : DWORD, | |
}; | |
PEV_EXTRA_CERT_CHAIN_POLICY_STATUS :: ^EV_EXTRA_CERT_CHAIN_POLICY_STATUS; | |
SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS :: struct { | |
cbSize : DWORD, | |
dwErrorLevel : DWORD, | |
dwErrorCategory : DWORD, | |
dwReserved : DWORD, | |
wszErrorText : [256]WCHAR, | |
}; | |
PSSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS :: ^SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS; | |
SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
cbSize : DWORD, | |
dwReserved : DWORD, | |
pwszServerName : LPWSTR, | |
rgpszHpkpValue : [2]LPSTR, | |
}; | |
PSSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA :: ^SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA; | |
SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA :: struct { | |
cbSize : DWORD, | |
dwReserved : DWORD, | |
pwszServerName : PCWSTR, | |
}; | |
PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA :: ^SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA; | |
SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS :: struct { | |
cbSize : DWORD, | |
lError : LONG, | |
wszErrorText : [512]WCHAR, | |
}; | |
PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS :: ^SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS; | |
CRYPT_PKCS12_PBE_PARAMS :: struct { | |
iIterations : _c.int, | |
cbSalt : ULONG, | |
}; | |
PKCS12_PBES2_EXPORT_PARAMS :: struct { | |
dwSize : DWORD, | |
hNcryptDescriptor : PVOID, | |
pwszPbes2Alg : LPWSTR, | |
}; | |
PPKCS12_PBES2_EXPORT_PARAMS :: ^PKCS12_PBES2_EXPORT_PARAMS; | |
HCERT_SERVER_OCSP_RESPONSE :: rawptr; | |
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 : DWORD, | |
pbEncodedOcspResponse : ^BYTE, | |
cbEncodedOcspResponse : DWORD, | |
}; | |
PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK :: proc "stdcall" (pChainContext : PCCERT_CHAIN_CONTEXT, pServerOcspResponseContext : PCCERT_SERVER_OCSP_RESPONSE_CONTEXT, pNewCrlContext : PCCRL_CONTEXT, pPrevCrlContext : PCCRL_CONTEXT, pvArg : PVOID, dwWriteOcspFileError : DWORD); | |
CERT_SERVER_OCSP_RESPONSE_OPEN_PARA :: struct { | |
cbSize : DWORD, | |
dwFlags : DWORD, | |
pcbUsedSize : ^DWORD, | |
pwszOcspDirectory : PWSTR, | |
pfnUpdateCallback : PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK, | |
pvUpdateCallbackArg : PVOID, | |
}; | |
PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA :: ^CERT_SERVER_OCSP_RESPONSE_OPEN_PARA; | |
CERT_SELECT_CHAIN_PARA :: struct { | |
hChainEngine : HCERTCHAINENGINE, | |
pTime : PFILETIME, | |
hAdditionalStore : HCERTSTORE, | |
pChainPara : PCERT_CHAIN_PARA, | |
dwFlags : DWORD, | |
}; | |
PCERT_SELECT_CHAIN_PARA :: ^CERT_SELECT_CHAIN_PARA; | |
PCCERT_SELECT_CHAIN_PARA :: ^CERT_SELECT_CHAIN_PARA; | |
CERT_SELECT_CRITERIA :: struct { | |
dwType : DWORD, | |
cPara : DWORD, | |
ppPara : ^rawptr, | |
}; | |
PCERT_SELECT_CRITERIA :: ^CERT_SELECT_CRITERIA; | |
PCCERT_SELECT_CRITERIA :: ^CERT_SELECT_CRITERIA; | |
CRYPT_TIMESTAMP_REQUEST :: struct { | |
dwVersion : DWORD, | |
HashAlgorithm : CRYPT_ALGORITHM_IDENTIFIER, | |
HashedMessage : CRYPT_DER_BLOB, | |
pszTSAPolicyId : LPSTR, | |
Nonce : CRYPT_INTEGER_BLOB, | |
fCertReq : BOOL, | |
cExtension : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
PCRYPT_TIMESTAMP_REQUEST :: ^CRYPT_TIMESTAMP_REQUEST; | |
CRYPT_TIMESTAMP_RESPONSE :: struct { | |
dwStatus : DWORD, | |
cFreeText : DWORD, | |
rgFreeText : ^LPWSTR, | |
FailureInfo : CRYPT_BIT_BLOB, | |
ContentInfo : CRYPT_DER_BLOB, | |
}; | |
PCRYPT_TIMESTAMP_RESPONSE :: ^CRYPT_TIMESTAMP_RESPONSE; | |
CRYPT_TIMESTAMP_ACCURACY :: struct { | |
dwSeconds : DWORD, | |
dwMillis : DWORD, | |
dwMicros : DWORD, | |
}; | |
PCRYPT_TIMESTAMP_ACCURACY :: ^CRYPT_TIMESTAMP_ACCURACY; | |
CRYPT_TIMESTAMP_INFO :: struct { | |
dwVersion : DWORD, | |
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 : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
PCRYPT_TIMESTAMP_INFO :: ^CRYPT_TIMESTAMP_INFO; | |
CRYPT_TIMESTAMP_CONTEXT :: struct { | |
cbEncoded : DWORD, | |
pbEncoded : ^BYTE, | |
pTimeStamp : PCRYPT_TIMESTAMP_INFO, | |
}; | |
PCRYPT_TIMESTAMP_CONTEXT :: ^CRYPT_TIMESTAMP_CONTEXT; | |
CRYPT_TIMESTAMP_PARA :: struct { | |
pszTSAPolicyId : LPCSTR, | |
fRequestCerts : BOOL, | |
Nonce : CRYPT_INTEGER_BLOB, | |
cExtension : DWORD, | |
rgExtension : PCERT_EXTENSION, | |
}; | |
PCRYPT_TIMESTAMP_PARA :: ^CRYPT_TIMESTAMP_PARA; | |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH :: (proc "stdcall" (pContext : LPVOID, rgIdentifierOrNameList : ^PCERT_NAME_BLOB, dwIdentifierOrNameListCount : DWORD) -> BOOL); | |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET :: (proc "stdcall" (pPluginContext : LPVOID, pIdentifier : PCRYPT_DATA_BLOB, dwNameType : DWORD, pNameBlob : PCERT_NAME_BLOB, ppbContent : ^PBYTE, pcbContent : ^DWORD, ppwszPassword : ^PCWSTR, ppIdentifier : ^PCRYPT_DATA_BLOB) -> BOOL); | |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE :: proc "stdcall" (dwReason : DWORD, pPluginContext : LPVOID); | |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD :: proc "stdcall" (pPluginContext : LPVOID, pwszPassword : PCWSTR); | |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE :: proc "stdcall" (pPluginContext : LPVOID, pbData : PBYTE); | |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER :: proc "stdcall" (pPluginContext : LPVOID, pIdentifier : PCRYPT_DATA_BLOB); | |
CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE :: struct { | |
cbSize : DWORD, | |
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 :: ^CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE; | |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE :: (proc "stdcall" (pfnFlush : PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH, pContext : LPVOID, pdwExpectedObjectCount : ^DWORD, ppFuncTable : ^PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE, ppPluginContext : ^rawptr) -> BOOL); | |
PFN_CERT_IS_WEAK_HASH :: (proc "stdcall" (dwHashUseType : DWORD, pwszCNGHashAlgid : LPCWSTR, dwChainFlags : DWORD, pSignerChainContext : PCCERT_CHAIN_CONTEXT, pTimeStamp : LPFILETIME, pwszFileName : LPCWSTR) -> BOOL); | |
CRYPTPROTECT_PROMPTSTRUCT :: struct { | |
cbSize : DWORD, | |
dwPromptFlags : DWORD, | |
hwndApp : HWND, | |
szPrompt : LPCWSTR, | |
}; | |
PCRYPTPROTECT_PROMPTSTRUCT :: ^CRYPTPROTECT_PROMPTSTRUCT; | |
EFS_CERTIFICATE_BLOB :: struct { | |
dwCertEncodingType : DWORD, | |
cbData : DWORD, | |
pbData : PBYTE, | |
}; | |
PEFS_CERTIFICATE_BLOB :: ^EFS_CERTIFICATE_BLOB; | |
EFS_HASH_BLOB :: struct { | |
cbData : DWORD, | |
pbData : PBYTE, | |
}; | |
PEFS_HASH_BLOB :: ^EFS_HASH_BLOB; | |
EFS_RPC_BLOB :: struct { | |
cbData : DWORD, | |
pbData : PBYTE, | |
}; | |
PEFS_RPC_BLOB :: ^EFS_RPC_BLOB; | |
EFS_PIN_BLOB :: struct { | |
cbPadding : DWORD, | |
cbData : DWORD, | |
pbData : PBYTE, | |
}; | |
PEFS_PIN_BLOB :: ^EFS_PIN_BLOB; | |
EFS_KEY_INFO :: struct { | |
dwVersion : DWORD, | |
Entropy : ULONG, | |
Algorithm : ALG_ID, | |
KeyLength : ULONG, | |
}; | |
PEFS_KEY_INFO :: ^EFS_KEY_INFO; | |
EFS_COMPATIBILITY_INFO :: struct { | |
EfsVersion : DWORD, | |
}; | |
PEFS_COMPATIBILITY_INFO :: ^EFS_COMPATIBILITY_INFO; | |
EFS_VERSION_INFO :: struct { | |
EfsVersion : DWORD, | |
SubVersion : DWORD, | |
}; | |
PEFS_VERSION_INFO :: ^EFS_VERSION_INFO; | |
EFS_DECRYPTION_STATUS_INFO :: struct { | |
dwDecryptionError : DWORD, | |
dwHashOffset : DWORD, | |
cbHash : DWORD, | |
}; | |
PEFS_DECRYPTION_STATUS_INFO :: ^EFS_DECRYPTION_STATUS_INFO; | |
EFS_ENCRYPTION_STATUS_INFO :: struct { | |
bHasCurrentKey : BOOL, | |
dwEncryptionError : DWORD, | |
}; | |
PEFS_ENCRYPTION_STATUS_INFO :: ^EFS_ENCRYPTION_STATUS_INFO; | |
ENCRYPTION_CERTIFICATE :: struct { | |
cbTotalLength : DWORD, | |
pUserSid : ^SID, | |
pCertBlob : PEFS_CERTIFICATE_BLOB, | |
}; | |
PENCRYPTION_CERTIFICATE :: ^ENCRYPTION_CERTIFICATE; | |
ENCRYPTION_CERTIFICATE_HASH :: struct { | |
cbTotalLength : DWORD, | |
pUserSid : ^SID, | |
pHash : PEFS_HASH_BLOB, | |
lpDisplayInformation : LPWSTR, | |
}; | |
PENCRYPTION_CERTIFICATE_HASH :: ^ENCRYPTION_CERTIFICATE_HASH; | |
ENCRYPTION_CERTIFICATE_HASH_LIST :: struct { | |
nCert_Hash : DWORD, | |
pUsers : ^PENCRYPTION_CERTIFICATE_HASH, | |
}; | |
PENCRYPTION_CERTIFICATE_HASH_LIST :: ^ENCRYPTION_CERTIFICATE_HASH_LIST; | |
ENCRYPTION_CERTIFICATE_LIST :: struct { | |
nUsers : DWORD, | |
pUsers : ^PENCRYPTION_CERTIFICATE, | |
}; | |
PENCRYPTION_CERTIFICATE_LIST :: ^ENCRYPTION_CERTIFICATE_LIST; | |
ENCRYPTED_FILE_METADATA_SIGNATURE :: struct { | |
dwEfsAccessType : DWORD, | |
pCertificatesAdded : PENCRYPTION_CERTIFICATE_HASH_LIST, | |
pEncryptionCertificate : PENCRYPTION_CERTIFICATE, | |
pEfsStreamSignature : PEFS_RPC_BLOB, | |
}; | |
PENCRYPTED_FILE_METADATA_SIGNATURE :: ^ENCRYPTED_FILE_METADATA_SIGNATURE; | |
ENCRYPTION_PROTECTOR :: struct { | |
cbTotalLength : DWORD, | |
pUserSid : ^SID, | |
lpProtectorDescriptor : LPWSTR, | |
}; | |
PENCRYPTION_PROTECTOR :: ^ENCRYPTION_PROTECTOR; | |
ENCRYPTION_PROTECTOR_LIST :: struct { | |
nProtectors : DWORD, | |
pProtectors : ^PENCRYPTION_PROTECTOR, | |
}; | |
PENCRYPTION_PROTECTOR_LIST :: ^ENCRYPTION_PROTECTOR_LIST; | |
RPC_IMPORT_CONTEXT_P :: struct { | |
LookupContext : RPC_NS_HANDLE, | |
ProposedHandle : RPC_BINDING_HANDLE, | |
Bindings : ^RPC_BINDING_VECTOR, | |
}; | |
PRPC_IMPORT_CONTEXT_P :: ^RPC_IMPORT_CONTEXT_P; | |
byte :: _c.uchar; | |
cs_byte :: byte; | |
boolean :: _c.uchar; | |
NDR_CCONTEXT :: rawptr; | |
NDR_SCONTEXT :: ^struct { | |
pad : [2]rawptr, | |
userContext : rawptr, | |
}; | |
NDR_RUNDOWN :: proc "stdcall" (context_ : rawptr); | |
NDR_NOTIFY_ROUTINE :: proc "stdcall" (); | |
NDR_NOTIFY2_ROUTINE :: proc "stdcall" (flag : boolean); | |
SCONTEXT_QUEUE :: struct { | |
NumberOfObjects : _c.ulong, | |
ArrayOfObjects : ^NDR_SCONTEXT, | |
}; | |
PSCONTEXT_QUEUE :: ^SCONTEXT_QUEUE; | |
error_status_t :: _c.ulong; | |
RPC_BUFPTR :: ^_c.uchar; | |
RPC_LENGTH :: _c.ulong; | |
EXPR_EVAL :: proc "stdcall" (^MIDL_STUB_MESSAGE); | |
PFORMAT_STRING :: ^_c.uchar; | |
ARRAY_INFO :: struct { | |
Dimension : _c.long, | |
BufferConformanceMark : ^_c.ulong, | |
BufferVarianceMark : ^_c.ulong, | |
MaxCountArray : ^_c.ulong, | |
OffsetArray : ^_c.ulong, | |
ActualCountArray : ^_c.ulong, | |
}; | |
PARRAY_INFO :: ^ARRAY_INFO; | |
PNDR_ASYNC_MESSAGE :: ^_NDR_ASYNC_MESSAGE; | |
PNDR_CORRELATION_INFO :: ^_NDR_CORRELATION_INFO; | |
; | |
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 : ^_c.uchar, | |
BufferStart : ^_c.uchar, | |
BufferEnd : ^_c.uchar, | |
BufferMark : ^_c.uchar, | |
BufferLength : _c.ulong, | |
MemorySize : _c.ulong, | |
Memory : ^_c.uchar, | |
IsClient : _c.uchar, | |
Pad : _c.uchar, | |
uFlags2 : _c.ushort, | |
ReuseBuffer : _c.int, | |
pAllocAllNodesContext : ^NDR_ALLOC_ALL_NODES_CONTEXT, | |
pPointerQueueState : ^NDR_POINTER_QUEUE_STATE, | |
IgnoreEmbeddedPointers : _c.int, | |
PointerBufferMark : ^_c.uchar, | |
CorrDespIncrement : _c.uchar, | |
uFlags : _c.uchar, | |
UniquePtrCount : _c.ushort, | |
MaxCount : ULONG_PTR, | |
Offset : _c.ulong, | |
ActualCount : _c.ulong, | |
pfnAllocate : (proc "stdcall" (_c.size_t) -> rawptr), | |
pfnFree : proc "stdcall" (rawptr), | |
StackTop : ^_c.uchar, | |
pPresentedType : ^_c.uchar, | |
pTransmitType : ^_c.uchar, | |
SavedHandle : handle_t, | |
StubDesc : ^MIDL_STUB_DESC, | |
FullPtrXlatTables : ^FULL_PTR_XLAT_TABLES, | |
FullPtrRefId : _c.ulong, | |
PointerLength : _c.ulong, | |
using _ : bit_field { | |
fInDontFree : 1, | |
fDontCallFreeInst : 1, | |
fUnused1 : 1, | |
fHasReturn : 1, | |
fHasExtensions : 1, | |
fHasNewCorrDesc : 1, | |
fIsIn : 1, | |
fIsOut : 1, | |
fIsOicf : 1, | |
fBufferValid : 1, | |
fHasMemoryValidateCallback : 1, | |
fInFree : 1, | |
fNeedMCCP : 1, | |
fUnused2 : 3, | |
fUnused3 : 16, | |
}, | |
dwDestContext : _c.ulong, | |
pvDestContext : rawptr, | |
SavedContextHandles : ^NDR_SCONTEXT, | |
ParamNumber : _c.long, | |
pRpcChannelBuffer : ^IRpcChannelBuffer, | |
pArrayInfo : PARRAY_INFO, | |
SizePtrCountArray : ^_c.ulong, | |
SizePtrOffsetArray : ^_c.ulong, | |
SizePtrLengthArray : ^_c.ulong, | |
pArgQueue : rawptr, | |
dwStubPhase : _c.ulong, | |
LowStackMark : rawptr, | |
pAsyncMsg : PNDR_ASYNC_MESSAGE, | |
pCorrInfo : PNDR_CORRELATION_INFO, | |
pCorrMemory : ^_c.uchar, | |
pMemoryList : rawptr, | |
pCSInfo : INT_PTR, | |
ConformanceMark : ^_c.uchar, | |
VarianceMark : ^_c.uchar, | |
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 :: ^MIDL_STUB_MESSAGE; | |
; | |
GENERIC_BINDING_ROUTINE :: (proc "stdcall" (rawptr) -> rawptr); | |
GENERIC_UNBIND_ROUTINE :: proc "stdcall" (rawptr, ^_c.uchar); | |
GENERIC_BINDING_ROUTINE_PAIR :: struct { | |
pfnBind : GENERIC_BINDING_ROUTINE, | |
pfnUnbind : GENERIC_UNBIND_ROUTINE, | |
}; | |
PGENERIC_BINDING_ROUTINE_PAIR :: ^GENERIC_BINDING_ROUTINE_PAIR; | |
GENERIC_BINDING_INFO :: struct { | |
pObj : rawptr, | |
Size : _c.uint, | |
pfnBind : GENERIC_BINDING_ROUTINE, | |
pfnUnbind : GENERIC_UNBIND_ROUTINE, | |
}; | |
PGENERIC_BINDING_INFO :: ^GENERIC_BINDING_INFO; | |
XMIT_HELPER_ROUTINE :: proc "stdcall" (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 :: ^XMIT_ROUTINE_QUINTUPLE; | |
USER_MARSHAL_SIZING_ROUTINE :: (proc "stdcall" (^_c.ulong, _c.ulong, rawptr) -> _c.ulong); | |
USER_MARSHAL_MARSHALLING_ROUTINE :: (proc "stdcall" (^_c.ulong, ^_c.uchar, rawptr) -> ^_c.uchar); | |
USER_MARSHAL_UNMARSHALLING_ROUTINE :: (proc "stdcall" (^_c.ulong, ^_c.uchar, rawptr) -> ^_c.uchar); | |
USER_MARSHAL_FREEING_ROUTINE :: proc "stdcall" (^_c.ulong, 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_TYPE :: _c.int; | |
USER_MARSHAL_CB_BUFFER_SIZE :: 0; | |
USER_MARSHAL_CB_MARSHALL :: USER_MARSHAL_CB_BUFFER_SIZE + 1; | |
USER_MARSHAL_CB_UNMARSHALL :: USER_MARSHAL_CB_MARSHALL + 1; | |
USER_MARSHAL_CB_FREE :: USER_MARSHAL_CB_UNMARSHALL + 1; | |
/* } */ | |
; | |
USER_MARSHAL_CB :: struct { | |
Flags : _c.ulong, | |
pStubMsg : PMIDL_STUB_MESSAGE, | |
pReserve : PFORMAT_STRING, | |
Signature : _c.ulong, | |
CBType : USER_MARSHAL_CB_TYPE, | |
pFormat : PFORMAT_STRING, | |
pTypeFormat : PFORMAT_STRING, | |
}; | |
MALLOC_FREE_STRUCT :: struct { | |
pfnAllocate : (proc "stdcall" (_c.size_t) -> rawptr), | |
pfnFree : proc "stdcall" (rawptr), | |
}; | |
COMM_FAULT_OFFSETS :: struct { | |
CommOffset : _c.short, | |
FaultOffset : _c.short, | |
}; | |
/* IDL_CS_CONVERT :: enum { */ | |
IDL_CS_CONVERT :: _c.int; | |
IDL_CS_NO_CONVERT :: 0; | |
IDL_CS_IN_PLACE_CONVERT :: IDL_CS_NO_CONVERT + 1; | |
IDL_CS_NEW_BUFFER_CONVERT :: IDL_CS_IN_PLACE_CONVERT + 1; | |
/* } */ | |
; | |
CS_TYPE_NET_SIZE_ROUTINE :: proc "stdcall" (hBinding : RPC_BINDING_HANDLE, ulNetworkCodeSet : _c.ulong, ulLocalBufferSize : _c.ulong, conversionType : ^IDL_CS_CONVERT, pulNetworkBufferSize : ^_c.ulong, pStatus : ^error_status_t); | |
CS_TYPE_LOCAL_SIZE_ROUTINE :: proc "stdcall" (hBinding : RPC_BINDING_HANDLE, ulNetworkCodeSet : _c.ulong, ulNetworkBufferSize : _c.ulong, conversionType : ^IDL_CS_CONVERT, pulLocalBufferSize : ^_c.ulong, pStatus : ^error_status_t); | |
CS_TYPE_TO_NETCS_ROUTINE :: proc "stdcall" (hBinding : RPC_BINDING_HANDLE, ulNetworkCodeSet : _c.ulong, pLocalData : rawptr, ulLocalDataLength : _c.ulong, pNetworkData : ^byte, pulNetworkDataLength : ^_c.ulong, pStatus : ^error_status_t); | |
CS_TYPE_FROM_NETCS_ROUTINE :: proc "stdcall" (hBinding : RPC_BINDING_HANDLE, ulNetworkCodeSet : _c.ulong, pNetworkData : ^byte, ulNetworkDataLength : _c.ulong, ulLocalBufferSize : _c.ulong, pLocalData : rawptr, pulLocalDataLength : ^_c.ulong, pStatus : ^error_status_t); | |
CS_TAG_GETTING_ROUTINE :: proc "stdcall" (hBinding : RPC_BINDING_HANDLE, fServerSide : _c.int, pulSendingTag : ^_c.ulong, pulDesiredReceivingTag : ^_c.ulong, pulReceivingTag : ^_c.ulong, 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 : ^_c.ushort, | |
pFormatExpr : PFORMAT_STRING, | |
}; | |
MIDL_STUB_DESC :: struct { | |
RpcInterfaceInformation : rawptr, | |
pfnAllocate : (proc "stdcall" (_c.size_t) -> rawptr), | |
pfnFree : proc "stdcall" (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 : ^_c.uchar, | |
fCheckBounds : _c.int, | |
Version : _c.ulong, | |
pMallocFreeStruct : ^MALLOC_FREE_STRUCT, | |
MIDLVersion : _c.long, | |
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 "stdcall" (PMIDL_STUB_MESSAGE); | |
SERVER_ROUTINE :: (proc "stdcall" () -> _c.long); | |
MIDL_METHOD_PROPERTY :: struct { | |
Id : _c.ulong, | |
Value : ULONG_PTR, | |
}; | |
PMIDL_METHOD_PROPERTY :: ^MIDL_METHOD_PROPERTY; | |
MIDL_METHOD_PROPERTY_MAP :: struct { | |
Count : _c.ulong, | |
Properties : ^MIDL_METHOD_PROPERTY, | |
}; | |
PMIDL_METHOD_PROPERTY_MAP :: ^MIDL_METHOD_PROPERTY_MAP; | |
MIDL_INTERFACE_METHOD_PROPERTIES :: struct { | |
MethodCount : _c.ushort, | |
MethodProperties : ^^MIDL_METHOD_PROPERTY_MAP, | |
}; | |
MIDL_SERVER_INFO :: struct { | |
pStubDesc : PMIDL_STUB_DESC, | |
DispatchTable : ^SERVER_ROUTINE, | |
ProcString : PFORMAT_STRING, | |
FmtStringOffset : ^_c.ushort, | |
ThunkTable : ^STUB_THUNK, | |
pTransferSyntax : PRPC_SYNTAX_IDENTIFIER, | |
nCount : ULONG_PTR, | |
pSyntaxInfo : PMIDL_SYNTAX_INFO, | |
}; | |
PMIDL_SERVER_INFO :: ^MIDL_SERVER_INFO; | |
MIDL_STUBLESS_PROXY_INFO :: struct { | |
pStubDesc : PMIDL_STUB_DESC, | |
ProcFormatString : PFORMAT_STRING, | |
FormatStringOffset : ^_c.ushort, | |
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 : ^_c.ushort, | |
TypeString : PFORMAT_STRING, | |
aUserMarshalQuadruple : rawptr, | |
pMethodProperties : ^MIDL_INTERFACE_METHOD_PROPERTIES, | |
pReserved2 : ULONG_PTR, | |
}; | |
; | |
PARAM_OFFSETTABLE :: ^_c.ushort; | |
PPARAM_OFFSETTABLE :: ^_c.ushort; | |
CLIENT_CALL_RETURN :: struct #raw_union { | |
Pointer : rawptr, | |
Simple : LONG_PTR, | |
}; | |
/* XLAT_SIDE :: enum { */ | |
XLAT_SIDE :: _c.int; | |
XLAT_SERVER :: 1; | |
XLAT_CLIENT :: XLAT_SERVER + 1; | |
/* } */ | |
; | |
FULL_PTR_XLAT_TABLES :: struct { | |
RefIdToPointer : rawptr, | |
PointerToRefId : rawptr, | |
NextRefId : _c.ulong, | |
XlatSide : XLAT_SIDE, | |
}; | |
PFULL_PTR_XLAT_TABLES :: ^FULL_PTR_XLAT_TABLES; | |
/* system_handle_t :: enum { */ | |
system_handle_t :: _c.int; | |
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; | |
/* } */ | |
; | |
/* using _ :: enum { */ | |
MidlInterceptionInfoVersionOne :: 1; | |
/* } */ | |
; | |
/* using _ :: enum { */ | |
MidlWinrtTypeSerializationInfoVersionOne :: 1; | |
/* } */ | |
; | |
MIDL_INTERCEPTION_INFO :: struct { | |
Version : _c.ulong, | |
ProcString : PFORMAT_STRING, | |
ProcFormatOffsetTable : ^_c.ushort, | |
ProcCount : _c.ulong, | |
TypeString : PFORMAT_STRING, | |
}; | |
PMIDL_INTERCEPTION_INFO :: ^MIDL_INTERCEPTION_INFO; | |
MIDL_WINRT_TYPE_SERIALIZATION_INFO :: struct { | |
Version : _c.ulong, | |
TypeFormatString : PFORMAT_STRING, | |
FormatStringSize : _c.ushort, | |
TypeOffset : _c.ushort, | |
StubDesc : PMIDL_STUB_DESC, | |
}; | |
PMIDL_WINRT_TYPE_SERIALIZATION_INFO :: ^MIDL_WINRT_TYPE_SERIALIZATION_INFO; | |
/* STUB_PHASE :: enum { */ | |
STUB_PHASE :: _c.int; | |
STUB_UNMARSHAL :: 0; | |
STUB_CALL_SERVER :: STUB_UNMARSHAL + 1; | |
STUB_MARSHAL :: STUB_CALL_SERVER + 1; | |
STUB_CALL_SERVER_NO_HRESULT :: STUB_MARSHAL + 1; | |
/* } */ | |
; | |
/* PROXY_PHASE :: enum { */ | |
PROXY_PHASE :: _c.int; | |
PROXY_CALCSIZE :: 0; | |
PROXY_GETBUFFER :: PROXY_CALCSIZE + 1; | |
PROXY_MARSHAL :: PROXY_GETBUFFER + 1; | |
PROXY_SENDRECEIVE :: PROXY_MARSHAL + 1; | |
PROXY_UNMARSHAL :: PROXY_SENDRECEIVE + 1; | |
/* } */ | |
; | |
RPC_SS_THREAD_HANDLE :: rawptr; | |
RPC_CLIENT_ALLOC :: #type (proc "stdcall" (Size : _c.size_t) -> rawptr); | |
RPC_CLIENT_FREE :: #type proc "stdcall" (Ptr : rawptr); | |
NDR_USER_MARSHAL_INFO_LEVEL1 :: struct { | |
Buffer : rawptr, | |
BufferSize : _c.ulong, | |
pfnAllocate : (proc "stdcall" (_c.size_t) -> rawptr), | |
pfnFree : proc "stdcall" (rawptr), | |
pRpcChannelBuffer : ^IRpcChannelBuffer, | |
Reserved : [5]ULONG_PTR, | |
}; | |
NDR_USER_MARSHAL_INFO :: struct { | |
InformationLevel : _c.ulong, | |
u : struct #raw_union { | |
Level1 : NDR_USER_MARSHAL_INFO_LEVEL1, | |
}, | |
}; | |
OLECHAR :: WCHAR; | |
LPOLESTR :: ^OLECHAR; | |
LPCOLESTR :: ^OLECHAR; | |
; | |
; | |
; | |
; | |
DOUBLE :: _c.double; | |
COAUTHIDENTITY :: struct { | |
User : ^USHORT, | |
UserLength : ULONG, | |
Domain : ^USHORT, | |
DomainLength : ULONG, | |
Password : ^USHORT, | |
PasswordLength : ULONG, | |
Flags : ULONG, | |
}; | |
COAUTHINFO :: struct { | |
dwAuthnSvc : DWORD, | |
dwAuthzSvc : DWORD, | |
pwszServerPrincName : LPWSTR, | |
dwAuthnLevel : DWORD, | |
dwImpersonationLevel : DWORD, | |
pAuthIdentityData : ^COAUTHIDENTITY, | |
dwCapabilities : DWORD, | |
}; | |
SCODE :: LONG; | |
PSCODE :: ^SCODE; | |
/* MEMCTX :: enum { */ | |
MEMCTX :: _c.int; | |
MEMCTX_TASK :: 1; | |
MEMCTX_SHARED :: 2; | |
MEMCTX_MACSYSTEM :: 3; | |
MEMCTX_UNKNOWN :: -1; | |
MEMCTX_SAME :: -2; | |
/* } */ | |
; | |
/* CLSCTX :: enum { */ | |
CLSCTX :: _c.int; | |
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 :: _c.int; | |
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 :: _c.int; | |
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]_c.ushort, | |
}; | |
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]_c.ushort, | |
}; | |
UP_FLAGGED_WORD_BLOB :: ^FLAGGED_WORD_BLOB; | |
BYTE_SIZEDARR :: struct { | |
clSize : ULONG, | |
pData : ^byte, | |
}; | |
WORD_SIZEDARR :: struct { | |
clSize : ULONG, | |
pData : ^_c.ushort, | |
}; | |
DWORD_SIZEDARR :: struct { | |
clSize : ULONG, | |
pData : ^ULONG, | |
}; | |
HYPER_SIZEDARR :: struct { | |
clSize : ULONG, | |
pData : ^i64, | |
}; | |
; | |
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 :: _c.int; | |
DVASPECT_CONTENT :: 1; | |
DVASPECT_THUMBNAIL :: 2; | |
DVASPECT_ICON :: 4; | |
DVASPECT_DOCPRINT :: 8; | |
/* } */ | |
; | |
/* STGC :: enum { */ | |
STGC :: _c.int; | |
STGC_DEFAULT :: 0; | |
STGC_OVERWRITE :: 1; | |
STGC_ONLYIFCURRENT :: 2; | |
STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE :: 4; | |
STGC_CONSOLIDATE :: 8; | |
/* } */ | |
; | |
/* STGMOVE :: enum { */ | |
STGMOVE :: _c.int; | |
STGMOVE_MOVE :: 0; | |
STGMOVE_COPY :: 1; | |
STGMOVE_SHALLOWCOPY :: 2; | |
/* } */ | |
; | |
/* STATFLAG :: enum { */ | |
STATFLAG :: _c.int; | |
STATFLAG_DEFAULT :: 0; | |
STATFLAG_NONAME :: 1; | |
STATFLAG_NOOPEN :: 2; | |
/* } */ | |
; | |
HCONTEXT :: rawptr; | |
; | |
; | |
userCLIPFORMAT :: struct { | |
fContext : LONG, | |
u : struct #raw_union { | |
dwValue : DWORD, | |
pwszName : ^_c.wchar_t, | |
}, | |
}; | |
wireCLIPFORMAT :: ^userCLIPFORMAT; | |
CLIPFORMAT :: WORD; | |
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 : WORD, | |
bmBitsPixel : WORD, | |
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 :: _c.double; | |
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 :: _c.short; | |
BSTRBLOB :: struct { | |
cbSize : ULONG, | |
pData : ^BYTE, | |
}; | |
LPBSTRBLOB :: ^BSTRBLOB; | |
CLIPDATA :: struct { | |
cbSize : ULONG, | |
ulClipFmt : LONG, | |
pClipData : ^BYTE, | |
}; | |
VARTYPE :: _c.ushort; | |
/* VARENUM :: enum { */ | |
VARENUM :: _c.int; | |
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 : DWORD, | |
}; | |
CSPLATFORM :: struct { | |
dwPlatformId : DWORD, | |
dwVersionHi : DWORD, | |
dwVersionLo : DWORD, | |
dwProcessorArch : DWORD, | |
}; | |
QUERYCONTEXT :: struct { | |
dwContext : DWORD, | |
Platform : CSPLATFORM, | |
Locale : LCID, | |
dwVersionHi : DWORD, | |
dwVersionLo : DWORD, | |
}; | |
/* TYSPEC :: enum { */ | |
TYSPEC :: _c.int; | |
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 : DWORD, | |
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 : DWORD, | |
MediaRemovable : BOOLEAN, | |
MediaHotplug : BOOLEAN, | |
DeviceHotplug : BOOLEAN, | |
WriteCacheEnableOverride : BOOLEAN, | |
}; | |
PSTORAGE_HOTPLUG_INFO :: ^STORAGE_HOTPLUG_INFO; | |
STORAGE_DEVICE_NUMBER :: struct { | |
DeviceType : DWORD, | |
DeviceNumber : DWORD, | |
PartitionNumber : DWORD, | |
}; | |
PSTORAGE_DEVICE_NUMBER :: ^STORAGE_DEVICE_NUMBER; | |
STORAGE_DEVICE_NUMBERS :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
NumberOfDevices : DWORD, | |
Devices : [1]STORAGE_DEVICE_NUMBER, | |
}; | |
PSTORAGE_DEVICE_NUMBERS :: ^STORAGE_DEVICE_NUMBERS; | |
STORAGE_DEVICE_NUMBER_EX :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
DeviceType : DWORD, | |
DeviceNumber : DWORD, | |
DeviceGuid : GUID, | |
PartitionNumber : DWORD, | |
}; | |
PSTORAGE_DEVICE_NUMBER_EX :: ^STORAGE_DEVICE_NUMBER_EX; | |
STORAGE_BUS_RESET_REQUEST :: struct { | |
PathId : BYTE, | |
}; | |
PSTORAGE_BUS_RESET_REQUEST :: ^STORAGE_BUS_RESET_REQUEST; | |
STORAGE_BREAK_RESERVATION_REQUEST :: struct { | |
Length : DWORD, | |
_unused : BYTE, | |
PathId : BYTE, | |
TargetId : BYTE, | |
Lun : BYTE, | |
}; | |
PSTORAGE_BREAK_RESERVATION_REQUEST :: ^STORAGE_BREAK_RESERVATION_REQUEST; | |
PREVENT_MEDIA_REMOVAL :: struct { | |
PreventMediaRemoval : BOOLEAN, | |
}; | |
PPREVENT_MEDIA_REMOVAL :: ^PREVENT_MEDIA_REMOVAL; | |
CLASS_MEDIA_CHANGE_CONTEXT :: struct { | |
MediaChangeCount : DWORD, | |
NewState : DWORD, | |
}; | |
PCLASS_MEDIA_CHANGE_CONTEXT :: ^CLASS_MEDIA_CHANGE_CONTEXT; | |
TAPE_STATISTICS :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
RecoveredWrites : LARGE_INTEGER, | |
UnrecoveredWrites : LARGE_INTEGER, | |
RecoveredReads : LARGE_INTEGER, | |
UnrecoveredReads : LARGE_INTEGER, | |
CompressionRatioReads : BYTE, | |
CompressionRatioWrites : BYTE, | |
}; | |
PTAPE_STATISTICS :: ^TAPE_STATISTICS; | |
TAPE_GET_STATISTICS :: struct { | |
Operation : DWORD, | |
}; | |
PTAPE_GET_STATISTICS :: ^TAPE_GET_STATISTICS; | |
/* STORAGE_MEDIA_TYPE :: enum { */ | |
STORAGE_MEDIA_TYPE :: _c.int; | |
DDS_4mm :: 0x20; | |
MiniQic :: DDS_4mm + 1; | |
Travan :: MiniQic + 1; | |
QIC :: Travan + 1; | |
MP_8mm :: QIC + 1; | |
AME_8mm :: MP_8mm + 1; | |
AIT1_8mm :: AME_8mm + 1; | |
DLT :: AIT1_8mm + 1; | |
NCTP :: DLT + 1; | |
IBM_3480 :: NCTP + 1; | |
IBM_3490E :: IBM_3480 + 1; | |
IBM_Magstar_3590 :: IBM_3490E + 1; | |
IBM_Magstar_MP :: IBM_Magstar_3590 + 1; | |
STK_DATA_D3 :: IBM_Magstar_MP + 1; | |
SONY_DTF :: STK_DATA_D3 + 1; | |
DV_6mm :: SONY_DTF + 1; | |
DMI :: DV_6mm + 1; | |
SONY_D2 :: DMI + 1; | |
CLEANER_CARTRIDGE :: SONY_D2 + 1; | |
CD_ROM :: CLEANER_CARTRIDGE + 1; | |
CD_R :: CD_ROM + 1; | |
CD_RW :: CD_R + 1; | |
DVD_ROM :: CD_RW + 1; | |
DVD_R :: DVD_ROM + 1; | |
DVD_RW :: DVD_R + 1; | |
MO_3_RW :: DVD_RW + 1; | |
MO_5_WO :: MO_3_RW + 1; | |
MO_5_RW :: MO_5_WO + 1; | |
MO_5_LIMDOW :: MO_5_RW + 1; | |
PC_5_WO :: MO_5_LIMDOW + 1; | |
PC_5_RW :: PC_5_WO + 1; | |
PD_5_RW :: PC_5_RW + 1; | |
ABL_5_WO :: PD_5_RW + 1; | |
PINNACLE_APEX_5_RW :: ABL_5_WO + 1; | |
SONY_12_WO :: PINNACLE_APEX_5_RW + 1; | |
PHILIPS_12_WO :: SONY_12_WO + 1; | |
HITACHI_12_WO :: PHILIPS_12_WO + 1; | |
CYGNET_12_WO :: HITACHI_12_WO + 1; | |
KODAK_14_WO :: CYGNET_12_WO + 1; | |
MO_NFR_525 :: KODAK_14_WO + 1; | |
NIKON_12_RW :: MO_NFR_525 + 1; | |
IOMEGA_ZIP :: NIKON_12_RW + 1; | |
IOMEGA_JAZ :: IOMEGA_ZIP + 1; | |
SYQUEST_EZ135 :: IOMEGA_JAZ + 1; | |
SYQUEST_EZFLYER :: SYQUEST_EZ135 + 1; | |
SYQUEST_SYJET :: SYQUEST_EZFLYER + 1; | |
AVATAR_F2 :: SYQUEST_SYJET + 1; | |
MP2_8mm :: AVATAR_F2 + 1; | |
DST_S :: MP2_8mm + 1; | |
DST_M :: DST_S + 1; | |
DST_L :: DST_M + 1; | |
VXATape_1 :: DST_L + 1; | |
VXATape_2 :: VXATape_1 + 1; | |
STK_9840 :: VXATape_2 + 1; | |
LTO_Ultrium :: STK_9840 + 1; | |
LTO_Accelis :: LTO_Ultrium + 1; | |
DVD_RAM :: LTO_Accelis + 1; | |
AIT_8mm :: DVD_RAM + 1; | |
ADR_1 :: AIT_8mm + 1; | |
ADR_2 :: ADR_1 + 1; | |
STK_9940 :: ADR_2 + 1; | |
SAIT :: STK_9940 + 1; | |
VXATape :: SAIT + 1; | |
/* } */ | |
PSTORAGE_MEDIA_TYPE :: ^STORAGE_MEDIA_TYPE; | |
/* STORAGE_BUS_TYPE :: enum { */ | |
STORAGE_BUS_TYPE :: _c.int; | |
BusTypeUnknown :: 0x00; | |
BusTypeScsi :: BusTypeUnknown + 1; | |
BusTypeAtapi :: BusTypeScsi + 1; | |
BusTypeAta :: BusTypeAtapi + 1; | |
BusType1394 :: BusTypeAta + 1; | |
BusTypeSsa :: BusType1394 + 1; | |
BusTypeFibre :: BusTypeSsa + 1; | |
BusTypeUsb :: BusTypeFibre + 1; | |
BusTypeRAID :: BusTypeUsb + 1; | |
BusTypeiScsi :: BusTypeRAID + 1; | |
BusTypeSas :: BusTypeiScsi + 1; | |
BusTypeSata :: BusTypeSas + 1; | |
BusTypeSd :: BusTypeSata + 1; | |
BusTypeMmc :: BusTypeSd + 1; | |
BusTypeVirtual :: BusTypeMmc + 1; | |
BusTypeFileBackedVirtual :: BusTypeVirtual + 1; | |
BusTypeSpaces :: BusTypeFileBackedVirtual + 1; | |
BusTypeNvme :: BusTypeSpaces + 1; | |
BusTypeSCM :: BusTypeNvme + 1; | |
BusTypeUfs :: BusTypeSCM + 1; | |
BusTypeMax :: BusTypeUfs + 1; | |
BusTypeMaxReserved :: 0x7F; | |
/* } */ | |
PSTORAGE_BUS_TYPE :: ^STORAGE_BUS_TYPE; | |
DEVICE_MEDIA_INFO :: struct { | |
DeviceSpecific : struct #raw_union { | |
DiskInfo : struct { | |
Cylinders : LARGE_INTEGER, | |
MediaType : STORAGE_MEDIA_TYPE, | |
TracksPerCylinder : DWORD, | |
SectorsPerTrack : DWORD, | |
BytesPerSector : DWORD, | |
NumberMediaSides : DWORD, | |
MediaCharacteristics : DWORD, | |
}, | |
RemovableDiskInfo : struct { | |
Cylinders : LARGE_INTEGER, | |
MediaType : STORAGE_MEDIA_TYPE, | |
TracksPerCylinder : DWORD, | |
SectorsPerTrack : DWORD, | |
BytesPerSector : DWORD, | |
NumberMediaSides : DWORD, | |
MediaCharacteristics : DWORD, | |
}, | |
TapeInfo : struct { | |
MediaType : STORAGE_MEDIA_TYPE, | |
MediaCharacteristics : DWORD, | |
CurrentBlockSize : DWORD, | |
BusType : STORAGE_BUS_TYPE, | |
BusSpecificData : struct #raw_union { | |
ScsiInformation : struct { | |
MediumType : BYTE, | |
DensityCode : BYTE, | |
}, | |
}, | |
}, | |
}, | |
}; | |
PDEVICE_MEDIA_INFO :: ^DEVICE_MEDIA_INFO; | |
GET_MEDIA_TYPES :: struct { | |
DeviceType : DWORD, | |
MediaInfoCount : DWORD, | |
MediaInfo : [1]DEVICE_MEDIA_INFO, | |
}; | |
PGET_MEDIA_TYPES :: ^GET_MEDIA_TYPES; | |
STORAGE_PREDICT_FAILURE :: struct { | |
PredictFailure : DWORD, | |
VendorSpecific : [512]BYTE, | |
}; | |
PSTORAGE_PREDICT_FAILURE :: ^STORAGE_PREDICT_FAILURE; | |
STORAGE_FAILURE_PREDICTION_CONFIG :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Set : BOOLEAN, | |
Enabled : BOOLEAN, | |
Reserved : WORD, | |
}; | |
PSTORAGE_FAILURE_PREDICTION_CONFIG :: ^STORAGE_FAILURE_PREDICTION_CONFIG; | |
/* STORAGE_QUERY_TYPE :: enum { */ | |
STORAGE_QUERY_TYPE :: _c.int; | |
PropertyStandardQuery :: 0; | |
PropertyExistsQuery :: PropertyStandardQuery + 1; | |
PropertyMaskQuery :: PropertyExistsQuery + 1; | |
PropertyQueryMaxDefined :: PropertyMaskQuery + 1; | |
/* } */ | |
PSTORAGE_QUERY_TYPE :: ^STORAGE_QUERY_TYPE; | |
/* STORAGE_SET_TYPE :: enum { */ | |
STORAGE_SET_TYPE :: _c.int; | |
PropertyStandardSet :: 0; | |
PropertyExistsSet :: PropertyStandardSet + 1; | |
PropertySetMaxDefined :: PropertyExistsSet + 1; | |
/* } */ | |
PSTORAGE_SET_TYPE :: ^STORAGE_SET_TYPE; | |
/* STORAGE_PROPERTY_ID :: enum { */ | |
STORAGE_PROPERTY_ID :: _c.int; | |
StorageDeviceProperty :: 0; | |
StorageAdapterProperty :: StorageDeviceProperty + 1; | |
StorageDeviceIdProperty :: StorageAdapterProperty + 1; | |
StorageDeviceUniqueIdProperty :: StorageDeviceIdProperty + 1; | |
StorageDeviceWriteCacheProperty :: StorageDeviceUniqueIdProperty + 1; | |
StorageMiniportProperty :: StorageDeviceWriteCacheProperty + 1; | |
StorageAccessAlignmentProperty :: StorageMiniportProperty + 1; | |
StorageDeviceSeekPenaltyProperty :: StorageAccessAlignmentProperty + 1; | |
StorageDeviceTrimProperty :: StorageDeviceSeekPenaltyProperty + 1; | |
StorageDeviceWriteAggregationProperty :: StorageDeviceTrimProperty + 1; | |
StorageDeviceDeviceTelemetryProperty :: StorageDeviceWriteAggregationProperty + 1; | |
StorageDeviceLBProvisioningProperty :: StorageDeviceDeviceTelemetryProperty + 1; | |
StorageDevicePowerProperty :: StorageDeviceLBProvisioningProperty + 1; | |
StorageDeviceCopyOffloadProperty :: StorageDevicePowerProperty + 1; | |
StorageDeviceResiliencyProperty :: StorageDeviceCopyOffloadProperty + 1; | |
StorageDeviceMediumProductType :: StorageDeviceResiliencyProperty + 1; | |
StorageAdapterRpmbProperty :: StorageDeviceMediumProductType + 1; | |
StorageAdapterCryptoProperty :: StorageAdapterRpmbProperty + 1; | |
StorageDeviceIoCapabilityProperty :: 48; | |
StorageAdapterProtocolSpecificProperty :: StorageDeviceIoCapabilityProperty + 1; | |
StorageDeviceProtocolSpecificProperty :: StorageAdapterProtocolSpecificProperty + 1; | |
StorageAdapterTemperatureProperty :: StorageDeviceProtocolSpecificProperty + 1; | |
StorageDeviceTemperatureProperty :: StorageAdapterTemperatureProperty + 1; | |
StorageAdapterPhysicalTopologyProperty :: StorageDeviceTemperatureProperty + 1; | |
StorageDevicePhysicalTopologyProperty :: StorageAdapterPhysicalTopologyProperty + 1; | |
StorageDeviceAttributesProperty :: StorageDevicePhysicalTopologyProperty + 1; | |
StorageDeviceManagementStatus :: StorageDeviceAttributesProperty + 1; | |
StorageAdapterSerialNumberProperty :: StorageDeviceManagementStatus + 1; | |
StorageDeviceLocationProperty :: StorageAdapterSerialNumberProperty + 1; | |
StorageDeviceNumaProperty :: StorageDeviceLocationProperty + 1; | |
StorageDeviceZonedDeviceProperty :: StorageDeviceNumaProperty + 1; | |
StorageDeviceUnsafeShutdownCount :: StorageDeviceZonedDeviceProperty + 1; | |
StorageDeviceEnduranceProperty :: StorageDeviceUnsafeShutdownCount + 1; | |
/* } */ | |
PSTORAGE_PROPERTY_ID :: ^STORAGE_PROPERTY_ID; | |
STORAGE_PROPERTY_QUERY :: struct { | |
PropertyId : STORAGE_PROPERTY_ID, | |
QueryType : STORAGE_QUERY_TYPE, | |
AdditionalParameters : [1]BYTE, | |
}; | |
PSTORAGE_PROPERTY_QUERY :: ^STORAGE_PROPERTY_QUERY; | |
STORAGE_PROPERTY_SET :: struct { | |
PropertyId : STORAGE_PROPERTY_ID, | |
SetType : STORAGE_SET_TYPE, | |
AdditionalParameters : [1]BYTE, | |
}; | |
PSTORAGE_PROPERTY_SET :: ^STORAGE_PROPERTY_SET; | |
STORAGE_DESCRIPTOR_HEADER :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
}; | |
PSTORAGE_DESCRIPTOR_HEADER :: ^STORAGE_DESCRIPTOR_HEADER; | |
STORAGE_DEVICE_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
DeviceType : BYTE, | |
DeviceTypeModifier : BYTE, | |
RemovableMedia : BOOLEAN, | |
CommandQueueing : BOOLEAN, | |
VendorIdOffset : DWORD, | |
ProductIdOffset : DWORD, | |
ProductRevisionOffset : DWORD, | |
SerialNumberOffset : DWORD, | |
BusType : STORAGE_BUS_TYPE, | |
RawPropertiesLength : DWORD, | |
RawDeviceProperties : [1]BYTE, | |
}; | |
PSTORAGE_DEVICE_DESCRIPTOR :: ^STORAGE_DEVICE_DESCRIPTOR; | |
STORAGE_ADAPTER_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
MaximumTransferLength : DWORD, | |
MaximumPhysicalPages : DWORD, | |
AlignmentMask : DWORD, | |
AdapterUsesPio : BOOLEAN, | |
AdapterScansDown : BOOLEAN, | |
CommandQueueing : BOOLEAN, | |
AcceleratedTransfer : BOOLEAN, | |
BusType : BYTE, | |
BusMajorVersion : WORD, | |
BusMinorVersion : WORD, | |
SrbType : BYTE, | |
AddressType : BYTE, | |
}; | |
PSTORAGE_ADAPTER_DESCRIPTOR :: ^STORAGE_ADAPTER_DESCRIPTOR; | |
STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
BytesPerCacheLine : DWORD, | |
BytesOffsetForCacheAlignment : DWORD, | |
BytesPerLogicalSector : DWORD, | |
BytesPerPhysicalSector : DWORD, | |
BytesOffsetForSectorAlignment : DWORD, | |
}; | |
PSTORAGE_ACCESS_ALIGNMENT_DESCRIPTOR :: ^STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR; | |
STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
MediumProductType : DWORD, | |
}; | |
PSTORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR :: ^STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR; | |
/* STORAGE_PORT_CODE_SET :: enum { */ | |
STORAGE_PORT_CODE_SET :: _c.int; | |
StoragePortCodeSetReserved :: 0; | |
StoragePortCodeSetStorport :: 1; | |
StoragePortCodeSetSCSIport :: 2; | |
StoragePortCodeSetSpaceport :: 3; | |
StoragePortCodeSetATAport :: 4; | |
StoragePortCodeSetUSBport :: 5; | |
StoragePortCodeSetSBP2port :: 6; | |
StoragePortCodeSetSDport :: 7; | |
/* } */ | |
PSTORAGE_PORT_CODE_SET :: ^STORAGE_PORT_CODE_SET; | |
STORAGE_MINIPORT_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Portdriver : STORAGE_PORT_CODE_SET, | |
LUNResetSupported : BOOLEAN, | |
TargetResetSupported : BOOLEAN, | |
IoTimeoutValue : WORD, | |
ExtraIoInfoSupported : BOOLEAN, | |
Reserved0 : [3]BYTE, | |
Reserved1 : DWORD, | |
}; | |
PSTORAGE_MINIPORT_DESCRIPTOR :: ^STORAGE_MINIPORT_DESCRIPTOR; | |
/* STORAGE_IDENTIFIER_CODE_SET :: enum { */ | |
STORAGE_IDENTIFIER_CODE_SET :: _c.int; | |
StorageIdCodeSetReserved :: 0; | |
StorageIdCodeSetBinary :: 1; | |
StorageIdCodeSetAscii :: 2; | |
StorageIdCodeSetUtf8 :: 3; | |
/* } */ | |
PSTORAGE_IDENTIFIER_CODE_SET :: ^STORAGE_IDENTIFIER_CODE_SET; | |
/* STORAGE_IDENTIFIER_TYPE :: enum { */ | |
STORAGE_IDENTIFIER_TYPE :: _c.int; | |
StorageIdTypeVendorSpecific :: 0; | |
StorageIdTypeVendorId :: 1; | |
StorageIdTypeEUI64 :: 2; | |
StorageIdTypeFCPHName :: 3; | |
StorageIdTypePortRelative :: 4; | |
StorageIdTypeTargetPortGroup :: 5; | |
StorageIdTypeLogicalUnitGroup :: 6; | |
StorageIdTypeMD5LogicalUnitIdentifier :: 7; | |
StorageIdTypeScsiNameString :: 8; | |
/* } */ | |
PSTORAGE_IDENTIFIER_TYPE :: ^STORAGE_IDENTIFIER_TYPE; | |
/* STORAGE_ID_NAA_FORMAT :: enum { */ | |
STORAGE_ID_NAA_FORMAT :: _c.int; | |
StorageIdNAAFormatIEEEExtended :: 2; | |
StorageIdNAAFormatIEEERegistered :: 3; | |
StorageIdNAAFormatIEEEERegisteredExtended :: 5; | |
/* } */ | |
PSTORAGE_ID_NAA_FORMAT :: ^STORAGE_ID_NAA_FORMAT; | |
/* STORAGE_ASSOCIATION_TYPE :: enum { */ | |
STORAGE_ASSOCIATION_TYPE :: _c.int; | |
StorageIdAssocDevice :: 0; | |
StorageIdAssocPort :: 1; | |
StorageIdAssocTarget :: 2; | |
/* } */ | |
PSTORAGE_ASSOCIATION_TYPE :: ^STORAGE_ASSOCIATION_TYPE; | |
STORAGE_IDENTIFIER :: struct { | |
CodeSet : STORAGE_IDENTIFIER_CODE_SET, | |
Type : STORAGE_IDENTIFIER_TYPE, | |
IdentifierSize : WORD, | |
NextOffset : WORD, | |
Association : STORAGE_ASSOCIATION_TYPE, | |
Identifier : [1]BYTE, | |
}; | |
PSTORAGE_IDENTIFIER :: ^STORAGE_IDENTIFIER; | |
STORAGE_DEVICE_ID_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
NumberOfIdentifiers : DWORD, | |
Identifiers : [1]BYTE, | |
}; | |
PSTORAGE_DEVICE_ID_DESCRIPTOR :: ^STORAGE_DEVICE_ID_DESCRIPTOR; | |
DEVICE_SEEK_PENALTY_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
IncursSeekPenalty : BOOLEAN, | |
}; | |
PDEVICE_SEEK_PENALTY_DESCRIPTOR :: ^DEVICE_SEEK_PENALTY_DESCRIPTOR; | |
DEVICE_WRITE_AGGREGATION_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
BenefitsFromWriteAggregation : BOOLEAN, | |
}; | |
PDEVICE_WRITE_AGGREGATION_DESCRIPTOR :: ^DEVICE_WRITE_AGGREGATION_DESCRIPTOR; | |
DEVICE_TRIM_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
TrimEnabled : BOOLEAN, | |
}; | |
PDEVICE_TRIM_DESCRIPTOR :: ^DEVICE_TRIM_DESCRIPTOR; | |
DEVICE_LB_PROVISIONING_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
using _ : bit_field { | |
ThinProvisioningEnabled : 1, | |
ThinProvisioningReadZeros : 1, | |
AnchorSupported : 3, | |
UnmapGranularityAlignmentValid : 1, | |
Reserved0 : 2, | |
}, | |
Reserved1 : [7]BYTE, | |
OptimalUnmapGranularity : DWORDLONG, | |
UnmapGranularityAlignment : DWORDLONG, | |
MaxUnmapLbaCount : DWORD, | |
MaxUnmapBlockDescriptorCount : DWORD, | |
}; | |
PDEVICE_LB_PROVISIONING_DESCRIPTOR :: ^DEVICE_LB_PROVISIONING_DESCRIPTOR; | |
STORAGE_LB_PROVISIONING_MAP_RESOURCES :: struct { | |
Size : DWORD, | |
Version : DWORD, | |
using _ : bit_field { | |
AvailableMappingResourcesValid : 1, | |
UsedMappingResourcesValid : 1, | |
Reserved0 : 6, | |
}, | |
Reserved1 : [3]BYTE, | |
using _ : bit_field { | |
AvailableMappingResourcesScope : 2, | |
UsedMappingResourcesScope : 2, | |
Reserved2 : 4, | |
}, | |
Reserved3 : [3]BYTE, | |
AvailableMappingResources : DWORDLONG, | |
UsedMappingResources : DWORDLONG, | |
}; | |
PSTORAGE_LB_PROVISIONING_MAP_RESOURCES :: ^STORAGE_LB_PROVISIONING_MAP_RESOURCES; | |
DEVICE_POWER_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
DeviceAttentionSupported : BOOLEAN, | |
AsynchronousNotificationSupported : BOOLEAN, | |
IdlePowerManagementEnabled : BOOLEAN, | |
D3ColdEnabled : BOOLEAN, | |
D3ColdSupported : BOOLEAN, | |
NoVerifyDuringIdlePower : BOOLEAN, | |
Reserved : [2]BYTE, | |
IdleTimeoutInMS : DWORD, | |
}; | |
PDEVICE_POWER_DESCRIPTOR :: ^DEVICE_POWER_DESCRIPTOR; | |
DEVICE_COPY_OFFLOAD_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
MaximumTokenLifetime : DWORD, | |
DefaultTokenLifetime : DWORD, | |
MaximumTransferSize : DWORDLONG, | |
OptimalTransferCount : DWORDLONG, | |
MaximumDataDescriptors : DWORD, | |
MaximumTransferLengthPerDescriptor : DWORD, | |
OptimalTransferLengthPerDescriptor : DWORD, | |
OptimalTransferLengthGranularity : WORD, | |
Reserved : [2]BYTE, | |
}; | |
PDEVICE_COPY_OFFLOAD_DESCRIPTOR :: ^DEVICE_COPY_OFFLOAD_DESCRIPTOR; | |
STORAGE_DEVICE_RESILIENCY_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
NameOffset : DWORD, | |
NumberOfLogicalCopies : DWORD, | |
NumberOfPhysicalCopies : DWORD, | |
PhysicalDiskRedundancy : DWORD, | |
NumberOfColumns : DWORD, | |
Interleave : DWORD, | |
}; | |
PSTORAGE_DEVICE_RESILIENCY_DESCRIPTOR :: ^STORAGE_DEVICE_RESILIENCY_DESCRIPTOR; | |
/* STORAGE_RPMB_FRAME_TYPE :: enum { */ | |
STORAGE_RPMB_FRAME_TYPE :: _c.int; | |
StorageRpmbFrameTypeUnknown :: 0; | |
StorageRpmbFrameTypeStandard :: StorageRpmbFrameTypeUnknown + 1; | |
StorageRpmbFrameTypeMax :: StorageRpmbFrameTypeStandard + 1; | |
/* } */ | |
PSTORAGE_RPMB_FRAME_TYPE :: ^STORAGE_RPMB_FRAME_TYPE; | |
STORAGE_RPMB_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
SizeInBytes : DWORD, | |
MaxReliableWriteSizeInBytes : DWORD, | |
FrameFormat : STORAGE_RPMB_FRAME_TYPE, | |
}; | |
PSTORAGE_RPMB_DESCRIPTOR :: ^STORAGE_RPMB_DESCRIPTOR; | |
/* STORAGE_CRYPTO_ALGORITHM_ID :: enum { */ | |
STORAGE_CRYPTO_ALGORITHM_ID :: _c.int; | |
StorageCryptoAlgorithmUnknown :: 0; | |
StorageCryptoAlgorithmXTSAES :: 1; | |
StorageCryptoAlgorithmBitlockerAESCBC :: StorageCryptoAlgorithmXTSAES + 1; | |
StorageCryptoAlgorithmAESECB :: StorageCryptoAlgorithmBitlockerAESCBC + 1; | |
StorageCryptoAlgorithmESSIVAESCBC :: StorageCryptoAlgorithmAESECB + 1; | |
StorageCryptoAlgorithmMax :: StorageCryptoAlgorithmESSIVAESCBC + 1; | |
/* } */ | |
PSTORAGE_CRYPTO_ALGORITHM_ID :: ^STORAGE_CRYPTO_ALGORITHM_ID; | |
/* STORAGE_CRYPTO_KEY_SIZE :: enum { */ | |
STORAGE_CRYPTO_KEY_SIZE :: _c.int; | |
StorageCryptoKeySizeUnknown :: 0; | |
StorageCryptoKeySize128Bits :: 1; | |
StorageCryptoKeySize192Bits :: StorageCryptoKeySize128Bits + 1; | |
StorageCryptoKeySize256Bits :: StorageCryptoKeySize192Bits + 1; | |
StorageCryptoKeySize512Bits :: StorageCryptoKeySize256Bits + 1; | |
/* } */ | |
PSTORAGE_CRYPTO_KEY_SIZE :: ^STORAGE_CRYPTO_KEY_SIZE; | |
STORAGE_CRYPTO_CAPABILITY :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
CryptoCapabilityIndex : DWORD, | |
AlgorithmId : STORAGE_CRYPTO_ALGORITHM_ID, | |
KeySize : STORAGE_CRYPTO_KEY_SIZE, | |
DataUnitSizeBitmask : DWORD, | |
}; | |
PSTORAGE_CRYPTO_CAPABILITY :: ^STORAGE_CRYPTO_CAPABILITY; | |
STORAGE_CRYPTO_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
NumKeysSupported : DWORD, | |
NumCryptoCapabilities : DWORD, | |
CryptoCapabilities : [1]STORAGE_CRYPTO_CAPABILITY, | |
}; | |
PSTORAGE_CRYPTO_DESCRIPTOR :: ^STORAGE_CRYPTO_DESCRIPTOR; | |
/* STORAGE_TIER_MEDIA_TYPE :: enum { */ | |
STORAGE_TIER_MEDIA_TYPE :: _c.int; | |
StorageTierMediaTypeUnspecified :: 0; | |
StorageTierMediaTypeDisk :: 1; | |
StorageTierMediaTypeSsd :: 2; | |
StorageTierMediaTypeScm :: 4; | |
StorageTierMediaTypeMax :: StorageTierMediaTypeScm + 1; | |
/* } */ | |
PSTORAGE_TIER_MEDIA_TYPE :: ^STORAGE_TIER_MEDIA_TYPE; | |
/* STORAGE_TIER_CLASS :: enum { */ | |
STORAGE_TIER_CLASS :: _c.int; | |
StorageTierClassUnspecified :: 0; | |
StorageTierClassCapacity :: StorageTierClassUnspecified + 1; | |
StorageTierClassPerformance :: StorageTierClassCapacity + 1; | |
StorageTierClassMax :: StorageTierClassPerformance + 1; | |
/* } */ | |
PSTORAGE_TIER_CLASS :: ^STORAGE_TIER_CLASS; | |
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 :: ^STORAGE_TIER; | |
STORAGE_DEVICE_TIERING_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
TotalNumberOfTiers : DWORD, | |
NumberOfTiersReturned : DWORD, | |
Tiers : [1]STORAGE_TIER, | |
}; | |
PSTORAGE_DEVICE_TIERING_DESCRIPTOR :: ^STORAGE_DEVICE_TIERING_DESCRIPTOR; | |
STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
NumberOfFaultDomains : DWORD, | |
FaultDomainIds : [1]GUID, | |
}; | |
PSTORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR :: ^STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR; | |
/* STORAGE_PROTOCOL_TYPE :: enum { */ | |
STORAGE_PROTOCOL_TYPE :: _c.int; | |
ProtocolTypeUnknown :: 0x00; | |
ProtocolTypeScsi :: ProtocolTypeUnknown + 1; | |
ProtocolTypeAta :: ProtocolTypeScsi + 1; | |
ProtocolTypeNvme :: ProtocolTypeAta + 1; | |
ProtocolTypeSd :: ProtocolTypeNvme + 1; | |
ProtocolTypeUfs :: ProtocolTypeSd + 1; | |
ProtocolTypeProprietary :: 0x7E; | |
ProtocolTypeMaxReserved :: 0x7F; | |
/* } */ | |
PSTORAGE_PROTOCOL_TYPE :: ^STORAGE_PROTOCOL_TYPE; | |
/* STORAGE_PROTOCOL_NVME_DATA_TYPE :: enum { */ | |
STORAGE_PROTOCOL_NVME_DATA_TYPE :: _c.int; | |
NVMeDataTypeUnknown :: 0; | |
NVMeDataTypeIdentify :: NVMeDataTypeUnknown + 1; | |
NVMeDataTypeLogPage :: NVMeDataTypeIdentify + 1; | |
NVMeDataTypeFeature :: NVMeDataTypeLogPage + 1; | |
/* } */ | |
PSTORAGE_PROTOCOL_NVME_DATA_TYPE :: ^STORAGE_PROTOCOL_NVME_DATA_TYPE; | |
/* STORAGE_PROTOCOL_ATA_DATA_TYPE :: enum { */ | |
STORAGE_PROTOCOL_ATA_DATA_TYPE :: _c.int; | |
AtaDataTypeUnknown :: 0; | |
AtaDataTypeIdentify :: AtaDataTypeUnknown + 1; | |
AtaDataTypeLogPage :: AtaDataTypeIdentify + 1; | |
/* } */ | |
PSTORAGE_PROTOCOL_ATA_DATA_TYPE :: ^STORAGE_PROTOCOL_ATA_DATA_TYPE; | |
/* STORAGE_PROTOCOL_UFS_DATA_TYPE :: enum { */ | |
STORAGE_PROTOCOL_UFS_DATA_TYPE :: _c.int; | |
UfsDataTypeUnknown :: 0; | |
UfsDataTypeQueryDescriptor :: UfsDataTypeUnknown + 1; | |
UfsDataTypeMax :: UfsDataTypeQueryDescriptor + 1; | |
/* } */ | |
PSTORAGE_PROTOCOL_UFS_DATA_TYPE :: ^STORAGE_PROTOCOL_UFS_DATA_TYPE; | |
STORAGE_PROTOCOL_SPECIFIC_DATA :: struct { | |
ProtocolType : STORAGE_PROTOCOL_TYPE, | |
DataType : DWORD, | |
ProtocolDataRequestValue : DWORD, | |
ProtocolDataRequestSubValue : DWORD, | |
ProtocolDataOffset : DWORD, | |
ProtocolDataLength : DWORD, | |
FixedProtocolReturnData : DWORD, | |
ProtocolDataRequestSubValue2 : DWORD, | |
ProtocolDataRequestSubValue3 : DWORD, | |
Reserved : DWORD, | |
}; | |
PSTORAGE_PROTOCOL_SPECIFIC_DATA :: ^STORAGE_PROTOCOL_SPECIFIC_DATA; | |
STORAGE_PROTOCOL_SPECIFIC_DATA_EXT :: struct { | |
ProtocolType : STORAGE_PROTOCOL_TYPE, | |
DataType : DWORD, | |
ProtocolDataValue : DWORD, | |
ProtocolDataSubValue : DWORD, | |
ProtocolDataOffset : DWORD, | |
ProtocolDataLength : DWORD, | |
FixedProtocolReturnData : DWORD, | |
ProtocolDataSubValue2 : DWORD, | |
ProtocolDataSubValue3 : DWORD, | |
ProtocolDataSubValue4 : DWORD, | |
ProtocolDataSubValue5 : DWORD, | |
Reserved : [5]DWORD, | |
}; | |
PSTORAGE_PROTOCOL_SPECIFIC_DATA_EXT :: ^STORAGE_PROTOCOL_SPECIFIC_DATA_EXT; | |
STORAGE_PROTOCOL_DATA_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
ProtocolSpecificData : STORAGE_PROTOCOL_SPECIFIC_DATA, | |
}; | |
PSTORAGE_PROTOCOL_DATA_DESCRIPTOR :: ^STORAGE_PROTOCOL_DATA_DESCRIPTOR; | |
STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
ProtocolSpecificData : STORAGE_PROTOCOL_SPECIFIC_DATA_EXT, | |
}; | |
PSTORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT :: ^STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT; | |
STORAGE_TEMPERATURE_INFO :: struct { | |
Index : WORD, | |
Temperature : SHORT, | |
OverThreshold : SHORT, | |
UnderThreshold : SHORT, | |
OverThresholdChangable : BOOLEAN, | |
UnderThresholdChangable : BOOLEAN, | |
EventGenerated : BOOLEAN, | |
Reserved0 : BYTE, | |
Reserved1 : DWORD, | |
}; | |
PSTORAGE_TEMPERATURE_INFO :: ^STORAGE_TEMPERATURE_INFO; | |
STORAGE_TEMPERATURE_DATA_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
CriticalTemperature : SHORT, | |
WarningTemperature : SHORT, | |
InfoCount : WORD, | |
Reserved0 : [2]BYTE, | |
Reserved1 : [2]DWORD, | |
TemperatureInfo : [1]STORAGE_TEMPERATURE_INFO, | |
}; | |
PSTORAGE_TEMPERATURE_DATA_DESCRIPTOR :: ^STORAGE_TEMPERATURE_DATA_DESCRIPTOR; | |
STORAGE_TEMPERATURE_THRESHOLD :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : WORD, | |
Index : WORD, | |
Threshold : SHORT, | |
OverThreshold : BOOLEAN, | |
Reserved : BYTE, | |
}; | |
PSTORAGE_TEMPERATURE_THRESHOLD :: ^STORAGE_TEMPERATURE_THRESHOLD; | |
/* STORAGE_DEVICE_FORM_FACTOR :: enum { */ | |
STORAGE_DEVICE_FORM_FACTOR :: _c.int; | |
FormFactorUnknown :: 0; | |
FormFactor3_5 :: FormFactorUnknown + 1; | |
FormFactor2_5 :: FormFactor3_5 + 1; | |
FormFactor1_8 :: FormFactor2_5 + 1; | |
FormFactor1_8Less :: FormFactor1_8 + 1; | |
FormFactorEmbedded :: FormFactor1_8Less + 1; | |
FormFactorMemoryCard :: FormFactorEmbedded + 1; | |
FormFactormSata :: FormFactorMemoryCard + 1; | |
FormFactorM_2 :: FormFactormSata + 1; | |
FormFactorPCIeBoard :: FormFactorM_2 + 1; | |
FormFactorDimm :: FormFactorPCIeBoard + 1; | |
/* } */ | |
PSTORAGE_DEVICE_FORM_FACTOR :: ^STORAGE_DEVICE_FORM_FACTOR; | |
/* STORAGE_COMPONENT_HEALTH_STATUS :: enum { */ | |
STORAGE_COMPONENT_HEALTH_STATUS :: _c.int; | |
HealthStatusUnknown :: 0; | |
HealthStatusNormal :: HealthStatusUnknown + 1; | |
HealthStatusThrottled :: HealthStatusNormal + 1; | |
HealthStatusWarning :: HealthStatusThrottled + 1; | |
HealthStatusDisabled :: HealthStatusWarning + 1; | |
HealthStatusFailed :: HealthStatusDisabled + 1; | |
/* } */ | |
PSTORAGE_COMPONENT_HEALTH_STATUS :: ^STORAGE_COMPONENT_HEALTH_STATUS; | |
STORAGE_SPEC_VERSION :: struct #raw_union { | |
s : struct { | |
MinorVersion : struct #raw_union { | |
s : struct { | |
SubMinor : BYTE, | |
Minor : BYTE, | |
}, | |
AsUshort : WORD, | |
}, | |
MajorVersion : WORD, | |
}, | |
AsUlong : DWORD, | |
}; | |
PSTORAGE_SPEC_VERSION :: ^STORAGE_SPEC_VERSION; | |
STORAGE_PHYSICAL_DEVICE_DATA :: struct { | |
DeviceId : DWORD, | |
Role : DWORD, | |
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]DWORD, | |
}; | |
PSTORAGE_PHYSICAL_DEVICE_DATA :: ^STORAGE_PHYSICAL_DEVICE_DATA; | |
STORAGE_PHYSICAL_ADAPTER_DATA :: struct { | |
AdapterId : DWORD, | |
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]DWORD, | |
}; | |
PSTORAGE_PHYSICAL_ADAPTER_DATA :: ^STORAGE_PHYSICAL_ADAPTER_DATA; | |
STORAGE_PHYSICAL_NODE_DATA :: struct { | |
NodeId : DWORD, | |
AdapterCount : DWORD, | |
AdapterDataLength : DWORD, | |
AdapterDataOffset : DWORD, | |
DeviceCount : DWORD, | |
DeviceDataLength : DWORD, | |
DeviceDataOffset : DWORD, | |
Reserved : [3]DWORD, | |
}; | |
PSTORAGE_PHYSICAL_NODE_DATA :: ^STORAGE_PHYSICAL_NODE_DATA; | |
STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
NodeCount : DWORD, | |
Reserved : DWORD, | |
Node : [1]STORAGE_PHYSICAL_NODE_DATA, | |
}; | |
PSTORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR :: ^STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR; | |
STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
LunMaxIoCount : DWORD, | |
AdapterMaxIoCount : DWORD, | |
}; | |
PSTORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR :: ^STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR; | |
STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Attributes : DWORD64, | |
}; | |
PSTORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR :: ^STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR; | |
/* STORAGE_DISK_HEALTH_STATUS :: enum { */ | |
STORAGE_DISK_HEALTH_STATUS :: _c.int; | |
DiskHealthUnknown :: 0; | |
DiskHealthUnhealthy :: DiskHealthUnknown + 1; | |
DiskHealthWarning :: DiskHealthUnhealthy + 1; | |
DiskHealthHealthy :: DiskHealthWarning + 1; | |
DiskHealthMax :: DiskHealthHealthy + 1; | |
/* } */ | |
PSTORAGE_DISK_HEALTH_STATUS :: ^STORAGE_DISK_HEALTH_STATUS; | |
/* STORAGE_DISK_OPERATIONAL_STATUS :: enum { */ | |
STORAGE_DISK_OPERATIONAL_STATUS :: _c.int; | |
DiskOpStatusNone :: 0; | |
DiskOpStatusUnknown :: DiskOpStatusNone + 1; | |
DiskOpStatusOk :: DiskOpStatusUnknown + 1; | |
DiskOpStatusPredictingFailure :: DiskOpStatusOk + 1; | |
DiskOpStatusInService :: DiskOpStatusPredictingFailure + 1; | |
DiskOpStatusHardwareError :: DiskOpStatusInService + 1; | |
DiskOpStatusNotUsable :: DiskOpStatusHardwareError + 1; | |
DiskOpStatusTransientError :: DiskOpStatusNotUsable + 1; | |
DiskOpStatusMissing :: DiskOpStatusTransientError + 1; | |
/* } */ | |
PSTORAGE_DISK_OPERATIONAL_STATUS :: ^STORAGE_DISK_OPERATIONAL_STATUS; | |
/* STORAGE_OPERATIONAL_STATUS_REASON :: enum { */ | |
STORAGE_OPERATIONAL_STATUS_REASON :: _c.int; | |
DiskOpReasonUnknown :: 0; | |
DiskOpReasonScsiSenseCode :: DiskOpReasonUnknown + 1; | |
DiskOpReasonMedia :: DiskOpReasonScsiSenseCode + 1; | |
DiskOpReasonIo :: DiskOpReasonMedia + 1; | |
DiskOpReasonThresholdExceeded :: DiskOpReasonIo + 1; | |
DiskOpReasonLostData :: DiskOpReasonThresholdExceeded + 1; | |
DiskOpReasonEnergySource :: DiskOpReasonLostData + 1; | |
DiskOpReasonConfiguration :: DiskOpReasonEnergySource + 1; | |
DiskOpReasonDeviceController :: DiskOpReasonConfiguration + 1; | |
DiskOpReasonMediaController :: DiskOpReasonDeviceController + 1; | |
DiskOpReasonComponent :: DiskOpReasonMediaController + 1; | |
DiskOpReasonNVDIMM_N :: DiskOpReasonComponent + 1; | |
DiskOpReasonBackgroundOperation :: DiskOpReasonNVDIMM_N + 1; | |
DiskOpReasonInvalidFirmware :: DiskOpReasonBackgroundOperation + 1; | |
DiskOpReasonHealthCheck :: DiskOpReasonInvalidFirmware + 1; | |
DiskOpReasonLostDataPersistence :: DiskOpReasonHealthCheck + 1; | |
DiskOpReasonDisabledByPlatform :: DiskOpReasonLostDataPersistence + 1; | |
DiskOpReasonLostWritePersistence :: DiskOpReasonDisabledByPlatform + 1; | |
DiskOpReasonDataPersistenceLossImminent :: DiskOpReasonLostWritePersistence + 1; | |
DiskOpReasonWritePersistenceLossImminent :: DiskOpReasonDataPersistenceLossImminent + 1; | |
DiskOpReasonMax :: DiskOpReasonWritePersistenceLossImminent + 1; | |
/* } */ | |
PSTORAGE_OPERATIONAL_STATUS_REASON :: ^STORAGE_OPERATIONAL_STATUS_REASON; | |
STORAGE_OPERATIONAL_REASON :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
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 : DWORD, | |
}, | |
}; | |
PSTORAGE_OPERATIONAL_REASON :: ^STORAGE_OPERATIONAL_REASON; | |
STORAGE_DEVICE_MANAGEMENT_STATUS :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Health : STORAGE_DISK_HEALTH_STATUS, | |
NumberOfOperationalStatus : DWORD, | |
NumberOfAdditionalReasons : DWORD, | |
OperationalStatus : [16]STORAGE_DISK_OPERATIONAL_STATUS, | |
AdditionalReasons : [1]STORAGE_OPERATIONAL_REASON, | |
}; | |
PSTORAGE_DEVICE_MANAGEMENT_STATUS :: ^STORAGE_DEVICE_MANAGEMENT_STATUS; | |
STORAGE_ADAPTER_SERIAL_NUMBER :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
SerialNumber : [(128)]WCHAR, | |
}; | |
PSTORAGE_ADAPTER_SERIAL_NUMBER :: ^STORAGE_ADAPTER_SERIAL_NUMBER; | |
/* STORAGE_ZONED_DEVICE_TYPES :: enum { */ | |
STORAGE_ZONED_DEVICE_TYPES :: _c.int; | |
ZonedDeviceTypeUnknown :: 0; | |
ZonedDeviceTypeHostManaged :: ZonedDeviceTypeUnknown + 1; | |
ZonedDeviceTypeHostAware :: ZonedDeviceTypeHostManaged + 1; | |
ZonedDeviceTypeDeviceManaged :: ZonedDeviceTypeHostAware + 1; | |
/* } */ | |
PSTORAGE_ZONED_DEVICE_TYPES :: ^STORAGE_ZONED_DEVICE_TYPES; | |
/* STORAGE_ZONE_TYPES :: enum { */ | |
STORAGE_ZONE_TYPES :: _c.int; | |
ZoneTypeUnknown :: 0; | |
ZoneTypeConventional :: 1; | |
ZoneTypeSequentialWriteRequired :: 2; | |
ZoneTypeSequentialWritePreferred :: 3; | |
ZoneTypeMax :: ZoneTypeSequentialWritePreferred + 1; | |
/* } */ | |
PSTORAGE_ZONE_TYPES :: ^STORAGE_ZONE_TYPES; | |
STORAGE_ZONE_GROUP :: struct { | |
ZoneCount : DWORD, | |
ZoneType : STORAGE_ZONE_TYPES, | |
ZoneSize : DWORDLONG, | |
}; | |
PSTORAGE_ZONE_GROUP :: ^STORAGE_ZONE_GROUP; | |
STORAGE_ZONED_DEVICE_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
DeviceType : STORAGE_ZONED_DEVICE_TYPES, | |
ZoneCount : DWORD, | |
ZoneAttributes : struct #raw_union { | |
SequentialRequiredZone : struct { | |
MaxOpenZoneCount : DWORD, | |
UnrestrictedRead : BOOLEAN, | |
Reserved : [3]BYTE, | |
}, | |
SequentialPreferredZone : struct { | |
OptimalOpenZoneCount : DWORD, | |
Reserved : DWORD, | |
}, | |
}, | |
ZoneGroupCount : DWORD, | |
ZoneGroup : [1]STORAGE_ZONE_GROUP, | |
}; | |
PSTORAGE_ZONED_DEVICE_DESCRIPTOR :: ^STORAGE_ZONED_DEVICE_DESCRIPTOR; | |
DEVICE_LOCATION :: struct { | |
Socket : DWORD, | |
Slot : DWORD, | |
Adapter : DWORD, | |
Port : DWORD, | |
u : struct #raw_union { | |
s : struct { | |
Channel : DWORD, | |
Device : DWORD, | |
}, | |
s2 : struct { | |
Target : DWORD, | |
Lun : DWORD, | |
}, | |
}, | |
}; | |
PDEVICE_LOCATION :: ^DEVICE_LOCATION; | |
STORAGE_DEVICE_LOCATION_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Location : DEVICE_LOCATION, | |
StringOffset : DWORD, | |
}; | |
PSTORAGE_DEVICE_LOCATION_DESCRIPTOR :: ^STORAGE_DEVICE_LOCATION_DESCRIPTOR; | |
STORAGE_DEVICE_NUMA_PROPERTY :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
NumaNode : DWORD, | |
}; | |
PSTORAGE_DEVICE_NUMA_PROPERTY :: ^STORAGE_DEVICE_NUMA_PROPERTY; | |
STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
UnsafeShutdownCount : DWORD, | |
}; | |
PSTORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT :: ^STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT; | |
STORAGE_HW_ENDURANCE_INFO :: struct { | |
ValidFields : DWORD, | |
GroupId : DWORD, | |
Flags : bit_field { | |
Shared : 1, | |
Reserved : 31, | |
}, | |
LifePercentage : DWORD, | |
BytesReadCount : [16]BYTE, | |
ByteWriteCount : [16]BYTE, | |
}; | |
PSTORAGE_HW_ENDURANCE_INFO :: ^STORAGE_HW_ENDURANCE_INFO; | |
STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
EnduranceInfo : STORAGE_HW_ENDURANCE_INFO, | |
}; | |
PSTORAGE_HW_ENDURANCE_DATA_DESCRIPTOR :: ^STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR; | |
DEVICE_DATA_MANAGEMENT_SET_ACTION :: DWORD; | |
DEVICE_DSM_ACTION :: DWORD; | |
DEVICE_DATA_SET_RANGE :: struct { | |
StartingOffset : LONGLONG, | |
LengthInBytes : DWORDLONG, | |
}; | |
PDEVICE_DATA_SET_RANGE :: ^DEVICE_DATA_SET_RANGE; | |
DEVICE_DSM_RANGE :: struct { | |
StartingOffset : LONGLONG, | |
LengthInBytes : DWORDLONG, | |
}; | |
PDEVICE_DSM_RANGE :: ^DEVICE_DSM_RANGE; | |
DEVICE_MANAGE_DATA_SET_ATTRIBUTES :: struct { | |
Size : DWORD, | |
Action : DEVICE_DSM_ACTION, | |
Flags : DWORD, | |
ParameterBlockOffset : DWORD, | |
ParameterBlockLength : DWORD, | |
DataSetRangesOffset : DWORD, | |
DataSetRangesLength : DWORD, | |
}; | |
PDEVICE_MANAGE_DATA_SET_ATTRIBUTES :: ^DEVICE_MANAGE_DATA_SET_ATTRIBUTES; | |
DEVICE_DSM_INPUT :: struct { | |
Size : DWORD, | |
Action : DEVICE_DSM_ACTION, | |
Flags : DWORD, | |
ParameterBlockOffset : DWORD, | |
ParameterBlockLength : DWORD, | |
DataSetRangesOffset : DWORD, | |
DataSetRangesLength : DWORD, | |
}; | |
PDEVICE_DSM_INPUT :: ^DEVICE_DSM_INPUT; | |
DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT :: struct { | |
Size : DWORD, | |
Action : DEVICE_DSM_ACTION, | |
Flags : DWORD, | |
OperationStatus : DWORD, | |
ExtendedError : DWORD, | |
TargetDetailedError : DWORD, | |
ReservedStatus : DWORD, | |
OutputBlockOffset : DWORD, | |
OutputBlockLength : DWORD, | |
}; | |
PDEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT :: ^DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT; | |
DEVICE_DSM_OUTPUT :: struct { | |
Size : DWORD, | |
Action : DEVICE_DSM_ACTION, | |
Flags : DWORD, | |
OperationStatus : DWORD, | |
ExtendedError : DWORD, | |
TargetDetailedError : DWORD, | |
ReservedStatus : DWORD, | |
OutputBlockOffset : DWORD, | |
OutputBlockLength : DWORD, | |
}; | |
PDEVICE_DSM_OUTPUT :: ^DEVICE_DSM_OUTPUT; | |
DEVICE_DSM_DEFINITION :: struct { | |
Action : DEVICE_DSM_ACTION, | |
SingleRange : BOOLEAN, | |
ParameterBlockAlignment : DWORD, | |
ParameterBlockLength : DWORD, | |
HasOutput : BOOLEAN, | |
OutputBlockAlignment : DWORD, | |
OutputBlockLength : DWORD, | |
}; | |
PDEVICE_DSM_DEFINITION :: ^DEVICE_DSM_DEFINITION; | |
DEVICE_DSM_NOTIFICATION_PARAMETERS :: struct { | |
Size : DWORD, | |
Flags : DWORD, | |
NumFileTypeIDs : DWORD, | |
FileTypeID : [1]GUID, | |
}; | |
PDEVICE_DSM_NOTIFICATION_PARAMETERS :: ^DEVICE_DSM_NOTIFICATION_PARAMETERS; | |
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 :: ^STORAGE_OFFLOAD_TOKEN; | |
DEVICE_DSM_OFFLOAD_READ_PARAMETERS :: struct { | |
Flags : DWORD, | |
TimeToLive : DWORD, | |
Reserved : [2]DWORD, | |
}; | |
PDEVICE_DSM_OFFLOAD_READ_PARAMETERS :: ^DEVICE_DSM_OFFLOAD_READ_PARAMETERS; | |
STORAGE_OFFLOAD_READ_OUTPUT :: struct { | |
OffloadReadFlags : DWORD, | |
Reserved : DWORD, | |
LengthProtected : DWORDLONG, | |
TokenLength : DWORD, | |
Token : STORAGE_OFFLOAD_TOKEN, | |
}; | |
PSTORAGE_OFFLOAD_READ_OUTPUT :: ^STORAGE_OFFLOAD_READ_OUTPUT; | |
DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS :: struct { | |
Flags : DWORD, | |
Reserved : DWORD, | |
TokenOffset : DWORDLONG, | |
Token : STORAGE_OFFLOAD_TOKEN, | |
}; | |
PDEVICE_DSM_OFFLOAD_WRITE_PARAMETERS :: ^DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS; | |
STORAGE_OFFLOAD_WRITE_OUTPUT :: struct { | |
OffloadWriteFlags : DWORD, | |
Reserved : DWORD, | |
LengthCopied : DWORDLONG, | |
}; | |
PSTORAGE_OFFLOAD_WRITE_OUTPUT :: ^STORAGE_OFFLOAD_WRITE_OUTPUT; | |
DEVICE_DATA_SET_LBP_STATE_PARAMETERS :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
OutputVersion : DWORD, | |
}; | |
PDEVICE_DATA_SET_LBP_STATE_PARAMETERS :: ^DEVICE_DATA_SET_LBP_STATE_PARAMETERS; | |
DEVICE_DSM_ALLOCATION_PARAMETERS :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
OutputVersion : DWORD, | |
}; | |
PDEVICE_DSM_ALLOCATION_PARAMETERS :: ^DEVICE_DSM_ALLOCATION_PARAMETERS; | |
DEVICE_DATA_SET_LB_PROVISIONING_STATE :: struct { | |
Size : DWORD, | |
Version : DWORD, | |
SlabSizeInBytes : DWORDLONG, | |
SlabOffsetDeltaInBytes : DWORD, | |
SlabAllocationBitMapBitCount : DWORD, | |
SlabAllocationBitMapLength : DWORD, | |
SlabAllocationBitMap : [1]DWORD, | |
}; | |
PDEVICE_DATA_SET_LB_PROVISIONING_STATE :: ^DEVICE_DATA_SET_LB_PROVISIONING_STATE; | |
DEVICE_DSM_ALLOCATION_OUTPUT :: struct { | |
Size : DWORD, | |
Version : DWORD, | |
SlabSizeInBytes : DWORDLONG, | |
SlabOffsetDeltaInBytes : DWORD, | |
SlabAllocationBitMapBitCount : DWORD, | |
SlabAllocationBitMapLength : DWORD, | |
SlabAllocationBitMap : [1]DWORD, | |
}; | |
PDEVICE_DSM_ALLOCATION_OUTPUT :: ^DEVICE_DSM_ALLOCATION_OUTPUT; | |
DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2 :: struct { | |
Size : DWORD, | |
Version : DWORD, | |
SlabSizeInBytes : DWORDLONG, | |
SlabOffsetDeltaInBytes : DWORDLONG, | |
SlabAllocationBitMapBitCount : DWORD, | |
SlabAllocationBitMapLength : DWORD, | |
SlabAllocationBitMap : [1]DWORD, | |
}; | |
PDEVICE_DATA_SET_LB_PROVISIONING_STATE_V2 :: ^DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2; | |
DEVICE_DSM_ALLOCATION_OUTPUT2 :: struct { | |
Size : DWORD, | |
Version : DWORD, | |
SlabSizeInBytes : DWORDLONG, | |
SlabOffsetDeltaInBytes : DWORDLONG, | |
SlabAllocationBitMapBitCount : DWORD, | |
SlabAllocationBitMapLength : DWORD, | |
SlabAllocationBitMap : [1]DWORD, | |
}; | |
PDEVICE_DSM_ALLOCATION_OUTPUT2 :: ^DEVICE_DSM_ALLOCATION_OUTPUT2; | |
DEVICE_DATA_SET_REPAIR_PARAMETERS :: struct { | |
NumberOfRepairCopies : DWORD, | |
SourceCopy : DWORD, | |
RepairCopies : [1]DWORD, | |
}; | |
PDEVICE_DATA_SET_REPAIR_PARAMETERS :: ^DEVICE_DATA_SET_REPAIR_PARAMETERS; | |
DEVICE_DSM_REPAIR_PARAMETERS :: struct { | |
NumberOfRepairCopies : DWORD, | |
SourceCopy : DWORD, | |
RepairCopies : [1]DWORD, | |
}; | |
PDEVICE_DSM_REPAIR_PARAMETERS :: ^DEVICE_DSM_REPAIR_PARAMETERS; | |
DEVICE_DATA_SET_REPAIR_OUTPUT :: struct { | |
ParityExtent : DEVICE_DSM_RANGE, | |
}; | |
PDEVICE_DATA_SET_REPAIR_OUTPUT :: ^DEVICE_DATA_SET_REPAIR_OUTPUT; | |
DEVICE_DSM_REPAIR_OUTPUT :: struct { | |
ParityExtent : DEVICE_DSM_RANGE, | |
}; | |
PDEVICE_DSM_REPAIR_OUTPUT :: ^DEVICE_DSM_REPAIR_OUTPUT; | |
DEVICE_DATA_SET_SCRUB_OUTPUT :: struct { | |
BytesProcessed : DWORDLONG, | |
BytesRepaired : DWORDLONG, | |
BytesFailed : DWORDLONG, | |
}; | |
PDEVICE_DATA_SET_SCRUB_OUTPUT :: ^DEVICE_DATA_SET_SCRUB_OUTPUT; | |
DEVICE_DSM_SCRUB_OUTPUT :: struct { | |
BytesProcessed : DWORDLONG, | |
BytesRepaired : DWORDLONG, | |
BytesFailed : DWORDLONG, | |
}; | |
PDEVICE_DSM_SCRUB_OUTPUT :: ^DEVICE_DSM_SCRUB_OUTPUT; | |
DEVICE_DATA_SET_SCRUB_EX_OUTPUT :: struct { | |
BytesProcessed : DWORDLONG, | |
BytesRepaired : DWORDLONG, | |
BytesFailed : DWORDLONG, | |
ParityExtent : DEVICE_DSM_RANGE, | |
}; | |
PDEVICE_DATA_SET_SCRUB_EX_OUTPUT :: ^DEVICE_DATA_SET_SCRUB_EX_OUTPUT; | |
DEVICE_DSM_SCRUB_OUTPUT2 :: struct { | |
BytesProcessed : DWORDLONG, | |
BytesRepaired : DWORDLONG, | |
BytesFailed : DWORDLONG, | |
ParityExtent : DEVICE_DSM_RANGE, | |
}; | |
PDEVICE_DSM_SCRUB_OUTPUT2 :: ^DEVICE_DSM_SCRUB_OUTPUT2; | |
DEVICE_DSM_TIERING_QUERY_INPUT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
NumberOfTierIds : DWORD, | |
TierIds : [1]GUID, | |
}; | |
PDEVICE_DSM_TIERING_QUERY_INPUT :: ^DEVICE_DSM_TIERING_QUERY_INPUT; | |
DEVICE_DSM_TIERING_QUERY_PARAMETERS :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
NumberOfTierIds : DWORD, | |
TierIds : [1]GUID, | |
}; | |
PDEVICE_DSM_TIERING_QUERY_PARAMETERS :: ^DEVICE_DSM_TIERING_QUERY_PARAMETERS; | |
STORAGE_TIER_REGION :: struct { | |
TierId : GUID, | |
Offset : DWORDLONG, | |
Length : DWORDLONG, | |
}; | |
PSTORAGE_TIER_REGION :: ^STORAGE_TIER_REGION; | |
DEVICE_DSM_TIERING_QUERY_OUTPUT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
Reserved : DWORD, | |
Alignment : DWORDLONG, | |
TotalNumberOfRegions : DWORD, | |
NumberOfRegionsReturned : DWORD, | |
Regions : [1]STORAGE_TIER_REGION, | |
}; | |
PDEVICE_DSM_TIERING_QUERY_OUTPUT :: ^DEVICE_DSM_TIERING_QUERY_OUTPUT; | |
DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS :: struct { | |
Size : DWORD, | |
TargetPriority : BYTE, | |
Reserved : [3]BYTE, | |
}; | |
PDEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS :: ^DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS; | |
DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT :: struct { | |
TopologyRangeBytes : DWORDLONG, | |
TopologyId : [16]BYTE, | |
}; | |
PDEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT :: ^DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT; | |
DEVICE_DSM_TOPOLOGY_ID_QUERY_OUTPUT :: struct { | |
TopologyRangeBytes : DWORDLONG, | |
TopologyId : [16]BYTE, | |
}; | |
PDEVICE_DSM_TOPOLOGY_ID_QUERY_OUTPUT :: ^DEVICE_DSM_TOPOLOGY_ID_QUERY_OUTPUT; | |
DEVICE_STORAGE_ADDRESS_RANGE :: struct { | |
StartAddress : LONGLONG, | |
LengthInBytes : DWORDLONG, | |
}; | |
PDEVICE_STORAGE_ADDRESS_RANGE :: ^DEVICE_STORAGE_ADDRESS_RANGE; | |
DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
TotalNumberOfRanges : DWORD, | |
NumberOfRangesReturned : DWORD, | |
Ranges : [1]DEVICE_STORAGE_ADDRESS_RANGE, | |
}; | |
PDEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT :: ^DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT; | |
DEVICE_DSM_REPORT_ZONES_PARAMETERS :: struct { | |
Size : DWORD, | |
ReportOption : BYTE, | |
Partial : BYTE, | |
Reserved : [2]BYTE, | |
}; | |
PDEVICE_DSM_REPORT_ZONES_PARAMETERS :: ^DEVICE_DSM_REPORT_ZONES_PARAMETERS; | |
/* STORAGE_ZONES_ATTRIBUTES :: enum { */ | |
STORAGE_ZONES_ATTRIBUTES :: _c.int; | |
ZonesAttributeTypeAndLengthMayDifferent :: 0; | |
ZonesAttributeTypeSameLengthSame :: 1; | |
ZonesAttributeTypeSameLastZoneLengthDifferent :: 2; | |
ZonesAttributeTypeMayDifferentLengthSame :: 3; | |
/* } */ | |
PSTORAGE_ZONES_ATTRIBUTES :: ^STORAGE_ZONES_ATTRIBUTES; | |
/* STORAGE_ZONE_CONDITION :: enum { */ | |
STORAGE_ZONE_CONDITION :: _c.int; | |
ZoneConditionConventional :: 0x00; | |
ZoneConditionEmpty :: 0x01; | |
ZoneConditionImplicitlyOpened :: 0x02; | |
ZoneConditionExplicitlyOpened :: 0x03; | |
ZoneConditionClosed :: 0x04; | |
ZoneConditionReadOnly :: 0x0D; | |
ZoneConditionFull :: 0x0E; | |
ZoneConditionOffline :: 0x0F; | |
/* } */ | |
PSTORAGE_ZONE_CONDITION :: ^STORAGE_ZONE_CONDITION; | |
STORAGE_ZONE_DESCRIPTOR :: struct { | |
Size : DWORD, | |
ZoneType : STORAGE_ZONE_TYPES, | |
ZoneCondition : STORAGE_ZONE_CONDITION, | |
ResetWritePointerRecommend : BOOLEAN, | |
Reserved0 : [3]BYTE, | |
ZoneSize : DWORDLONG, | |
WritePointerOffset : DWORDLONG, | |
}; | |
PSTORAGE_ZONE_DESCRIPTOR :: ^STORAGE_ZONE_DESCRIPTOR; | |
DEVICE_DSM_REPORT_ZONES_DATA :: struct { | |
Size : DWORD, | |
ZoneCount : DWORD, | |
Attributes : STORAGE_ZONES_ATTRIBUTES, | |
Reserved0 : DWORD, | |
ZoneDescriptors : [1]STORAGE_ZONE_DESCRIPTOR, | |
}; | |
PDEVICE_DSM_REPORT_ZONES_DATA :: ^DEVICE_DSM_REPORT_ZONES_DATA; | |
DEVICE_DSM_REPORT_ZONES_OUTPUT :: struct { | |
Size : DWORD, | |
ZoneCount : DWORD, | |
Attributes : STORAGE_ZONES_ATTRIBUTES, | |
Reserved0 : DWORD, | |
ZoneDescriptors : [1]STORAGE_ZONE_DESCRIPTOR, | |
}; | |
PDEVICE_DSM_REPORT_ZONES_OUTPUT :: ^DEVICE_DSM_REPORT_ZONES_OUTPUT; | |
DEVICE_STORAGE_RANGE_ATTRIBUTES :: struct { | |
LengthInBytes : DWORDLONG, | |
using _ : struct #raw_union { | |
AllFlags : DWORD, | |
using _ : bit_field { | |
IsRangeBad : 1, | |
}, | |
}, | |
Reserved : DWORD, | |
}; | |
PDEVICE_STORAGE_RANGE_ATTRIBUTES :: ^DEVICE_STORAGE_RANGE_ATTRIBUTES; | |
DEVICE_DSM_RANGE_ERROR_INFO :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
TotalNumberOfRanges : DWORD, | |
NumberOfRangesReturned : DWORD, | |
Ranges : [1]DEVICE_STORAGE_RANGE_ATTRIBUTES, | |
}; | |
PDEVICE_DSM_RANGE_ERROR_INFO :: ^DEVICE_DSM_RANGE_ERROR_INFO; | |
DEVICE_DSM_RANGE_ERROR_OUTPUT :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
TotalNumberOfRanges : DWORD, | |
NumberOfRangesReturned : DWORD, | |
Ranges : [1]DEVICE_STORAGE_RANGE_ATTRIBUTES, | |
}; | |
PDEVICE_DSM_RANGE_ERROR_OUTPUT :: ^DEVICE_DSM_RANGE_ERROR_OUTPUT; | |
DEVICE_DSM_LOST_QUERY_PARAMETERS :: struct { | |
Version : DWORD, | |
Granularity : DWORDLONG, | |
}; | |
PDEVICE_DSM_LOST_QUERY_PARAMETERS :: ^DEVICE_DSM_LOST_QUERY_PARAMETERS; | |
DEVICE_DSM_LOST_QUERY_OUTPUT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Alignment : DWORDLONG, | |
NumberOfBits : DWORD, | |
BitMap : [1]DWORD, | |
}; | |
PDEVICE_DSM_LOST_QUERY_OUTPUT :: ^DEVICE_DSM_LOST_QUERY_OUTPUT; | |
DEVICE_DSM_FREE_SPACE_OUTPUT :: struct { | |
Version : DWORD, | |
FreeSpace : DWORDLONG, | |
}; | |
PDEVICE_DSM_FREE_SPACE_OUTPUT :: ^DEVICE_DSM_FREE_SPACE_OUTPUT; | |
DEVICE_DSM_CONVERSION_OUTPUT :: struct { | |
Version : DWORD, | |
Source : GUID, | |
}; | |
PDEVICE_DSM_CONVERSION_OUTPUT :: ^DEVICE_DSM_CONVERSION_OUTPUT; | |
STORAGE_GET_BC_PROPERTIES_OUTPUT :: struct { | |
MaximumRequestsPerPeriod : DWORD, | |
MinimumPeriod : DWORD, | |
MaximumRequestSize : DWORDLONG, | |
EstimatedTimePerRequest : DWORD, | |
NumOutStandingRequests : DWORD, | |
RequestSize : DWORDLONG, | |
}; | |
PSTORAGE_GET_BC_PROPERTIES_OUTPUT :: ^STORAGE_GET_BC_PROPERTIES_OUTPUT; | |
STORAGE_ALLOCATE_BC_STREAM_INPUT :: struct { | |
Version : DWORD, | |
RequestsPerPeriod : DWORD, | |
Period : DWORD, | |
RetryFailures : BOOLEAN, | |
Discardable : BOOLEAN, | |
Reserved1 : [2]BOOLEAN, | |
AccessType : DWORD, | |
AccessMode : DWORD, | |
}; | |
PSTORAGE_ALLOCATE_BC_STREAM_INPUT :: ^STORAGE_ALLOCATE_BC_STREAM_INPUT; | |
STORAGE_ALLOCATE_BC_STREAM_OUTPUT :: struct { | |
RequestSize : DWORDLONG, | |
NumOutStandingRequests : DWORD, | |
}; | |
PSTORAGE_ALLOCATE_BC_STREAM_OUTPUT :: ^STORAGE_ALLOCATE_BC_STREAM_OUTPUT; | |
STORAGE_PRIORITY_HINT_SUPPORT :: struct { | |
SupportFlags : DWORD, | |
}; | |
PSTORAGE_PRIORITY_HINT_SUPPORT :: ^STORAGE_PRIORITY_HINT_SUPPORT; | |
/* STORAGE_DIAGNOSTIC_LEVEL :: enum { */ | |
STORAGE_DIAGNOSTIC_LEVEL :: _c.int; | |
StorageDiagnosticLevelDefault :: 0; | |
StorageDiagnosticLevelMax :: StorageDiagnosticLevelDefault + 1; | |
/* } */ | |
PSTORAGE_DIAGNOSTIC_LEVEL :: ^STORAGE_DIAGNOSTIC_LEVEL; | |
/* STORAGE_DIAGNOSTIC_TARGET_TYPE :: enum { */ | |
STORAGE_DIAGNOSTIC_TARGET_TYPE :: _c.int; | |
StorageDiagnosticTargetTypeUndefined :: 0; | |
StorageDiagnosticTargetTypePort :: StorageDiagnosticTargetTypeUndefined + 1; | |
StorageDiagnosticTargetTypeMiniport :: StorageDiagnosticTargetTypePort + 1; | |
StorageDiagnosticTargetTypeHbaFirmware :: StorageDiagnosticTargetTypeMiniport + 1; | |
StorageDiagnosticTargetTypeMax :: StorageDiagnosticTargetTypeHbaFirmware + 1; | |
/* } */ | |
PSTORAGE_DIAGNOSTIC_TARGET_TYPE :: ^STORAGE_DIAGNOSTIC_TARGET_TYPE; | |
STORAGE_DIAGNOSTIC_REQUEST :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Reserved : DWORD, | |
TargetType : STORAGE_DIAGNOSTIC_TARGET_TYPE, | |
Level : STORAGE_DIAGNOSTIC_LEVEL, | |
}; | |
PSTORAGE_DIAGNOSTIC_REQUEST :: ^STORAGE_DIAGNOSTIC_REQUEST; | |
STORAGE_DIAGNOSTIC_DATA :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
ProviderId : GUID, | |
BufferSize : DWORD, | |
Reserved : DWORD, | |
DiagnosticDataBuffer : [1]BYTE, | |
}; | |
PSTORAGE_DIAGNOSTIC_DATA :: ^STORAGE_DIAGNOSTIC_DATA; | |
PHYSICAL_ELEMENT_STATUS_REQUEST :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
StartingElement : DWORD, | |
Filter : BYTE, | |
ReportType : BYTE, | |
Reserved : [2]BYTE, | |
}; | |
PPHYSICAL_ELEMENT_STATUS_REQUEST :: ^PHYSICAL_ELEMENT_STATUS_REQUEST; | |
PHYSICAL_ELEMENT_STATUS_DESCRIPTOR :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
ElementIdentifier : DWORD, | |
PhysicalElementType : BYTE, | |
PhysicalElementHealth : BYTE, | |
Reserved1 : [2]BYTE, | |
AssociatedCapacity : DWORDLONG, | |
Reserved2 : [4]DWORD, | |
}; | |
PPHYSICAL_ELEMENT_STATUS_DESCRIPTOR :: ^PHYSICAL_ELEMENT_STATUS_DESCRIPTOR; | |
PHYSICAL_ELEMENT_STATUS :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
DescriptorCount : DWORD, | |
ReturnedDescriptorCount : DWORD, | |
ElementIdentifierBeingDepoped : DWORD, | |
Reserved : DWORD, | |
Descriptors : [1]PHYSICAL_ELEMENT_STATUS_DESCRIPTOR, | |
}; | |
PPHYSICAL_ELEMENT_STATUS :: ^PHYSICAL_ELEMENT_STATUS; | |
REMOVE_ELEMENT_AND_TRUNCATE_REQUEST :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
RequestCapacity : DWORDLONG, | |
ElementIdentifier : DWORD, | |
Reserved : DWORD, | |
}; | |
PREMOVE_ELEMENT_AND_TRUNCATE_REQUEST :: ^REMOVE_ELEMENT_AND_TRUNCATE_REQUEST; | |
STORAGE_READ_CAPACITY :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
BlockLength : DWORD, | |
NumberOfBlocks : LARGE_INTEGER, | |
DiskLength : LARGE_INTEGER, | |
}; | |
PSTORAGE_READ_CAPACITY :: ^STORAGE_READ_CAPACITY; | |
/* WRITE_CACHE_TYPE :: enum { */ | |
WRITE_CACHE_TYPE :: _c.int; | |
WriteCacheTypeUnknown :: 0; | |
WriteCacheTypeNone :: WriteCacheTypeUnknown + 1; | |
WriteCacheTypeWriteBack :: WriteCacheTypeNone + 1; | |
WriteCacheTypeWriteThrough :: WriteCacheTypeWriteBack + 1; | |
/* } */ | |
; | |
/* WRITE_CACHE_ENABLE :: enum { */ | |
WRITE_CACHE_ENABLE :: _c.int; | |
WriteCacheEnableUnknown :: 0; | |
WriteCacheDisabled :: WriteCacheEnableUnknown + 1; | |
WriteCacheEnabled :: WriteCacheDisabled + 1; | |
/* } */ | |
; | |
/* WRITE_CACHE_CHANGE :: enum { */ | |
WRITE_CACHE_CHANGE :: _c.int; | |
WriteCacheChangeUnknown :: 0; | |
WriteCacheNotChangeable :: WriteCacheChangeUnknown + 1; | |
WriteCacheChangeable :: WriteCacheNotChangeable + 1; | |
/* } */ | |
; | |
/* WRITE_THROUGH :: enum { */ | |
WRITE_THROUGH :: _c.int; | |
WriteThroughUnknown :: 0; | |
WriteThroughNotSupported :: WriteThroughUnknown + 1; | |
WriteThroughSupported :: WriteThroughNotSupported + 1; | |
/* } */ | |
; | |
STORAGE_WRITE_CACHE_PROPERTY :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
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 :: ^STORAGE_WRITE_CACHE_PROPERTY; | |
/* DEVICEDUMP_COLLECTION_TYPEIDE_NOTIFICATION_TYPE :: enum { */ | |
DEVICEDUMP_COLLECTION_TYPEIDE_NOTIFICATION_TYPE :: _c.int; | |
TCCollectionBugCheck :: 1; | |
TCCollectionApplicationRequested :: TCCollectionBugCheck + 1; | |
TCCollectionDeviceRequested :: TCCollectionApplicationRequested + 1; | |
/* } */ | |
PDEVICEDUMP_COLLECTION_TYPE :: ^DEVICEDUMP_COLLECTION_TYPEIDE_NOTIFICATION_TYPE; | |
DEVICEDUMP_SUBSECTION_POINTER :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
dwOffset : DWORD, | |
}; | |
PDEVICEDUMP_SUBSECTION_POINTER :: ^DEVICEDUMP_SUBSECTION_POINTER; | |
DEVICEDUMP_STRUCTURE_VERSION :: struct { | |
dwSignature : DWORD, | |
dwVersion : DWORD, | |
dwSize : DWORD, | |
}; | |
PDEVICEDUMP_STRUCTURE_VERSION :: ^DEVICEDUMP_STRUCTURE_VERSION; | |
DEVICEDUMP_SECTION_HEADER :: struct { | |
guidDeviceDataId : GUID, | |
sOrganizationID : [16]BYTE, | |
dwFirmwareRevision : DWORD, | |
sModelNumber : [32]BYTE, | |
szDeviceManufacturingID : [32]BYTE, | |
dwFlags : DWORD, | |
bRestrictedPrivateDataVersion : DWORD, | |
dwFirmwareIssueId : DWORD, | |
szIssueDescriptionString : [132]BYTE, | |
}; | |
PDEVICEDUMP_SECTION_HEADER :: ^DEVICEDUMP_SECTION_HEADER; | |
GP_LOG_PAGE_DESCRIPTOR :: struct { | |
LogAddress : WORD, | |
LogSectors : WORD, | |
}; | |
PGP_LOG_PAGE_DESCRIPTOR :: ^GP_LOG_PAGE_DESCRIPTOR; | |
DEVICEDUMP_PUBLIC_SUBSECTION :: struct { | |
dwFlags : DWORD, | |
GPLogTable : [16]GP_LOG_PAGE_DESCRIPTOR, | |
szDescription : [16]CHAR, | |
bData : [1]BYTE, | |
}; | |
PDEVICEDUMP_PUBLIC_SUBSECTION :: ^DEVICEDUMP_PUBLIC_SUBSECTION; | |
DEVICEDUMP_RESTRICTED_SUBSECTION :: struct { | |
bData : [1]BYTE, | |
}; | |
PDEVICEDUMP_RESTRICTED_SUBSECTION :: ^DEVICEDUMP_RESTRICTED_SUBSECTION; | |
DEVICEDUMP_PRIVATE_SUBSECTION :: struct { | |
dwFlags : DWORD, | |
GPLogId : GP_LOG_PAGE_DESCRIPTOR, | |
bData : [1]BYTE, | |
}; | |
PDEVICEDUMP_PRIVATE_SUBSECTION :: ^DEVICEDUMP_PRIVATE_SUBSECTION; | |
DEVICEDUMP_STORAGEDEVICE_DATA :: struct { | |
Descriptor : DEVICEDUMP_STRUCTURE_VERSION, | |
SectionHeader : DEVICEDUMP_SECTION_HEADER, | |
dwBufferSize : DWORD, | |
dwReasonForCollection : DWORD, | |
PublicData : DEVICEDUMP_SUBSECTION_POINTER, | |
RestrictedData : DEVICEDUMP_SUBSECTION_POINTER, | |
PrivateData : DEVICEDUMP_SUBSECTION_POINTER, | |
}; | |
PDEVICEDUMP_STORAGEDEVICE_DATA :: ^DEVICEDUMP_STORAGEDEVICE_DATA; | |
DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD :: struct { | |
Cdb : [16]BYTE, | |
Command : [16]BYTE, | |
StartTime : DWORDLONG, | |
EndTime : DWORDLONG, | |
OperationStatus : DWORD, | |
OperationError : DWORD, | |
StackSpecific : struct #raw_union { | |
ExternalStack : struct { | |
dwReserved : DWORD, | |
}, | |
AtaPort : struct { | |
dwAtaPortSpecific : DWORD, | |
}, | |
StorPort : struct { | |
SrbTag : DWORD, | |
}, | |
}, | |
}; | |
PDEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD :: ^DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD; | |
DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP :: struct { | |
Descriptor : DEVICEDUMP_STRUCTURE_VERSION, | |
dwReasonForCollection : DWORD, | |
cDriverName : [16]BYTE, | |
uiNumRecords : DWORD, | |
RecordArray : [1]DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD, | |
}; | |
PDEVICEDUMP_STORAGESTACK_PUBLIC_DUMP :: ^DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP; | |
STORAGE_IDLE_POWER :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
using _ : bit_field { | |
WakeCapableHint : 1, | |
D3ColdSupported : 1, | |
Reserved : 30, | |
}, | |
D3IdleTimeout : DWORD, | |
}; | |
PSTORAGE_IDLE_POWER :: ^STORAGE_IDLE_POWER; | |
/* STORAGE_POWERUP_REASON_TYPE :: enum { */ | |
STORAGE_POWERUP_REASON_TYPE :: _c.int; | |
StoragePowerupUnknown :: 0; | |
StoragePowerupIO :: StoragePowerupUnknown + 1; | |
StoragePowerupDeviceAttention :: StoragePowerupIO + 1; | |
/* } */ | |
PSTORAGE_POWERUP_REASON_TYPE :: ^STORAGE_POWERUP_REASON_TYPE; | |
STORAGE_IDLE_POWERUP_REASON :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
PowerupReason : STORAGE_POWERUP_REASON_TYPE, | |
}; | |
PSTORAGE_IDLE_POWERUP_REASON :: ^STORAGE_IDLE_POWERUP_REASON; | |
/* STORAGE_DEVICE_POWER_CAP_UNITS :: enum { */ | |
STORAGE_DEVICE_POWER_CAP_UNITS :: _c.int; | |
StorageDevicePowerCapUnitsPercent :: 0; | |
StorageDevicePowerCapUnitsMilliwatts :: StorageDevicePowerCapUnitsPercent + 1; | |
/* } */ | |
PSTORAGE_DEVICE_POWER_CAP_UNITS :: ^STORAGE_DEVICE_POWER_CAP_UNITS; | |
STORAGE_DEVICE_POWER_CAP :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Units : STORAGE_DEVICE_POWER_CAP_UNITS, | |
MaxPower : DWORDLONG, | |
}; | |
PSTORAGE_DEVICE_POWER_CAP :: ^STORAGE_DEVICE_POWER_CAP; | |
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 :: ^STORAGE_RPMB_DATA_FRAME; | |
/* STORAGE_RPMB_COMMAND_TYPE :: enum { */ | |
STORAGE_RPMB_COMMAND_TYPE :: _c.int; | |
StorRpmbProgramAuthKey :: 0x00000001; | |
StorRpmbQueryWriteCounter :: 0x00000002; | |
StorRpmbAuthenticatedWrite :: 0x00000003; | |
StorRpmbAuthenticatedRead :: 0x00000004; | |
StorRpmbReadResultRequest :: 0x00000005; | |
StorRpmbAuthenticatedDeviceConfigWrite :: 0x00000006; | |
StorRpmbAuthenticatedDeviceConfigRead :: 0x00000007; | |
/* } */ | |
PSTORAGE_RPMB_COMMAND_TYPE :: ^STORAGE_RPMB_COMMAND_TYPE; | |
STORAGE_EVENT_NOTIFICATION :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Events : DWORDLONG, | |
}; | |
PSTORAGE_EVENT_NOTIFICATION :: ^STORAGE_EVENT_NOTIFICATION; | |
/* STORAGE_COUNTER_TYPE :: enum { */ | |
STORAGE_COUNTER_TYPE :: _c.int; | |
StorageCounterTypeUnknown :: 0; | |
StorageCounterTypeTemperatureCelsius :: StorageCounterTypeUnknown + 1; | |
StorageCounterTypeTemperatureCelsiusMax :: StorageCounterTypeTemperatureCelsius + 1; | |
StorageCounterTypeReadErrorsTotal :: StorageCounterTypeTemperatureCelsiusMax + 1; | |
StorageCounterTypeReadErrorsCorrected :: StorageCounterTypeReadErrorsTotal + 1; | |
StorageCounterTypeReadErrorsUncorrected :: StorageCounterTypeReadErrorsCorrected + 1; | |
StorageCounterTypeWriteErrorsTotal :: StorageCounterTypeReadErrorsUncorrected + 1; | |
StorageCounterTypeWriteErrorsCorrected :: StorageCounterTypeWriteErrorsTotal + 1; | |
StorageCounterTypeWriteErrorsUncorrected :: StorageCounterTypeWriteErrorsCorrected + 1; | |
StorageCounterTypeManufactureDate :: StorageCounterTypeWriteErrorsUncorrected + 1; | |
StorageCounterTypeStartStopCycleCount :: StorageCounterTypeManufactureDate + 1; | |
StorageCounterTypeStartStopCycleCountMax :: StorageCounterTypeStartStopCycleCount + 1; | |
StorageCounterTypeLoadUnloadCycleCount :: StorageCounterTypeStartStopCycleCountMax + 1; | |
StorageCounterTypeLoadUnloadCycleCountMax :: StorageCounterTypeLoadUnloadCycleCount + 1; | |
StorageCounterTypeWearPercentage :: StorageCounterTypeLoadUnloadCycleCountMax + 1; | |
StorageCounterTypeWearPercentageWarning :: StorageCounterTypeWearPercentage + 1; | |
StorageCounterTypeWearPercentageMax :: StorageCounterTypeWearPercentageWarning + 1; | |
StorageCounterTypePowerOnHours :: StorageCounterTypeWearPercentageMax + 1; | |
StorageCounterTypeReadLatency100NSMax :: StorageCounterTypePowerOnHours + 1; | |
StorageCounterTypeWriteLatency100NSMax :: StorageCounterTypeReadLatency100NSMax + 1; | |
StorageCounterTypeFlushLatency100NSMax :: StorageCounterTypeWriteLatency100NSMax + 1; | |
StorageCounterTypeMax :: StorageCounterTypeFlushLatency100NSMax + 1; | |
/* } */ | |
PSTORAGE_COUNTER_TYPE :: ^STORAGE_COUNTER_TYPE; | |
STORAGE_COUNTER :: struct { | |
Type : STORAGE_COUNTER_TYPE, | |
Value : struct #raw_union { | |
ManufactureDate : struct { | |
Week : DWORD, | |
Year : DWORD, | |
}, | |
AsUlonglong : DWORDLONG, | |
}, | |
}; | |
PSTORAGE_COUNTER :: ^STORAGE_COUNTER; | |
STORAGE_COUNTERS :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
NumberOfCounters : DWORD, | |
Counters : [1]STORAGE_COUNTER, | |
}; | |
PSTORAGE_COUNTERS :: ^STORAGE_COUNTERS; | |
STORAGE_HW_FIRMWARE_INFO_QUERY :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
Reserved : DWORD, | |
}; | |
PSTORAGE_HW_FIRMWARE_INFO_QUERY :: ^STORAGE_HW_FIRMWARE_INFO_QUERY; | |
STORAGE_HW_FIRMWARE_SLOT_INFO :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
SlotNumber : BYTE, | |
using _ : bit_field { | |
ReadOnly : 1, | |
Reserved0 : 7, | |
}, | |
Reserved1 : [6]BYTE, | |
Revision : [16]BYTE, | |
}; | |
PSTORAGE_HW_FIRMWARE_SLOT_INFO :: ^STORAGE_HW_FIRMWARE_SLOT_INFO; | |
STORAGE_HW_FIRMWARE_INFO :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
using _ : bit_field { | |
SupportUpgrade : 1, | |
Reserved0 : 7, | |
}, | |
SlotCount : BYTE, | |
ActiveSlot : BYTE, | |
PendingActivateSlot : BYTE, | |
FirmwareShared : BOOLEAN, | |
Reserved : [3]BYTE, | |
ImagePayloadAlignment : DWORD, | |
ImagePayloadMaxSize : DWORD, | |
Slot : [1]STORAGE_HW_FIRMWARE_SLOT_INFO, | |
}; | |
PSTORAGE_HW_FIRMWARE_INFO :: ^STORAGE_HW_FIRMWARE_INFO; | |
STORAGE_HW_FIRMWARE_DOWNLOAD :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
Slot : BYTE, | |
Reserved : [3]BYTE, | |
Offset : DWORDLONG, | |
BufferSize : DWORDLONG, | |
ImageBuffer : [1]BYTE, | |
}; | |
PSTORAGE_HW_FIRMWARE_DOWNLOAD :: ^STORAGE_HW_FIRMWARE_DOWNLOAD; | |
STORAGE_HW_FIRMWARE_DOWNLOAD_V2 :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
Slot : BYTE, | |
Reserved : [3]BYTE, | |
Offset : DWORDLONG, | |
BufferSize : DWORDLONG, | |
ImageSize : DWORD, | |
Reserved2 : DWORD, | |
ImageBuffer : [1]BYTE, | |
}; | |
PSTORAGE_HW_FIRMWARE_DOWNLOAD_V2 :: ^STORAGE_HW_FIRMWARE_DOWNLOAD_V2; | |
STORAGE_HW_FIRMWARE_ACTIVATE :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
Slot : BYTE, | |
Reserved0 : [3]BYTE, | |
}; | |
PSTORAGE_HW_FIRMWARE_ACTIVATE :: ^STORAGE_HW_FIRMWARE_ACTIVATE; | |
STORAGE_PROTOCOL_COMMAND :: struct { | |
Version : DWORD, | |
Length : DWORD, | |
ProtocolType : STORAGE_PROTOCOL_TYPE, | |
Flags : DWORD, | |
ReturnStatus : DWORD, | |
ErrorCode : DWORD, | |
CommandLength : DWORD, | |
ErrorInfoLength : DWORD, | |
DataToDeviceTransferLength : DWORD, | |
DataFromDeviceTransferLength : DWORD, | |
TimeOutValue : DWORD, | |
ErrorInfoOffset : DWORD, | |
DataToDeviceBufferOffset : DWORD, | |
DataFromDeviceBufferOffset : DWORD, | |
CommandSpecific : DWORD, | |
Reserved0 : DWORD, | |
FixedProtocolReturnData : DWORD, | |
Reserved1 : [3]DWORD, | |
Command : [1]BYTE, | |
}; | |
PSTORAGE_PROTOCOL_COMMAND :: ^STORAGE_PROTOCOL_COMMAND; | |
/* STORAGE_ATTRIBUTE_MGMT_ACTION :: enum { */ | |
STORAGE_ATTRIBUTE_MGMT_ACTION :: _c.int; | |
StorAttributeMgmt_ClearAttribute :: 0; | |
StorAttributeMgmt_SetAttribute :: 1; | |
StorAttributeMgmt_ResetAttribute :: 2; | |
/* } */ | |
PSTORAGE_ATTRIBUTE_MGMT_ACTION :: ^STORAGE_ATTRIBUTE_MGMT_ACTION; | |
STORAGE_ATTRIBUTE_MGMT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Action : STORAGE_ATTRIBUTE_MGMT_ACTION, | |
Attribute : DWORD, | |
}; | |
PSTORAGE_ATTRIBUTE_MGMT :: ^STORAGE_ATTRIBUTE_MGMT; | |
SCM_PD_HEALTH_NOTIFICATION_DATA :: struct { | |
DeviceGuid : GUID, | |
}; | |
PSCM_PD_HEALTH_NOTIFICATION_DATA :: ^SCM_PD_HEALTH_NOTIFICATION_DATA; | |
SCM_LOGICAL_DEVICE_INSTANCE :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
DeviceGuid : GUID, | |
SymbolicLink : [256]WCHAR, | |
}; | |
PSCM_LOGICAL_DEVICE_INSTANCE :: ^SCM_LOGICAL_DEVICE_INSTANCE; | |
SCM_LOGICAL_DEVICES :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
DeviceCount : DWORD, | |
Devices : [1]SCM_LOGICAL_DEVICE_INSTANCE, | |
}; | |
PSCM_LOGICAL_DEVICES :: ^SCM_LOGICAL_DEVICES; | |
SCM_PHYSICAL_DEVICE_INSTANCE :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
NfitHandle : DWORD, | |
SymbolicLink : [256]WCHAR, | |
}; | |
PSCM_PHYSICAL_DEVICE_INSTANCE :: ^SCM_PHYSICAL_DEVICE_INSTANCE; | |
SCM_PHYSICAL_DEVICES :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
DeviceCount : DWORD, | |
Devices : [1]SCM_PHYSICAL_DEVICE_INSTANCE, | |
}; | |
PSCM_PHYSICAL_DEVICES :: ^SCM_PHYSICAL_DEVICES; | |
/* SCM_REGION_FLAG :: enum { */ | |
SCM_REGION_FLAG :: _c.int; | |
ScmRegionFlagNone :: 0x0; | |
ScmRegionFlagLabel :: 0x1; | |
/* } */ | |
PSCM_REGION_FLAG :: ^SCM_REGION_FLAG; | |
SCM_REGION :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
NfitHandle : DWORD, | |
LogicalDeviceGuid : GUID, | |
AddressRangeType : GUID, | |
AssociatedId : DWORD, | |
Length : DWORD64, | |
StartingDPA : DWORD64, | |
BaseSPA : DWORD64, | |
SPAOffset : DWORD64, | |
RegionOffset : DWORD64, | |
}; | |
PSCM_REGION :: ^SCM_REGION; | |
SCM_REGIONS :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
RegionCount : DWORD, | |
Regions : [1]SCM_REGION, | |
}; | |
PSCM_REGIONS :: ^SCM_REGIONS; | |
SCM_INTERLEAVED_PD_INFO :: struct { | |
DeviceHandle : DWORD, | |
DeviceGuid : GUID, | |
}; | |
PSCM_INTERLEAVED_PD_INFO :: ^SCM_INTERLEAVED_PD_INFO; | |
SCM_LD_INTERLEAVE_SET_INFO :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
InterleaveSetSize : DWORD, | |
InterleaveSet : [1]SCM_INTERLEAVED_PD_INFO, | |
}; | |
PSCM_LD_INTERLEAVE_SET_INFO :: ^SCM_LD_INTERLEAVE_SET_INFO; | |
/* SCM_PD_QUERY_TYPE :: enum { */ | |
SCM_PD_QUERY_TYPE :: _c.int; | |
ScmPhysicalDeviceQuery_Descriptor :: 0; | |
ScmPhysicalDeviceQuery_IsSupported :: ScmPhysicalDeviceQuery_Descriptor + 1; | |
ScmPhysicalDeviceQuery_Max :: ScmPhysicalDeviceQuery_IsSupported + 1; | |
/* } */ | |
PSCM_PD_QUERY_TYPE :: ^SCM_PD_QUERY_TYPE; | |
/* SCM_PD_PROPERTY_ID :: enum { */ | |
SCM_PD_PROPERTY_ID :: _c.int; | |
ScmPhysicalDeviceProperty_DeviceInfo :: 0; | |
ScmPhysicalDeviceProperty_ManagementStatus :: ScmPhysicalDeviceProperty_DeviceInfo + 1; | |
ScmPhysicalDeviceProperty_FirmwareInfo :: ScmPhysicalDeviceProperty_ManagementStatus + 1; | |
ScmPhysicalDeviceProperty_LocationString :: ScmPhysicalDeviceProperty_FirmwareInfo + 1; | |
ScmPhysicalDeviceProperty_DeviceSpecificInfo :: ScmPhysicalDeviceProperty_LocationString + 1; | |
ScmPhysicalDeviceProperty_DeviceHandle :: ScmPhysicalDeviceProperty_DeviceSpecificInfo + 1; | |
ScmPhysicalDeviceProperty_Max :: ScmPhysicalDeviceProperty_DeviceHandle + 1; | |
/* } */ | |
PSCM_PD_PROPERTY_ID :: ^SCM_PD_PROPERTY_ID; | |
SCM_PD_PROPERTY_QUERY :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
PropertyId : SCM_PD_PROPERTY_ID, | |
QueryType : SCM_PD_QUERY_TYPE, | |
AdditionalParameters : [1]BYTE, | |
}; | |
PSCM_PD_PROPERTY_QUERY :: ^SCM_PD_PROPERTY_QUERY; | |
SCM_PD_DESCRIPTOR_HEADER :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
}; | |
PSCM_PD_DESCRIPTOR_HEADER :: ^SCM_PD_DESCRIPTOR_HEADER; | |
SCM_PD_DEVICE_HANDLE :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
DeviceGuid : GUID, | |
DeviceHandle : DWORD, | |
}; | |
PSCM_PD_DEVICE_HANDLE :: ^SCM_PD_DEVICE_HANDLE; | |
SCM_PD_DEVICE_INFO :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
DeviceGuid : GUID, | |
UnsafeShutdownCount : DWORD, | |
PersistentMemorySizeInBytes : DWORD64, | |
VolatileMemorySizeInBytes : DWORD64, | |
TotalMemorySizeInBytes : DWORD64, | |
SlotNumber : DWORD, | |
DeviceHandle : DWORD, | |
PhysicalId : WORD, | |
NumberOfFormatInterfaceCodes : BYTE, | |
FormatInterfaceCodes : [8]WORD, | |
VendorId : DWORD, | |
ProductId : DWORD, | |
SubsystemDeviceId : DWORD, | |
SubsystemVendorId : DWORD, | |
ManufacturingLocation : BYTE, | |
ManufacturingWeek : BYTE, | |
ManufacturingYear : BYTE, | |
SerialNumber4Byte : DWORD, | |
SerialNumberLengthInChars : DWORD, | |
SerialNumber : [1]CHAR, | |
}; | |
PSCM_PD_DEVICE_INFO :: ^SCM_PD_DEVICE_INFO; | |
SCM_PD_DEVICE_SPECIFIC_PROPERTY :: struct { | |
Name : [128]WCHAR, | |
Value : LONGLONG, | |
}; | |
PSCM_PD_DEVICE_SPECIFIC_PROPERTY :: ^SCM_PD_DEVICE_SPECIFIC_PROPERTY; | |
SCM_PD_DEVICE_SPECIFIC_INFO :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
NumberOfProperties : DWORD, | |
DeviceSpecificProperties : [1]SCM_PD_DEVICE_SPECIFIC_PROPERTY, | |
}; | |
PSCM_PD_DEVICE_SPECIFIC_INFO :: ^SCM_PD_DEVICE_SPECIFIC_INFO; | |
SCM_PD_FIRMWARE_SLOT_INFO :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
SlotNumber : BYTE, | |
using _ : bit_field { | |
ReadOnly : 1, | |
Reserved0 : 7, | |
}, | |
Reserved1 : [6]BYTE, | |
Revision : [32]BYTE, | |
}; | |
PSCM_PD_FIRMWARE_SLOT_INFO :: ^SCM_PD_FIRMWARE_SLOT_INFO; | |
SCM_PD_FIRMWARE_INFO :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
ActiveSlot : BYTE, | |
NextActiveSlot : BYTE, | |
SlotCount : BYTE, | |
Slots : [1]SCM_PD_FIRMWARE_SLOT_INFO, | |
}; | |
PSCM_PD_FIRMWARE_INFO :: ^SCM_PD_FIRMWARE_INFO; | |
/* SCM_PD_HEALTH_STATUS :: enum { */ | |
SCM_PD_HEALTH_STATUS :: _c.int; | |
ScmPhysicalDeviceHealth_Unknown :: 0; | |
ScmPhysicalDeviceHealth_Unhealthy :: ScmPhysicalDeviceHealth_Unknown + 1; | |
ScmPhysicalDeviceHealth_Warning :: ScmPhysicalDeviceHealth_Unhealthy + 1; | |
ScmPhysicalDeviceHealth_Healthy :: ScmPhysicalDeviceHealth_Warning + 1; | |
ScmPhysicalDeviceHealth_Max :: ScmPhysicalDeviceHealth_Healthy + 1; | |
/* } */ | |
PSCM_PD_HEALTH_STATUS :: ^SCM_PD_HEALTH_STATUS; | |
/* SCM_PD_OPERATIONAL_STATUS :: enum { */ | |
SCM_PD_OPERATIONAL_STATUS :: _c.int; | |
ScmPhysicalDeviceOpStatus_Unknown :: 0; | |
ScmPhysicalDeviceOpStatus_Ok :: ScmPhysicalDeviceOpStatus_Unknown + 1; | |
ScmPhysicalDeviceOpStatus_PredictingFailure :: ScmPhysicalDeviceOpStatus_Ok + 1; | |
ScmPhysicalDeviceOpStatus_InService :: ScmPhysicalDeviceOpStatus_PredictingFailure + 1; | |
ScmPhysicalDeviceOpStatus_HardwareError :: ScmPhysicalDeviceOpStatus_InService + 1; | |
ScmPhysicalDeviceOpStatus_NotUsable :: ScmPhysicalDeviceOpStatus_HardwareError + 1; | |
ScmPhysicalDeviceOpStatus_TransientError :: ScmPhysicalDeviceOpStatus_NotUsable + 1; | |
ScmPhysicalDeviceOpStatus_Missing :: ScmPhysicalDeviceOpStatus_TransientError + 1; | |
ScmPhysicalDeviceOpStatus_Max :: ScmPhysicalDeviceOpStatus_Missing + 1; | |
/* } */ | |
PSCM_PD_OPERATIONAL_STATUS :: ^SCM_PD_OPERATIONAL_STATUS; | |
/* SCM_PD_OPERATIONAL_STATUS_REASON :: enum { */ | |
SCM_PD_OPERATIONAL_STATUS_REASON :: _c.int; | |
ScmPhysicalDeviceOpReason_Unknown :: 0; | |
ScmPhysicalDeviceOpReason_Media :: ScmPhysicalDeviceOpReason_Unknown + 1; | |
ScmPhysicalDeviceOpReason_ThresholdExceeded :: ScmPhysicalDeviceOpReason_Media + 1; | |
ScmPhysicalDeviceOpReason_LostData :: ScmPhysicalDeviceOpReason_ThresholdExceeded + 1; | |
ScmPhysicalDeviceOpReason_EnergySource :: ScmPhysicalDeviceOpReason_LostData + 1; | |
ScmPhysicalDeviceOpReason_Configuration :: ScmPhysicalDeviceOpReason_EnergySource + 1; | |
ScmPhysicalDeviceOpReason_DeviceController :: ScmPhysicalDeviceOpReason_Configuration + 1; | |
ScmPhysicalDeviceOpReason_MediaController :: ScmPhysicalDeviceOpReason_DeviceController + 1; | |
ScmPhysicalDeviceOpReason_Component :: ScmPhysicalDeviceOpReason_MediaController + 1; | |
ScmPhysicalDeviceOpReason_BackgroundOperation :: ScmPhysicalDeviceOpReason_Component + 1; | |
ScmPhysicalDeviceOpReason_InvalidFirmware :: ScmPhysicalDeviceOpReason_BackgroundOperation + 1; | |
ScmPhysicalDeviceOpReason_HealthCheck :: ScmPhysicalDeviceOpReason_InvalidFirmware + 1; | |
ScmPhysicalDeviceOpReason_LostDataPersistence :: ScmPhysicalDeviceOpReason_HealthCheck + 1; | |
ScmPhysicalDeviceOpReason_DisabledByPlatform :: ScmPhysicalDeviceOpReason_LostDataPersistence + 1; | |
ScmPhysicalDeviceOpReason_PermanentError :: ScmPhysicalDeviceOpReason_DisabledByPlatform + 1; | |
ScmPhysicalDeviceOpReason_LostWritePersistence :: ScmPhysicalDeviceOpReason_PermanentError + 1; | |
ScmPhysicalDeviceOpReason_FatalError :: ScmPhysicalDeviceOpReason_LostWritePersistence + 1; | |
ScmPhysicalDeviceOpReason_DataPersistenceLossImminent :: ScmPhysicalDeviceOpReason_FatalError + 1; | |
ScmPhysicalDeviceOpReason_WritePersistenceLossImminent :: ScmPhysicalDeviceOpReason_DataPersistenceLossImminent + 1; | |
ScmPhysicalDeviceOpReason_MediaRemainingSpareBlock :: ScmPhysicalDeviceOpReason_WritePersistenceLossImminent + 1; | |
ScmPhysicalDeviceOpReason_PerformanceDegradation :: ScmPhysicalDeviceOpReason_MediaRemainingSpareBlock + 1; | |
ScmPhysicalDeviceOpReason_ExcessiveTemperature :: ScmPhysicalDeviceOpReason_PerformanceDegradation + 1; | |
ScmPhysicalDeviceOpReason_Max :: ScmPhysicalDeviceOpReason_ExcessiveTemperature + 1; | |
/* } */ | |
PSCM_PD_OPERATIONAL_STATUS_REASON :: ^SCM_PD_OPERATIONAL_STATUS_REASON; | |
SCM_PD_MANAGEMENT_STATUS :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Health : SCM_PD_HEALTH_STATUS, | |
NumberOfOperationalStatus : DWORD, | |
NumberOfAdditionalReasons : DWORD, | |
OperationalStatus : [16]SCM_PD_OPERATIONAL_STATUS, | |
AdditionalReasons : [1]SCM_PD_OPERATIONAL_STATUS_REASON, | |
}; | |
PSCM_PD_MANAGEMENT_STATUS :: ^SCM_PD_MANAGEMENT_STATUS; | |
SCM_PD_LOCATION_STRING :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Location : [1]WCHAR, | |
}; | |
PSCM_PD_LOCATION_STRING :: ^SCM_PD_LOCATION_STRING; | |
SCM_PD_FIRMWARE_DOWNLOAD :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
Slot : BYTE, | |
Reserved : [3]BYTE, | |
Offset : DWORD64, | |
FirmwareImageSizeInBytes : DWORD, | |
FirmwareImage : [1]BYTE, | |
}; | |
PSCM_PD_FIRMWARE_DOWNLOAD :: ^SCM_PD_FIRMWARE_DOWNLOAD; | |
SCM_PD_FIRMWARE_ACTIVATE :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
Slot : BYTE, | |
}; | |
PSCM_PD_FIRMWARE_ACTIVATE :: ^SCM_PD_FIRMWARE_ACTIVATE; | |
SCM_PD_PASSTHROUGH_INPUT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
ProtocolGuid : GUID, | |
DataSize : DWORD, | |
Data : [1]BYTE, | |
}; | |
PSCM_PD_PASSTHROUGH_INPUT :: ^SCM_PD_PASSTHROUGH_INPUT; | |
SCM_PD_PASSTHROUGH_OUTPUT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
ProtocolGuid : GUID, | |
DataSize : DWORD, | |
Data : [1]BYTE, | |
}; | |
PSCM_PD_PASSTHROUGH_OUTPUT :: ^SCM_PD_PASSTHROUGH_OUTPUT; | |
SCM_PD_PASSTHROUGH_INVDIMM_INPUT :: struct { | |
Opcode : DWORD, | |
OpcodeParametersLength : DWORD, | |
OpcodeParameters : [1]BYTE, | |
}; | |
PSCM_PD_PASSTHROUGH_INVDIMM_INPUT :: ^SCM_PD_PASSTHROUGH_INVDIMM_INPUT; | |
SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT :: struct { | |
GeneralStatus : WORD, | |
ExtendedStatus : WORD, | |
OutputDataLength : DWORD, | |
OutputData : [1]BYTE, | |
}; | |
PSCM_PD_PASSTHROUGH_INVDIMM_OUTPUT :: ^SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT; | |
SCM_PD_REINITIALIZE_MEDIA_INPUT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Options : bit_field { | |
Overwrite : 1, | |
}, | |
}; | |
PSCM_PD_REINITIALIZE_MEDIA_INPUT :: ^SCM_PD_REINITIALIZE_MEDIA_INPUT; | |
/* SCM_PD_MEDIA_REINITIALIZATION_STATUS :: enum { */ | |
SCM_PD_MEDIA_REINITIALIZATION_STATUS :: _c.int; | |
ScmPhysicalDeviceReinit_Success :: 0; | |
ScmPhysicalDeviceReinit_RebootNeeded :: ScmPhysicalDeviceReinit_Success + 1; | |
ScmPhysicalDeviceReinit_ColdBootNeeded :: ScmPhysicalDeviceReinit_RebootNeeded + 1; | |
ScmPhysicalDeviceReinit_Max :: ScmPhysicalDeviceReinit_ColdBootNeeded + 1; | |
/* } */ | |
PSCM_PD_MEDIA_REINITIALIZATION_STATUS :: ^SCM_PD_MEDIA_REINITIALIZATION_STATUS; | |
SCM_PD_REINITIALIZE_MEDIA_OUTPUT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Status : SCM_PD_MEDIA_REINITIALIZATION_STATUS, | |
}; | |
PSCM_PD_REINITIALIZE_MEDIA_OUTPUT :: ^SCM_PD_REINITIALIZE_MEDIA_OUTPUT; | |
/* MEDIA_TYPE :: enum { */ | |
MEDIA_TYPE :: _c.int; | |
Unknown :: 0; | |
F5_1Pt2_512 :: Unknown + 1; | |
F3_1Pt44_512 :: F5_1Pt2_512 + 1; | |
F3_2Pt88_512 :: F3_1Pt44_512 + 1; | |
F3_20Pt8_512 :: F3_2Pt88_512 + 1; | |
F3_720_512 :: F3_20Pt8_512 + 1; | |
F5_360_512 :: F3_720_512 + 1; | |
F5_320_512 :: F5_360_512 + 1; | |
F5_320_1024 :: F5_320_512 + 1; | |
F5_180_512 :: F5_320_1024 + 1; | |
F5_160_512 :: F5_180_512 + 1; | |
RemovableMedia :: F5_160_512 + 1; | |
FixedMedia :: RemovableMedia + 1; | |
F3_120M_512 :: FixedMedia + 1; | |
F3_640_512 :: F3_120M_512 + 1; | |
F5_640_512 :: F3_640_512 + 1; | |
F5_720_512 :: F5_640_512 + 1; | |
F3_1Pt2_512 :: F5_720_512 + 1; | |
F3_1Pt23_1024 :: F3_1Pt2_512 + 1; | |
F5_1Pt23_1024 :: F3_1Pt23_1024 + 1; | |
F3_128Mb_512 :: F5_1Pt23_1024 + 1; | |
F3_230Mb_512 :: F3_128Mb_512 + 1; | |
F8_256_128 :: F3_230Mb_512 + 1; | |
F3_200Mb_512 :: F8_256_128 + 1; | |
F3_240M_512 :: F3_200Mb_512 + 1; | |
F3_32M_512 :: F3_240M_512 + 1; | |
/* } */ | |
PMEDIA_TYPE :: ^MEDIA_TYPE; | |
FORMAT_PARAMETERS :: struct { | |
MediaType : MEDIA_TYPE, | |
StartCylinderNumber : DWORD, | |
EndCylinderNumber : DWORD, | |
StartHeadNumber : DWORD, | |
EndHeadNumber : DWORD, | |
}; | |
PFORMAT_PARAMETERS :: ^FORMAT_PARAMETERS; | |
BAD_TRACK_NUMBER :: WORD; | |
PBAD_TRACK_NUMBER :: ^WORD; | |
FORMAT_EX_PARAMETERS :: struct { | |
MediaType : MEDIA_TYPE, | |
StartCylinderNumber : DWORD, | |
EndCylinderNumber : DWORD, | |
StartHeadNumber : DWORD, | |
EndHeadNumber : DWORD, | |
FormatGapLength : WORD, | |
SectorsPerTrack : WORD, | |
SectorNumber : [1]WORD, | |
}; | |
PFORMAT_EX_PARAMETERS :: ^FORMAT_EX_PARAMETERS; | |
DISK_GEOMETRY :: struct { | |
Cylinders : LARGE_INTEGER, | |
MediaType : MEDIA_TYPE, | |
TracksPerCylinder : DWORD, | |
SectorsPerTrack : DWORD, | |
BytesPerSector : DWORD, | |
}; | |
PDISK_GEOMETRY :: ^DISK_GEOMETRY; | |
PARTITION_INFORMATION :: struct { | |
StartingOffset : LARGE_INTEGER, | |
PartitionLength : LARGE_INTEGER, | |
HiddenSectors : DWORD, | |
PartitionNumber : DWORD, | |
PartitionType : BYTE, | |
BootIndicator : BOOLEAN, | |
RecognizedPartition : BOOLEAN, | |
RewritePartition : BOOLEAN, | |
}; | |
PPARTITION_INFORMATION :: ^PARTITION_INFORMATION; | |
SET_PARTITION_INFORMATION :: struct { | |
PartitionType : BYTE, | |
}; | |
PSET_PARTITION_INFORMATION :: ^SET_PARTITION_INFORMATION; | |
DRIVE_LAYOUT_INFORMATION :: struct { | |
PartitionCount : DWORD, | |
Signature : DWORD, | |
PartitionEntry : [1]PARTITION_INFORMATION, | |
}; | |
PDRIVE_LAYOUT_INFORMATION :: ^DRIVE_LAYOUT_INFORMATION; | |
VERIFY_INFORMATION :: struct { | |
StartingOffset : LARGE_INTEGER, | |
Length : DWORD, | |
}; | |
PVERIFY_INFORMATION :: ^VERIFY_INFORMATION; | |
REASSIGN_BLOCKS :: struct { | |
Reserved : WORD, | |
Count : WORD, | |
BlockNumber : [1]DWORD, | |
}; | |
PREASSIGN_BLOCKS :: ^REASSIGN_BLOCKS; | |
REASSIGN_BLOCKS_EX :: struct { | |
Reserved : WORD, | |
Count : WORD, | |
BlockNumber : [1]LARGE_INTEGER, | |
}; | |
PREASSIGN_BLOCKS_EX :: ^REASSIGN_BLOCKS_EX; | |
/* PARTITION_STYLE :: enum { */ | |
PARTITION_STYLE :: _c.int; | |
PARTITION_STYLE_MBR :: 0; | |
PARTITION_STYLE_GPT :: PARTITION_STYLE_MBR + 1; | |
PARTITION_STYLE_RAW :: PARTITION_STYLE_GPT + 1; | |
/* } */ | |
; | |
PARTITION_INFORMATION_GPT :: struct { | |
PartitionType : GUID, | |
PartitionId : GUID, | |
Attributes : DWORD64, | |
Name : [36]WCHAR, | |
}; | |
PPARTITION_INFORMATION_GPT :: ^PARTITION_INFORMATION_GPT; | |
PARTITION_INFORMATION_MBR :: struct { | |
PartitionType : BYTE, | |
BootIndicator : BOOLEAN, | |
RecognizedPartition : BOOLEAN, | |
HiddenSectors : DWORD, | |
PartitionId : GUID, | |
}; | |
PPARTITION_INFORMATION_MBR :: ^PARTITION_INFORMATION_MBR; | |
SET_PARTITION_INFORMATION_MBR :: SET_PARTITION_INFORMATION; | |
SET_PARTITION_INFORMATION_GPT :: PARTITION_INFORMATION_GPT; | |
SET_PARTITION_INFORMATION_EX :: struct { | |
PartitionStyle : PARTITION_STYLE, | |
u : struct #raw_union { | |
Mbr : SET_PARTITION_INFORMATION_MBR, | |
Gpt : SET_PARTITION_INFORMATION_GPT, | |
}, | |
}; | |
PSET_PARTITION_INFORMATION_EX :: ^SET_PARTITION_INFORMATION_EX; | |
CREATE_DISK_GPT :: struct { | |
DiskId : GUID, | |
MaxPartitionCount : DWORD, | |
}; | |
PCREATE_DISK_GPT :: ^CREATE_DISK_GPT; | |
CREATE_DISK_MBR :: struct { | |
Signature : DWORD, | |
}; | |
PCREATE_DISK_MBR :: ^CREATE_DISK_MBR; | |
CREATE_DISK :: struct { | |
PartitionStyle : PARTITION_STYLE, | |
u : struct #raw_union { | |
Mbr : CREATE_DISK_MBR, | |
Gpt : CREATE_DISK_GPT, | |
}, | |
}; | |
PCREATE_DISK :: ^CREATE_DISK; | |
GET_LENGTH_INFORMATION :: struct { | |
Length : LARGE_INTEGER, | |
}; | |
PGET_LENGTH_INFORMATION :: ^GET_LENGTH_INFORMATION; | |
PARTITION_INFORMATION_EX :: struct { | |
PartitionStyle : PARTITION_STYLE, | |
StartingOffset : LARGE_INTEGER, | |
PartitionLength : LARGE_INTEGER, | |
PartitionNumber : DWORD, | |
RewritePartition : BOOLEAN, | |
IsServicePartition : BOOLEAN, | |
u : struct #raw_union { | |
Mbr : PARTITION_INFORMATION_MBR, | |
Gpt : PARTITION_INFORMATION_GPT, | |
}, | |
}; | |
PPARTITION_INFORMATION_EX :: ^PARTITION_INFORMATION_EX; | |
DRIVE_LAYOUT_INFORMATION_GPT :: struct { | |
DiskId : GUID, | |
StartingUsableOffset : LARGE_INTEGER, | |
UsableLength : LARGE_INTEGER, | |
MaxPartitionCount : DWORD, | |
}; | |
PDRIVE_LAYOUT_INFORMATION_GPT :: ^DRIVE_LAYOUT_INFORMATION_GPT; | |
DRIVE_LAYOUT_INFORMATION_MBR :: struct { | |
Signature : DWORD, | |
CheckSum : DWORD, | |
}; | |
PDRIVE_LAYOUT_INFORMATION_MBR :: ^DRIVE_LAYOUT_INFORMATION_MBR; | |
DRIVE_LAYOUT_INFORMATION_EX :: struct { | |
PartitionStyle : DWORD, | |
PartitionCount : DWORD, | |
u : struct #raw_union { | |
Mbr : DRIVE_LAYOUT_INFORMATION_MBR, | |
Gpt : DRIVE_LAYOUT_INFORMATION_GPT, | |
}, | |
PartitionEntry : [1]PARTITION_INFORMATION_EX, | |
}; | |
PDRIVE_LAYOUT_INFORMATION_EX :: ^DRIVE_LAYOUT_INFORMATION_EX; | |
/* DETECTION_TYPE :: enum { */ | |
DETECTION_TYPE :: _c.int; | |
DetectNone :: 0; | |
DetectInt13 :: DetectNone + 1; | |
DetectExInt13 :: DetectInt13 + 1; | |
/* } */ | |
; | |
DISK_INT13_INFO :: struct { | |
DriveSelect : WORD, | |
MaxCylinders : DWORD, | |
SectorsPerTrack : WORD, | |
MaxHeads : WORD, | |
NumberDrives : WORD, | |
}; | |
PDISK_INT13_INFO :: ^DISK_INT13_INFO; | |
DISK_EX_INT13_INFO :: struct { | |
ExBufferSize : WORD, | |
ExFlags : WORD, | |
ExCylinders : DWORD, | |
ExHeads : DWORD, | |
ExSectorsPerTrack : DWORD, | |
ExSectorsPerDrive : DWORD64, | |
ExSectorSize : WORD, | |
ExReserved : WORD, | |
}; | |
PDISK_EX_INT13_INFO :: ^DISK_EX_INT13_INFO; | |
DISK_DETECTION_INFO :: struct { | |
SizeOfDetectInfo : DWORD, | |
DetectionType : DETECTION_TYPE, | |
u : struct #raw_union { | |
s : struct { | |
Int13 : DISK_INT13_INFO, | |
ExInt13 : DISK_EX_INT13_INFO, | |
}, | |
}, | |
}; | |
PDISK_DETECTION_INFO :: ^DISK_DETECTION_INFO; | |
DISK_PARTITION_INFO :: struct { | |
SizeOfPartitionInfo : DWORD, | |
PartitionStyle : PARTITION_STYLE, | |
u : struct #raw_union { | |
Mbr : struct { | |
Signature : DWORD, | |
CheckSum : DWORD, | |
}, | |
Gpt : struct { | |
DiskId : GUID, | |
}, | |
}, | |
}; | |
PDISK_PARTITION_INFO :: ^DISK_PARTITION_INFO; | |
DISK_GEOMETRY_EX :: struct { | |
Geometry : DISK_GEOMETRY, | |
DiskSize : LARGE_INTEGER, | |
Data : [1]BYTE, | |
}; | |
PDISK_GEOMETRY_EX :: ^DISK_GEOMETRY_EX; | |
DISK_CONTROLLER_NUMBER :: struct { | |
ControllerNumber : DWORD, | |
DiskNumber : DWORD, | |
}; | |
PDISK_CONTROLLER_NUMBER :: ^DISK_CONTROLLER_NUMBER; | |
/* DISK_CACHE_RETENTION_PRIORITY :: enum { */ | |
DISK_CACHE_RETENTION_PRIORITY :: _c.int; | |
EqualPriority :: 0; | |
KeepPrefetchedData :: EqualPriority + 1; | |
KeepReadData :: KeepPrefetchedData + 1; | |
/* } */ | |
; | |
DISK_CACHE_INFORMATION :: struct { | |
ParametersSavable : BOOLEAN, | |
ReadCacheEnabled : BOOLEAN, | |
WriteCacheEnabled : BOOLEAN, | |
ReadRetentionPriority : DISK_CACHE_RETENTION_PRIORITY, | |
WriteRetentionPriority : DISK_CACHE_RETENTION_PRIORITY, | |
DisablePrefetchTransferLength : WORD, | |
PrefetchScalar : BOOLEAN, | |
u : struct #raw_union { | |
ScalarPrefetch : struct { | |
Minimum : WORD, | |
Maximum : WORD, | |
MaximumBlocks : WORD, | |
}, | |
BlockPrefetch : struct { | |
Minimum : WORD, | |
Maximum : WORD, | |
}, | |
}, | |
}; | |
PDISK_CACHE_INFORMATION :: ^DISK_CACHE_INFORMATION; | |
DISK_GROW_PARTITION :: struct { | |
PartitionNumber : DWORD, | |
BytesToGrow : LARGE_INTEGER, | |
}; | |
PDISK_GROW_PARTITION :: ^DISK_GROW_PARTITION; | |
HISTOGRAM_BUCKET :: struct { | |
Reads : DWORD, | |
Writes : DWORD, | |
}; | |
PHISTOGRAM_BUCKET :: ^HISTOGRAM_BUCKET; | |
DISK_HISTOGRAM :: struct { | |
DiskSize : LARGE_INTEGER, | |
Start : LARGE_INTEGER, | |
End : LARGE_INTEGER, | |
Average : LARGE_INTEGER, | |
AverageRead : LARGE_INTEGER, | |
AverageWrite : LARGE_INTEGER, | |
Granularity : DWORD, | |
Size : DWORD, | |
ReadCount : DWORD, | |
WriteCount : DWORD, | |
Histogram : PHISTOGRAM_BUCKET, | |
}; | |
PDISK_HISTOGRAM :: ^DISK_HISTOGRAM; | |
DISK_PERFORMANCE :: struct { | |
BytesRead : LARGE_INTEGER, | |
BytesWritten : LARGE_INTEGER, | |
ReadTime : LARGE_INTEGER, | |
WriteTime : LARGE_INTEGER, | |
IdleTime : LARGE_INTEGER, | |
ReadCount : DWORD, | |
WriteCount : DWORD, | |
QueueDepth : DWORD, | |
SplitCount : DWORD, | |
QueryTime : LARGE_INTEGER, | |
StorageDeviceNumber : DWORD, | |
StorageManagerName : [8]WCHAR, | |
}; | |
PDISK_PERFORMANCE :: ^DISK_PERFORMANCE; | |
DISK_RECORD :: struct { | |
ByteOffset : LARGE_INTEGER, | |
StartTime : LARGE_INTEGER, | |
EndTime : LARGE_INTEGER, | |
VirtualAddress : PVOID, | |
NumberOfBytes : DWORD, | |
DeviceNumber : BYTE, | |
ReadRequest : BOOLEAN, | |
}; | |
PDISK_RECORD :: ^DISK_RECORD; | |
DISK_LOGGING :: struct { | |
Function : BYTE, | |
BufferAddress : PVOID, | |
BufferSize : DWORD, | |
}; | |
PDISK_LOGGING :: ^DISK_LOGGING; | |
/* BIN_TYPES :: enum { */ | |
BIN_TYPES :: _c.int; | |
RequestSize :: 0; | |
RequestLocation :: RequestSize + 1; | |
/* } */ | |
; | |
BIN_RANGE :: struct { | |
StartValue : LARGE_INTEGER, | |
Length : LARGE_INTEGER, | |
}; | |
PBIN_RANGE :: ^BIN_RANGE; | |
PERF_BIN :: struct { | |
NumberOfBins : DWORD, | |
TypeOfBin : DWORD, | |
BinsRanges : [1]BIN_RANGE, | |
}; | |
PPERF_BIN :: ^PERF_BIN; | |
BIN_COUNT :: struct { | |
BinRange : BIN_RANGE, | |
BinCount : DWORD, | |
}; | |
PBIN_COUNT :: ^BIN_COUNT; | |
BIN_RESULTS :: struct { | |
NumberOfBins : DWORD, | |
BinCounts : [1]BIN_COUNT, | |
}; | |
PBIN_RESULTS :: ^BIN_RESULTS; | |
GETVERSIONINPARAMS :: struct { | |
bVersion : BYTE, | |
bRevision : BYTE, | |
bReserved : BYTE, | |
bIDEDeviceMap : BYTE, | |
fCapabilities : DWORD, | |
dwReserved : [4]DWORD, | |
}; | |
PGETVERSIONINPARAMS :: ^GETVERSIONINPARAMS; | |
LPGETVERSIONINPARAMS :: ^GETVERSIONINPARAMS; | |
IDEREGS :: struct { | |
bFeaturesReg : BYTE, | |
bSectorCountReg : BYTE, | |
bSectorNumberReg : BYTE, | |
bCylLowReg : BYTE, | |
bCylHighReg : BYTE, | |
bDriveHeadReg : BYTE, | |
bCommandReg : BYTE, | |
bReserved : BYTE, | |
}; | |
PIDEREGS :: ^IDEREGS; | |
LPIDEREGS :: ^IDEREGS; | |
SENDCMDINPARAMS :: struct { | |
cBufferSize : DWORD, | |
irDriveRegs : IDEREGS, | |
bDriveNumber : BYTE, | |
bReserved : [3]BYTE, | |
dwReserved : [4]DWORD, | |
bBuffer : [1]BYTE, | |
}; | |
PSENDCMDINPARAMS :: ^SENDCMDINPARAMS; | |
LPSENDCMDINPARAMS :: ^SENDCMDINPARAMS; | |
DRIVERSTATUS :: struct { | |
bDriverError : BYTE, | |
bIDEError : BYTE, | |
bReserved : [2]BYTE, | |
dwReserved : [2]DWORD, | |
}; | |
PDRIVERSTATUS :: ^DRIVERSTATUS; | |
LPDRIVERSTATUS :: ^DRIVERSTATUS; | |
SENDCMDOUTPARAMS :: struct { | |
cBufferSize : DWORD, | |
DriverStatus : DRIVERSTATUS, | |
bBuffer : [1]BYTE, | |
}; | |
PSENDCMDOUTPARAMS :: ^SENDCMDOUTPARAMS; | |
LPSENDCMDOUTPARAMS :: ^SENDCMDOUTPARAMS; | |
GET_DISK_ATTRIBUTES :: struct { | |
Version : DWORD, | |
Reserved1 : DWORD, | |
Attributes : DWORDLONG, | |
}; | |
PGET_DISK_ATTRIBUTES :: ^GET_DISK_ATTRIBUTES; | |
SET_DISK_ATTRIBUTES :: struct { | |
Version : DWORD, | |
Persist : BOOLEAN, | |
Reserved1 : [3]BYTE, | |
Attributes : DWORDLONG, | |
AttributesMask : DWORDLONG, | |
Reserved2 : [4]DWORD, | |
}; | |
PSET_DISK_ATTRIBUTES :: ^SET_DISK_ATTRIBUTES; | |
/* ELEMENT_TYPE :: enum { */ | |
ELEMENT_TYPE :: _c.int; | |
AllElements :: 0; | |
ChangerTransport :: AllElements + 1; | |
ChangerSlot :: ChangerTransport + 1; | |
ChangerIEPort :: ChangerSlot + 1; | |
ChangerDrive :: ChangerIEPort + 1; | |
ChangerDoor :: ChangerDrive + 1; | |
ChangerKeypad :: ChangerDoor + 1; | |
ChangerMaxElement :: ChangerKeypad + 1; | |
/* } */ | |
PELEMENT_TYPE :: ^ELEMENT_TYPE; | |
CHANGER_ELEMENT :: struct { | |
ElementType : ELEMENT_TYPE, | |
ElementAddress : DWORD, | |
}; | |
PCHANGER_ELEMENT :: ^CHANGER_ELEMENT; | |
CHANGER_ELEMENT_LIST :: struct { | |
Element : CHANGER_ELEMENT, | |
NumberOfElements : DWORD, | |
}; | |
PCHANGER_ELEMENT_LIST :: ^CHANGER_ELEMENT_LIST; | |
GET_CHANGER_PARAMETERS :: struct { | |
Size : DWORD, | |
NumberTransportElements : WORD, | |
NumberStorageElements : WORD, | |
NumberCleanerSlots : WORD, | |
NumberIEElements : WORD, | |
NumberDataTransferElements : WORD, | |
NumberOfDoors : WORD, | |
FirstSlotNumber : WORD, | |
FirstDriveNumber : WORD, | |
FirstTransportNumber : WORD, | |
FirstIEPortNumber : WORD, | |
FirstCleanerSlotAddress : WORD, | |
MagazineSize : WORD, | |
DriveCleanTimeout : DWORD, | |
Features0 : DWORD, | |
Features1 : DWORD, | |
MoveFromTransport : BYTE, | |
MoveFromSlot : BYTE, | |
MoveFromIePort : BYTE, | |
MoveFromDrive : BYTE, | |
ExchangeFromTransport : BYTE, | |
ExchangeFromSlot : BYTE, | |
ExchangeFromIePort : BYTE, | |
ExchangeFromDrive : BYTE, | |
LockUnlockCapabilities : BYTE, | |
PositionCapabilities : BYTE, | |
Reserved1 : [2]BYTE, | |
Reserved2 : [2]DWORD, | |
}; | |
PGET_CHANGER_PARAMETERS :: ^GET_CHANGER_PARAMETERS; | |
CHANGER_PRODUCT_DATA :: struct { | |
VendorId : [8]BYTE, | |
ProductId : [16]BYTE, | |
Revision : [4]BYTE, | |
SerialNumber : [32]BYTE, | |
DeviceType : BYTE, | |
}; | |
PCHANGER_PRODUCT_DATA :: ^CHANGER_PRODUCT_DATA; | |
CHANGER_SET_ACCESS :: struct { | |
Element : CHANGER_ELEMENT, | |
Control : DWORD, | |
}; | |
PCHANGER_SET_ACCESS :: ^CHANGER_SET_ACCESS; | |
CHANGER_READ_ELEMENT_STATUS :: struct { | |
ElementList : CHANGER_ELEMENT_LIST, | |
VolumeTagInfo : BOOLEAN, | |
}; | |
PCHANGER_READ_ELEMENT_STATUS :: ^CHANGER_READ_ELEMENT_STATUS; | |
CHANGER_ELEMENT_STATUS :: struct { | |
Element : CHANGER_ELEMENT, | |
SrcElementAddress : CHANGER_ELEMENT, | |
Flags : DWORD, | |
ExceptionCode : DWORD, | |
TargetId : BYTE, | |
Lun : BYTE, | |
Reserved : WORD, | |
PrimaryVolumeID : [36]BYTE, | |
AlternateVolumeID : [36]BYTE, | |
}; | |
PCHANGER_ELEMENT_STATUS :: ^CHANGER_ELEMENT_STATUS; | |
CHANGER_ELEMENT_STATUS_EX :: struct { | |
Element : CHANGER_ELEMENT, | |
SrcElementAddress : CHANGER_ELEMENT, | |
Flags : DWORD, | |
ExceptionCode : DWORD, | |
TargetId : BYTE, | |
Lun : BYTE, | |
Reserved : WORD, | |
PrimaryVolumeID : [36]BYTE, | |
AlternateVolumeID : [36]BYTE, | |
VendorIdentification : [8]BYTE, | |
ProductIdentification : [16]BYTE, | |
SerialNumber : [32]BYTE, | |
}; | |
PCHANGER_ELEMENT_STATUS_EX :: ^CHANGER_ELEMENT_STATUS_EX; | |
CHANGER_INITIALIZE_ELEMENT_STATUS :: struct { | |
ElementList : CHANGER_ELEMENT_LIST, | |
BarCodeScan : BOOLEAN, | |
}; | |
PCHANGER_INITIALIZE_ELEMENT_STATUS :: ^CHANGER_INITIALIZE_ELEMENT_STATUS; | |
CHANGER_SET_POSITION :: struct { | |
Transport : CHANGER_ELEMENT, | |
Destination : CHANGER_ELEMENT, | |
Flip : BOOLEAN, | |
}; | |
PCHANGER_SET_POSITION :: ^CHANGER_SET_POSITION; | |
CHANGER_EXCHANGE_MEDIUM :: struct { | |
Transport : CHANGER_ELEMENT, | |
Source : CHANGER_ELEMENT, | |
Destination1 : CHANGER_ELEMENT, | |
Destination2 : CHANGER_ELEMENT, | |
Flip1 : BOOLEAN, | |
Flip2 : BOOLEAN, | |
}; | |
PCHANGER_EXCHANGE_MEDIUM :: ^CHANGER_EXCHANGE_MEDIUM; | |
CHANGER_MOVE_MEDIUM :: struct { | |
Transport : CHANGER_ELEMENT, | |
Source : CHANGER_ELEMENT, | |
Destination : CHANGER_ELEMENT, | |
Flip : BOOLEAN, | |
}; | |
PCHANGER_MOVE_MEDIUM :: ^CHANGER_MOVE_MEDIUM; | |
CHANGER_SEND_VOLUME_TAG_INFORMATION :: struct { | |
StartingElement : CHANGER_ELEMENT, | |
ActionCode : DWORD, | |
VolumeIDTemplate : [40]BYTE, | |
}; | |
PCHANGER_SEND_VOLUME_TAG_INFORMATION :: ^CHANGER_SEND_VOLUME_TAG_INFORMATION; | |
READ_ELEMENT_ADDRESS_INFO :: struct { | |
NumberOfElements : DWORD, | |
ElementStatus : [1]CHANGER_ELEMENT_STATUS, | |
}; | |
PREAD_ELEMENT_ADDRESS_INFO :: ^READ_ELEMENT_ADDRESS_INFO; | |
/* CHANGER_DEVICE_PROBLEM_TYPE :: enum { */ | |
CHANGER_DEVICE_PROBLEM_TYPE :: _c.int; | |
DeviceProblemNone :: 0; | |
DeviceProblemHardware :: DeviceProblemNone + 1; | |
DeviceProblemCHMError :: DeviceProblemHardware + 1; | |
DeviceProblemDoorOpen :: DeviceProblemCHMError + 1; | |
DeviceProblemCalibrationError :: DeviceProblemDoorOpen + 1; | |
DeviceProblemTargetFailure :: DeviceProblemCalibrationError + 1; | |
DeviceProblemCHMMoveError :: DeviceProblemTargetFailure + 1; | |
DeviceProblemCHMZeroError :: DeviceProblemCHMMoveError + 1; | |
DeviceProblemCartridgeInsertError :: DeviceProblemCHMZeroError + 1; | |
DeviceProblemPositionError :: DeviceProblemCartridgeInsertError + 1; | |
DeviceProblemSensorError :: DeviceProblemPositionError + 1; | |
DeviceProblemCartridgeEjectError :: DeviceProblemSensorError + 1; | |
DeviceProblemGripperError :: DeviceProblemCartridgeEjectError + 1; | |
DeviceProblemDriveError :: DeviceProblemGripperError + 1; | |
/* } */ | |
PCHANGER_DEVICE_PROBLEM_TYPE :: ^CHANGER_DEVICE_PROBLEM_TYPE; | |
PATHNAME_BUFFER :: struct { | |
PathNameLength : DWORD, | |
Name : [1]WCHAR, | |
}; | |
PPATHNAME_BUFFER :: ^PATHNAME_BUFFER; | |
FSCTL_QUERY_FAT_BPB_BUFFER :: struct { | |
First0x24BytesOfBootSector : [0x24]BYTE, | |
}; | |
PFSCTL_QUERY_FAT_BPB_BUFFER :: ^FSCTL_QUERY_FAT_BPB_BUFFER; | |
NTFS_VOLUME_DATA_BUFFER :: struct { | |
VolumeSerialNumber : LARGE_INTEGER, | |
NumberSectors : LARGE_INTEGER, | |
TotalClusters : LARGE_INTEGER, | |
FreeClusters : LARGE_INTEGER, | |
TotalReserved : LARGE_INTEGER, | |
BytesPerSector : DWORD, | |
BytesPerCluster : DWORD, | |
BytesPerFileRecordSegment : DWORD, | |
ClustersPerFileRecordSegment : DWORD, | |
MftValidDataLength : LARGE_INTEGER, | |
MftStartLcn : LARGE_INTEGER, | |
Mft2StartLcn : LARGE_INTEGER, | |
MftZoneStart : LARGE_INTEGER, | |
MftZoneEnd : LARGE_INTEGER, | |
}; | |
PNTFS_VOLUME_DATA_BUFFER :: ^NTFS_VOLUME_DATA_BUFFER; | |
NTFS_EXTENDED_VOLUME_DATA :: struct { | |
ByteCount : DWORD, | |
MajorVersion : WORD, | |
MinorVersion : WORD, | |
BytesPerPhysicalSector : DWORD, | |
LfsMajorVersion : WORD, | |
LfsMinorVersion : WORD, | |
MaxDeviceTrimExtentCount : DWORD, | |
MaxDeviceTrimByteCount : DWORD, | |
MaxVolumeTrimExtentCount : DWORD, | |
MaxVolumeTrimByteCount : DWORD, | |
}; | |
PNTFS_EXTENDED_VOLUME_DATA :: ^NTFS_EXTENDED_VOLUME_DATA; | |
REFS_VOLUME_DATA_BUFFER :: struct { | |
ByteCount : DWORD, | |
MajorVersion : DWORD, | |
MinorVersion : DWORD, | |
BytesPerPhysicalSector : DWORD, | |
VolumeSerialNumber : LARGE_INTEGER, | |
NumberSectors : LARGE_INTEGER, | |
TotalClusters : LARGE_INTEGER, | |
FreeClusters : LARGE_INTEGER, | |
TotalReserved : LARGE_INTEGER, | |
BytesPerSector : DWORD, | |
BytesPerCluster : DWORD, | |
MaximumSizeOfResidentFile : LARGE_INTEGER, | |
Reserved : [10]LARGE_INTEGER, | |
}; | |
PREFS_VOLUME_DATA_BUFFER :: ^REFS_VOLUME_DATA_BUFFER; | |
STARTING_LCN_INPUT_BUFFER :: struct { | |
StartingLcn : LARGE_INTEGER, | |
}; | |
PSTARTING_LCN_INPUT_BUFFER :: ^STARTING_LCN_INPUT_BUFFER; | |
STARTING_LCN_INPUT_BUFFER_EX :: struct { | |
StartingLcn : LARGE_INTEGER, | |
Flags : DWORD, | |
}; | |
PSTARTING_LCN_INPUT_BUFFER_EX :: ^STARTING_LCN_INPUT_BUFFER_EX; | |
VOLUME_BITMAP_BUFFER :: struct { | |
StartingLcn : LARGE_INTEGER, | |
BitmapSize : LARGE_INTEGER, | |
Buffer : [1]BYTE, | |
}; | |
PVOLUME_BITMAP_BUFFER :: ^VOLUME_BITMAP_BUFFER; | |
STARTING_VCN_INPUT_BUFFER :: struct { | |
StartingVcn : LARGE_INTEGER, | |
}; | |
PSTARTING_VCN_INPUT_BUFFER :: ^STARTING_VCN_INPUT_BUFFER; | |
RETRIEVAL_POINTERS_BUFFER :: struct { | |
ExtentCount : DWORD, | |
StartingVcn : LARGE_INTEGER, | |
Extents : [1]struct { | |
NextVcn : LARGE_INTEGER, | |
Lcn : LARGE_INTEGER, | |
}, | |
}; | |
PRETRIEVAL_POINTERS_BUFFER :: ^RETRIEVAL_POINTERS_BUFFER; | |
RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER :: struct { | |
ExtentCount : DWORD, | |
StartingVcn : LARGE_INTEGER, | |
Extents : [1]struct { | |
NextVcn : LARGE_INTEGER, | |
Lcn : LARGE_INTEGER, | |
ReferenceCount : DWORD, | |
}, | |
}; | |
PRETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER :: ^RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER; | |
RETRIEVAL_POINTER_COUNT :: struct { | |
ExtentCount : DWORD, | |
}; | |
PRETRIEVAL_POINTER_COUNT :: ^RETRIEVAL_POINTER_COUNT; | |
NTFS_FILE_RECORD_INPUT_BUFFER :: struct { | |
FileReferenceNumber : LARGE_INTEGER, | |
}; | |
PNTFS_FILE_RECORD_INPUT_BUFFER :: ^NTFS_FILE_RECORD_INPUT_BUFFER; | |
NTFS_FILE_RECORD_OUTPUT_BUFFER :: struct { | |
FileReferenceNumber : LARGE_INTEGER, | |
FileRecordLength : DWORD, | |
FileRecordBuffer : [1]BYTE, | |
}; | |
PNTFS_FILE_RECORD_OUTPUT_BUFFER :: ^NTFS_FILE_RECORD_OUTPUT_BUFFER; | |
MOVE_FILE_DATA :: struct { | |
FileHandle : HANDLE, | |
StartingVcn : LARGE_INTEGER, | |
StartingLcn : LARGE_INTEGER, | |
ClusterCount : DWORD, | |
}; | |
PMOVE_FILE_DATA :: ^MOVE_FILE_DATA; | |
MOVE_FILE_RECORD_DATA :: struct { | |
FileHandle : HANDLE, | |
SourceFileRecord : LARGE_INTEGER, | |
TargetFileRecord : LARGE_INTEGER, | |
}; | |
PMOVE_FILE_RECORD_DATA :: ^MOVE_FILE_RECORD_DATA; | |
MOVE_FILE_DATA32 :: struct { | |
FileHandle : UINT32, | |
StartingVcn : LARGE_INTEGER, | |
StartingLcn : LARGE_INTEGER, | |
ClusterCount : DWORD, | |
}; | |
PMOVE_FILE_DATA32 :: ^MOVE_FILE_DATA32; | |
FIND_BY_SID_DATA :: struct { | |
Restart : DWORD, | |
Sid : SID, | |
}; | |
PFIND_BY_SID_DATA :: ^FIND_BY_SID_DATA; | |
FIND_BY_SID_OUTPUT :: struct { | |
NextEntryOffset : DWORD, | |
FileIndex : DWORD, | |
FileNameLength : DWORD, | |
FileName : [1]WCHAR, | |
}; | |
PFIND_BY_SID_OUTPUT :: ^FIND_BY_SID_OUTPUT; | |
MFT_ENUM_DATA_V0 :: struct { | |
StartFileReferenceNumber : DWORDLONG, | |
LowUsn : USN, | |
HighUsn : USN, | |
}; | |
PMFT_ENUM_DATA_V0 :: ^MFT_ENUM_DATA_V0; | |
MFT_ENUM_DATA_V1 :: struct { | |
StartFileReferenceNumber : DWORDLONG, | |
LowUsn : USN, | |
HighUsn : USN, | |
MinMajorVersion : WORD, | |
MaxMajorVersion : WORD, | |
}; | |
PMFT_ENUM_DATA_V1 :: ^MFT_ENUM_DATA_V1; | |
MFT_ENUM_DATA :: MFT_ENUM_DATA_V1; | |
PMFT_ENUM_DATA :: ^MFT_ENUM_DATA_V1; | |
CREATE_USN_JOURNAL_DATA :: struct { | |
MaximumSize : DWORDLONG, | |
AllocationDelta : DWORDLONG, | |
}; | |
PCREATE_USN_JOURNAL_DATA :: ^CREATE_USN_JOURNAL_DATA; | |
READ_FILE_USN_DATA :: struct { | |
MinMajorVersion : WORD, | |
MaxMajorVersion : WORD, | |
}; | |
PREAD_FILE_USN_DATA :: ^READ_FILE_USN_DATA; | |
READ_USN_JOURNAL_DATA_V0 :: struct { | |
StartUsn : USN, | |
ReasonMask : DWORD, | |
ReturnOnlyOnClose : DWORD, | |
Timeout : DWORDLONG, | |
BytesToWaitFor : DWORDLONG, | |
UsnJournalID : DWORDLONG, | |
}; | |
PREAD_USN_JOURNAL_DATA_V0 :: ^READ_USN_JOURNAL_DATA_V0; | |
READ_USN_JOURNAL_DATA_V1 :: struct { | |
StartUsn : USN, | |
ReasonMask : DWORD, | |
ReturnOnlyOnClose : DWORD, | |
Timeout : DWORDLONG, | |
BytesToWaitFor : DWORDLONG, | |
UsnJournalID : DWORDLONG, | |
MinMajorVersion : WORD, | |
MaxMajorVersion : WORD, | |
}; | |
PREAD_USN_JOURNAL_DATA_V1 :: ^READ_USN_JOURNAL_DATA_V1; | |
READ_USN_JOURNAL_DATA :: READ_USN_JOURNAL_DATA_V1; | |
PREAD_USN_JOURNAL_DATA :: ^READ_USN_JOURNAL_DATA_V1; | |
USN_TRACK_MODIFIED_RANGES :: struct { | |
Flags : DWORD, | |
Unused : DWORD, | |
ChunkSize : DWORDLONG, | |
FileSizeThreshold : LONGLONG, | |
}; | |
PUSN_TRACK_MODIFIED_RANGES :: ^USN_TRACK_MODIFIED_RANGES; | |
USN_RANGE_TRACK_OUTPUT :: struct { | |
Usn : USN, | |
}; | |
PUSN_RANGE_TRACK_OUTPUT :: ^USN_RANGE_TRACK_OUTPUT; | |
USN_RECORD_V2 :: struct { | |
RecordLength : DWORD, | |
MajorVersion : WORD, | |
MinorVersion : WORD, | |
FileReferenceNumber : DWORDLONG, | |
ParentFileReferenceNumber : DWORDLONG, | |
Usn : USN, | |
TimeStamp : LARGE_INTEGER, | |
Reason : DWORD, | |
SourceInfo : DWORD, | |
SecurityId : DWORD, | |
FileAttributes : DWORD, | |
FileNameLength : WORD, | |
FileNameOffset : WORD, | |
FileName : [1]WCHAR, | |
}; | |
PUSN_RECORD_V2 :: ^USN_RECORD_V2; | |
USN_RECORD_V3 :: struct { | |
RecordLength : DWORD, | |
MajorVersion : WORD, | |
MinorVersion : WORD, | |
FileReferenceNumber : FILE_ID_128, | |
ParentFileReferenceNumber : FILE_ID_128, | |
Usn : USN, | |
TimeStamp : LARGE_INTEGER, | |
Reason : DWORD, | |
SourceInfo : DWORD, | |
SecurityId : DWORD, | |
FileAttributes : DWORD, | |
FileNameLength : WORD, | |
FileNameOffset : WORD, | |
FileName : [1]WCHAR, | |
}; | |
PUSN_RECORD_V3 :: ^USN_RECORD_V3; | |
USN_RECORD :: USN_RECORD_V2; | |
PUSN_RECORD :: ^USN_RECORD_V2; | |
USN_RECORD_COMMON_HEADER :: struct { | |
RecordLength : DWORD, | |
MajorVersion : WORD, | |
MinorVersion : WORD, | |
}; | |
PUSN_RECORD_COMMON_HEADER :: ^USN_RECORD_COMMON_HEADER; | |
USN_RECORD_EXTENT :: struct { | |
Offset : LONGLONG, | |
Length : LONGLONG, | |
}; | |
PUSN_RECORD_EXTENT :: ^USN_RECORD_EXTENT; | |
USN_RECORD_V4 :: struct { | |
Header : USN_RECORD_COMMON_HEADER, | |
FileReferenceNumber : FILE_ID_128, | |
ParentFileReferenceNumber : FILE_ID_128, | |
Usn : USN, | |
Reason : DWORD, | |
SourceInfo : DWORD, | |
RemainingExtents : DWORD, | |
NumberOfExtents : WORD, | |
ExtentSize : WORD, | |
Extents : [1]USN_RECORD_EXTENT, | |
}; | |
PUSN_RECORD_V4 :: ^USN_RECORD_V4; | |
USN_RECORD_UNION :: struct #raw_union { | |
Header : USN_RECORD_COMMON_HEADER, | |
V2 : USN_RECORD_V2, | |
V3 : USN_RECORD_V3, | |
V4 : USN_RECORD_V4, | |
}; | |
PUSN_RECORD_UNION :: ^USN_RECORD_UNION; | |
USN_JOURNAL_DATA_V0 :: struct { | |
UsnJournalID : DWORDLONG, | |
FirstUsn : USN, | |
NextUsn : USN, | |
LowestValidUsn : USN, | |
MaxUsn : USN, | |
MaximumSize : DWORDLONG, | |
AllocationDelta : DWORDLONG, | |
}; | |
PUSN_JOURNAL_DATA_V0 :: ^USN_JOURNAL_DATA_V0; | |
USN_JOURNAL_DATA_V1 :: struct { | |
UsnJournalID : DWORDLONG, | |
FirstUsn : USN, | |
NextUsn : USN, | |
LowestValidUsn : USN, | |
MaxUsn : USN, | |
MaximumSize : DWORDLONG, | |
AllocationDelta : DWORDLONG, | |
MinSupportedMajorVersion : WORD, | |
MaxSupportedMajorVersion : WORD, | |
}; | |
PUSN_JOURNAL_DATA_V1 :: ^USN_JOURNAL_DATA_V1; | |
USN_JOURNAL_DATA_V2 :: struct { | |
UsnJournalID : DWORDLONG, | |
FirstUsn : USN, | |
NextUsn : USN, | |
LowestValidUsn : USN, | |
MaxUsn : USN, | |
MaximumSize : DWORDLONG, | |
AllocationDelta : DWORDLONG, | |
MinSupportedMajorVersion : WORD, | |
MaxSupportedMajorVersion : WORD, | |
Flags : DWORD, | |
RangeTrackChunkSize : DWORDLONG, | |
RangeTrackFileSizeThreshold : LONGLONG, | |
}; | |
PUSN_JOURNAL_DATA_V2 :: ^USN_JOURNAL_DATA_V2; | |
USN_JOURNAL_DATA :: USN_JOURNAL_DATA_V1; | |
PUSN_JOURNAL_DATA :: ^USN_JOURNAL_DATA_V1; | |
DELETE_USN_JOURNAL_DATA :: struct { | |
UsnJournalID : DWORDLONG, | |
DeleteFlags : DWORD, | |
}; | |
PDELETE_USN_JOURNAL_DATA :: ^DELETE_USN_JOURNAL_DATA; | |
MARK_HANDLE_INFO :: struct { | |
u : struct #raw_union { | |
UsnSourceInfo : DWORD, | |
CopyNumber : DWORD, | |
}, | |
VolumeHandle : HANDLE, | |
HandleInfo : DWORD, | |
}; | |
PMARK_HANDLE_INFO :: ^MARK_HANDLE_INFO; | |
MARK_HANDLE_INFO32 :: struct { | |
u : struct #raw_union { | |
UsnSourceInfo : DWORD, | |
CopyNumber : DWORD, | |
}, | |
VolumeHandle : UINT32, | |
HandleInfo : DWORD, | |
}; | |
PMARK_HANDLE_INFO32 :: ^MARK_HANDLE_INFO32; | |
BULK_SECURITY_TEST_DATA :: struct { | |
DesiredAccess : ACCESS_MASK, | |
SecurityIds : [1]DWORD, | |
}; | |
PBULK_SECURITY_TEST_DATA :: ^BULK_SECURITY_TEST_DATA; | |
FILE_PREFETCH :: struct { | |
Type : DWORD, | |
Count : DWORD, | |
Prefetch : [1]DWORDLONG, | |
}; | |
PFILE_PREFETCH :: ^FILE_PREFETCH; | |
FILE_PREFETCH_EX :: struct { | |
Type : DWORD, | |
Count : DWORD, | |
Context : PVOID, | |
Prefetch : [1]DWORDLONG, | |
}; | |
PFILE_PREFETCH_EX :: ^FILE_PREFETCH_EX; | |
FILESYSTEM_STATISTICS :: struct { | |
FileSystemType : WORD, | |
Version : WORD, | |
SizeOfCompleteStructure : DWORD, | |
UserFileReads : DWORD, | |
UserFileReadBytes : DWORD, | |
UserDiskReads : DWORD, | |
UserFileWrites : DWORD, | |
UserFileWriteBytes : DWORD, | |
UserDiskWrites : DWORD, | |
MetaDataReads : DWORD, | |
MetaDataReadBytes : DWORD, | |
MetaDataDiskReads : DWORD, | |
MetaDataWrites : DWORD, | |
MetaDataWriteBytes : DWORD, | |
MetaDataDiskWrites : DWORD, | |
}; | |
PFILESYSTEM_STATISTICS :: ^FILESYSTEM_STATISTICS; | |
FAT_STATISTICS :: struct { | |
CreateHits : DWORD, | |
SuccessfulCreates : DWORD, | |
FailedCreates : DWORD, | |
NonCachedReads : DWORD, | |
NonCachedReadBytes : DWORD, | |
NonCachedWrites : DWORD, | |
NonCachedWriteBytes : DWORD, | |
NonCachedDiskReads : DWORD, | |
NonCachedDiskWrites : DWORD, | |
}; | |
PFAT_STATISTICS :: ^FAT_STATISTICS; | |
EXFAT_STATISTICS :: struct { | |
CreateHits : DWORD, | |
SuccessfulCreates : DWORD, | |
FailedCreates : DWORD, | |
NonCachedReads : DWORD, | |
NonCachedReadBytes : DWORD, | |
NonCachedWrites : DWORD, | |
NonCachedWriteBytes : DWORD, | |
NonCachedDiskReads : DWORD, | |
NonCachedDiskWrites : DWORD, | |
}; | |
PEXFAT_STATISTICS :: ^EXFAT_STATISTICS; | |
NTFS_STATISTICS :: struct { | |
LogFileFullExceptions : DWORD, | |
OtherExceptions : DWORD, | |
MftReads : DWORD, | |
MftReadBytes : DWORD, | |
MftWrites : DWORD, | |
MftWriteBytes : DWORD, | |
MftWritesUserLevel : struct { | |
Write : WORD, | |
Create : WORD, | |
SetInfo : WORD, | |
Flush : WORD, | |
}, | |
MftWritesFlushForLogFileFull : WORD, | |
MftWritesLazyWriter : WORD, | |
MftWritesUserRequest : WORD, | |
Mft2Writes : DWORD, | |
Mft2WriteBytes : DWORD, | |
Mft2WritesUserLevel : struct { | |
Write : WORD, | |
Create : WORD, | |
SetInfo : WORD, | |
Flush : WORD, | |
}, | |
Mft2WritesFlushForLogFileFull : WORD, | |
Mft2WritesLazyWriter : WORD, | |
Mft2WritesUserRequest : WORD, | |
RootIndexReads : DWORD, | |
RootIndexReadBytes : DWORD, | |
RootIndexWrites : DWORD, | |
RootIndexWriteBytes : DWORD, | |
BitmapReads : DWORD, | |
BitmapReadBytes : DWORD, | |
BitmapWrites : DWORD, | |
BitmapWriteBytes : DWORD, | |
BitmapWritesFlushForLogFileFull : WORD, | |
BitmapWritesLazyWriter : WORD, | |
BitmapWritesUserRequest : WORD, | |
BitmapWritesUserLevel : struct { | |
Write : WORD, | |
Create : WORD, | |
SetInfo : WORD, | |
}, | |
MftBitmapReads : DWORD, | |
MftBitmapReadBytes : DWORD, | |
MftBitmapWrites : DWORD, | |
MftBitmapWriteBytes : DWORD, | |
MftBitmapWritesFlushForLogFileFull : WORD, | |
MftBitmapWritesLazyWriter : WORD, | |
MftBitmapWritesUserRequest : WORD, | |
MftBitmapWritesUserLevel : struct { | |
Write : WORD, | |
Create : WORD, | |
SetInfo : WORD, | |
Flush : WORD, | |
}, | |
UserIndexReads : DWORD, | |
UserIndexReadBytes : DWORD, | |
UserIndexWrites : DWORD, | |
UserIndexWriteBytes : DWORD, | |
LogFileReads : DWORD, | |
LogFileReadBytes : DWORD, | |
LogFileWrites : DWORD, | |
LogFileWriteBytes : DWORD, | |
Allocate : struct { | |
Calls : DWORD, | |
Clusters : DWORD, | |
Hints : DWORD, | |
RunsReturned : DWORD, | |
HintsHonored : DWORD, | |
HintsClusters : DWORD, | |
Cache : DWORD, | |
CacheClusters : DWORD, | |
CacheMiss : DWORD, | |
CacheMissClusters : DWORD, | |
}, | |
DiskResourcesExhausted : DWORD, | |
}; | |
PNTFS_STATISTICS :: ^NTFS_STATISTICS; | |
FILESYSTEM_STATISTICS_EX :: struct { | |
FileSystemType : WORD, | |
Version : WORD, | |
SizeOfCompleteStructure : DWORD, | |
UserFileReads : DWORDLONG, | |
UserFileReadBytes : DWORDLONG, | |
UserDiskReads : DWORDLONG, | |
UserFileWrites : DWORDLONG, | |
UserFileWriteBytes : DWORDLONG, | |
UserDiskWrites : DWORDLONG, | |
MetaDataReads : DWORDLONG, | |
MetaDataReadBytes : DWORDLONG, | |
MetaDataDiskReads : DWORDLONG, | |
MetaDataWrites : DWORDLONG, | |
MetaDataWriteBytes : DWORDLONG, | |
MetaDataDiskWrites : DWORDLONG, | |
}; | |
PFILESYSTEM_STATISTICS_EX :: ^FILESYSTEM_STATISTICS_EX; | |
NTFS_STATISTICS_EX :: struct { | |
LogFileFullExceptions : DWORD, | |
OtherExceptions : DWORD, | |
MftReads : DWORDLONG, | |
MftReadBytes : DWORDLONG, | |
MftWrites : DWORDLONG, | |
MftWriteBytes : DWORDLONG, | |
MftWritesUserLevel : struct { | |
Write : DWORD, | |
Create : DWORD, | |
SetInfo : DWORD, | |
Flush : DWORD, | |
}, | |
MftWritesFlushForLogFileFull : DWORD, | |
MftWritesLazyWriter : DWORD, | |
MftWritesUserRequest : DWORD, | |
Mft2Writes : DWORDLONG, | |
Mft2WriteBytes : DWORDLONG, | |
Mft2WritesUserLevel : struct { | |
Write : DWORD, | |
Create : DWORD, | |
SetInfo : DWORD, | |
Flush : DWORD, | |
}, | |
Mft2WritesFlushForLogFileFull : DWORD, | |
Mft2WritesLazyWriter : DWORD, | |
Mft2WritesUserRequest : DWORD, | |
RootIndexReads : DWORDLONG, | |
RootIndexReadBytes : DWORDLONG, | |
RootIndexWrites : DWORDLONG, | |
RootIndexWriteBytes : DWORDLONG, | |
BitmapReads : DWORDLONG, | |
BitmapReadBytes : DWORDLONG, | |
BitmapWrites : DWORDLONG, | |
BitmapWriteBytes : DWORDLONG, | |
BitmapWritesFlushForLogFileFull : DWORD, | |
BitmapWritesLazyWriter : DWORD, | |
BitmapWritesUserRequest : DWORD, | |
BitmapWritesUserLevel : struct { | |
Write : DWORD, | |
Create : DWORD, | |
SetInfo : DWORD, | |
Flush : DWORD, | |
}, | |
MftBitmapReads : DWORDLONG, | |
MftBitmapReadBytes : DWORDLONG, | |
MftBitmapWrites : DWORDLONG, | |
MftBitmapWriteBytes : DWORDLONG, | |
MftBitmapWritesFlushForLogFileFull : DWORD, | |
MftBitmapWritesLazyWriter : DWORD, | |
MftBitmapWritesUserRequest : DWORD, | |
MftBitmapWritesUserLevel : struct { | |
Write : DWORD, | |
Create : DWORD, | |
SetInfo : DWORD, | |
Flush : DWORD, | |
}, | |
UserIndexReads : DWORDLONG, | |
UserIndexReadBytes : DWORDLONG, | |
UserIndexWrites : DWORDLONG, | |
UserIndexWriteBytes : DWORDLONG, | |
LogFileReads : DWORDLONG, | |
LogFileReadBytes : DWORDLONG, | |
LogFileWrites : DWORDLONG, | |
LogFileWriteBytes : DWORDLONG, | |
Allocate : struct { | |
Calls : DWORD, | |
RunsReturned : DWORD, | |
Hints : DWORD, | |
HintsHonored : DWORD, | |
Cache : DWORD, | |
CacheMiss : DWORD, | |
Clusters : DWORDLONG, | |
HintsClusters : DWORDLONG, | |
CacheClusters : DWORDLONG, | |
CacheMissClusters : DWORDLONG, | |
}, | |
DiskResourcesExhausted : DWORD, | |
VolumeTrimCount : DWORDLONG, | |
VolumeTrimTime : DWORDLONG, | |
VolumeTrimByteCount : DWORDLONG, | |
FileLevelTrimCount : DWORDLONG, | |
FileLevelTrimTime : DWORDLONG, | |
FileLevelTrimByteCount : DWORDLONG, | |
VolumeTrimSkippedCount : DWORDLONG, | |
VolumeTrimSkippedByteCount : DWORDLONG, | |
NtfsFillStatInfoFromMftRecordCalledCount : DWORDLONG, | |
NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount : DWORDLONG, | |
NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount : DWORDLONG, | |
}; | |
PNTFS_STATISTICS_EX :: ^NTFS_STATISTICS_EX; | |
FILE_OBJECTID_BUFFER :: struct { | |
ObjectId : [16]BYTE, | |
u : struct #raw_union { | |
s : struct { | |
BirthVolumeId : [16]BYTE, | |
BirthObjectId : [16]BYTE, | |
DomainId : [16]BYTE, | |
}, | |
ExtendedInfo : [48]BYTE, | |
}, | |
}; | |
PFILE_OBJECTID_BUFFER :: ^FILE_OBJECTID_BUFFER; | |
FILE_SET_SPARSE_BUFFER :: struct { | |
SetSparse : BOOLEAN, | |
}; | |
PFILE_SET_SPARSE_BUFFER :: ^FILE_SET_SPARSE_BUFFER; | |
FILE_ZERO_DATA_INFORMATION :: struct { | |
FileOffset : LARGE_INTEGER, | |
BeyondFinalZero : LARGE_INTEGER, | |
}; | |
PFILE_ZERO_DATA_INFORMATION :: ^FILE_ZERO_DATA_INFORMATION; | |
FILE_ZERO_DATA_INFORMATION_EX :: struct { | |
FileOffset : LARGE_INTEGER, | |
BeyondFinalZero : LARGE_INTEGER, | |
Flags : DWORD, | |
}; | |
PFILE_ZERO_DATA_INFORMATION_EX :: ^FILE_ZERO_DATA_INFORMATION_EX; | |
FILE_ALLOCATED_RANGE_BUFFER :: struct { | |
FileOffset : LARGE_INTEGER, | |
Length : LARGE_INTEGER, | |
}; | |
PFILE_ALLOCATED_RANGE_BUFFER :: ^FILE_ALLOCATED_RANGE_BUFFER; | |
ENCRYPTION_BUFFER :: struct { | |
EncryptionOperation : DWORD, | |
Private : [1]BYTE, | |
}; | |
PENCRYPTION_BUFFER :: ^ENCRYPTION_BUFFER; | |
DECRYPTION_STATUS_BUFFER :: struct { | |
NoEncryptedStreams : BOOLEAN, | |
}; | |
PDECRYPTION_STATUS_BUFFER :: ^DECRYPTION_STATUS_BUFFER; | |
REQUEST_RAW_ENCRYPTED_DATA :: struct { | |
FileOffset : LONGLONG, | |
Length : DWORD, | |
}; | |
PREQUEST_RAW_ENCRYPTED_DATA :: ^REQUEST_RAW_ENCRYPTED_DATA; | |
ENCRYPTED_DATA_INFO :: struct { | |
StartingFileOffset : DWORDLONG, | |
OutputBufferOffset : DWORD, | |
BytesWithinFileSize : DWORD, | |
BytesWithinValidDataLength : DWORD, | |
CompressionFormat : WORD, | |
DataUnitShift : BYTE, | |
ChunkShift : BYTE, | |
ClusterShift : BYTE, | |
EncryptionFormat : BYTE, | |
NumberOfDataBlocks : WORD, | |
DataBlockSize : [1]DWORD, | |
}; | |
PENCRYPTED_DATA_INFO :: ^ENCRYPTED_DATA_INFO; | |
EXTENDED_ENCRYPTED_DATA_INFO :: struct { | |
ExtendedCode : DWORD, | |
Length : DWORD, | |
Flags : DWORD, | |
Reserved : DWORD, | |
}; | |
PEXTENDED_ENCRYPTED_DATA_INFO :: ^EXTENDED_ENCRYPTED_DATA_INFO; | |
PLEX_READ_DATA_REQUEST :: struct { | |
ByteOffset : LARGE_INTEGER, | |
ByteLength : DWORD, | |
PlexNumber : DWORD, | |
}; | |
PPLEX_READ_DATA_REQUEST :: ^PLEX_READ_DATA_REQUEST; | |
SI_COPYFILE :: struct { | |
SourceFileNameLength : DWORD, | |
DestinationFileNameLength : DWORD, | |
Flags : DWORD, | |
FileNameBuffer : [1]WCHAR, | |
}; | |
PSI_COPYFILE :: ^SI_COPYFILE; | |
FILE_MAKE_COMPATIBLE_BUFFER :: struct { | |
CloseDisc : BOOLEAN, | |
}; | |
PFILE_MAKE_COMPATIBLE_BUFFER :: ^FILE_MAKE_COMPATIBLE_BUFFER; | |
FILE_SET_DEFECT_MGMT_BUFFER :: struct { | |
Disable : BOOLEAN, | |
}; | |
PFILE_SET_DEFECT_MGMT_BUFFER :: ^FILE_SET_DEFECT_MGMT_BUFFER; | |
FILE_QUERY_SPARING_BUFFER :: struct { | |
SparingUnitBytes : DWORD, | |
SoftwareSparing : BOOLEAN, | |
TotalSpareBlocks : DWORD, | |
FreeSpareBlocks : DWORD, | |
}; | |
PFILE_QUERY_SPARING_BUFFER :: ^FILE_QUERY_SPARING_BUFFER; | |
FILE_QUERY_ON_DISK_VOL_INFO_BUFFER :: struct { | |
DirectoryCount : LARGE_INTEGER, | |
FileCount : LARGE_INTEGER, | |
FsFormatMajVersion : WORD, | |
FsFormatMinVersion : WORD, | |
FsFormatName : [12]WCHAR, | |
FormatTime : LARGE_INTEGER, | |
LastUpdateTime : LARGE_INTEGER, | |
CopyrightInfo : [34]WCHAR, | |
AbstractInfo : [34]WCHAR, | |
FormattingImplementationInfo : [34]WCHAR, | |
LastModifyingImplementationInfo : [34]WCHAR, | |
}; | |
PFILE_QUERY_ON_DISK_VOL_INFO_BUFFER :: ^FILE_QUERY_ON_DISK_VOL_INFO_BUFFER; | |
CLSN :: DWORDLONG; | |
FILE_INITIATE_REPAIR_OUTPUT_BUFFER :: struct { | |
Hint1 : DWORDLONG, | |
Hint2 : DWORDLONG, | |
Clsn : CLSN, | |
Status : DWORD, | |
}; | |
PFILE_INITIATE_REPAIR_OUTPUT_BUFFER :: ^FILE_INITIATE_REPAIR_OUTPUT_BUFFER; | |
/* SHRINK_VOLUME_REQUEST_TYPES :: enum { */ | |
SHRINK_VOLUME_REQUEST_TYPES :: _c.int; | |
ShrinkPrepare :: 1; | |
ShrinkCommit :: ShrinkPrepare + 1; | |
ShrinkAbort :: ShrinkCommit + 1; | |
/* } */ | |
PSHRINK_VOLUME_REQUEST_TYPES :: ^SHRINK_VOLUME_REQUEST_TYPES; | |
SHRINK_VOLUME_INFORMATION :: struct { | |
ShrinkRequestType : SHRINK_VOLUME_REQUEST_TYPES, | |
Flags : DWORDLONG, | |
NewNumberOfSectors : LONGLONG, | |
}; | |
PSHRINK_VOLUME_INFORMATION :: ^SHRINK_VOLUME_INFORMATION; | |
TXFS_MODIFY_RM :: struct { | |
Flags : DWORD, | |
LogContainerCountMax : DWORD, | |
LogContainerCountMin : DWORD, | |
LogContainerCount : DWORD, | |
LogGrowthIncrement : DWORD, | |
LogAutoShrinkPercentage : DWORD, | |
Reserved : DWORDLONG, | |
LoggingMode : WORD, | |
}; | |
PTXFS_MODIFY_RM :: ^TXFS_MODIFY_RM; | |
TXFS_QUERY_RM_INFORMATION :: struct { | |
BytesRequired : DWORD, | |
TailLsn : DWORDLONG, | |
CurrentLsn : DWORDLONG, | |
ArchiveTailLsn : DWORDLONG, | |
LogContainerSize : DWORDLONG, | |
HighestVirtualClock : LARGE_INTEGER, | |
LogContainerCount : DWORD, | |
LogContainerCountMax : DWORD, | |
LogContainerCountMin : DWORD, | |
LogGrowthIncrement : DWORD, | |
LogAutoShrinkPercentage : DWORD, | |
Flags : DWORD, | |
LoggingMode : WORD, | |
Reserved : WORD, | |
RmState : DWORD, | |
LogCapacity : DWORDLONG, | |
LogFree : DWORDLONG, | |
TopsSize : DWORDLONG, | |
TopsUsed : DWORDLONG, | |
TransactionCount : DWORDLONG, | |
OnePCCount : DWORDLONG, | |
TwoPCCount : DWORDLONG, | |
NumberLogFileFull : DWORDLONG, | |
OldestTransactionAge : DWORDLONG, | |
RMName : GUID, | |
TmLogPathOffset : DWORD, | |
}; | |
PTXFS_QUERY_RM_INFORMATION :: ^TXFS_QUERY_RM_INFORMATION; | |
TXFS_ROLLFORWARD_REDO_INFORMATION :: struct { | |
LastVirtualClock : LARGE_INTEGER, | |
LastRedoLsn : DWORDLONG, | |
HighestRecoveryLsn : DWORDLONG, | |
Flags : DWORD, | |
}; | |
PTXFS_ROLLFORWARD_REDO_INFORMATION :: ^TXFS_ROLLFORWARD_REDO_INFORMATION; | |
TXFS_START_RM_INFORMATION :: struct { | |
Flags : DWORD, | |
LogContainerSize : DWORDLONG, | |
LogContainerCountMin : DWORD, | |
LogContainerCountMax : DWORD, | |
LogGrowthIncrement : DWORD, | |
LogAutoShrinkPercentage : DWORD, | |
TmLogPathOffset : DWORD, | |
TmLogPathLength : WORD, | |
LoggingMode : WORD, | |
LogPathLength : WORD, | |
Reserved : WORD, | |
LogPath : [1]WCHAR, | |
}; | |
PTXFS_START_RM_INFORMATION :: ^TXFS_START_RM_INFORMATION; | |
TXFS_GET_METADATA_INFO_OUT :: struct { | |
TxfFileId : struct { | |
LowPart : LONGLONG, | |
HighPart : LONGLONG, | |
}, | |
LockingTransaction : GUID, | |
LastLsn : DWORDLONG, | |
TransactionState : DWORD, | |
}; | |
PTXFS_GET_METADATA_INFO_OUT :: ^TXFS_GET_METADATA_INFO_OUT; | |
TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY :: struct { | |
Offset : DWORDLONG, | |
NameFlags : DWORD, | |
FileId : LONGLONG, | |
Reserved1 : DWORD, | |
Reserved2 : DWORD, | |
Reserved3 : LONGLONG, | |
FileName : [1]WCHAR, | |
}; | |
PTXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY :: ^TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY; | |
TXFS_LIST_TRANSACTION_LOCKED_FILES :: struct { | |
KtmTransaction : GUID, | |
NumberOfFiles : DWORDLONG, | |
BufferSizeRequired : DWORDLONG, | |
Offset : DWORDLONG, | |
}; | |
PTXFS_LIST_TRANSACTION_LOCKED_FILES :: ^TXFS_LIST_TRANSACTION_LOCKED_FILES; | |
TXFS_LIST_TRANSACTIONS_ENTRY :: struct { | |
TransactionId : GUID, | |
TransactionState : DWORD, | |
Reserved1 : DWORD, | |
Reserved2 : DWORD, | |
Reserved3 : LONGLONG, | |
}; | |
PTXFS_LIST_TRANSACTIONS_ENTRY :: ^TXFS_LIST_TRANSACTIONS_ENTRY; | |
TXFS_LIST_TRANSACTIONS :: struct { | |
NumberOfTransactions : DWORDLONG, | |
BufferSizeRequired : DWORDLONG, | |
}; | |
PTXFS_LIST_TRANSACTIONS :: ^TXFS_LIST_TRANSACTIONS; | |
TXFS_READ_BACKUP_INFORMATION_OUT :: struct { | |
u : struct #raw_union { | |
BufferLength : DWORD, | |
Buffer : [1]BYTE, | |
}, | |
}; | |
PTXFS_READ_BACKUP_INFORMATION_OUT :: ^TXFS_READ_BACKUP_INFORMATION_OUT; | |
TXFS_WRITE_BACKUP_INFORMATION :: struct { | |
Buffer : [1]BYTE, | |
}; | |
PTXFS_WRITE_BACKUP_INFORMATION :: ^TXFS_WRITE_BACKUP_INFORMATION; | |
TXFS_GET_TRANSACTED_VERSION :: struct { | |
ThisBaseVersion : DWORD, | |
LatestVersion : DWORD, | |
ThisMiniVersion : WORD, | |
FirstMiniVersion : WORD, | |
LatestMiniVersion : WORD, | |
}; | |
PTXFS_GET_TRANSACTED_VERSION :: ^TXFS_GET_TRANSACTED_VERSION; | |
TXFS_SAVEPOINT_INFORMATION :: struct { | |
KtmTransaction : HANDLE, | |
ActionCode : DWORD, | |
SavepointId : DWORD, | |
}; | |
PTXFS_SAVEPOINT_INFORMATION :: ^TXFS_SAVEPOINT_INFORMATION; | |
TXFS_CREATE_MINIVERSION_INFO :: struct { | |
StructureVersion : WORD, | |
StructureLength : WORD, | |
BaseVersion : DWORD, | |
MiniVersion : WORD, | |
}; | |
PTXFS_CREATE_MINIVERSION_INFO :: ^TXFS_CREATE_MINIVERSION_INFO; | |
TXFS_TRANSACTION_ACTIVE_INFO :: struct { | |
TransactionsActiveAtSnapshot : BOOLEAN, | |
}; | |
PTXFS_TRANSACTION_ACTIVE_INFO :: ^TXFS_TRANSACTION_ACTIVE_INFO; | |
BOOT_AREA_INFO :: struct { | |
BootSectorCount : DWORD, | |
BootSectors : [2]struct { | |
Offset : LARGE_INTEGER, | |
}, | |
}; | |
PBOOT_AREA_INFO :: ^BOOT_AREA_INFO; | |
RETRIEVAL_POINTER_BASE :: struct { | |
FileAreaOffset : LARGE_INTEGER, | |
}; | |
PRETRIEVAL_POINTER_BASE :: ^RETRIEVAL_POINTER_BASE; | |
FILE_FS_PERSISTENT_VOLUME_INFORMATION :: struct { | |
VolumeFlags : DWORD, | |
FlagMask : DWORD, | |
Version : DWORD, | |
Reserved : DWORD, | |
}; | |
PFILE_FS_PERSISTENT_VOLUME_INFORMATION :: ^FILE_FS_PERSISTENT_VOLUME_INFORMATION; | |
FILE_SYSTEM_RECOGNITION_INFORMATION :: struct { | |
FileSystem : [9]CHAR, | |
}; | |
PFILE_SYSTEM_RECOGNITION_INFORMATION :: ^FILE_SYSTEM_RECOGNITION_INFORMATION; | |
REQUEST_OPLOCK_INPUT_BUFFER :: struct { | |
StructureVersion : WORD, | |
StructureLength : WORD, | |
RequestedOplockLevel : DWORD, | |
Flags : DWORD, | |
}; | |
PREQUEST_OPLOCK_INPUT_BUFFER :: ^REQUEST_OPLOCK_INPUT_BUFFER; | |
REQUEST_OPLOCK_OUTPUT_BUFFER :: struct { | |
StructureVersion : WORD, | |
StructureLength : WORD, | |
OriginalOplockLevel : DWORD, | |
NewOplockLevel : DWORD, | |
Flags : DWORD, | |
AccessMode : ACCESS_MASK, | |
ShareMode : WORD, | |
}; | |
PREQUEST_OPLOCK_OUTPUT_BUFFER :: ^REQUEST_OPLOCK_OUTPUT_BUFFER; | |
VIRTUAL_STORAGE_TYPE :: struct { | |
DeviceId : DWORD, | |
VendorId : GUID, | |
}; | |
PVIRTUAL_STORAGE_TYPE :: ^VIRTUAL_STORAGE_TYPE; | |
STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST :: struct { | |
RequestLevel : DWORD, | |
RequestFlags : DWORD, | |
}; | |
PSTORAGE_QUERY_DEPENDENT_VOLUME_REQUEST :: ^STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST; | |
STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY :: struct { | |
EntryLength : DWORD, | |
DependencyTypeFlags : DWORD, | |
ProviderSpecificFlags : DWORD, | |
VirtualStorageType : VIRTUAL_STORAGE_TYPE, | |
}; | |
PSTORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY :: ^STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY; | |
STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY :: struct { | |
EntryLength : DWORD, | |
DependencyTypeFlags : DWORD, | |
ProviderSpecificFlags : DWORD, | |
VirtualStorageType : VIRTUAL_STORAGE_TYPE, | |
AncestorLevel : DWORD, | |
HostVolumeNameOffset : DWORD, | |
HostVolumeNameSize : DWORD, | |
DependentVolumeNameOffset : DWORD, | |
DependentVolumeNameSize : DWORD, | |
RelativePathOffset : DWORD, | |
RelativePathSize : DWORD, | |
DependentDeviceNameOffset : DWORD, | |
DependentDeviceNameSize : DWORD, | |
}; | |
PSTORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY :: ^STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY; | |
SD_CHANGE_MACHINE_SID_INPUT :: struct { | |
CurrentMachineSIDOffset : WORD, | |
CurrentMachineSIDLength : WORD, | |
NewMachineSIDOffset : WORD, | |
NewMachineSIDLength : WORD, | |
}; | |
PSD_CHANGE_MACHINE_SID_INPUT :: ^SD_CHANGE_MACHINE_SID_INPUT; | |
SD_CHANGE_MACHINE_SID_OUTPUT :: struct { | |
NumSDChangedSuccess : DWORDLONG, | |
NumSDChangedFail : DWORDLONG, | |
NumSDUnused : DWORDLONG, | |
NumSDTotal : DWORDLONG, | |
NumMftSDChangedSuccess : DWORDLONG, | |
NumMftSDChangedFail : DWORDLONG, | |
NumMftSDTotal : DWORDLONG, | |
}; | |
PSD_CHANGE_MACHINE_SID_OUTPUT :: ^SD_CHANGE_MACHINE_SID_OUTPUT; | |
SD_QUERY_STATS_INPUT :: struct { | |
Reserved : DWORD, | |
}; | |
PSD_QUERY_STATS_INPUT :: ^SD_QUERY_STATS_INPUT; | |
SD_QUERY_STATS_OUTPUT :: struct { | |
SdsStreamSize : DWORDLONG, | |
SdsAllocationSize : DWORDLONG, | |
SiiStreamSize : DWORDLONG, | |
SiiAllocationSize : DWORDLONG, | |
SdhStreamSize : DWORDLONG, | |
SdhAllocationSize : DWORDLONG, | |
NumSDTotal : DWORDLONG, | |
NumSDUnused : DWORDLONG, | |
}; | |
PSD_QUERY_STATS_OUTPUT :: ^SD_QUERY_STATS_OUTPUT; | |
SD_ENUM_SDS_INPUT :: struct { | |
StartingOffset : DWORDLONG, | |
MaxSDEntriesToReturn : DWORDLONG, | |
}; | |
PSD_ENUM_SDS_INPUT :: ^SD_ENUM_SDS_INPUT; | |
SD_ENUM_SDS_ENTRY :: struct { | |
Hash : DWORD, | |
SecurityId : DWORD, | |
Offset : DWORDLONG, | |
Length : DWORD, | |
Descriptor : [1]BYTE, | |
}; | |
PSD_ENUM_SDS_ENTRY :: ^SD_ENUM_SDS_ENTRY; | |
SD_ENUM_SDS_OUTPUT :: struct { | |
NextOffset : DWORDLONG, | |
NumSDEntriesReturned : DWORDLONG, | |
NumSDBytesReturned : DWORDLONG, | |
SDEntry : [1]SD_ENUM_SDS_ENTRY, | |
}; | |
PSD_ENUM_SDS_OUTPUT :: ^SD_ENUM_SDS_OUTPUT; | |
SD_GLOBAL_CHANGE_INPUT :: struct { | |
Flags : DWORD, | |
ChangeType : DWORD, | |
u : struct #raw_union { | |
SdChange : SD_CHANGE_MACHINE_SID_INPUT, | |
SdQueryStats : SD_QUERY_STATS_INPUT, | |
SdEnumSds : SD_ENUM_SDS_INPUT, | |
}, | |
}; | |
PSD_GLOBAL_CHANGE_INPUT :: ^SD_GLOBAL_CHANGE_INPUT; | |
SD_GLOBAL_CHANGE_OUTPUT :: struct { | |
Flags : DWORD, | |
ChangeType : DWORD, | |
u : struct #raw_union { | |
SdChange : SD_CHANGE_MACHINE_SID_OUTPUT, | |
SdQueryStats : SD_QUERY_STATS_OUTPUT, | |
SdEnumSds : SD_ENUM_SDS_OUTPUT, | |
}, | |
}; | |
PSD_GLOBAL_CHANGE_OUTPUT :: ^SD_GLOBAL_CHANGE_OUTPUT; | |
LOOKUP_STREAM_FROM_CLUSTER_INPUT :: struct { | |
Flags : DWORD, | |
NumberOfClusters : DWORD, | |
Cluster : [1]LARGE_INTEGER, | |
}; | |
PLOOKUP_STREAM_FROM_CLUSTER_INPUT :: ^LOOKUP_STREAM_FROM_CLUSTER_INPUT; | |
LOOKUP_STREAM_FROM_CLUSTER_OUTPUT :: struct { | |
Offset : DWORD, | |
NumberOfMatches : DWORD, | |
BufferSizeRequired : DWORD, | |
}; | |
PLOOKUP_STREAM_FROM_CLUSTER_OUTPUT :: ^LOOKUP_STREAM_FROM_CLUSTER_OUTPUT; | |
LOOKUP_STREAM_FROM_CLUSTER_ENTRY :: struct { | |
OffsetToNext : DWORD, | |
Flags : DWORD, | |
Reserved : LARGE_INTEGER, | |
Cluster : LARGE_INTEGER, | |
FileName : [1]WCHAR, | |
}; | |
PLOOKUP_STREAM_FROM_CLUSTER_ENTRY :: ^LOOKUP_STREAM_FROM_CLUSTER_ENTRY; | |
FILE_TYPE_NOTIFICATION_INPUT :: struct { | |
Flags : DWORD, | |
NumFileTypeIDs : DWORD, | |
FileTypeID : [1]GUID, | |
}; | |
PFILE_TYPE_NOTIFICATION_INPUT :: ^FILE_TYPE_NOTIFICATION_INPUT; | |
CSV_MGMT_LOCK :: struct { | |
Flags : DWORD, | |
}; | |
PCSV_MGMT_LOCK :: ^CSV_MGMT_LOCK; | |
CSV_NAMESPACE_INFO :: struct { | |
Version : DWORD, | |
DeviceNumber : DWORD, | |
StartingOffset : LARGE_INTEGER, | |
SectorSize : DWORD, | |
}; | |
PCSV_NAMESPACE_INFO :: ^CSV_NAMESPACE_INFO; | |
/* CSV_CONTROL_OP :: enum { */ | |
CSV_CONTROL_OP :: _c.int; | |
CsvControlStartRedirectFile :: 0x02; | |
CsvControlStopRedirectFile :: 0x03; | |
CsvControlQueryRedirectState :: 0x04; | |
CsvControlQueryFileRevision :: 0x06; | |
CsvControlQueryMdsPath :: 0x08; | |
CsvControlQueryFileRevisionFileId128 :: 0x09; | |
CsvControlQueryVolumeRedirectState :: 0x0a; | |
CsvControlEnableUSNRangeModificationTracking :: 0x0d; | |
CsvControlMarkHandleLocalVolumeMount :: 0x0e; | |
CsvControlUnmarkHandleLocalVolumeMount :: 0x0f; | |
CsvControlGetCsvFsMdsPathV2 :: 0x12; | |
CsvControlDisableCaching :: 0x13; | |
CsvControlEnableCaching :: 0x14; | |
/* } */ | |
PCSV_CONTROL_OP :: ^CSV_CONTROL_OP; | |
CSV_CONTROL_PARAM :: struct { | |
Operation : CSV_CONTROL_OP, | |
Unused : LONGLONG, | |
}; | |
PCSV_CONTROL_PARAM :: ^CSV_CONTROL_PARAM; | |
CSV_QUERY_REDIRECT_STATE :: struct { | |
MdsNodeId : DWORD, | |
DsNodeId : DWORD, | |
FileRedirected : BOOLEAN, | |
}; | |
PCSV_QUERY_REDIRECT_STATE :: ^CSV_QUERY_REDIRECT_STATE; | |
CSV_QUERY_FILE_REVISION :: struct { | |
FileId : LONGLONG, | |
FileRevision : [3]LONGLONG, | |
}; | |
PCSV_QUERY_FILE_REVISION :: ^CSV_QUERY_FILE_REVISION; | |
CSV_QUERY_FILE_REVISION_FILE_ID_128 :: struct { | |
FileId : FILE_ID_128, | |
FileRevision : [3]LONGLONG, | |
}; | |
PCSV_QUERY_FILE_REVISION_FILE_ID_128 :: ^CSV_QUERY_FILE_REVISION_FILE_ID_128; | |
CSV_QUERY_MDS_PATH :: struct { | |
MdsNodeId : DWORD, | |
DsNodeId : DWORD, | |
PathLength : DWORD, | |
Path : [1]WCHAR, | |
}; | |
PCSV_QUERY_MDS_PATH :: ^CSV_QUERY_MDS_PATH; | |
/* CSVFS_DISK_CONNECTIVITY :: enum { */ | |
CSVFS_DISK_CONNECTIVITY :: _c.int; | |
CsvFsDiskConnectivityNone :: 0; | |
CsvFsDiskConnectivityMdsNodeOnly :: 1; | |
CsvFsDiskConnectivitySubsetOfNodes :: 2; | |
CsvFsDiskConnectivityAllNodes :: 3; | |
/* } */ | |
PCSVFS_DISK_CONNECTIVITY :: ^CSVFS_DISK_CONNECTIVITY; | |
CSV_QUERY_VOLUME_REDIRECT_STATE :: struct { | |
MdsNodeId : DWORD, | |
DsNodeId : DWORD, | |
IsDiskConnected : BOOLEAN, | |
ClusterEnableDirectIo : BOOLEAN, | |
DiskConnectivity : CSVFS_DISK_CONNECTIVITY, | |
}; | |
PCSV_QUERY_VOLUME_REDIRECT_STATE :: ^CSV_QUERY_VOLUME_REDIRECT_STATE; | |
CSV_QUERY_MDS_PATH_V2 :: struct { | |
Version : LONGLONG, | |
RequiredSize : DWORD, | |
MdsNodeId : DWORD, | |
DsNodeId : DWORD, | |
Flags : DWORD, | |
DiskConnectivity : CSVFS_DISK_CONNECTIVITY, | |
VolumeId : GUID, | |
IpAddressOffset : DWORD, | |
IpAddressLength : DWORD, | |
PathOffset : DWORD, | |
PathLength : DWORD, | |
}; | |
PCSV_QUERY_MDS_PATH_V2 :: ^CSV_QUERY_MDS_PATH_V2; | |
CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT :: struct { | |
VetoedFromAltitudeIntegral : DWORDLONG, | |
VetoedFromAltitudeDecimal : DWORDLONG, | |
Reason : [256]WCHAR, | |
}; | |
PCSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT :: ^CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT; | |
/* STORAGE_RESERVE_ID :: enum { */ | |
STORAGE_RESERVE_ID :: _c.int; | |
StorageReserveIdNone :: 0; | |
StorageReserveIdHard :: StorageReserveIdNone + 1; | |
StorageReserveIdSoft :: StorageReserveIdHard + 1; | |
StorageReserveIdUpdateScratch :: StorageReserveIdSoft + 1; | |
StorageReserveIdMax :: StorageReserveIdUpdateScratch + 1; | |
/* } */ | |
PSTORAGE_RESERVE_ID :: ^STORAGE_RESERVE_ID; | |
CSV_IS_OWNED_BY_CSVFS :: struct { | |
OwnedByCSVFS : BOOLEAN, | |
}; | |
PCSV_IS_OWNED_BY_CSVFS :: ^CSV_IS_OWNED_BY_CSVFS; | |
FILE_LEVEL_TRIM_RANGE :: struct { | |
Offset : DWORDLONG, | |
Length : DWORDLONG, | |
}; | |
PFILE_LEVEL_TRIM_RANGE :: ^FILE_LEVEL_TRIM_RANGE; | |
FILE_LEVEL_TRIM :: struct { | |
Key : DWORD, | |
NumRanges : DWORD, | |
Ranges : [1]FILE_LEVEL_TRIM_RANGE, | |
}; | |
PFILE_LEVEL_TRIM :: ^FILE_LEVEL_TRIM; | |
FILE_LEVEL_TRIM_OUTPUT :: struct { | |
NumRangesProcessed : DWORD, | |
}; | |
PFILE_LEVEL_TRIM_OUTPUT :: ^FILE_LEVEL_TRIM_OUTPUT; | |
/* QUERY_FILE_LAYOUT_FILTER_TYPE :: enum { */ | |
QUERY_FILE_LAYOUT_FILTER_TYPE :: _c.int; | |
QUERY_FILE_LAYOUT_FILTER_TYPE_NONE :: 0; | |
QUERY_FILE_LAYOUT_FILTER_TYPE_CLUSTERS :: 1; | |
QUERY_FILE_LAYOUT_FILTER_TYPE_FILEID :: 2; | |
QUERY_FILE_LAYOUT_FILTER_TYPE_STORAGE_RESERVE_ID :: 3; | |
QUERY_FILE_LAYOUT_NUM_FILTER_TYPES :: QUERY_FILE_LAYOUT_FILTER_TYPE_STORAGE_RESERVE_ID + 1; | |
/* } */ | |
; | |
CLUSTER_RANGE :: struct { | |
StartingCluster : LARGE_INTEGER, | |
ClusterCount : LARGE_INTEGER, | |
}; | |
PCLUSTER_RANGE :: ^CLUSTER_RANGE; | |
FILE_REFERENCE_RANGE :: struct { | |
StartingFileReferenceNumber : DWORDLONG, | |
EndingFileReferenceNumber : DWORDLONG, | |
}; | |
PFILE_REFERENCE_RANGE :: ^FILE_REFERENCE_RANGE; | |
QUERY_FILE_LAYOUT_INPUT :: struct { | |
u : struct #raw_union { | |
FilterEntryCount : DWORD, | |
NumberOfPairs : DWORD, | |
}, | |
Flags : DWORD, | |
FilterType : QUERY_FILE_LAYOUT_FILTER_TYPE, | |
Reserved : DWORD, | |
Filter : struct #raw_union { | |
ClusterRanges : [1]CLUSTER_RANGE, | |
FileReferenceRanges : [1]FILE_REFERENCE_RANGE, | |
StorageReserveIds : [1]STORAGE_RESERVE_ID, | |
}, | |
}; | |
PQUERY_FILE_LAYOUT_INPUT :: ^QUERY_FILE_LAYOUT_INPUT; | |
QUERY_FILE_LAYOUT_OUTPUT :: struct { | |
FileEntryCount : DWORD, | |
FirstFileOffset : DWORD, | |
Flags : DWORD, | |
Reserved : DWORD, | |
}; | |
PQUERY_FILE_LAYOUT_OUTPUT :: ^QUERY_FILE_LAYOUT_OUTPUT; | |
FILE_LAYOUT_ENTRY :: struct { | |
Version : DWORD, | |
NextFileOffset : DWORD, | |
Flags : DWORD, | |
FileAttributes : DWORD, | |
FileReferenceNumber : DWORDLONG, | |
FirstNameOffset : DWORD, | |
FirstStreamOffset : DWORD, | |
ExtraInfoOffset : DWORD, | |
ExtraInfoLength : DWORD, | |
}; | |
PFILE_LAYOUT_ENTRY :: ^FILE_LAYOUT_ENTRY; | |
FILE_LAYOUT_NAME_ENTRY :: struct { | |
NextNameOffset : DWORD, | |
Flags : DWORD, | |
ParentFileReferenceNumber : DWORDLONG, | |
FileNameLength : DWORD, | |
Reserved : DWORD, | |
FileName : [1]WCHAR, | |
}; | |
PFILE_LAYOUT_NAME_ENTRY :: ^FILE_LAYOUT_NAME_ENTRY; | |
FILE_LAYOUT_INFO_ENTRY :: struct { | |
BasicInformation : struct { | |
CreationTime : LARGE_INTEGER, | |
LastAccessTime : LARGE_INTEGER, | |
LastWriteTime : LARGE_INTEGER, | |
ChangeTime : LARGE_INTEGER, | |
FileAttributes : DWORD, | |
}, | |
OwnerId : DWORD, | |
SecurityId : DWORD, | |
Usn : USN, | |
StorageReserveId : STORAGE_RESERVE_ID, | |
}; | |
PFILE_LAYOUT_INFO_ENTRY :: ^FILE_LAYOUT_INFO_ENTRY; | |
STREAM_LAYOUT_ENTRY :: struct { | |
Version : DWORD, | |
NextStreamOffset : DWORD, | |
Flags : DWORD, | |
ExtentInformationOffset : DWORD, | |
AllocationSize : LARGE_INTEGER, | |
EndOfFile : LARGE_INTEGER, | |
StreamInformationOffset : DWORD, | |
AttributeTypeCode : DWORD, | |
AttributeFlags : DWORD, | |
StreamIdentifierLength : DWORD, | |
StreamIdentifier : [1]WCHAR, | |
}; | |
PSTREAM_LAYOUT_ENTRY :: ^STREAM_LAYOUT_ENTRY; | |
STREAM_EXTENT_ENTRY :: struct { | |
Flags : DWORD, | |
ExtentInformation : struct #raw_union { | |
RetrievalPointers : RETRIEVAL_POINTERS_BUFFER, | |
}, | |
}; | |
PSTREAM_EXTENT_ENTRY :: ^STREAM_EXTENT_ENTRY; | |
FSCTL_GET_INTEGRITY_INFORMATION_BUFFER :: struct { | |
ChecksumAlgorithm : WORD, | |
Reserved : WORD, | |
Flags : DWORD, | |
ChecksumChunkSizeInBytes : DWORD, | |
ClusterSizeInBytes : DWORD, | |
}; | |
PFSCTL_GET_INTEGRITY_INFORMATION_BUFFER :: ^FSCTL_GET_INTEGRITY_INFORMATION_BUFFER; | |
FSCTL_SET_INTEGRITY_INFORMATION_BUFFER :: struct { | |
ChecksumAlgorithm : WORD, | |
Reserved : WORD, | |
Flags : DWORD, | |
}; | |
PFSCTL_SET_INTEGRITY_INFORMATION_BUFFER :: ^FSCTL_SET_INTEGRITY_INFORMATION_BUFFER; | |
FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX :: struct { | |
EnableIntegrity : BYTE, | |
KeepIntegrityStateUnchanged : BYTE, | |
Reserved : WORD, | |
Flags : DWORD, | |
Version : BYTE, | |
Reserved2 : [7]BYTE, | |
}; | |
PFSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX :: ^FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX; | |
FSCTL_OFFLOAD_READ_INPUT :: struct { | |
Size : DWORD, | |
Flags : DWORD, | |
TokenTimeToLive : DWORD, | |
Reserved : DWORD, | |
FileOffset : DWORDLONG, | |
CopyLength : DWORDLONG, | |
}; | |
PFSCTL_OFFLOAD_READ_INPUT :: ^FSCTL_OFFLOAD_READ_INPUT; | |
FSCTL_OFFLOAD_READ_OUTPUT :: struct { | |
Size : DWORD, | |
Flags : DWORD, | |
TransferLength : DWORDLONG, | |
Token : [512]BYTE, | |
}; | |
PFSCTL_OFFLOAD_READ_OUTPUT :: ^FSCTL_OFFLOAD_READ_OUTPUT; | |
FSCTL_OFFLOAD_WRITE_INPUT :: struct { | |
Size : DWORD, | |
Flags : DWORD, | |
FileOffset : DWORDLONG, | |
CopyLength : DWORDLONG, | |
TransferOffset : DWORDLONG, | |
Token : [512]BYTE, | |
}; | |
PFSCTL_OFFLOAD_WRITE_INPUT :: ^FSCTL_OFFLOAD_WRITE_INPUT; | |
FSCTL_OFFLOAD_WRITE_OUTPUT :: struct { | |
Size : DWORD, | |
Flags : DWORD, | |
LengthWritten : DWORDLONG, | |
}; | |
PFSCTL_OFFLOAD_WRITE_OUTPUT :: ^FSCTL_OFFLOAD_WRITE_OUTPUT; | |
SET_PURGE_FAILURE_MODE_INPUT :: struct { | |
Flags : DWORD, | |
}; | |
PSET_PURGE_FAILURE_MODE_INPUT :: ^SET_PURGE_FAILURE_MODE_INPUT; | |
REPAIR_COPIES_INPUT :: struct { | |
Size : DWORD, | |
Flags : DWORD, | |
FileOffset : LARGE_INTEGER, | |
Length : DWORD, | |
SourceCopy : DWORD, | |
NumberOfRepairCopies : DWORD, | |
RepairCopies : [1]DWORD, | |
}; | |
PREPAIR_COPIES_INPUT :: ^REPAIR_COPIES_INPUT; | |
REPAIR_COPIES_OUTPUT :: struct { | |
Size : DWORD, | |
Status : DWORD, | |
ResumeFileOffset : LARGE_INTEGER, | |
}; | |
PREPAIR_COPIES_OUTPUT :: ^REPAIR_COPIES_OUTPUT; | |
FILE_REGION_INFO :: struct { | |
FileOffset : LONGLONG, | |
Length : LONGLONG, | |
Usage : DWORD, | |
Reserved : DWORD, | |
}; | |
PFILE_REGION_INFO :: ^FILE_REGION_INFO; | |
FILE_REGION_OUTPUT :: struct { | |
Flags : DWORD, | |
TotalRegionEntryCount : DWORD, | |
RegionEntryCount : DWORD, | |
Reserved : DWORD, | |
Region : [1]FILE_REGION_INFO, | |
}; | |
PFILE_REGION_OUTPUT :: ^FILE_REGION_OUTPUT; | |
FILE_REGION_INPUT :: struct { | |
FileOffset : LONGLONG, | |
Length : LONGLONG, | |
DesiredUsage : DWORD, | |
}; | |
PFILE_REGION_INPUT :: ^FILE_REGION_INPUT; | |
WRITE_USN_REASON_INPUT :: struct { | |
Flags : DWORD, | |
UsnReasonToWrite : DWORD, | |
}; | |
PWRITE_USN_REASON_INPUT :: ^WRITE_USN_REASON_INPUT; | |
/* FILE_STORAGE_TIER_MEDIA_TYPE :: enum { */ | |
FILE_STORAGE_TIER_MEDIA_TYPE :: _c.int; | |
FileStorageTierMediaTypeUnspecified :: 0; | |
FileStorageTierMediaTypeDisk :: 1; | |
FileStorageTierMediaTypeSsd :: 2; | |
FileStorageTierMediaTypeScm :: 4; | |
FileStorageTierMediaTypeMax :: FileStorageTierMediaTypeScm + 1; | |
/* } */ | |
PFILE_STORAGE_TIER_MEDIA_TYPE :: ^FILE_STORAGE_TIER_MEDIA_TYPE; | |
/* FILE_STORAGE_TIER_CLASS :: enum { */ | |
FILE_STORAGE_TIER_CLASS :: _c.int; | |
FileStorageTierClassUnspecified :: 0; | |
FileStorageTierClassCapacity :: FileStorageTierClassUnspecified + 1; | |
FileStorageTierClassPerformance :: FileStorageTierClassCapacity + 1; | |
FileStorageTierClassMax :: FileStorageTierClassPerformance + 1; | |
/* } */ | |
PFILE_STORAGE_TIER_CLASS :: ^FILE_STORAGE_TIER_CLASS; | |
FILE_STORAGE_TIER :: struct { | |
Id : GUID, | |
Name : [(256)]WCHAR, | |
Description : [(256)]WCHAR, | |
Flags : DWORDLONG, | |
ProvisionedCapacity : DWORDLONG, | |
MediaType : FILE_STORAGE_TIER_MEDIA_TYPE, | |
Class : FILE_STORAGE_TIER_CLASS, | |
}; | |
PFILE_STORAGE_TIER :: ^FILE_STORAGE_TIER; | |
FSCTL_QUERY_STORAGE_CLASSES_OUTPUT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
TotalNumberOfTiers : DWORD, | |
NumberOfTiersReturned : DWORD, | |
Tiers : [1]FILE_STORAGE_TIER, | |
}; | |
PFSCTL_QUERY_STORAGE_CLASSES_OUTPUT :: ^FSCTL_QUERY_STORAGE_CLASSES_OUTPUT; | |
STREAM_INFORMATION_ENTRY :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
StreamInformation : struct #raw_union { | |
DesiredStorageClass : struct { | |
Class : FILE_STORAGE_TIER_CLASS, | |
Flags : DWORD, | |
}, | |
}, | |
}; | |
PSTREAM_INFORMATION_ENTRY :: ^STREAM_INFORMATION_ENTRY; | |
FSCTL_QUERY_REGION_INFO_INPUT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
NumberOfTierIds : DWORD, | |
TierIds : [1]GUID, | |
}; | |
PFSCTL_QUERY_REGION_INFO_INPUT :: ^FSCTL_QUERY_REGION_INFO_INPUT; | |
FILE_STORAGE_TIER_REGION :: struct { | |
TierId : GUID, | |
Offset : DWORDLONG, | |
Length : DWORDLONG, | |
}; | |
PFILE_STORAGE_TIER_REGION :: ^FILE_STORAGE_TIER_REGION; | |
FSCTL_QUERY_REGION_INFO_OUTPUT :: struct { | |
Version : DWORD, | |
Size : DWORD, | |
Flags : DWORD, | |
Reserved : DWORD, | |
Alignment : DWORDLONG, | |
TotalNumberOfRegions : DWORD, | |
NumberOfRegionsReturned : DWORD, | |
Regions : [1]FILE_STORAGE_TIER_REGION, | |
}; | |
PFSCTL_QUERY_REGION_INFO_OUTPUT :: ^FSCTL_QUERY_REGION_INFO_OUTPUT; | |
FILE_DESIRED_STORAGE_CLASS_INFORMATION :: struct { | |
Class : FILE_STORAGE_TIER_CLASS, | |
Flags : DWORD, | |
}; | |
PFILE_DESIRED_STORAGE_CLASS_INFORMATION :: ^FILE_DESIRED_STORAGE_CLASS_INFORMATION; | |
DUPLICATE_EXTENTS_DATA :: struct { | |
FileHandle : HANDLE, | |
SourceFileOffset : LARGE_INTEGER, | |
TargetFileOffset : LARGE_INTEGER, | |
ByteCount : LARGE_INTEGER, | |
}; | |
PDUPLICATE_EXTENTS_DATA :: ^DUPLICATE_EXTENTS_DATA; | |
DUPLICATE_EXTENTS_DATA32 :: struct { | |
FileHandle : UINT32, | |
SourceFileOffset : LARGE_INTEGER, | |
TargetFileOffset : LARGE_INTEGER, | |
ByteCount : LARGE_INTEGER, | |
}; | |
PDUPLICATE_EXTENTS_DATA32 :: ^DUPLICATE_EXTENTS_DATA32; | |
DUPLICATE_EXTENTS_DATA_EX :: struct { | |
Size : SIZE_T, | |
FileHandle : HANDLE, | |
SourceFileOffset : LARGE_INTEGER, | |
TargetFileOffset : LARGE_INTEGER, | |
ByteCount : LARGE_INTEGER, | |
Flags : DWORD, | |
}; | |
PDUPLICATE_EXTENTS_DATA_EX :: ^DUPLICATE_EXTENTS_DATA_EX; | |
DUPLICATE_EXTENTS_DATA_EX32 :: struct { | |
Size : DWORD32, | |
FileHandle : DWORD32, | |
SourceFileOffset : LARGE_INTEGER, | |
TargetFileOffset : LARGE_INTEGER, | |
ByteCount : LARGE_INTEGER, | |
Flags : DWORD, | |
}; | |
PDUPLICATE_EXTENTS_DATA_EX32 :: ^DUPLICATE_EXTENTS_DATA_EX32; | |
/* REFS_SMR_VOLUME_GC_STATE :: enum { */ | |
REFS_SMR_VOLUME_GC_STATE :: _c.int; | |
SmrGcStateInactive :: 0; | |
SmrGcStatePaused :: 1; | |
SmrGcStateActive :: 2; | |
SmrGcStateActiveFullSpeed :: 3; | |
/* } */ | |
PREFS_SMR_VOLUME_GC_STATE :: ^REFS_SMR_VOLUME_GC_STATE; | |
REFS_SMR_VOLUME_INFO_OUTPUT :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
SizeOfRandomlyWritableTier : LARGE_INTEGER, | |
FreeSpaceInRandomlyWritableTier : LARGE_INTEGER, | |
SizeofSMRTier : LARGE_INTEGER, | |
FreeSpaceInSMRTier : LARGE_INTEGER, | |
UsableFreeSpaceInSMRTier : LARGE_INTEGER, | |
VolumeGcState : REFS_SMR_VOLUME_GC_STATE, | |
VolumeGcLastStatus : DWORD, | |
Unused : [7]DWORDLONG, | |
}; | |
PREFS_SMR_VOLUME_INFO_OUTPUT :: ^REFS_SMR_VOLUME_INFO_OUTPUT; | |
/* REFS_SMR_VOLUME_GC_ACTION :: enum { */ | |
REFS_SMR_VOLUME_GC_ACTION :: _c.int; | |
SmrGcActionStart :: 1; | |
SmrGcActionStartFullSpeed :: 2; | |
SmrGcActionPause :: 3; | |
SmrGcActionStop :: 4; | |
/* } */ | |
PREFS_SMR_VOLUME_GC_ACTION :: ^REFS_SMR_VOLUME_GC_ACTION; | |
/* REFS_SMR_VOLUME_GC_METHOD :: enum { */ | |
REFS_SMR_VOLUME_GC_METHOD :: _c.int; | |
SmrGcMethodCompaction :: 1; | |
SmrGcMethodCompression :: 2; | |
SmrGcMethodRotation :: 3; | |
/* } */ | |
PREFS_SMR_VOLUME_GC_METHOD :: ^REFS_SMR_VOLUME_GC_METHOD; | |
REFS_SMR_VOLUME_GC_PARAMETERS :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
Action : REFS_SMR_VOLUME_GC_ACTION, | |
Method : REFS_SMR_VOLUME_GC_METHOD, | |
IoGranularity : DWORD, | |
CompressionFormat : DWORD, | |
Unused : [8]DWORDLONG, | |
}; | |
PREFS_SMR_VOLUME_GC_PARAMETERS :: ^REFS_SMR_VOLUME_GC_PARAMETERS; | |
STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER :: struct { | |
OptimalWriteSize : DWORD, | |
StreamGranularitySize : DWORD, | |
StreamIdMin : DWORD, | |
StreamIdMax : DWORD, | |
}; | |
PSTREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER :: ^STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER; | |
STREAMS_ASSOCIATE_ID_INPUT_BUFFER :: struct { | |
Flags : DWORD, | |
StreamId : DWORD, | |
}; | |
PSTREAMS_ASSOCIATE_ID_INPUT_BUFFER :: ^STREAMS_ASSOCIATE_ID_INPUT_BUFFER; | |
STREAMS_QUERY_ID_OUTPUT_BUFFER :: struct { | |
StreamId : DWORD, | |
}; | |
PSTREAMS_QUERY_ID_OUTPUT_BUFFER :: ^STREAMS_QUERY_ID_OUTPUT_BUFFER; | |
QUERY_BAD_RANGES_INPUT_RANGE :: struct { | |
StartOffset : DWORDLONG, | |
LengthInBytes : DWORDLONG, | |
}; | |
PQUERY_BAD_RANGES_INPUT_RANGE :: ^QUERY_BAD_RANGES_INPUT_RANGE; | |
QUERY_BAD_RANGES_INPUT :: struct { | |
Flags : DWORD, | |
NumRanges : DWORD, | |
Ranges : [1]QUERY_BAD_RANGES_INPUT_RANGE, | |
}; | |
PQUERY_BAD_RANGES_INPUT :: ^QUERY_BAD_RANGES_INPUT; | |
QUERY_BAD_RANGES_OUTPUT_RANGE :: struct { | |
Flags : DWORD, | |
Reserved : DWORD, | |
StartOffset : DWORDLONG, | |
LengthInBytes : DWORDLONG, | |
}; | |
PQUERY_BAD_RANGES_OUTPUT_RANGE :: ^QUERY_BAD_RANGES_OUTPUT_RANGE; | |
QUERY_BAD_RANGES_OUTPUT :: struct { | |
Flags : DWORD, | |
NumBadRanges : DWORD, | |
NextOffsetToLookUp : DWORDLONG, | |
BadRanges : [1]QUERY_BAD_RANGES_OUTPUT_RANGE, | |
}; | |
PQUERY_BAD_RANGES_OUTPUT :: ^QUERY_BAD_RANGES_OUTPUT; | |
SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT :: struct { | |
Flags : DWORD, | |
AlignmentShift : DWORD, | |
FileOffsetToAlign : DWORDLONG, | |
FallbackAlignmentShift : DWORD, | |
}; | |
PSET_DAX_ALLOC_ALIGNMENT_HINT_INPUT :: ^SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT; | |
/* VIRTUAL_STORAGE_BEHAVIOR_CODE :: enum { */ | |
VIRTUAL_STORAGE_BEHAVIOR_CODE :: _c.int; | |
VirtualStorageBehaviorUndefined :: 0; | |
VirtualStorageBehaviorCacheWriteThrough :: 1; | |
VirtualStorageBehaviorCacheWriteBack :: 2; | |
/* } */ | |
PVIRTUAL_STORAGE_BEHAVIOR_CODE :: ^VIRTUAL_STORAGE_BEHAVIOR_CODE; | |
VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT :: struct { | |
Size : DWORD, | |
BehaviorCode : VIRTUAL_STORAGE_BEHAVIOR_CODE, | |
}; | |
PVIRTUAL_STORAGE_SET_BEHAVIOR_INPUT :: ^VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT; | |
ENCRYPTION_KEY_CTRL_INPUT :: struct { | |
HeaderSize : DWORD, | |
StructureSize : DWORD, | |
KeyOffset : WORD, | |
KeySize : WORD, | |
DplLock : DWORD, | |
DplUserId : DWORDLONG, | |
DplCredentialId : DWORDLONG, | |
}; | |
PENCRYPTION_KEY_CTRL_INPUT :: ^ENCRYPTION_KEY_CTRL_INPUT; | |
WOF_EXTERNAL_INFO :: struct { | |
Version : DWORD, | |
Provider : DWORD, | |
}; | |
PWOF_EXTERNAL_INFO :: ^WOF_EXTERNAL_INFO; | |
WOF_EXTERNAL_FILE_ID :: struct { | |
FileId : FILE_ID_128, | |
}; | |
PWOF_EXTERNAL_FILE_ID :: ^WOF_EXTERNAL_FILE_ID; | |
WOF_VERSION_INFO :: struct { | |
WofVersion : DWORD, | |
}; | |
PWOF_VERSION_INFO :: ^WOF_VERSION_INFO; | |
WIM_PROVIDER_EXTERNAL_INFO :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
DataSourceId : LARGE_INTEGER, | |
ResourceHash : [20]BYTE, | |
}; | |
PWIM_PROVIDER_EXTERNAL_INFO :: ^WIM_PROVIDER_EXTERNAL_INFO; | |
WIM_PROVIDER_ADD_OVERLAY_INPUT :: struct { | |
WimType : DWORD, | |
WimIndex : DWORD, | |
WimFileNameOffset : DWORD, | |
WimFileNameLength : DWORD, | |
}; | |
PWIM_PROVIDER_ADD_OVERLAY_INPUT :: ^WIM_PROVIDER_ADD_OVERLAY_INPUT; | |
WIM_PROVIDER_UPDATE_OVERLAY_INPUT :: struct { | |
DataSourceId : LARGE_INTEGER, | |
WimFileNameOffset : DWORD, | |
WimFileNameLength : DWORD, | |
}; | |
PWIM_PROVIDER_UPDATE_OVERLAY_INPUT :: ^WIM_PROVIDER_UPDATE_OVERLAY_INPUT; | |
WIM_PROVIDER_REMOVE_OVERLAY_INPUT :: struct { | |
DataSourceId : LARGE_INTEGER, | |
}; | |
PWIM_PROVIDER_REMOVE_OVERLAY_INPUT :: ^WIM_PROVIDER_REMOVE_OVERLAY_INPUT; | |
WIM_PROVIDER_SUSPEND_OVERLAY_INPUT :: struct { | |
DataSourceId : LARGE_INTEGER, | |
}; | |
PWIM_PROVIDER_SUSPEND_OVERLAY_INPUT :: ^WIM_PROVIDER_SUSPEND_OVERLAY_INPUT; | |
WIM_PROVIDER_OVERLAY_ENTRY :: struct { | |
NextEntryOffset : DWORD, | |
DataSourceId : LARGE_INTEGER, | |
WimGuid : GUID, | |
WimFileNameOffset : DWORD, | |
WimType : DWORD, | |
WimIndex : DWORD, | |
Flags : DWORD, | |
}; | |
PWIM_PROVIDER_OVERLAY_ENTRY :: ^WIM_PROVIDER_OVERLAY_ENTRY; | |
FILE_PROVIDER_EXTERNAL_INFO_V0 :: struct { | |
Version : DWORD, | |
Algorithm : DWORD, | |
}; | |
PFILE_PROVIDER_EXTERNAL_INFO_V0 :: ^FILE_PROVIDER_EXTERNAL_INFO_V0; | |
FILE_PROVIDER_EXTERNAL_INFO_V1 :: struct { | |
Version : DWORD, | |
Algorithm : DWORD, | |
Flags : DWORD, | |
}; | |
PFILE_PROVIDER_EXTERNAL_INFO_V1 :: ^FILE_PROVIDER_EXTERNAL_INFO_V1; | |
FILE_PROVIDER_EXTERNAL_INFO :: FILE_PROVIDER_EXTERNAL_INFO_V1; | |
PFILE_PROVIDER_EXTERNAL_INFO :: PFILE_PROVIDER_EXTERNAL_INFO_V1; | |
CONTAINER_VOLUME_STATE :: struct { | |
Flags : DWORD, | |
}; | |
PCONTAINER_VOLUME_STATE :: ^CONTAINER_VOLUME_STATE; | |
CONTAINER_ROOT_INFO_INPUT :: struct { | |
Flags : DWORD, | |
}; | |
PCONTAINER_ROOT_INFO_INPUT :: ^CONTAINER_ROOT_INFO_INPUT; | |
CONTAINER_ROOT_INFO_OUTPUT :: struct { | |
ContainerRootIdLength : WORD, | |
ContainerRootId : [1]BYTE, | |
}; | |
PCONTAINER_ROOT_INFO_OUTPUT :: ^CONTAINER_ROOT_INFO_OUTPUT; | |
VIRTUALIZATION_INSTANCE_INFO_INPUT :: struct { | |
NumberOfWorkerThreads : DWORD, | |
Flags : DWORD, | |
}; | |
PVIRTUALIZATION_INSTANCE_INFO_INPUT :: ^VIRTUALIZATION_INSTANCE_INFO_INPUT; | |
VIRTUALIZATION_INSTANCE_INFO_INPUT_EX :: struct { | |
HeaderSize : WORD, | |
Flags : DWORD, | |
NotificationInfoSize : DWORD, | |
NotificationInfoOffset : WORD, | |
ProviderMajorVersion : WORD, | |
}; | |
PVIRTUALIZATION_INSTANCE_INFO_INPUT_EX :: ^VIRTUALIZATION_INSTANCE_INFO_INPUT_EX; | |
VIRTUALIZATION_INSTANCE_INFO_OUTPUT :: struct { | |
VirtualizationInstanceID : GUID, | |
}; | |
PVIRTUALIZATION_INSTANCE_INFO_OUTPUT :: ^VIRTUALIZATION_INSTANCE_INFO_OUTPUT; | |
GET_FILTER_FILE_IDENTIFIER_INPUT :: struct { | |
AltitudeLength : WORD, | |
Altitude : [1]WCHAR, | |
}; | |
PGET_FILTER_FILE_IDENTIFIER_INPUT :: ^GET_FILTER_FILE_IDENTIFIER_INPUT; | |
GET_FILTER_FILE_IDENTIFIER_OUTPUT :: struct { | |
FilterFileIdentifierLength : WORD, | |
FilterFileIdentifier : [1]BYTE, | |
}; | |
PGET_FILTER_FILE_IDENTIFIER_OUTPUT :: ^GET_FILTER_FILE_IDENTIFIER_OUTPUT; | |
DISK_EXTENT :: struct { | |
DiskNumber : DWORD, | |
StartingOffset : LARGE_INTEGER, | |
ExtentLength : LARGE_INTEGER, | |
}; | |
PDISK_EXTENT :: ^DISK_EXTENT; | |
VOLUME_DISK_EXTENTS :: struct { | |
NumberOfDiskExtents : DWORD, | |
Extents : [1]DISK_EXTENT, | |
}; | |
PVOLUME_DISK_EXTENTS :: ^VOLUME_DISK_EXTENTS; | |
VOLUME_GET_GPT_ATTRIBUTES_INFORMATION :: struct { | |
GptAttributes : DWORDLONG, | |
}; | |
PVOLUME_GET_GPT_ATTRIBUTES_INFORMATION :: ^VOLUME_GET_GPT_ATTRIBUTES_INFORMATION; | |
PIO_IRP_EXT_PROCESS_TRACKED_OFFSET_CALLBACK :: proc(SourceContext : ^IO_IRP_EXT_TRACK_OFFSET_HEADER, TargetContext : ^IO_IRP_EXT_TRACK_OFFSET_HEADER, RelativeOffset : LONGLONG); | |
IO_IRP_EXT_TRACK_OFFSET_HEADER :: struct { | |
Validation : WORD, | |
Flags : WORD, | |
TrackedOffsetCallback : PIO_IRP_EXT_PROCESS_TRACKED_OFFSET_CALLBACK, | |
}; | |
PIO_IRP_EXT_TRACK_OFFSET_HEADER :: ^IO_IRP_EXT_TRACK_OFFSET_HEADER; | |
; | |
UWORD :: WORD; | |
; | |
SCARD_IO_REQUEST :: struct { | |
dwProtocol : DWORD, | |
cbPciLength : DWORD, | |
}; | |
PSCARD_IO_REQUEST :: ^SCARD_IO_REQUEST; | |
LPSCARD_IO_REQUEST :: ^SCARD_IO_REQUEST; | |
LPCSCARD_IO_REQUEST :: ^SCARD_IO_REQUEST; | |
SCARD_T0_COMMAND :: struct { | |
bCla : BYTE, | |
bIns : BYTE, | |
bP1 : BYTE, | |
bP2 : BYTE, | |
bP3 : BYTE, | |
}; | |
LPSCARD_T0_COMMAND :: ^SCARD_T0_COMMAND; | |
SCARD_T0_REQUEST :: struct { | |
ioRequest : SCARD_IO_REQUEST, | |
bSw1 : BYTE, | |
bSw2 : BYTE, | |
u : struct #raw_union { | |
CmdBytes : SCARD_T0_COMMAND, | |
rgbHeader : [5]BYTE, | |
}, | |
}; | |
PSCARD_T0_REQUEST :: ^SCARD_T0_REQUEST; | |
LPSCARD_T0_REQUEST :: ^SCARD_T0_REQUEST; | |
SCARD_T1_REQUEST :: struct { | |
ioRequest : SCARD_IO_REQUEST, | |
}; | |
PSCARD_T1_REQUEST :: ^SCARD_T1_REQUEST; | |
LPSCARD_T1_REQUEST :: ^SCARD_T1_REQUEST; | |
LPCBYTE :: ^BYTE; | |
; | |
SCARDCONTEXT :: ULONG_PTR; | |
PSCARDCONTEXT :: ^SCARDCONTEXT; | |
LPSCARDCONTEXT :: ^SCARDCONTEXT; | |
SCARDHANDLE :: ULONG_PTR; | |
PSCARDHANDLE :: ^SCARDHANDLE; | |
LPSCARDHANDLE :: ^SCARDHANDLE; | |
SCARD_READERSTATEA :: struct { | |
szReader : LPCSTR, | |
pvUserData : LPVOID, | |
dwCurrentState : DWORD, | |
dwEventState : DWORD, | |
cbAtr : DWORD, | |
rgbAtr : [36]BYTE, | |
}; | |
PSCARD_READERSTATEA :: ^SCARD_READERSTATEA; | |
LPSCARD_READERSTATEA :: ^SCARD_READERSTATEA; | |
SCARD_READERSTATEW :: struct { | |
szReader : LPCWSTR, | |
pvUserData : LPVOID, | |
dwCurrentState : DWORD, | |
dwEventState : DWORD, | |
cbAtr : DWORD, | |
rgbAtr : [36]BYTE, | |
}; | |
PSCARD_READERSTATEW :: ^SCARD_READERSTATEW; | |
LPSCARD_READERSTATEW :: ^SCARD_READERSTATEW; | |
SCARD_READERSTATE :: SCARD_READERSTATEA; | |
PSCARD_READERSTATE :: PSCARD_READERSTATEA; | |
LPSCARD_READERSTATE :: LPSCARD_READERSTATEA; | |
SCARD_ATRMASK :: struct { | |
cbAtr : DWORD, | |
rgbAtr : [36]BYTE, | |
rgbMask : [36]BYTE, | |
}; | |
PSCARD_ATRMASK :: ^SCARD_ATRMASK; | |
LPSCARD_ATRMASK :: ^SCARD_ATRMASK; | |
LPOCNCONNPROCA :: (proc "stdcall" (SCARDCONTEXT, LPSTR, LPSTR, PVOID) -> SCARDHANDLE); | |
LPOCNCONNPROCW :: (proc "stdcall" (SCARDCONTEXT, LPWSTR, LPWSTR, PVOID) -> SCARDHANDLE); | |
LPOCNCHKPROC :: (proc "stdcall" (SCARDCONTEXT, SCARDHANDLE, PVOID) -> BOOL); | |
LPOCNDSCPROC :: proc "stdcall" (SCARDCONTEXT, SCARDHANDLE, PVOID); | |
OPENCARD_SEARCH_CRITERIAA :: struct { | |
dwStructSize : DWORD, | |
lpstrGroupNames : LPSTR, | |
nMaxGroupNames : DWORD, | |
rgguidInterfaces : LPCGUID, | |
cguidInterfaces : DWORD, | |
lpstrCardNames : LPSTR, | |
nMaxCardNames : DWORD, | |
lpfnCheck : LPOCNCHKPROC, | |
lpfnConnect : LPOCNCONNPROCA, | |
lpfnDisconnect : LPOCNDSCPROC, | |
pvUserData : LPVOID, | |
dwShareMode : DWORD, | |
dwPreferredProtocols : DWORD, | |
}; | |
POPENCARD_SEARCH_CRITERIAA :: ^OPENCARD_SEARCH_CRITERIAA; | |
LPOPENCARD_SEARCH_CRITERIAA :: ^OPENCARD_SEARCH_CRITERIAA; | |
OPENCARD_SEARCH_CRITERIAW :: struct { | |
dwStructSize : DWORD, | |
lpstrGroupNames : LPWSTR, | |
nMaxGroupNames : DWORD, | |
rgguidInterfaces : LPCGUID, | |
cguidInterfaces : DWORD, | |
lpstrCardNames : LPWSTR, | |
nMaxCardNames : DWORD, | |
lpfnCheck : LPOCNCHKPROC, | |
lpfnConnect : LPOCNCONNPROCW, | |
lpfnDisconnect : LPOCNDSCPROC, | |
pvUserData : LPVOID, | |
dwShareMode : DWORD, | |
dwPreferredProtocols : DWORD, | |
}; | |
POPENCARD_SEARCH_CRITERIAW :: ^OPENCARD_SEARCH_CRITERIAW; | |
LPOPENCARD_SEARCH_CRITERIAW :: ^OPENCARD_SEARCH_CRITERIAW; | |
OPENCARD_SEARCH_CRITERIA :: OPENCARD_SEARCH_CRITERIAA; | |
POPENCARD_SEARCH_CRITERIA :: POPENCARD_SEARCH_CRITERIAA; | |
LPOPENCARD_SEARCH_CRITERIA :: LPOPENCARD_SEARCH_CRITERIAA; | |
OPENCARDNAME_EXA :: struct { | |
dwStructSize : DWORD, | |
hSCardContext : SCARDCONTEXT, | |
hwndOwner : HWND, | |
dwFlags : DWORD, | |
lpstrTitle : LPCSTR, | |
lpstrSearchDesc : LPCSTR, | |
hIcon : HICON, | |
pOpenCardSearchCriteria : POPENCARD_SEARCH_CRITERIAA, | |
lpfnConnect : LPOCNCONNPROCA, | |
pvUserData : LPVOID, | |
dwShareMode : DWORD, | |
dwPreferredProtocols : DWORD, | |
lpstrRdr : LPSTR, | |
nMaxRdr : DWORD, | |
lpstrCard : LPSTR, | |
nMaxCard : DWORD, | |
dwActiveProtocol : DWORD, | |
hCardHandle : SCARDHANDLE, | |
}; | |
POPENCARDNAME_EXA :: ^OPENCARDNAME_EXA; | |
LPOPENCARDNAME_EXA :: ^OPENCARDNAME_EXA; | |
OPENCARDNAME_EXW :: struct { | |
dwStructSize : DWORD, | |
hSCardContext : SCARDCONTEXT, | |
hwndOwner : HWND, | |
dwFlags : DWORD, | |
lpstrTitle : LPCWSTR, | |
lpstrSearchDesc : LPCWSTR, | |
hIcon : HICON, | |
pOpenCardSearchCriteria : POPENCARD_SEARCH_CRITERIAW, | |
lpfnConnect : LPOCNCONNPROCW, | |
pvUserData : LPVOID, | |
dwShareMode : DWORD, | |
dwPreferredProtocols : DWORD, | |
lpstrRdr : LPWSTR, | |
nMaxRdr : DWORD, | |
lpstrCard : LPWSTR, | |
nMaxCard : DWORD, | |
dwActiveProtocol : DWORD, | |
hCardHandle : SCARDHANDLE, | |
}; | |
POPENCARDNAME_EXW :: ^OPENCARDNAME_EXW; | |
LPOPENCARDNAME_EXW :: ^OPENCARDNAME_EXW; | |
OPENCARDNAME_EX :: OPENCARDNAME_EXA; | |
POPENCARDNAME_EX :: POPENCARDNAME_EXA; | |
LPOPENCARDNAME_EX :: LPOPENCARDNAME_EXA; | |
/* READER_SEL_REQUEST_MATCH_TYPE :: enum { */ | |
READER_SEL_REQUEST_MATCH_TYPE :: _c.int; | |
RSR_MATCH_TYPE_READER_AND_CONTAINER :: 1; | |
RSR_MATCH_TYPE_SERIAL_NUMBER :: RSR_MATCH_TYPE_READER_AND_CONTAINER + 1; | |
RSR_MATCH_TYPE_ALL_CARDS :: RSR_MATCH_TYPE_SERIAL_NUMBER + 1; | |
/* } */ | |
; | |
READER_SEL_REQUEST :: struct { | |
dwShareMode : DWORD, | |
dwPreferredProtocols : DWORD, | |
MatchType : READER_SEL_REQUEST_MATCH_TYPE, | |
u : struct #raw_union { | |
ReaderAndContainerParameter : struct { | |
cbReaderNameOffset : DWORD, | |
cchReaderNameLength : DWORD, | |
cbContainerNameOffset : DWORD, | |
cchContainerNameLength : DWORD, | |
dwDesiredCardModuleVersion : DWORD, | |
dwCspFlags : DWORD, | |
}, | |
SerialNumberParameter : struct { | |
cbSerialNumberOffset : DWORD, | |
cbSerialNumberLength : DWORD, | |
dwDesiredCardModuleVersion : DWORD, | |
}, | |
}, | |
}; | |
PREADER_SEL_REQUEST :: ^READER_SEL_REQUEST; | |
READER_SEL_RESPONSE :: struct { | |
cbReaderNameOffset : DWORD, | |
cchReaderNameLength : DWORD, | |
cbCardNameOffset : DWORD, | |
cchCardNameLength : DWORD, | |
}; | |
PREADER_SEL_RESPONSE :: ^READER_SEL_RESPONSE; | |
OPENCARDNAMEA :: struct { | |
dwStructSize : DWORD, | |
hwndOwner : HWND, | |
hSCardContext : SCARDCONTEXT, | |
lpstrGroupNames : LPSTR, | |
nMaxGroupNames : DWORD, | |
lpstrCardNames : LPSTR, | |
nMaxCardNames : DWORD, | |
rgguidInterfaces : LPCGUID, | |
cguidInterfaces : DWORD, | |
lpstrRdr : LPSTR, | |
nMaxRdr : DWORD, | |
lpstrCard : LPSTR, | |
nMaxCard : DWORD, | |
lpstrTitle : LPCSTR, | |
dwFlags : DWORD, | |
pvUserData : LPVOID, | |
dwShareMode : DWORD, | |
dwPreferredProtocols : DWORD, | |
dwActiveProtocol : DWORD, | |
lpfnConnect : LPOCNCONNPROCA, | |
lpfnCheck : LPOCNCHKPROC, | |
lpfnDisconnect : LPOCNDSCPROC, | |
hCardHandle : SCARDHANDLE, | |
}; | |
POPENCARDNAMEA :: ^OPENCARDNAMEA; | |
LPOPENCARDNAMEA :: ^OPENCARDNAMEA; | |
OPENCARDNAMEW :: struct { | |
dwStructSize : DWORD, | |
hwndOwner : HWND, | |
hSCardContext : SCARDCONTEXT, | |
lpstrGroupNames : LPWSTR, | |
nMaxGroupNames : DWORD, | |
lpstrCardNames : LPWSTR, | |
nMaxCardNames : DWORD, | |
rgguidInterfaces : LPCGUID, | |
cguidInterfaces : DWORD, | |
lpstrRdr : LPWSTR, | |
nMaxRdr : DWORD, | |
lpstrCard : LPWSTR, | |
nMaxCard : DWORD, | |
lpstrTitle : LPCWSTR, | |
dwFlags : DWORD, | |
pvUserData : LPVOID, | |
dwShareMode : DWORD, | |
dwPreferredProtocols : DWORD, | |
dwActiveProtocol : DWORD, | |
lpfnConnect : LPOCNCONNPROCW, | |
lpfnCheck : LPOCNCHKPROC, | |
lpfnDisconnect : LPOCNDSCPROC, | |
hCardHandle : SCARDHANDLE, | |
}; | |
POPENCARDNAMEW :: ^OPENCARDNAMEW; | |
LPOPENCARDNAMEW :: ^OPENCARDNAMEW; | |
OPENCARDNAME :: OPENCARDNAMEA; | |
POPENCARDNAME :: POPENCARDNAMEA; | |
LPOPENCARDNAME :: LPOPENCARDNAMEA; | |
_PSP :: struct {}; | |
HPROPSHEETPAGE :: ^_PSP; | |
LPFNPSPCALLBACKA :: (proc "stdcall" (hwnd : HWND, uMsg : UINT, ppsp : ^PROPSHEETPAGEA_V4) -> UINT); | |
LPFNPSPCALLBACKW :: (proc "stdcall" (hwnd : HWND, uMsg : UINT, ppsp : ^PROPSHEETPAGEW_V4) -> UINT); | |
PROPSHEETPAGE_RESOURCE :: LPCDLGTEMPLATE; | |
PROPSHEETPAGEA_V1 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
pszTemplate : LPCSTR, | |
pResource : PROPSHEETPAGE_RESOURCE, | |
}, | |
u2 : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCSTR, | |
}, | |
pszTitle : LPCSTR, | |
pfnDlgProc : DLGPROC, | |
lParam : LPARAM, | |
pfnCallback : LPFNPSPCALLBACKA, | |
pcRefParent : ^UINT, | |
}; | |
LPPROPSHEETPAGEA_V1 :: ^PROPSHEETPAGEA_V1; | |
LPCPROPSHEETPAGEA_V1 :: ^PROPSHEETPAGEA_V1; | |
PROPSHEETPAGEA_V2 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
pszTemplate : LPCSTR, | |
pResource : PROPSHEETPAGE_RESOURCE, | |
}, | |
u2 : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCSTR, | |
}, | |
pszTitle : LPCSTR, | |
pfnDlgProc : DLGPROC, | |
lParam : LPARAM, | |
pfnCallback : LPFNPSPCALLBACKA, | |
pcRefParent : ^UINT, | |
pszHeaderTitle : LPCSTR, | |
pszHeaderSubTitle : LPCSTR, | |
}; | |
LPPROPSHEETPAGEA_V2 :: ^PROPSHEETPAGEA_V2; | |
LPCPROPSHEETPAGEA_V2 :: ^PROPSHEETPAGEA_V2; | |
PROPSHEETPAGEA_V3 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
pszTemplate : LPCSTR, | |
pResource : PROPSHEETPAGE_RESOURCE, | |
}, | |
u2 : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCSTR, | |
}, | |
pszTitle : LPCSTR, | |
pfnDlgProc : DLGPROC, | |
lParam : LPARAM, | |
pfnCallback : LPFNPSPCALLBACKA, | |
pcRefParent : ^UINT, | |
pszHeaderTitle : LPCSTR, | |
pszHeaderSubTitle : LPCSTR, | |
hActCtx : HANDLE, | |
}; | |
LPPROPSHEETPAGEA_V3 :: ^PROPSHEETPAGEA_V3; | |
LPCPROPSHEETPAGEA_V3 :: ^PROPSHEETPAGEA_V3; | |
PROPSHEETPAGEA_V4 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
pszTemplate : LPCSTR, | |
pResource : PROPSHEETPAGE_RESOURCE, | |
}, | |
u2 : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCSTR, | |
}, | |
pszTitle : LPCSTR, | |
pfnDlgProc : DLGPROC, | |
lParam : LPARAM, | |
pfnCallback : LPFNPSPCALLBACKA, | |
pcRefParent : ^UINT, | |
pszHeaderTitle : LPCSTR, | |
pszHeaderSubTitle : LPCSTR, | |
hActCtx : HANDLE, | |
u3 : struct #raw_union { | |
hbmHeader : HBITMAP, | |
pszbmHeader : LPCSTR, | |
}, | |
}; | |
LPPROPSHEETPAGEA_V4 :: ^PROPSHEETPAGEA_V4; | |
LPCPROPSHEETPAGEA_V4 :: ^PROPSHEETPAGEA_V4; | |
PROPSHEETPAGEW_V1 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
pszTemplate : LPCWSTR, | |
pResource : PROPSHEETPAGE_RESOURCE, | |
}, | |
u2 : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCWSTR, | |
}, | |
pszTitle : LPCWSTR, | |
pfnDlgProc : DLGPROC, | |
lParam : LPARAM, | |
pfnCallback : LPFNPSPCALLBACKW, | |
pcRefParent : ^UINT, | |
}; | |
LPPROPSHEETPAGEW_V1 :: ^PROPSHEETPAGEW_V1; | |
LPCPROPSHEETPAGEW_V1 :: ^PROPSHEETPAGEW_V1; | |
PROPSHEETPAGEW_V2 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
pszTemplate : LPCWSTR, | |
pResource : PROPSHEETPAGE_RESOURCE, | |
}, | |
u2 : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCWSTR, | |
}, | |
pszTitle : LPCWSTR, | |
pfnDlgProc : DLGPROC, | |
lParam : LPARAM, | |
pfnCallback : LPFNPSPCALLBACKW, | |
pcRefParent : ^UINT, | |
pszHeaderTitle : LPCWSTR, | |
pszHeaderSubTitle : LPCWSTR, | |
}; | |
LPPROPSHEETPAGEW_V2 :: ^PROPSHEETPAGEW_V2; | |
LPCPROPSHEETPAGEW_V2 :: ^PROPSHEETPAGEW_V2; | |
PROPSHEETPAGEW_V3 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
pszTemplate : LPCWSTR, | |
pResource : PROPSHEETPAGE_RESOURCE, | |
}, | |
u2 : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCWSTR, | |
}, | |
pszTitle : LPCWSTR, | |
pfnDlgProc : DLGPROC, | |
lParam : LPARAM, | |
pfnCallback : LPFNPSPCALLBACKW, | |
pcRefParent : ^UINT, | |
pszHeaderTitle : LPCWSTR, | |
pszHeaderSubTitle : LPCWSTR, | |
hActCtx : HANDLE, | |
}; | |
LPPROPSHEETPAGEW_V3 :: ^PROPSHEETPAGEW_V3; | |
LPCPROPSHEETPAGEW_V3 :: ^PROPSHEETPAGEW_V3; | |
PROPSHEETPAGEW_V4 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
pszTemplate : LPCWSTR, | |
pResource : PROPSHEETPAGE_RESOURCE, | |
}, | |
u2 : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCWSTR, | |
}, | |
pszTitle : LPCWSTR, | |
pfnDlgProc : DLGPROC, | |
lParam : LPARAM, | |
pfnCallback : LPFNPSPCALLBACKW, | |
pcRefParent : ^UINT, | |
pszHeaderTitle : LPCWSTR, | |
pszHeaderSubTitle : LPCWSTR, | |
hActCtx : HANDLE, | |
u3 : struct #raw_union { | |
hbmHeader : HBITMAP, | |
pszbmHeader : LPCWSTR, | |
}, | |
}; | |
LPPROPSHEETPAGEW_V4 :: ^PROPSHEETPAGEW_V4; | |
LPCPROPSHEETPAGEW_V4 :: ^PROPSHEETPAGEW_V4; | |
PROPSHEETPAGEA_LATEST :: PROPSHEETPAGEA_V4; | |
PROPSHEETPAGEW_LATEST :: PROPSHEETPAGEW_V4; | |
LPPROPSHEETPAGEA_LATEST :: LPPROPSHEETPAGEA_V4; | |
LPPROPSHEETPAGEW_LATEST :: LPPROPSHEETPAGEW_V4; | |
LPCPROPSHEETPAGEA_LATEST :: LPCPROPSHEETPAGEA_V4; | |
LPCPROPSHEETPAGEW_LATEST :: LPCPROPSHEETPAGEW_V4; | |
PROPSHEETPAGEA :: PROPSHEETPAGEA_V4; | |
PROPSHEETPAGEW :: PROPSHEETPAGEW_V4; | |
LPPROPSHEETPAGEA :: LPPROPSHEETPAGEA_V4; | |
LPPROPSHEETPAGEW :: LPPROPSHEETPAGEW_V4; | |
LPCPROPSHEETPAGEA :: LPCPROPSHEETPAGEA_V4; | |
LPCPROPSHEETPAGEW :: LPCPROPSHEETPAGEW_V4; | |
PFNPROPSHEETCALLBACK :: (proc "stdcall" (HWND, UINT, LPARAM) -> _c.int); | |
PROPSHEETHEADERA_V1 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hwndParent : HWND, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCSTR, | |
}, | |
pszCaption : LPCSTR, | |
nPages : UINT, | |
u2 : struct #raw_union { | |
nStartPage : UINT, | |
pStartPage : LPCSTR, | |
}, | |
u3 : struct #raw_union { | |
ppsp : LPCPROPSHEETPAGEA, | |
phpage : ^HPROPSHEETPAGE, | |
}, | |
pfnCallback : PFNPROPSHEETCALLBACK, | |
}; | |
LPPROPSHEETHEADERA_V1 :: ^PROPSHEETHEADERA_V1; | |
LPCPROPSHEETHEADERA_V1 :: ^PROPSHEETHEADERA_V1; | |
PROPSHEETHEADERA_V2 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hwndParent : HWND, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCSTR, | |
}, | |
pszCaption : LPCSTR, | |
nPages : UINT, | |
u2 : struct #raw_union { | |
nStartPage : UINT, | |
pStartPage : LPCSTR, | |
}, | |
u3 : struct #raw_union { | |
ppsp : LPCPROPSHEETPAGEA, | |
phpage : ^HPROPSHEETPAGE, | |
}, | |
pfnCallback : PFNPROPSHEETCALLBACK, | |
u4 : struct #raw_union { | |
hbmWatermark : HBITMAP, | |
pszbmWatermark : LPCSTR, | |
}, | |
hplWatermark : HPALETTE, | |
u5 : struct #raw_union { | |
hbmHeader : HBITMAP, | |
pszbmHeader : LPCSTR, | |
}, | |
}; | |
LPPROPSHEETHEADERA_V2 :: ^PROPSHEETHEADERA_V2; | |
LPCPROPSHEETHEADERA_V2 :: ^PROPSHEETHEADERA_V2; | |
PROPSHEETHEADERW_V1 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hwndParent : HWND, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCWSTR, | |
}, | |
pszCaption : LPCWSTR, | |
nPages : UINT, | |
u2 : struct #raw_union { | |
nStartPage : UINT, | |
pStartPage : LPCWSTR, | |
}, | |
u3 : struct #raw_union { | |
ppsp : LPCPROPSHEETPAGEW, | |
phpage : ^HPROPSHEETPAGE, | |
}, | |
pfnCallback : PFNPROPSHEETCALLBACK, | |
}; | |
LPPROPSHEETHEADERW_V1 :: ^PROPSHEETHEADERW_V1; | |
LPCPROPSHEETHEADERW_V1 :: ^PROPSHEETHEADERW_V1; | |
PROPSHEETHEADERW_V2 :: struct { | |
dwSize : DWORD, | |
dwFlags : DWORD, | |
hwndParent : HWND, | |
hInstance : HINSTANCE, | |
u : struct #raw_union { | |
hIcon : HICON, | |
pszIcon : LPCWSTR, | |
}, | |
pszCaption : LPCWSTR, | |
nPages : UINT, | |
u2 : struct #raw_union { | |
nStartPage : UINT, | |
pStartPage : LPCWSTR, | |
}, | |
u3 : struct #raw_union { | |
ppsp : LPCPROPSHEETPAGEW, | |
phpage : ^HPROPSHEETPAGE, | |
}, | |
pfnCallback : PFNPROPSHEETCALLBACK, | |
u4 : struct #raw_union { | |
hbmWatermark : HBITMAP, | |
pszbmWatermark : LPCWSTR, | |
}, | |
hplWatermark : HPALETTE, | |
u5 : struct #raw_union { | |
hbmHeader : HBITMAP, | |
pszbmHeader : LPCWSTR, | |
}, | |
}; | |
LPPROPSHEETHEADERW_V2 :: ^PROPSHEETHEADERW_V2; | |
LPCPROPSHEETHEADERW_V2 :: ^PROPSHEETHEADERW_V2; | |
PROPSHEETHEADERA :: PROPSHEETHEADERA_V2; | |
PROPSHEETHEADERW :: PROPSHEETHEADERW_V2; | |
LPPROPSHEETHEADERA :: LPPROPSHEETHEADERA_V2; | |
LPPROPSHEETHEADERW :: LPPROPSHEETHEADERW_V2; | |
LPCPROPSHEETHEADERA :: LPCPROPSHEETHEADERA_V2; | |
LPCPROPSHEETHEADERW :: LPCPROPSHEETHEADERW_V2; | |
LPFNADDPROPSHEETPAGE :: (proc "stdcall" (HPROPSHEETPAGE, LPARAM) -> BOOL); | |
LPFNADDPROPSHEETPAGES :: (proc "stdcall" (LPVOID, LPFNADDPROPSHEETPAGE, LPARAM) -> BOOL); | |
PSHNOTIFY :: struct { | |
hdr : NMHDR, | |
lParam : LPARAM, | |
}; | |
LPPSHNOTIFY :: ^PSHNOTIFY; | |
PRINTER_INFO_1A :: struct { | |
Flags : DWORD, | |
pDescription : LPSTR, | |
pName : LPSTR, | |
pComment : LPSTR, | |
}; | |
PPRINTER_INFO_1A :: ^PRINTER_INFO_1A; | |
LPPRINTER_INFO_1A :: ^PRINTER_INFO_1A; | |
PRINTER_INFO_1W :: struct { | |
Flags : DWORD, | |
pDescription : LPWSTR, | |
pName : LPWSTR, | |
pComment : LPWSTR, | |
}; | |
PPRINTER_INFO_1W :: ^PRINTER_INFO_1W; | |
LPPRINTER_INFO_1W :: ^PRINTER_INFO_1W; | |
PRINTER_INFO_1 :: PRINTER_INFO_1A; | |
PPRINTER_INFO_1 :: PPRINTER_INFO_1A; | |
LPPRINTER_INFO_1 :: LPPRINTER_INFO_1A; | |
PRINTER_INFO_2A :: struct { | |
pServerName : LPSTR, | |
pPrinterName : LPSTR, | |
pShareName : LPSTR, | |
pPortName : LPSTR, | |
pDriverName : LPSTR, | |
pComment : LPSTR, | |
pLocation : LPSTR, | |
pDevMode : LPDEVMODEA, | |
pSepFile : LPSTR, | |
pPrintProcessor : LPSTR, | |
pDatatype : LPSTR, | |
pParameters : LPSTR, | |
pSecurityDescriptor : PSECURITY_DESCRIPTOR, | |
Attributes : DWORD, | |
Priority : DWORD, | |
DefaultPriority : DWORD, | |
StartTime : DWORD, | |
UntilTime : DWORD, | |
Status : DWORD, | |
cJobs : DWORD, | |
AveragePPM : DWORD, | |
}; | |
PPRINTER_INFO_2A :: ^PRINTER_INFO_2A; | |
LPPRINTER_INFO_2A :: ^PRINTER_INFO_2A; | |
PRINTER_INFO_2W :: struct { | |
pServerName : LPWSTR, | |
pPrinterName : LPWSTR, | |
pShareName : LPWSTR, | |
pPortName : LPWSTR, | |
pDriverName : LPWSTR, | |
pComment : LPWSTR, | |
pLocation : LPWSTR, | |
pDevMode : LPDEVMODEW, | |
pSepFile : LPWSTR, | |
pPrintProcessor : LPWSTR, | |
pDatatype : LPWSTR, | |
pParameters : LPWSTR, | |
pSecurityDescriptor : PSECURITY_DESCRIPTOR, | |
Attributes : DWORD, | |
Priority : DWORD, | |
DefaultPriority : DWORD, | |
StartTime : DWORD, | |
UntilTime : DWORD, | |
Status : DWORD, | |
cJobs : DWORD, | |
AveragePPM : DWORD, | |
}; | |
PPRINTER_INFO_2W :: ^PRINTER_INFO_2W; | |
LPPRINTER_INFO_2W :: ^PRINTER_INFO_2W; | |
PRINTER_INFO_2 :: PRINTER_INFO_2A; | |
PPRINTER_INFO_2 :: PPRINTER_INFO_2A; | |
LPPRINTER_INFO_2 :: LPPRINTER_INFO_2A; | |
PRINTER_INFO_3 :: struct { | |
pSecurityDescriptor : PSECURITY_DESCRIPTOR, | |
}; | |
PPRINTER_INFO_3 :: ^PRINTER_INFO_3; | |
LPPRINTER_INFO_3 :: ^PRINTER_INFO_3; | |
PRINTER_INFO_4A :: struct { | |
pPrinterName : LPSTR, | |
pServerName : LPSTR, | |
Attributes : DWORD, | |
}; | |
PPRINTER_INFO_4A :: ^PRINTER_INFO_4A; | |
LPPRINTER_INFO_4A :: ^PRINTER_INFO_4A; | |
PRINTER_INFO_4W :: struct { | |
pPrinterName : LPWSTR, | |
pServerName : LPWSTR, | |
Attributes : DWORD, | |
}; | |
PPRINTER_INFO_4W :: ^PRINTER_INFO_4W; | |
LPPRINTER_INFO_4W :: ^PRINTER_INFO_4W; | |
PRINTER_INFO_4 :: PRINTER_INFO_4A; | |
PPRINTER_INFO_4 :: PPRINTER_INFO_4A; | |
LPPRINTER_INFO_4 :: LPPRINTER_INFO_4A; | |
PRINTER_INFO_5A :: struct { | |
pPrinterName : LPSTR, | |
pPortName : LPSTR, | |
Attributes : DWORD, | |
DeviceNotSelectedTimeout : DWORD, | |
TransmissionRetryTimeout : DWORD, | |
}; | |
PPRINTER_INFO_5A :: ^PRINTER_INFO_5A; | |
LPPRINTER_INFO_5A :: ^PRINTER_INFO_5A; | |
PRINTER_INFO_5W :: struct { | |
pPrinterName : LPWSTR, | |
pPortName : LPWSTR, | |
Attributes : DWORD, | |
DeviceNotSelectedTimeout : DWORD, | |
TransmissionRetryTimeout : DWORD, | |
}; | |
PPRINTER_INFO_5W :: ^PRINTER_INFO_5W; | |
LPPRINTER_INFO_5W :: ^PRINTER_INFO_5W; | |
PRINTER_INFO_5 :: PRINTER_INFO_5A; | |
PPRINTER_INFO_5 :: PPRINTER_INFO_5A; | |
LPPRINTER_INFO_5 :: LPPRINTER_INFO_5A; | |
PRINTER_INFO_6 :: struct { | |
dwStatus : DWORD, | |
}; | |
PPRINTER_INFO_6 :: ^PRINTER_INFO_6; | |
LPPRINTER_INFO_6 :: ^PRINTER_INFO_6; | |
PRINTER_INFO_7A :: struct { | |
pszObjectGUID : LPSTR, | |
dwAction : DWORD, | |
}; | |
PPRINTER_INFO_7A :: ^PRINTER_INFO_7A; | |
LPPRINTER_INFO_7A :: ^PRINTER_INFO_7A; | |
PRINTER_INFO_7W :: struct { | |
pszObjectGUID : LPWSTR, | |
dwAction : DWORD, | |
}; | |
PPRINTER_INFO_7W :: ^PRINTER_INFO_7W; | |
LPPRINTER_INFO_7W :: ^PRINTER_INFO_7W; | |
PRINTER_INFO_7 :: PRINTER_INFO_7A; | |
PPRINTER_INFO_7 :: PPRINTER_INFO_7A; | |
LPPRINTER_INFO_7 :: LPPRINTER_INFO_7A; | |
PRINTER_INFO_8A :: struct { | |
pDevMode : LPDEVMODEA, | |
}; | |
PPRINTER_INFO_8A :: ^PRINTER_INFO_8A; | |
LPPRINTER_INFO_8A :: ^PRINTER_INFO_8A; | |
PRINTER_INFO_8W :: struct { | |
pDevMode : LPDEVMODEW, | |
}; | |
PPRINTER_INFO_8W :: ^PRINTER_INFO_8W; | |
LPPRINTER_INFO_8W :: ^PRINTER_INFO_8W; | |
PRINTER_INFO_8 :: PRINTER_INFO_8A; | |
PPRINTER_INFO_8 :: PPRINTER_INFO_8A; | |
LPPRINTER_INFO_8 :: LPPRINTER_INFO_8A; | |
PRINTER_INFO_9A :: struct { | |
pDevMode : LPDEVMODEA, | |
}; | |
PPRINTER_INFO_9A :: ^PRINTER_INFO_9A; | |
LPPRINTER_INFO_9A :: ^PRINTER_INFO_9A; | |
PRINTER_INFO_9W :: struct { | |
pDevMode : LPDEVMODEW, | |
}; | |
PPRINTER_INFO_9W :: ^PRINTER_INFO_9W; | |
LPPRINTER_INFO_9W :: ^PRINTER_INFO_9W; | |
PRINTER_INFO_9 :: PRINTER_INFO_9A; | |
PPRINTER_INFO_9 :: PPRINTER_INFO_9A; | |
LPPRINTER_INFO_9 :: LPPRINTER_INFO_9A; | |
JOB_INFO_1A :: struct { | |
JobId : DWORD, | |
pPrinterName : LPSTR, | |
pMachineName : LPSTR, | |
pUserName : LPSTR, | |
pDocument : LPSTR, | |
pDatatype : LPSTR, | |
pStatus : LPSTR, | |
Status : DWORD, | |
Priority : DWORD, | |
Position : DWORD, | |
TotalPages : DWORD, | |
PagesPrinted : DWORD, | |
Submitted : SYSTEMTIME, | |
}; | |
PJOB_INFO_1A :: ^JOB_INFO_1A; | |
LPJOB_INFO_1A :: ^JOB_INFO_1A; | |
JOB_INFO_1W :: struct { | |
JobId : DWORD, | |
pPrinterName : LPWSTR, | |
pMachineName : LPWSTR, | |
pUserName : LPWSTR, | |
pDocument : LPWSTR, | |
pDatatype : LPWSTR, | |
pStatus : LPWSTR, | |
Status : DWORD, | |
Priority : DWORD, | |
Position : DWORD, | |
TotalPages : DWORD, | |
PagesPrinted : DWORD, | |
Submitted : SYSTEMTIME, | |
}; | |
PJOB_INFO_1W :: ^JOB_INFO_1W; | |
LPJOB_INFO_1W :: ^JOB_INFO_1W; | |
JOB_INFO_1 :: JOB_INFO_1A; | |
PJOB_INFO_1 :: PJOB_INFO_1A; | |
LPJOB_INFO_1 :: LPJOB_INFO_1A; | |
JOB_INFO_2A :: struct { | |
JobId : DWORD, | |
pPrinterName : LPSTR, | |
pMachineName : LPSTR, | |
pUserName : LPSTR, | |
pDocument : LPSTR, | |
pNotifyName : LPSTR, | |
pDatatype : LPSTR, | |
pPrintProcessor : LPSTR, | |
pParameters : LPSTR, | |
pDriverName : LPSTR, | |
pDevMode : LPDEVMODEA, | |
pStatus : LPSTR, | |
pSecurityDescriptor : PSECURITY_DESCRIPTOR, | |
Status : DWORD, | |
Priority : DWORD, | |
Position : DWORD, | |
StartTime : DWORD, | |
UntilTime : DWORD, | |
TotalPages : DWORD, | |
Size : DWORD, | |
Submitted : SYSTEMTIME, | |
Time : DWORD, | |
PagesPrinted : DWORD, | |
}; | |
PJOB_INFO_2A :: ^JOB_INFO_2A; | |
LPJOB_INFO_2A :: ^JOB_INFO_2A; | |
JOB_INFO_2W :: struct { | |
JobId : DWORD, | |
pPrinterName : LPWSTR, | |
pMachineName : LPWSTR, | |
pUserName : LPWSTR, | |
pDocument : LPWSTR, | |
pNotifyName : LPWSTR, | |
pDatatype : LPWSTR, | |
pPrintProcessor : LPWSTR, | |
pParameters : LPWSTR, | |
pDriverName : LPWSTR, | |
pDevMode : LPDEVMODEW, | |
pStatus : LPWSTR, | |
pSecurityDescriptor : PSECURITY_DESCRIPTOR, | |
Status : DWORD, | |
Priority : DWORD, | |
Position : DWORD, | |
StartTime : DWORD, | |
UntilTime : DWORD, | |
TotalPages : DWORD, | |
Size : DWORD, | |
Submitted : SYSTEMTIME, | |
Time : DWORD, | |
PagesPrinted : DWORD, | |
}; | |
PJOB_INFO_2W :: ^JOB_INFO_2W; | |
LPJOB_INFO_2W :: ^JOB_INFO_2W; | |
JOB_INFO_2 :: JOB_INFO_2A; | |
PJOB_INFO_2 :: PJOB_INFO_2A; | |
LPJOB_INFO_2 :: LPJOB_INFO_2A; | |
JOB_INFO_3 :: struct { | |
JobId : DWORD, | |
NextJobId : DWORD, | |
Reserved : DWORD, | |
}; | |
PJOB_INFO_3 :: ^JOB_INFO_3; | |
LPJOB_INFO_3 :: ^JOB_INFO_3; | |
JOB_INFO_4A :: struct { | |
JobId : DWORD, | |
pPrinterName : LPSTR, | |
pMachineName : LPSTR, | |
pUserName : LPSTR, | |
pDocument : LPSTR, | |
pNotifyName : LPSTR, | |
pDatatype : LPSTR, | |
pPrintProcessor : LPSTR, | |
pParameters : LPSTR, | |
pDriverName : LPSTR, | |
pDevMode : LPDEVMODEA, | |
pStatus : LPSTR, | |
pSecurityDescriptor : PSECURITY_DESCRIPTOR, | |
Status : DWORD, | |
Priority : DWORD, | |
Position : DWORD, | |
StartTime : DWORD, | |
UntilTime : DWORD, | |
TotalPages : DWORD, | |
Size : DWORD, | |
Submitted : SYSTEMTIME, | |
Time : DWORD, | |
PagesPrinted : DWORD, | |
SizeHigh : LONG, | |
}; | |
PJOB_INFO_4A :: ^JOB_INFO_4A; | |
LPJOB_INFO_4A :: ^JOB_INFO_4A; | |
JOB_INFO_4W :: struct { | |
JobId : DWORD, | |
pPrinterName : LPWSTR, | |
pMachineName : LPWSTR, | |
pUserName : LPWSTR, | |
pDocument : LPWSTR, | |
pNotifyName : LPWSTR, | |
pDatatype : LPWSTR, | |
pPrintProcessor : LPWSTR, | |
pParameters : LPWSTR, | |
pDriverName : LPWSTR, | |
pDevMode : LPDEVMODEW, | |
pStatus : LPWSTR, | |
pSecurityDescriptor : PSECURITY_DESCRIPTOR, | |
Status : DWORD, | |
Priority : DWORD, | |
Position : DWORD, | |
StartTime : DWORD, | |
UntilTime : DWORD, | |
TotalPages : DWORD, | |
Size : DWORD, | |
Submitted : SYSTEMTIME, | |
Time : DWORD, | |
PagesPrinted : DWORD, | |
SizeHigh : LONG, | |
}; | |
PJOB_INFO_4W :: ^JOB_INFO_4W; | |
LPJOB_INFO_4W :: ^JOB_INFO_4W; | |
JOB_INFO_4 :: JOB_INFO_4A; | |
PJOB_INFO_4 :: PJOB_INFO_4A; | |
LPJOB_INFO_4 :: LPJOB_INFO_4A; | |
ADDJOB_INFO_1A :: struct { | |
Path : LPSTR, | |
JobId : DWORD, | |
}; | |
PADDJOB_INFO_1A :: ^ADDJOB_INFO_1A; | |
LPADDJOB_INFO_1A :: ^ADDJOB_INFO_1A; | |
ADDJOB_INFO_1W :: struct { | |
Path : LPWSTR, | |
JobId : DWORD, | |
}; | |
PADDJOB_INFO_1W :: ^ADDJOB_INFO_1W; | |
LPADDJOB_INFO_1W :: ^ADDJOB_INFO_1W; | |
ADDJOB_INFO_1 :: ADDJOB_INFO_1A; | |
PADDJOB_INFO_1 :: PADDJOB_INFO_1A; | |
LPADDJOB_INFO_1 :: LPADDJOB_INFO_1A; | |
DRIVER_INFO_1A :: struct { | |
pName : LPSTR, | |
}; | |
PDRIVER_INFO_1A :: ^DRIVER_INFO_1A; | |
LPDRIVER_INFO_1A :: ^DRIVER_INFO_1A; | |
DRIVER_INFO_1W :: struct { | |
pName : LPWSTR, | |
}; | |
PDRIVER_INFO_1W :: ^DRIVER_INFO_1W; | |
LPDRIVER_INFO_1W :: ^DRIVER_INFO_1W; | |
DRIVER_INFO_1 :: DRIVER_INFO_1A; | |
PDRIVER_INFO_1 :: PDRIVER_INFO_1A; | |
LPDRIVER_INFO_1 :: LPDRIVER_INFO_1A; | |
DRIVER_INFO_2A :: struct { | |
cVersion : DWORD, | |
pName : LPSTR, | |
pEnvironment : LPSTR, | |
pDriverPath : LPSTR, | |
pDataFile : LPSTR, | |
pConfigFile : LPSTR, | |
}; | |
PDRIVER_INFO_2A :: ^DRIVER_INFO_2A; | |
LPDRIVER_INFO_2A :: ^DRIVER_INFO_2A; | |
DRIVER_INFO_2W :: struct { | |
cVersion : DWORD, | |
pName : LPWSTR, | |
pEnvironment : LPWSTR, | |
pDriverPath : LPWSTR, | |
pDataFile : LPWSTR, | |
pConfigFile : LPWSTR, | |
}; | |
PDRIVER_INFO_2W :: ^DRIVER_INFO_2W; | |
LPDRIVER_INFO_2W :: ^DRIVER_INFO_2W; | |
DRIVER_INFO_2 :: DRIVER_INFO_2A; | |
PDRIVER_INFO_2 :: PDRIVER_INFO_2A; | |
LPDRIVER_INFO_2 :: LPDRIVER_INFO_2A; | |
DRIVER_INFO_3A :: struct { | |
cVersion : DWORD, | |
pName : LPSTR, | |
pEnvironment : LPSTR, | |
pDriverPath : LPSTR, | |
pDataFile : LPSTR, | |
pConfigFile : LPSTR, | |
pHelpFile : LPSTR, | |
pDependentFiles : LPSTR, | |
pMonitorName : LPSTR, | |
pDefaultDataType : LPSTR, | |
}; | |
PDRIVER_INFO_3A :: ^DRIVER_INFO_3A; | |
LPDRIVER_INFO_3A :: ^DRIVER_INFO_3A; | |
DRIVER_INFO_3W :: struct { | |
cVersion : DWORD, | |
pName : LPWSTR, | |
pEnvironment : LPWSTR, | |
pDriverPath : LPWSTR, | |
pDataFile : LPWSTR, | |
pConfigFile : LPWSTR, | |
pHelpFile : LPWSTR, | |
pDependentFiles : LPWSTR, | |
pMonitorName : LPWSTR, | |
pDefaultDataType : LPWSTR, | |
}; | |
PDRIVER_INFO_3W :: ^DRIVER_INFO_3W; | |
LPDRIVER_INFO_3W :: ^DRIVER_INFO_3W; | |
DRIVER_INFO_3 :: DRIVER_INFO_3A; | |
PDRIVER_INFO_3 :: PDRIVER_INFO_3A; | |
LPDRIVER_INFO_3 :: LPDRIVER_INFO_3A; | |
DRIVER_INFO_4A :: struct { | |
cVersion : DWORD, | |
pName : LPSTR, | |
pEnvironment : LPSTR, | |
pDriverPath : LPSTR, | |
pDataFile : LPSTR, | |
pConfigFile : LPSTR, | |
pHelpFile : LPSTR, | |
pDependentFiles : LPSTR, | |
pMonitorName : LPSTR, | |
pDefaultDataType : LPSTR, | |
pszzPreviousNames : LPSTR, | |
}; | |
PDRIVER_INFO_4A :: ^DRIVER_INFO_4A; | |
LPDRIVER_INFO_4A :: ^DRIVER_INFO_4A; | |
DRIVER_INFO_4W :: struct { | |
cVersion : DWORD, | |
pName : LPWSTR, | |
pEnvironment : LPWSTR, | |
pDriverPath : LPWSTR, | |
pDataFile : LPWSTR, | |
pConfigFile : LPWSTR, | |
pHelpFile : LPWSTR, | |
pDependentFiles : LPWSTR, | |
pMonitorName : LPWSTR, | |
pDefaultDataType : LPWSTR, | |
pszzPreviousNames : LPWSTR, | |
}; | |
PDRIVER_INFO_4W :: ^DRIVER_INFO_4W; | |
LPDRIVER_INFO_4W :: ^DRIVER_INFO_4W; | |
DRIVER_INFO_4 :: DRIVER_INFO_4A; | |
PDRIVER_INFO_4 :: PDRIVER_INFO_4A; | |
LPDRIVER_INFO_4 :: LPDRIVER_INFO_4A; | |
DRIVER_INFO_5A :: struct { | |
cVersion : DWORD, | |
pName : LPSTR, | |
pEnvironment : LPSTR, | |
pDriverPath : LPSTR, | |
pDataFile : LPSTR, | |
pConfigFile : LPSTR, | |
dwDriverAttributes : DWORD, | |
dwConfigVersion : DWORD, | |
dwDriverVersion : DWORD, | |
}; | |
PDRIVER_INFO_5A :: ^DRIVER_INFO_5A; | |
LPDRIVER_INFO_5A :: ^DRIVER_INFO_5A; | |
DRIVER_INFO_5W :: struct { | |
cVersion : DWORD, | |
pName : LPWSTR, | |
pEnvironment : LPWSTR, | |
pDriverPath : LPWSTR, | |
pDataFile : LPWSTR, | |
pConfigFile : LPWSTR, | |
dwDriverAttributes : DWORD, | |
dwConfigVersion : DWORD, | |
dwDriverVersion : DWORD, | |
}; | |
PDRIVER_INFO_5W :: ^DRIVER_INFO_5W; | |
LPDRIVER_INFO_5W :: ^DRIVER_INFO_5W; | |
DRIVER_INFO_5 :: DRIVER_INFO_5A; | |
PDRIVER_INFO_5 :: PDRIVER_INFO_5A; | |
LPDRIVER_INFO_5 :: LPDRIVER_INFO_5A; | |
DRIVER_INFO_6A :: struct { | |
cVersion : DWORD, | |
pName : LPSTR, | |
pEnvironment : LPSTR, | |
pDriverPath : LPSTR, | |
pDataFile : LPSTR, | |
pConfigFile : LPSTR, | |
pHelpFile : LPSTR, | |
pDependentFiles : LPSTR, | |
pMonitorName : LPSTR, | |
pDefaultDataType : LPSTR, | |
pszzPreviousNames : LPSTR, | |
ftDriverDate : FILETIME, | |
dwlDriverVersion : DWORDLONG, | |
pszMfgName : LPSTR, | |
pszOEMUrl : LPSTR, | |
pszHardwareID : LPSTR, | |
pszProvider : LPSTR, | |
}; | |
PDRIVER_INFO_6A :: ^DRIVER_INFO_6A; | |
LPDRIVER_INFO_6A :: ^DRIVER_INFO_6A; | |
DRIVER_INFO_6W :: struct { | |
cVersion : DWORD, | |
pName : LPWSTR, | |
pEnvironment : LPWSTR, | |
pDriverPath : LPWSTR, | |
pDataFile : LPWSTR, | |
pConfigFile : LPWSTR, | |
pHelpFile : LPWSTR, | |
pDependentFiles : LPWSTR, | |
pMonitorName : LPWSTR, | |
pDefaultDataType : LPWSTR, | |
pszzPreviousNames : LPWSTR, | |
ftDriverDate : FILETIME, | |
dwlDriverVersion : DWORDLONG, | |
pszMfgName : LPWSTR, | |
pszOEMUrl : LPWSTR, | |
pszHardwareID : LPWSTR, | |
pszProvider : LPWSTR, | |
}; | |
PDRIVER_INFO_6W :: ^DRIVER_INFO_6W; | |
LPDRIVER_INFO_6W :: ^DRIVER_INFO_6W; | |
DRIVER_INFO_6 :: DRIVER_INFO_6A; | |
PDRIVER_INFO_6 :: PDRIVER_INFO_6A; | |
LPDRIVER_INFO_6 :: LPDRIVER_INFO_6A; | |
DRIVER_INFO_8A :: struct { | |
cVersion : DWORD, | |
pName : LPSTR, | |
pEnvironment : LPSTR, | |
pDriverPath : LPSTR, | |
pDataFile : LPSTR, | |
pConfigFile : LPSTR, | |
pHelpFile : LPSTR, | |
pDependentFiles : LPSTR, | |
pMonitorName : LPSTR, | |
pDefaultDataType : LPSTR, | |
pszzPreviousNames : LPSTR, | |
ftDriverDate : FILETIME, | |
dwlDriverVersion : DWORDLONG, | |
pszMfgName : LPSTR, | |
pszOEMUrl : LPSTR, | |
pszHardwareID : LPSTR, | |
pszProvider : LPSTR, | |
pszPrintProcessor : LPSTR, | |
pszVendorSetup : LPSTR, | |
pszzColorProfiles : LPSTR, | |
pszInfPath : LPSTR, | |
dwPrinterDriverAttributes : DWORD, | |
pszzCoreDriverDependencies : LPSTR, | |
ftMinInboxDriverVerDate : FILETIME, | |
dwlMinInboxDriverVerVersion : DWORDLONG, | |
}; | |
PDRIVER_INFO_8A :: ^DRIVER_INFO_8A; | |
LPDRIVER_INFO_8A :: ^DRIVER_INFO_8A; | |
DRIVER_INFO_8W :: struct { | |
cVersion : DWORD, | |
pName : LPWSTR, | |
pEnvironment : LPWSTR, | |
pDriverPath : LPWSTR, | |
pDataFile : LPWSTR, | |
pConfigFile : LPWSTR, | |
pHelpFile : LPWSTR, | |
pDependentFiles : LPWSTR, | |
pMonitorName : LPWSTR, | |
pDefaultDataType : LPWSTR, | |
pszzPreviousNames : LPWSTR, | |
ftDriverDate : FILETIME, | |
dwlDriverVersion : DWORDLONG, | |
pszMfgName : LPWSTR, | |
pszOEMUrl : LPWSTR, | |
pszHardwareID : LPWSTR, | |
pszProvider : LPWSTR, | |
pszPrintProcessor : LPWSTR, | |
pszVendorSetup : LPWSTR, | |
pszzColorProfiles : LPWSTR, | |
pszInfPath : LPWSTR, | |
dwPrinterDriverAttributes : DWORD, | |
pszzCoreDriverDependencies : LPWSTR, | |
ftMinInboxDriverVerDate : FILETIME, | |
dwlMinInboxDriverVerVersion : DWORDLONG, | |
}; | |
PDRIVER_INFO_8W :: ^DRIVER_INFO_8W; | |
LPDRIVER_INFO_8W :: ^DRIVER_INFO_8W; | |
DRIVER_INFO_8 :: DRIVER_INFO_8A; | |
PDRIVER_INFO_8 :: PDRIVER_INFO_8A; | |
LPDRIVER_INFO_8 :: LPDRIVER_INFO_8A; | |
DOC_INFO_1A :: struct { | |
pDocName : LPSTR, | |
pOutputFile : LPSTR, | |
pDatatype : LPSTR, | |
}; | |
PDOC_INFO_1A :: ^DOC_INFO_1A; | |
LPDOC_INFO_1A :: ^DOC_INFO_1A; | |
DOC_INFO_1W :: struct { | |
pDocName : LPWSTR, | |
pOutputFile : LPWSTR, | |
pDatatype : LPWSTR, | |
}; | |
PDOC_INFO_1W :: ^DOC_INFO_1W; | |
LPDOC_INFO_1W :: ^DOC_INFO_1W; | |
DOC_INFO_1 :: DOC_INFO_1A; | |
PDOC_INFO_1 :: PDOC_INFO_1A; | |
LPDOC_INFO_1 :: LPDOC_INFO_1A; | |
FORM_INFO_1A :: struct { | |
Flags : DWORD, | |
pName : LPSTR, | |
Size : SIZEL, | |
ImageableArea : RECTL, | |
}; | |
PFORM_INFO_1A :: ^FORM_INFO_1A; | |
LPFORM_INFO_1A :: ^FORM_INFO_1A; | |
FORM_INFO_1W :: struct { | |
Flags : DWORD, | |
pName : LPWSTR, | |
Size : SIZEL, | |
ImageableArea : RECTL, | |
}; | |
PFORM_INFO_1W :: ^FORM_INFO_1W; | |
LPFORM_INFO_1W :: ^FORM_INFO_1W; | |
FORM_INFO_1 :: FORM_INFO_1A; | |
PFORM_INFO_1 :: PFORM_INFO_1A; | |
LPFORM_INFO_1 :: LPFORM_INFO_1A; | |
FORM_INFO_2A :: struct { | |
Flags : DWORD, | |
pName : LPCSTR, | |
Size : SIZEL, | |
ImageableArea : RECTL, | |
pKeyword : LPCSTR, | |
StringType : DWORD, | |
pMuiDll : LPCSTR, | |
dwResourceId : DWORD, | |
pDisplayName : LPCSTR, | |
wLangId : LANGID, | |
}; | |
PFORM_INFO_2A :: ^FORM_INFO_2A; | |
LPFORM_INFO_2A :: ^FORM_INFO_2A; | |
FORM_INFO_2W :: struct { | |
Flags : DWORD, | |
pName : LPCWSTR, | |
Size : SIZEL, | |
ImageableArea : RECTL, | |
pKeyword : LPCSTR, | |
StringType : DWORD, | |
pMuiDll : LPCWSTR, | |
dwResourceId : DWORD, | |
pDisplayName : LPCWSTR, | |
wLangId : LANGID, | |
}; | |
PFORM_INFO_2W :: ^FORM_INFO_2W; | |
LPFORM_INFO_2W :: ^FORM_INFO_2W; | |
FORM_INFO_2 :: FORM_INFO_2A; | |
PFORM_INFO_2 :: PFORM_INFO_2A; | |
LPFORM_INFO_2 :: LPFORM_INFO_2A; | |
DOC_INFO_2A :: struct { | |
pDocName : LPSTR, | |
pOutputFile : LPSTR, | |
pDatatype : LPSTR, | |
dwMode : DWORD, | |
JobId : DWORD, | |
}; | |
PDOC_INFO_2A :: ^DOC_INFO_2A; | |
LPDOC_INFO_2A :: ^DOC_INFO_2A; | |
DOC_INFO_2W :: struct { | |
pDocName : LPWSTR, | |
pOutputFile : LPWSTR, | |
pDatatype : LPWSTR, | |
dwMode : DWORD, | |
JobId : DWORD, | |
}; | |
PDOC_INFO_2W :: ^DOC_INFO_2W; | |
LPDOC_INFO_2W :: ^DOC_INFO_2W; | |
DOC_INFO_2 :: DOC_INFO_2A; | |
PDOC_INFO_2 :: PDOC_INFO_2A; | |
LPDOC_INFO_2 :: LPDOC_INFO_2A; | |
DOC_INFO_3A :: struct { | |
pDocName : LPSTR, | |
pOutputFile : LPSTR, | |
pDatatype : LPSTR, | |
dwFlags : DWORD, | |
}; | |
PDOC_INFO_3A :: ^DOC_INFO_3A; | |
LPDOC_INFO_3A :: ^DOC_INFO_3A; | |
DOC_INFO_3W :: struct { | |
pDocName : LPWSTR, | |
pOutputFile : LPWSTR, | |
pDatatype : LPWSTR, | |
dwFlags : DWORD, | |
}; | |
PDOC_INFO_3W :: ^DOC_INFO_3W; | |
LPDOC_INFO_3W :: ^DOC_INFO_3W; | |
DOC_INFO_3 :: DOC_INFO_3A; | |
PDOC_INFO_3 :: PDOC_INFO_3A; | |
LPDOC_INFO_3 :: LPDOC_INFO_3A; | |
PRINTPROCESSOR_INFO_1A :: struct { | |
pName : LPSTR, | |
}; | |
PPRINTPROCESSOR_INFO_1A :: ^PRINTPROCESSOR_INFO_1A; | |
LPPRINTPROCESSOR_INFO_1A :: ^PRINTPROCESSOR_INFO_1A; | |
PRINTPROCESSOR_INFO_1W :: struct { | |
pName : LPWSTR, | |
}; | |
PPRINTPROCESSOR_INFO_1W :: ^PRINTPROCESSOR_INFO_1W; | |
LPPRINTPROCESSOR_INFO_1W :: ^PRINTPROCESSOR_INFO_1W; | |
PRINTPROCESSOR_INFO_1 :: PRINTPROCESSOR_INFO_1A; | |
PPRINTPROCESSOR_INFO_1 :: PPRINTPROCESSOR_INFO_1A; | |
LPPRINTPROCESSOR_INFO_1 :: LPPRINTPROCESSOR_INFO_1A; | |
PRINTPROCESSOR_CAPS_1 :: struct { | |
dwLevel : DWORD, | |
dwNupOptions : DWORD, | |
dwPageOrderFlags : DWORD, | |
dwNumberOfCopies : DWORD, | |
}; | |
PPRINTPROCESSOR_CAPS_1 :: ^PRINTPROCESSOR_CAPS_1; | |
PRINTPROCESSOR_CAPS_2 :: struct { | |
dwLevel : DWORD, | |
dwNupOptions : DWORD, | |
dwPageOrderFlags : DWORD, | |
dwNumberOfCopies : DWORD, | |
dwDuplexHandlingCaps : DWORD, | |
dwNupDirectionCaps : DWORD, | |
dwNupBorderCaps : DWORD, | |
dwBookletHandlingCaps : DWORD, | |
dwScalingCaps : DWORD, | |
}; | |
PPRINTPROCESSOR_CAPS_2 :: ^PRINTPROCESSOR_CAPS_2; | |
PORT_INFO_1A :: struct { | |
pName : LPSTR, | |
}; | |
PPORT_INFO_1A :: ^PORT_INFO_1A; | |
LPPORT_INFO_1A :: ^PORT_INFO_1A; | |
PORT_INFO_1W :: struct { | |
pName : LPWSTR, | |
}; | |
PPORT_INFO_1W :: ^PORT_INFO_1W; | |
LPPORT_INFO_1W :: ^PORT_INFO_1W; | |
PORT_INFO_1 :: PORT_INFO_1A; | |
PPORT_INFO_1 :: PPORT_INFO_1A; | |
LPPORT_INFO_1 :: LPPORT_INFO_1A; | |
PORT_INFO_2A :: struct { | |
pPortName : LPSTR, | |
pMonitorName : LPSTR, | |
pDescription : LPSTR, | |
fPortType : DWORD, | |
Reserved : DWORD, | |
}; | |
PPORT_INFO_2A :: ^PORT_INFO_2A; | |
LPPORT_INFO_2A :: ^PORT_INFO_2A; | |
PORT_INFO_2W :: struct { | |
pPortName : LPWSTR, | |
pMonitorName : LPWSTR, | |
pDescription : LPWSTR, | |
fPortType : DWORD, | |
Reserved : DWORD, | |
}; | |
PPORT_INFO_2W :: ^PORT_INFO_2W; | |
LPPORT_INFO_2W :: ^PORT_INFO_2W; | |
PORT_INFO_2 :: PORT_INFO_2A; | |
PPORT_INFO_2 :: PPORT_INFO_2A; | |
LPPORT_INFO_2 :: LPPORT_INFO_2A; | |
PORT_INFO_3A :: struct { | |
dwStatus : DWORD, | |
pszStatus : LPSTR, | |
dwSeverity : DWORD, | |
}; | |
PPORT_INFO_3A :: ^PORT_INFO_3A; | |
LPPORT_INFO_3A :: ^PORT_INFO_3A; | |
PORT_INFO_3W :: struct { | |
dwStatus : DWORD, | |
pszStatus : LPWSTR, | |
dwSeverity : DWORD, | |
}; | |
PPORT_INFO_3W :: ^PORT_INFO_3W; | |
LPPORT_INFO_3W :: ^PORT_INFO_3W; | |
PORT_INFO_3 :: PORT_INFO_3A; | |
PPORT_INFO_3 :: PPORT_INFO_3A; | |
LPPORT_INFO_3 :: LPPORT_INFO_3A; | |
MONITOR_INFO_1A :: struct { | |
pName : LPSTR, | |
}; | |
PMONITOR_INFO_1A :: ^MONITOR_INFO_1A; | |
LPMONITOR_INFO_1A :: ^MONITOR_INFO_1A; | |
MONITOR_INFO_1W :: struct { | |
pName : LPWSTR, | |
}; | |
PMONITOR_INFO_1W :: ^MONITOR_INFO_1W; | |
LPMONITOR_INFO_1W :: ^MONITOR_INFO_1W; | |
MONITOR_INFO_1 :: MONITOR_INFO_1A; | |
PMONITOR_INFO_1 :: PMONITOR_INFO_1A; | |
LPMONITOR_INFO_1 :: LPMONITOR_INFO_1A; | |
MONITOR_INFO_2A :: struct { | |
pName : LPSTR, | |
pEnvironment : LPSTR, | |
pDLLName : LPSTR, | |
}; | |
PMONITOR_INFO_2A :: ^MONITOR_INFO_2A; | |
LPMONITOR_INFO_2A :: ^MONITOR_INFO_2A; | |
MONITOR_INFO_2W :: struct { | |
pName : LPWSTR, | |
pEnvironment : LPWSTR, | |
pDLLName : LPWSTR, | |
}; | |
PMONITOR_INFO_2W :: ^MONITOR_INFO_2W; | |
LPMONITOR_INFO_2W :: ^MONITOR_INFO_2W; | |
MONITOR_INFO_2 :: MONITOR_INFO_2A; | |
PMONITOR_INFO_2 :: PMONITOR_INFO_2A; | |
LPMONITOR_INFO_2 :: LPMONITOR_INFO_2A; | |
DATATYPES_INFO_1A :: struct { | |
pName : LPSTR, | |
}; | |
PDATATYPES_INFO_1A :: ^DATATYPES_INFO_1A; | |
LPDATATYPES_INFO_1A :: ^DATATYPES_INFO_1A; | |
DATATYPES_INFO_1W :: struct { | |
pName : LPWSTR, | |
}; | |
PDATATYPES_INFO_1W :: ^DATATYPES_INFO_1W; | |
LPDATATYPES_INFO_1W :: ^DATATYPES_INFO_1W; | |
DATATYPES_INFO_1 :: DATATYPES_INFO_1A; | |
PDATATYPES_INFO_1 :: PDATATYPES_INFO_1A; | |
LPDATATYPES_INFO_1 :: LPDATATYPES_INFO_1A; | |
PRINTER_DEFAULTSA :: struct { | |
pDatatype : LPSTR, | |
pDevMode : LPDEVMODEA, | |
DesiredAccess : ACCESS_MASK, | |
}; | |
PPRINTER_DEFAULTSA :: ^PRINTER_DEFAULTSA; | |
LPPRINTER_DEFAULTSA :: ^PRINTER_DEFAULTSA; | |
PRINTER_DEFAULTSW :: struct { | |
pDatatype : LPWSTR, | |
pDevMode : LPDEVMODEW, | |
DesiredAccess : ACCESS_MASK, | |
}; | |
PPRINTER_DEFAULTSW :: ^PRINTER_DEFAULTSW; | |
LPPRINTER_DEFAULTSW :: ^PRINTER_DEFAULTSW; | |
PRINTER_DEFAULTS :: PRINTER_DEFAULTSA; | |
PPRINTER_DEFAULTS :: PPRINTER_DEFAULTSA; | |
LPPRINTER_DEFAULTS :: LPPRINTER_DEFAULTSA; | |
PRINTER_ENUM_VALUESA :: struct { | |
pValueName : LPSTR, | |
cbValueName : DWORD, | |
dwType : DWORD, | |
pData : LPBYTE, | |
cbData : DWORD, | |
}; | |
PPRINTER_ENUM_VALUESA :: ^PRINTER_ENUM_VALUESA; | |
LPPRINTER_ENUM_VALUESA :: ^PRINTER_ENUM_VALUESA; | |
PRINTER_ENUM_VALUESW :: struct { | |
pValueName : LPWSTR, | |
cbValueName : DWORD, | |
dwType : DWORD, | |
pData : LPBYTE, | |
cbData : DWORD, | |
}; | |
PPRINTER_ENUM_VALUESW :: ^PRINTER_ENUM_VALUESW; | |
LPPRINTER_ENUM_VALUESW :: ^PRINTER_ENUM_VALUESW; | |
PRINTER_ENUM_VALUES :: PRINTER_ENUM_VALUESA; | |
PPRINTER_ENUM_VALUES :: PPRINTER_ENUM_VALUESA; | |
LPPRINTER_ENUM_VALUES :: LPPRINTER_ENUM_VALUESA; | |
PRINTER_NOTIFY_OPTIONS_TYPE :: struct { | |
Type : WORD, | |
Reserved0 : WORD, | |
Reserved1 : DWORD, | |
Reserved2 : DWORD, | |
Count : DWORD, | |
pFields : PWORD, | |
}; | |
PPRINTER_NOTIFY_OPTIONS_TYPE :: ^PRINTER_NOTIFY_OPTIONS_TYPE; | |
LPPRINTER_NOTIFY_OPTIONS_TYPE :: ^PRINTER_NOTIFY_OPTIONS_TYPE; | |
PRINTER_NOTIFY_OPTIONS :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
Count : DWORD, | |
pTypes : PPRINTER_NOTIFY_OPTIONS_TYPE, | |
}; | |
PPRINTER_NOTIFY_OPTIONS :: ^PRINTER_NOTIFY_OPTIONS; | |
LPPRINTER_NOTIFY_OPTIONS :: ^PRINTER_NOTIFY_OPTIONS; | |
PRINTER_NOTIFY_INFO_DATA :: struct { | |
Type : WORD, | |
Field : WORD, | |
Reserved : DWORD, | |
Id : DWORD, | |
NotifyData : struct #raw_union { | |
adwData : [2]DWORD, | |
Data : struct { | |
cbBuf : DWORD, | |
pBuf : LPVOID, | |
}, | |
}, | |
}; | |
PPRINTER_NOTIFY_INFO_DATA :: ^PRINTER_NOTIFY_INFO_DATA; | |
LPPRINTER_NOTIFY_INFO_DATA :: ^PRINTER_NOTIFY_INFO_DATA; | |
PRINTER_NOTIFY_INFO :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
Count : DWORD, | |
aData : [1]PRINTER_NOTIFY_INFO_DATA, | |
}; | |
PPRINTER_NOTIFY_INFO :: ^PRINTER_NOTIFY_INFO; | |
LPPRINTER_NOTIFY_INFO :: ^PRINTER_NOTIFY_INFO; | |
BINARY_CONTAINER :: struct { | |
cbBuf : DWORD, | |
pData : LPBYTE, | |
}; | |
PBINARY_CONTAINER :: ^BINARY_CONTAINER; | |
BIDI_DATA :: struct { | |
dwBidiType : DWORD, | |
u : struct #raw_union { | |
bData : BOOL, | |
iData : LONG, | |
sData : LPWSTR, | |
fData : FLOAT, | |
biData : BINARY_CONTAINER, | |
}, | |
}; | |
PBIDI_DATA :: ^BIDI_DATA; | |
LPBIDI_DATA :: ^BIDI_DATA; | |
BIDI_REQUEST_DATA :: struct { | |
dwReqNumber : DWORD, | |
pSchema : LPWSTR, | |
data : BIDI_DATA, | |
}; | |
PBIDI_REQUEST_DATA :: ^BIDI_REQUEST_DATA; | |
LPBIDI_REQUEST_DATA :: ^BIDI_REQUEST_DATA; | |
BIDI_REQUEST_CONTAINER :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
Count : DWORD, | |
aData : [1]BIDI_REQUEST_DATA, | |
}; | |
PBIDI_REQUEST_CONTAINER :: ^BIDI_REQUEST_CONTAINER; | |
LPBIDI_REQUEST_CONTAINER :: ^BIDI_REQUEST_CONTAINER; | |
BIDI_RESPONSE_DATA :: struct { | |
dwResult : DWORD, | |
dwReqNumber : DWORD, | |
pSchema : LPWSTR, | |
data : BIDI_DATA, | |
}; | |
PBIDI_RESPONSE_DATA :: ^BIDI_RESPONSE_DATA; | |
LPBIDI_RESPONSE_DATA :: ^BIDI_RESPONSE_DATA; | |
BIDI_RESPONSE_CONTAINER :: struct { | |
Version : DWORD, | |
Flags : DWORD, | |
Count : DWORD, | |
aData : [1]BIDI_RESPONSE_DATA, | |
}; | |
PBIDI_RESPONSE_CONTAINER :: ^BIDI_RESPONSE_CONTAINER; | |
LPBIDI_RESPONSE_CONTAINER :: ^BIDI_RESPONSE_CONTAINER; | |
/* BIDI_TYPE :: enum { */ | |
BIDI_TYPE :: _c.int; | |
BIDI_NULL :: 0; | |
BIDI_INT :: 1; | |
BIDI_FLOAT :: 2; | |
BIDI_BOOL :: 3; | |
BIDI_STRING :: 4; | |
BIDI_TEXT :: 5; | |
BIDI_ENUM :: 6; | |
BIDI_BLOB :: 7; | |
/* } */ | |
; | |
PROVIDOR_INFO_1A :: struct { | |
pName : LPSTR, | |
pEnvironment : LPSTR, | |
pDLLName : LPSTR, | |
}; | |
PPROVIDOR_INFO_1A :: ^PROVIDOR_INFO_1A; | |
LPPROVIDOR_INFO_1A :: ^PROVIDOR_INFO_1A; | |
PROVIDOR_INFO_1W :: struct { | |
pName : LPWSTR, | |
pEnvironment : LPWSTR, | |
pDLLName : LPWSTR, | |
}; | |
PPROVIDOR_INFO_1W :: ^PROVIDOR_INFO_1W; | |
LPPROVIDOR_INFO_1W :: ^PROVIDOR_INFO_1W; | |
PROVIDOR_INFO_1 :: PROVIDOR_INFO_1A; | |
PPROVIDOR_INFO_1 :: PPROVIDOR_INFO_1A; | |
LPPROVIDOR_INFO_1 :: LPPROVIDOR_INFO_1A; | |
PROVIDOR_INFO_2A :: struct { | |
pOrder : LPSTR, | |
}; | |
PPROVIDOR_INFO_2A :: ^PROVIDOR_INFO_2A; | |
LPPROVIDOR_INFO_2A :: ^PROVIDOR_INFO_2A; | |
PROVIDOR_INFO_2W :: struct { | |
pOrder : LPWSTR, | |
}; | |
PPROVIDOR_INFO_2W :: ^PROVIDOR_INFO_2W; | |
LPPROVIDOR_INFO_2W :: ^PROVIDOR_INFO_2W; | |
PROVIDOR_INFO_2 :: PROVIDOR_INFO_2A; | |
PPROVIDOR_INFO_2 :: PPROVIDOR_INFO_2A; | |
LPPROVIDOR_INFO_2 :: LPPROVIDOR_INFO_2A; | |
/* PRINTER_OPTION_FLAGS :: enum { */ | |
PRINTER_OPTION_FLAGS :: _c.int; | |
PRINTER_OPTION_NO_CACHE :: 1 << 0; | |
PRINTER_OPTION_CACHE :: 1 << 1; | |
PRINTER_OPTION_CLIENT_CHANGE :: 1 << 2; | |
PRINTER_OPTION_NO_CLIENT_DATA :: 1 << 3; | |
/* } */ | |
; | |
PRINTER_OPTIONSA :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
}; | |
PPRINTER_OPTIONSA :: ^PRINTER_OPTIONSA; | |
LPPRINTER_OPTIONSA :: ^PRINTER_OPTIONSA; | |
PRINTER_OPTIONSW :: struct { | |
cbSize : UINT, | |
dwFlags : DWORD, | |
}; | |
PPRINTER_OPTIONSW :: ^PRINTER_OPTIONSW; | |
LPPRINTER_OPTIONSW :: ^PRINTER_OPTIONSW; | |
PRINTER_OPTIONS :: PRINTER_OPTIONSA; | |
PPRINTER_OPTIONS :: PPRINTER_OPTIONSA; | |
LPPRINTER_OPTIONS :: LPPRINTER_OPTIONSA; | |
PRINTER_CONNECTION_INFO_1A :: struct { | |
dwFlags : DWORD, | |
pszDriverName : LPSTR, | |
}; | |
PPRINTER_CONNECTION_INFO_1A :: ^PRINTER_CONNECTION_INFO_1A; | |
PRINTER_CONNECTION_INFO_1W :: struct { | |
dwFlags : DWORD, | |
pszDriverName : LPWSTR, | |
}; | |
PPRINTER_CONNECTION_INFO_1W :: ^PRINTER_CONNECTION_INFO_1W; | |
PRINTER_CONNECTION_INFO_1 :: PRINTER_CONNECTION_INFO_1A; | |
PPRINTER_CONNECTION_INFO_1 :: PPRINTER_CONNECTION_INFO_1A; | |
CORE_PRINTER_DRIVERA :: struct { | |
CoreDriverGUID : GUID, | |
ftDriverDate : FILETIME, | |
dwlDriverVersion : DWORDLONG, | |
szPackageID : [260]CHAR, | |
}; | |
PCORE_PRINTER_DRIVERA :: ^CORE_PRINTER_DRIVERA; | |
CORE_PRINTER_DRIVERW :: struct { | |
CoreDriverGUID : GUID, | |
ftDriverDate : FILETIME, | |
dwlDriverVersion : DWORDLONG, | |
szPackageID : [260]WCHAR, | |
}; | |
PCORE_PRINTER_DRIVERW :: ^CORE_PRINTER_DRIVERW; | |
CORE_PRINTER_DRIVER :: CORE_PRINTER_DRIVERA; | |
PCORE_PRINTER_DRIVER :: PCORE_PRINTER_DRIVERA; | |
/* EPrintPropertyType :: enum { */ | |
EPrintPropertyType :: _c.int; | |
kPropertyTypeString :: 1; | |
kPropertyTypeInt32 :: kPropertyTypeString + 1; | |
kPropertyTypeInt64 :: kPropertyTypeInt32 + 1; | |
kPropertyTypeByte :: kPropertyTypeInt64 + 1; | |
kPropertyTypeTime :: kPropertyTypeByte + 1; | |
kPropertyTypeDevMode :: kPropertyTypeTime + 1; | |
kPropertyTypeSD :: kPropertyTypeDevMode + 1; | |
kPropertyTypeNotificationReply :: kPropertyTypeSD + 1; | |
kPropertyTypeNotificationOptions :: kPropertyTypeNotificationReply + 1; | |
kPropertyTypeBuffer :: kPropertyTypeNotificationOptions + 1; | |
/* } */ | |
; | |
/* EPrintXPSJobProgress :: enum { */ | |
EPrintXPSJobProgress :: _c.int; | |
kAddingDocumentSequence :: 0; | |
kDocumentSequenceAdded :: 1; | |
kAddingFixedDocument :: 2; | |
kFixedDocumentAdded :: 3; | |
kAddingFixedPage :: 4; | |
kFixedPageAdded :: 5; | |
kResourceAdded :: 6; | |
kFontAdded :: 7; | |
kImageAdded :: 8; | |
kXpsDocumentCommitted :: 9; | |
/* } */ | |
; | |
/* EPrintXPSJobOperation :: enum { */ | |
EPrintXPSJobOperation :: _c.int; | |
kJobProduction :: 1; | |
kJobConsumption :: kJobProduction + 1; | |
/* } */ | |
; | |
PrintPropertyValue :: struct { | |
ePropertyType : EPrintPropertyType, | |
value : struct #raw_union { | |
propertyByte : BYTE, | |
propertyString : PWSTR, | |
propertyInt32 : LONG, | |
propertyInt64 : LONGLONG, | |
propertyBlob : struct { | |
cbBuf : DWORD, | |
pBuf : LPVOID, | |
}, | |
}, | |
}; | |
PrintNamedProperty :: struct { | |
propertyName : ^WCHAR, | |
propertyValue : PrintPropertyValue, | |
}; | |
PrintPropertiesCollection :: struct { | |
numberOfProperties : ULONG, | |
propertiesCollection : ^PrintNamedProperty, | |
}; | |
/* PRINT_EXECUTION_CONTEXT :: enum { */ | |
PRINT_EXECUTION_CONTEXT :: _c.int; | |
PRINT_EXECUTION_CONTEXT_APPLICATION :: 0; | |
PRINT_EXECUTION_CONTEXT_SPOOLER_SERVICE :: 1; | |
PRINT_EXECUTION_CONTEXT_SPOOLER_ISOLATION_HOST :: 2; | |
PRINT_EXECUTION_CONTEXT_FILTER_PIPELINE :: 3; | |
PRINT_EXECUTION_CONTEXT_WOW64 :: 4; | |
/* } */ | |
; | |
PRINT_EXECUTION_DATA :: struct { | |
context_ : PRINT_EXECUTION_CONTEXT, | |
clientAppPID : DWORD, | |
}; | |
_CoreCrtSecureSearchSortCompareFunction :: (proc(rawptr, rawptr, rawptr) -> _c.int); | |
_CoreCrtNonSecureSearchSortCompareFunction :: (proc(rawptr, rawptr) -> _c.int); | |
_onexit_t :: (proc() -> _c.int); | |
_purecall_handler :: proc(); | |
_invalid_parameter_handler :: proc(^_c.wchar_t, ^_c.wchar_t, ^_c.wchar_t, _c.uint, _c.uintptr_t); | |
div_t :: struct { | |
quot : _c.int, | |
rem : _c.int, | |
}; | |
ldiv_t :: struct { | |
quot : _c.long, | |
rem : _c.long, | |
}; | |
lldiv_t :: struct { | |
quot : _c.longlong, | |
rem : _c.longlong, | |
}; | |
_LDOUBLE :: struct { | |
ld : [10]_c.uchar, | |
}; | |
_CRT_DOUBLE :: struct { | |
x : _c.double, | |
}; | |
_CRT_FLOAT :: struct { | |
f : _c.float, | |
}; | |
_LONGDOUBLE :: struct { | |
x : _c.double, | |
}; | |
_LDBL12 :: struct { | |
ld12 : [12]_c.uchar, | |
}; | |
/* REGCLS :: enum { */ | |
REGCLS :: _c.int; | |
REGCLS_SINGLEUSE :: 0; | |
REGCLS_MULTIPLEUSE :: 1; | |
REGCLS_MULTI_SEPARATE :: 2; | |
REGCLS_SUSPENDED :: 4; | |
REGCLS_SURROGATE :: 8; | |
REGCLS_AGILE :: 0x10; | |
/* } */ | |
; | |
; | |
; | |
/* COINITBASE :: enum { */ | |
COINITBASE :: _c.int; | |
COINITBASE_MULTITHREADED :: 0x0; | |
/* } */ | |
; | |
; | |
; | |
; | |
LPUNKNOWN :: ^IUnknown; | |
IUnknownVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IUnknown, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IUnknown) -> ULONG), | |
Release : (proc "stdcall" (This : ^IUnknown) -> ULONG), | |
}; | |
IUnknown :: struct { | |
lpVtbl : ^IUnknownVtbl, | |
}; | |
AsyncIUnknownVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^AsyncIUnknown, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^AsyncIUnknown) -> ULONG), | |
Release : (proc "stdcall" (This : ^AsyncIUnknown) -> ULONG), | |
Begin_QueryInterface : (proc "stdcall" (This : ^AsyncIUnknown, riid : ^IID) -> HRESULT), | |
Finish_QueryInterface : (proc "stdcall" (This : ^AsyncIUnknown, ppvObject : ^rawptr) -> HRESULT), | |
Begin_AddRef : (proc "stdcall" (This : ^AsyncIUnknown) -> HRESULT), | |
Finish_AddRef : (proc "stdcall" (This : ^AsyncIUnknown) -> ULONG), | |
Begin_Release : (proc "stdcall" (This : ^AsyncIUnknown) -> HRESULT), | |
Finish_Release : (proc "stdcall" (This : ^AsyncIUnknown) -> ULONG), | |
}; | |
AsyncIUnknown :: struct { | |
lpVtbl : ^AsyncIUnknownVtbl, | |
}; | |
LPCLASSFACTORY :: ^IClassFactory; | |
IClassFactoryVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IClassFactory, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IClassFactory) -> ULONG), | |
Release : (proc "stdcall" (This : ^IClassFactory) -> ULONG), | |
CreateInstance : (proc "stdcall" (This : ^IClassFactory, pUnkOuter : ^IUnknown, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
LockServer : (proc "stdcall" (This : ^IClassFactory, fLock : BOOL) -> HRESULT), | |
}; | |
IClassFactory :: struct { | |
lpVtbl : ^IClassFactoryVtbl, | |
}; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
IEnumContextProps :: struct {}; | |
IContext :: struct {}; | |
IObjContext :: struct {}; | |
; | |
; | |
; | |
; | |
; | |
COSERVERINFO :: struct { | |
dwReserved1 : DWORD, | |
pwszName : LPWSTR, | |
pAuthInfo : ^COAUTHINFO, | |
dwReserved2 : DWORD, | |
}; | |
LPMARSHAL :: ^IMarshal; | |
IMarshalVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IMarshal, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IMarshal) -> ULONG), | |
Release : (proc "stdcall" (This : ^IMarshal) -> ULONG), | |
GetUnmarshalClass : (proc "stdcall" (This : ^IMarshal, riid : ^IID, pv : rawptr, dwDestContext : DWORD, pvDestContext : rawptr, mshlflags : DWORD, pCid : ^CLSID) -> HRESULT), | |
GetMarshalSizeMax : (proc "stdcall" (This : ^IMarshal, riid : ^IID, pv : rawptr, dwDestContext : DWORD, pvDestContext : rawptr, mshlflags : DWORD, pSize : ^DWORD) -> HRESULT), | |
MarshalInterface : (proc "stdcall" (This : ^IMarshal, pStm : ^IStream, riid : ^IID, pv : rawptr, dwDestContext : DWORD, pvDestContext : rawptr, mshlflags : DWORD) -> HRESULT), | |
UnmarshalInterface : (proc "stdcall" (This : ^IMarshal, pStm : ^IStream, riid : ^IID, ppv : ^rawptr) -> HRESULT), | |
ReleaseMarshalData : (proc "stdcall" (This : ^IMarshal, pStm : ^IStream) -> HRESULT), | |
DisconnectObject : (proc "stdcall" (This : ^IMarshal, dwReserved : DWORD) -> HRESULT), | |
}; | |
IMarshal :: struct { | |
lpVtbl : ^IMarshalVtbl, | |
}; | |
INoMarshalVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^INoMarshal, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^INoMarshal) -> ULONG), | |
Release : (proc "stdcall" (This : ^INoMarshal) -> ULONG), | |
}; | |
INoMarshal :: struct { | |
lpVtbl : ^INoMarshalVtbl, | |
}; | |
IAgileObjectVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IAgileObject, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IAgileObject) -> ULONG), | |
Release : (proc "stdcall" (This : ^IAgileObject) -> ULONG), | |
}; | |
IAgileObject :: struct { | |
lpVtbl : ^IAgileObjectVtbl, | |
}; | |
/* ACTIVATIONTYPE :: enum { */ | |
ACTIVATIONTYPE :: _c.int; | |
ACTIVATIONTYPE_UNCATEGORIZED :: 0; | |
ACTIVATIONTYPE_FROM_MONIKER :: 0x1; | |
ACTIVATIONTYPE_FROM_DATA :: 0x2; | |
ACTIVATIONTYPE_FROM_STORAGE :: 0x4; | |
ACTIVATIONTYPE_FROM_STREAM :: 0x8; | |
ACTIVATIONTYPE_FROM_FILE :: 0x10; | |
/* } */ | |
; | |
IActivationFilterVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IActivationFilter, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IActivationFilter) -> ULONG), | |
Release : (proc "stdcall" (This : ^IActivationFilter) -> ULONG), | |
HandleActivation : (proc "stdcall" (This : ^IActivationFilter, dwActivationType : DWORD, rclsid : ^IID, pReplacementClsId : ^CLSID) -> HRESULT), | |
}; | |
IActivationFilter :: struct { | |
lpVtbl : ^IActivationFilterVtbl, | |
}; | |
LPMARSHAL2 :: ^IMarshal2; | |
IMarshal2Vtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IMarshal2, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IMarshal2) -> ULONG), | |
Release : (proc "stdcall" (This : ^IMarshal2) -> ULONG), | |
GetUnmarshalClass : (proc "stdcall" (This : ^IMarshal2, riid : ^IID, pv : rawptr, dwDestContext : DWORD, pvDestContext : rawptr, mshlflags : DWORD, pCid : ^CLSID) -> HRESULT), | |
GetMarshalSizeMax : (proc "stdcall" (This : ^IMarshal2, riid : ^IID, pv : rawptr, dwDestContext : DWORD, pvDestContext : rawptr, mshlflags : DWORD, pSize : ^DWORD) -> HRESULT), | |
MarshalInterface : (proc "stdcall" (This : ^IMarshal2, pStm : ^IStream, riid : ^IID, pv : rawptr, dwDestContext : DWORD, pvDestContext : rawptr, mshlflags : DWORD) -> HRESULT), | |
UnmarshalInterface : (proc "stdcall" (This : ^IMarshal2, pStm : ^IStream, riid : ^IID, ppv : ^rawptr) -> HRESULT), | |
ReleaseMarshalData : (proc "stdcall" (This : ^IMarshal2, pStm : ^IStream) -> HRESULT), | |
DisconnectObject : (proc "stdcall" (This : ^IMarshal2, dwReserved : DWORD) -> HRESULT), | |
}; | |
IMarshal2 :: struct { | |
lpVtbl : ^IMarshal2Vtbl, | |
}; | |
LPMALLOC :: ^IMalloc; | |
IMallocVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IMalloc, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IMalloc) -> ULONG), | |
Release : (proc "stdcall" (This : ^IMalloc) -> ULONG), | |
Alloc : (proc "stdcall" (This : ^IMalloc, cb : SIZE_T) -> rawptr), | |
Realloc : (proc "stdcall" (This : ^IMalloc, pv : rawptr, cb : SIZE_T) -> rawptr), | |
Free : proc "stdcall" (This : ^IMalloc, pv : rawptr), | |
GetSize : (proc "stdcall" (This : ^IMalloc, pv : rawptr) -> SIZE_T), | |
DidAlloc : (proc "stdcall" (This : ^IMalloc, pv : rawptr) -> _c.int), | |
HeapMinimize : proc "stdcall" (This : ^IMalloc), | |
}; | |
IMalloc :: struct { | |
lpVtbl : ^IMallocVtbl, | |
}; | |
LPSTDMARSHALINFO :: ^IStdMarshalInfo; | |
IStdMarshalInfoVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IStdMarshalInfo, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IStdMarshalInfo) -> ULONG), | |
Release : (proc "stdcall" (This : ^IStdMarshalInfo) -> ULONG), | |
GetClassForHandler : (proc "stdcall" (This : ^IStdMarshalInfo, dwDestContext : DWORD, pvDestContext : rawptr, pClsid : ^CLSID) -> HRESULT), | |
}; | |
IStdMarshalInfo :: struct { | |
lpVtbl : ^IStdMarshalInfoVtbl, | |
}; | |
LPEXTERNALCONNECTION :: ^IExternalConnection; | |
/* EXTCONN :: enum { */ | |
EXTCONN :: _c.int; | |
EXTCONN_STRONG :: 0x1; | |
EXTCONN_WEAK :: 0x2; | |
EXTCONN_CALLABLE :: 0x4; | |
/* } */ | |
; | |
IExternalConnectionVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IExternalConnection, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IExternalConnection) -> ULONG), | |
Release : (proc "stdcall" (This : ^IExternalConnection) -> ULONG), | |
AddConnection : (proc "stdcall" (This : ^IExternalConnection, extconn : DWORD, reserved : DWORD) -> DWORD), | |
ReleaseConnection : (proc "stdcall" (This : ^IExternalConnection, extconn : DWORD, reserved : DWORD, fLastReleaseCloses : BOOL) -> DWORD), | |
}; | |
IExternalConnection :: struct { | |
lpVtbl : ^IExternalConnectionVtbl, | |
}; | |
LPMULTIQI :: ^IMultiQI; | |
MULTI_QI :: struct { | |
pIID : ^IID, | |
pItf : ^IUnknown, | |
hr : HRESULT, | |
}; | |
IMultiQIVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IMultiQI, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IMultiQI) -> ULONG), | |
Release : (proc "stdcall" (This : ^IMultiQI) -> ULONG), | |
QueryMultipleInterfaces : (proc "stdcall" (This : ^IMultiQI, cMQIs : ULONG, pMQIs : ^MULTI_QI) -> HRESULT), | |
}; | |
IMultiQI :: struct { | |
lpVtbl : ^IMultiQIVtbl, | |
}; | |
AsyncIMultiQIVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^AsyncIMultiQI, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^AsyncIMultiQI) -> ULONG), | |
Release : (proc "stdcall" (This : ^AsyncIMultiQI) -> ULONG), | |
Begin_QueryMultipleInterfaces : (proc "stdcall" (This : ^AsyncIMultiQI, cMQIs : ULONG, pMQIs : ^MULTI_QI) -> HRESULT), | |
Finish_QueryMultipleInterfaces : (proc "stdcall" (This : ^AsyncIMultiQI, pMQIs : ^MULTI_QI) -> HRESULT), | |
}; | |
AsyncIMultiQI :: struct { | |
lpVtbl : ^AsyncIMultiQIVtbl, | |
}; | |
IInternalUnknownVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IInternalUnknown, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IInternalUnknown) -> ULONG), | |
Release : (proc "stdcall" (This : ^IInternalUnknown) -> ULONG), | |
QueryInternalInterface : (proc "stdcall" (This : ^IInternalUnknown, riid : ^IID, ppv : ^rawptr) -> HRESULT), | |
}; | |
IInternalUnknown :: struct { | |
lpVtbl : ^IInternalUnknownVtbl, | |
}; | |
LPENUMUNKNOWN :: ^IEnumUnknown; | |
IEnumUnknownVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IEnumUnknown, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IEnumUnknown) -> ULONG), | |
Release : (proc "stdcall" (This : ^IEnumUnknown) -> ULONG), | |
Next : (proc "stdcall" (This : ^IEnumUnknown, celt : ULONG, rgelt : ^^IUnknown, pceltFetched : ^ULONG) -> HRESULT), | |
Skip : (proc "stdcall" (This : ^IEnumUnknown, celt : ULONG) -> HRESULT), | |
Reset : (proc "stdcall" (This : ^IEnumUnknown) -> HRESULT), | |
Clone : (proc "stdcall" (This : ^IEnumUnknown, ppenum : ^^IEnumUnknown) -> HRESULT), | |
}; | |
IEnumUnknown :: struct { | |
lpVtbl : ^IEnumUnknownVtbl, | |
}; | |
LPENUMSTRING :: ^IEnumString; | |
IEnumStringVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IEnumString, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IEnumString) -> ULONG), | |
Release : (proc "stdcall" (This : ^IEnumString) -> ULONG), | |
Next : (proc "stdcall" (This : ^IEnumString, celt : ULONG, rgelt : ^LPOLESTR, pceltFetched : ^ULONG) -> HRESULT), | |
Skip : (proc "stdcall" (This : ^IEnumString, celt : ULONG) -> HRESULT), | |
Reset : (proc "stdcall" (This : ^IEnumString) -> HRESULT), | |
Clone : (proc "stdcall" (This : ^IEnumString, ppenum : ^^IEnumString) -> HRESULT), | |
}; | |
IEnumString :: struct { | |
lpVtbl : ^IEnumStringVtbl, | |
}; | |
ISequentialStreamVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ISequentialStream, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ISequentialStream) -> ULONG), | |
Release : (proc "stdcall" (This : ^ISequentialStream) -> ULONG), | |
Read : (proc "stdcall" (This : ^ISequentialStream, pv : rawptr, cb : ULONG, pcbRead : ^ULONG) -> HRESULT), | |
Write : (proc "stdcall" (This : ^ISequentialStream, pv : rawptr, cb : ULONG, pcbWritten : ^ULONG) -> HRESULT), | |
}; | |
ISequentialStream :: struct { | |
lpVtbl : ^ISequentialStreamVtbl, | |
}; | |
LPSTREAM :: ^IStream; | |
STATSTG :: struct { | |
pwcsName : LPOLESTR, | |
type : DWORD, | |
cbSize : ULARGE_INTEGER, | |
mtime : FILETIME, | |
ctime : FILETIME, | |
atime : FILETIME, | |
grfMode : DWORD, | |
grfLocksSupported : DWORD, | |
clsid : CLSID, | |
grfStateBits : DWORD, | |
reserved : DWORD, | |
}; | |
/* STGTY :: enum { */ | |
STGTY :: _c.int; | |
STGTY_STORAGE :: 1; | |
STGTY_STREAM :: 2; | |
STGTY_LOCKBYTES :: 3; | |
STGTY_PROPERTY :: 4; | |
/* } */ | |
; | |
/* STREAM_SEEK :: enum { */ | |
STREAM_SEEK :: _c.int; | |
STREAM_SEEK_SET :: 0; | |
STREAM_SEEK_CUR :: 1; | |
STREAM_SEEK_END :: 2; | |
/* } */ | |
; | |
/* LOCKTYPE :: enum { */ | |
LOCKTYPE :: _c.int; | |
LOCK_WRITE :: 1; | |
LOCK_EXCLUSIVE :: 2; | |
LOCK_ONLYONCE :: 4; | |
/* } */ | |
; | |
IStreamVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IStream, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IStream) -> ULONG), | |
Release : (proc "stdcall" (This : ^IStream) -> ULONG), | |
Read : (proc "stdcall" (This : ^IStream, pv : rawptr, cb : ULONG, pcbRead : ^ULONG) -> HRESULT), | |
Write : (proc "stdcall" (This : ^IStream, pv : rawptr, cb : ULONG, pcbWritten : ^ULONG) -> HRESULT), | |
Seek : (proc "stdcall" (This : ^IStream, dlibMove : LARGE_INTEGER, dwOrigin : DWORD, plibNewPosition : ^ULARGE_INTEGER) -> HRESULT), | |
SetSize : (proc "stdcall" (This : ^IStream, libNewSize : ULARGE_INTEGER) -> HRESULT), | |
CopyTo : (proc "stdcall" (This : ^IStream, pstm : ^IStream, cb : ULARGE_INTEGER, pcbRead : ^ULARGE_INTEGER, pcbWritten : ^ULARGE_INTEGER) -> HRESULT), | |
Commit : (proc "stdcall" (This : ^IStream, grfCommitFlags : DWORD) -> HRESULT), | |
Revert : (proc "stdcall" (This : ^IStream) -> HRESULT), | |
LockRegion : (proc "stdcall" (This : ^IStream, libOffset : ULARGE_INTEGER, cb : ULARGE_INTEGER, dwLockType : DWORD) -> HRESULT), | |
UnlockRegion : (proc "stdcall" (This : ^IStream, libOffset : ULARGE_INTEGER, cb : ULARGE_INTEGER, dwLockType : DWORD) -> HRESULT), | |
Stat : (proc "stdcall" (This : ^IStream, pstatstg : ^STATSTG, grfStatFlag : DWORD) -> HRESULT), | |
Clone : (proc "stdcall" (This : ^IStream, ppstm : ^^IStream) -> HRESULT), | |
}; | |
IStream :: struct { | |
lpVtbl : ^IStreamVtbl, | |
}; | |
RPCOLEDATAREP :: ULONG; | |
RPCOLEMESSAGE :: struct { | |
reserved1 : rawptr, | |
dataRepresentation : RPCOLEDATAREP, | |
Buffer : rawptr, | |
cbBuffer : ULONG, | |
iMethod : ULONG, | |
reserved2 : [5]rawptr, | |
rpcFlags : ULONG, | |
}; | |
PRPCOLEMESSAGE :: ^RPCOLEMESSAGE; | |
IRpcChannelBufferVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRpcChannelBuffer, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRpcChannelBuffer) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRpcChannelBuffer) -> ULONG), | |
GetBuffer : (proc "stdcall" (This : ^IRpcChannelBuffer, pMessage : ^RPCOLEMESSAGE, riid : ^IID) -> HRESULT), | |
SendReceive : (proc "stdcall" (This : ^IRpcChannelBuffer, pMessage : ^RPCOLEMESSAGE, pStatus : ^ULONG) -> HRESULT), | |
FreeBuffer : (proc "stdcall" (This : ^IRpcChannelBuffer, pMessage : ^RPCOLEMESSAGE) -> HRESULT), | |
GetDestCtx : (proc "stdcall" (This : ^IRpcChannelBuffer, pdwDestContext : ^DWORD, ppvDestContext : ^rawptr) -> HRESULT), | |
IsConnected : (proc "stdcall" (This : ^IRpcChannelBuffer) -> HRESULT), | |
}; | |
IRpcChannelBuffer :: struct { | |
lpVtbl : ^IRpcChannelBufferVtbl, | |
}; | |
IRpcChannelBuffer2Vtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRpcChannelBuffer2, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRpcChannelBuffer2) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRpcChannelBuffer2) -> ULONG), | |
GetBuffer : (proc "stdcall" (This : ^IRpcChannelBuffer2, pMessage : ^RPCOLEMESSAGE, riid : ^IID) -> HRESULT), | |
SendReceive : (proc "stdcall" (This : ^IRpcChannelBuffer2, pMessage : ^RPCOLEMESSAGE, pStatus : ^ULONG) -> HRESULT), | |
FreeBuffer : (proc "stdcall" (This : ^IRpcChannelBuffer2, pMessage : ^RPCOLEMESSAGE) -> HRESULT), | |
GetDestCtx : (proc "stdcall" (This : ^IRpcChannelBuffer2, pdwDestContext : ^DWORD, ppvDestContext : ^rawptr) -> HRESULT), | |
IsConnected : (proc "stdcall" (This : ^IRpcChannelBuffer2) -> HRESULT), | |
GetProtocolVersion : (proc "stdcall" (This : ^IRpcChannelBuffer2, pdwVersion : ^DWORD) -> HRESULT), | |
}; | |
IRpcChannelBuffer2 :: struct { | |
lpVtbl : ^IRpcChannelBuffer2Vtbl, | |
}; | |
IAsyncRpcChannelBufferVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer) -> ULONG), | |
Release : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer) -> ULONG), | |
GetBuffer : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer, pMessage : ^RPCOLEMESSAGE, riid : ^IID) -> HRESULT), | |
SendReceive : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer, pMessage : ^RPCOLEMESSAGE, pStatus : ^ULONG) -> HRESULT), | |
FreeBuffer : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer, pMessage : ^RPCOLEMESSAGE) -> HRESULT), | |
GetDestCtx : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer, pdwDestContext : ^DWORD, ppvDestContext : ^rawptr) -> HRESULT), | |
IsConnected : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer) -> HRESULT), | |
GetProtocolVersion : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer, pdwVersion : ^DWORD) -> HRESULT), | |
Send : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer, pMsg : ^RPCOLEMESSAGE, pSync : ^ISynchronize, pulStatus : ^ULONG) -> HRESULT), | |
Receive : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer, pMsg : ^RPCOLEMESSAGE, pulStatus : ^ULONG) -> HRESULT), | |
GetDestCtxEx : (proc "stdcall" (This : ^IAsyncRpcChannelBuffer, pMsg : ^RPCOLEMESSAGE, pdwDestContext : ^DWORD, ppvDestContext : ^rawptr) -> HRESULT), | |
}; | |
IAsyncRpcChannelBuffer :: struct { | |
lpVtbl : ^IAsyncRpcChannelBufferVtbl, | |
}; | |
IRpcChannelBuffer3Vtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRpcChannelBuffer3, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRpcChannelBuffer3) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRpcChannelBuffer3) -> ULONG), | |
GetBuffer : (proc "stdcall" (This : ^IRpcChannelBuffer3, pMessage : ^RPCOLEMESSAGE, riid : ^IID) -> HRESULT), | |
SendReceive : (proc "stdcall" (This : ^IRpcChannelBuffer3, pMessage : ^RPCOLEMESSAGE, pStatus : ^ULONG) -> HRESULT), | |
FreeBuffer : (proc "stdcall" (This : ^IRpcChannelBuffer3, pMessage : ^RPCOLEMESSAGE) -> HRESULT), | |
GetDestCtx : (proc "stdcall" (This : ^IRpcChannelBuffer3, pdwDestContext : ^DWORD, ppvDestContext : ^rawptr) -> HRESULT), | |
IsConnected : (proc "stdcall" (This : ^IRpcChannelBuffer3) -> HRESULT), | |
GetProtocolVersion : (proc "stdcall" (This : ^IRpcChannelBuffer3, pdwVersion : ^DWORD) -> HRESULT), | |
Send : (proc "stdcall" (This : ^IRpcChannelBuffer3, pMsg : ^RPCOLEMESSAGE, pulStatus : ^ULONG) -> HRESULT), | |
Receive : (proc "stdcall" (This : ^IRpcChannelBuffer3, pMsg : ^RPCOLEMESSAGE, ulSize : ULONG, pulStatus : ^ULONG) -> HRESULT), | |
Cancel : (proc "stdcall" (This : ^IRpcChannelBuffer3, pMsg : ^RPCOLEMESSAGE) -> HRESULT), | |
GetCallContext : (proc "stdcall" (This : ^IRpcChannelBuffer3, pMsg : ^RPCOLEMESSAGE, riid : ^IID, pInterface : ^rawptr) -> HRESULT), | |
GetDestCtxEx : (proc "stdcall" (This : ^IRpcChannelBuffer3, pMsg : ^RPCOLEMESSAGE, pdwDestContext : ^DWORD, ppvDestContext : ^rawptr) -> HRESULT), | |
GetState : (proc "stdcall" (This : ^IRpcChannelBuffer3, pMsg : ^RPCOLEMESSAGE, pState : ^DWORD) -> HRESULT), | |
RegisterAsync : (proc "stdcall" (This : ^IRpcChannelBuffer3, pMsg : ^RPCOLEMESSAGE, pAsyncMgr : ^IAsyncManager) -> HRESULT), | |
}; | |
IRpcChannelBuffer3 :: struct { | |
lpVtbl : ^IRpcChannelBuffer3Vtbl, | |
}; | |
IRpcSyntaxNegotiateVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRpcSyntaxNegotiate, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRpcSyntaxNegotiate) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRpcSyntaxNegotiate) -> ULONG), | |
NegotiateSyntax : (proc "stdcall" (This : ^IRpcSyntaxNegotiate, pMsg : ^RPCOLEMESSAGE) -> HRESULT), | |
}; | |
IRpcSyntaxNegotiate :: struct { | |
lpVtbl : ^IRpcSyntaxNegotiateVtbl, | |
}; | |
IRpcProxyBufferVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRpcProxyBuffer, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRpcProxyBuffer) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRpcProxyBuffer) -> ULONG), | |
Connect : (proc "stdcall" (This : ^IRpcProxyBuffer, pRpcChannelBuffer : ^IRpcChannelBuffer) -> HRESULT), | |
Disconnect : proc "stdcall" (This : ^IRpcProxyBuffer), | |
}; | |
IRpcProxyBuffer :: struct { | |
lpVtbl : ^IRpcProxyBufferVtbl, | |
}; | |
IRpcStubBufferVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRpcStubBuffer, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRpcStubBuffer) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRpcStubBuffer) -> ULONG), | |
Connect : (proc "stdcall" (This : ^IRpcStubBuffer, pUnkServer : ^IUnknown) -> HRESULT), | |
Disconnect : proc "stdcall" (This : ^IRpcStubBuffer), | |
Invoke : (proc "stdcall" (This : ^IRpcStubBuffer, _prpcmsg : ^RPCOLEMESSAGE, _pRpcChannelBuffer : ^IRpcChannelBuffer) -> HRESULT), | |
IsIIDSupported : (proc "stdcall" (This : ^IRpcStubBuffer, riid : ^IID) -> ^IRpcStubBuffer), | |
CountRefs : (proc "stdcall" (This : ^IRpcStubBuffer) -> ULONG), | |
DebugServerQueryInterface : (proc "stdcall" (This : ^IRpcStubBuffer, ppv : ^rawptr) -> HRESULT), | |
DebugServerRelease : proc "stdcall" (This : ^IRpcStubBuffer, pv : rawptr), | |
}; | |
IRpcStubBuffer :: struct { | |
lpVtbl : ^IRpcStubBufferVtbl, | |
}; | |
IPSFactoryBufferVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IPSFactoryBuffer, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IPSFactoryBuffer) -> ULONG), | |
Release : (proc "stdcall" (This : ^IPSFactoryBuffer) -> ULONG), | |
CreateProxy : (proc "stdcall" (This : ^IPSFactoryBuffer, pUnkOuter : ^IUnknown, riid : ^IID, ppProxy : ^^IRpcProxyBuffer, ppv : ^rawptr) -> HRESULT), | |
CreateStub : (proc "stdcall" (This : ^IPSFactoryBuffer, riid : ^IID, pUnkServer : ^IUnknown, ppStub : ^^IRpcStubBuffer) -> HRESULT), | |
}; | |
IPSFactoryBuffer :: struct { | |
lpVtbl : ^IPSFactoryBufferVtbl, | |
}; | |
SChannelHookCallInfo :: struct { | |
iid : IID, | |
cbSize : DWORD, | |
uCausality : GUID, | |
dwServerPid : DWORD, | |
iMethod : DWORD, | |
pObject : rawptr, | |
}; | |
IChannelHookVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IChannelHook, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IChannelHook) -> ULONG), | |
Release : (proc "stdcall" (This : ^IChannelHook) -> ULONG), | |
ClientGetSize : proc "stdcall" (This : ^IChannelHook, uExtent : ^GUID, riid : ^IID, pDataSize : ^ULONG), | |
ClientFillBuffer : proc "stdcall" (This : ^IChannelHook, uExtent : ^GUID, riid : ^IID, pDataSize : ^ULONG, pDataBuffer : rawptr), | |
ClientNotify : proc "stdcall" (This : ^IChannelHook, uExtent : ^GUID, riid : ^IID, cbDataSize : ULONG, pDataBuffer : rawptr, lDataRep : DWORD, hrFault : HRESULT), | |
ServerNotify : proc "stdcall" (This : ^IChannelHook, uExtent : ^GUID, riid : ^IID, cbDataSize : ULONG, pDataBuffer : rawptr, lDataRep : DWORD), | |
ServerGetSize : proc "stdcall" (This : ^IChannelHook, uExtent : ^GUID, riid : ^IID, hrFault : HRESULT, pDataSize : ^ULONG), | |
ServerFillBuffer : proc "stdcall" (This : ^IChannelHook, uExtent : ^GUID, riid : ^IID, pDataSize : ^ULONG, pDataBuffer : rawptr, hrFault : HRESULT), | |
}; | |
IChannelHook :: struct { | |
lpVtbl : ^IChannelHookVtbl, | |
}; | |
SOLE_AUTHENTICATION_SERVICE :: struct { | |
dwAuthnSvc : DWORD, | |
dwAuthzSvc : DWORD, | |
pPrincipalName : ^OLECHAR, | |
hr : HRESULT, | |
}; | |
PSOLE_AUTHENTICATION_SERVICE :: ^SOLE_AUTHENTICATION_SERVICE; | |
/* EOLE_AUTHENTICATION_CAPABILITIES :: enum { */ | |
EOLE_AUTHENTICATION_CAPABILITIES :: _c.int; | |
EOAC_NONE :: 0; | |
EOAC_MUTUAL_AUTH :: 0x1; | |
EOAC_STATIC_CLOAKING :: 0x20; | |
EOAC_DYNAMIC_CLOAKING :: 0x40; | |
EOAC_ANY_AUTHORITY :: 0x80; | |
EOAC_MAKE_FULLSIC :: 0x100; | |
EOAC_DEFAULT :: 0x800; | |
EOAC_SECURE_REFS :: 0x2; | |
EOAC_ACCESS_CONTROL :: 0x4; | |
EOAC_APPID :: 0x8; | |
EOAC_DYNAMIC :: 0x10; | |
EOAC_REQUIRE_FULLSIC :: 0x200; | |
EOAC_AUTO_IMPERSONATE :: 0x400; | |
EOAC_DISABLE_AAA :: 0x1000; | |
EOAC_NO_CUSTOM_MARSHAL :: 0x2000; | |
EOAC_RESERVED1 :: 0x4000; | |
/* } */ | |
; | |
SOLE_AUTHENTICATION_INFO :: struct { | |
dwAuthnSvc : DWORD, | |
dwAuthzSvc : DWORD, | |
pAuthInfo : rawptr, | |
}; | |
PSOLE_AUTHENTICATION_INFO :: ^SOLE_AUTHENTICATION_INFO; | |
SOLE_AUTHENTICATION_LIST :: struct { | |
cAuthInfo : DWORD, | |
aAuthInfo : ^SOLE_AUTHENTICATION_INFO, | |
}; | |
PSOLE_AUTHENTICATION_LIST :: ^SOLE_AUTHENTICATION_LIST; | |
IClientSecurityVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IClientSecurity, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IClientSecurity) -> ULONG), | |
Release : (proc "stdcall" (This : ^IClientSecurity) -> ULONG), | |
QueryBlanket : (proc "stdcall" (This : ^IClientSecurity, pProxy : ^IUnknown, pAuthnSvc : ^DWORD, pAuthzSvc : ^DWORD, pServerPrincName : ^^OLECHAR, pAuthnLevel : ^DWORD, pImpLevel : ^DWORD, pAuthInfo : ^rawptr, pCapabilites : ^DWORD) -> HRESULT), | |
SetBlanket : (proc "stdcall" (This : ^IClientSecurity, pProxy : ^IUnknown, dwAuthnSvc : DWORD, dwAuthzSvc : DWORD, pServerPrincName : ^OLECHAR, dwAuthnLevel : DWORD, dwImpLevel : DWORD, pAuthInfo : rawptr, dwCapabilities : DWORD) -> HRESULT), | |
CopyProxy : (proc "stdcall" (This : ^IClientSecurity, pProxy : ^IUnknown, ppCopy : ^^IUnknown) -> HRESULT), | |
}; | |
IClientSecurity :: struct { | |
lpVtbl : ^IClientSecurityVtbl, | |
}; | |
IServerSecurityVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IServerSecurity, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IServerSecurity) -> ULONG), | |
Release : (proc "stdcall" (This : ^IServerSecurity) -> ULONG), | |
QueryBlanket : (proc "stdcall" (This : ^IServerSecurity, pAuthnSvc : ^DWORD, pAuthzSvc : ^DWORD, pServerPrincName : ^^OLECHAR, pAuthnLevel : ^DWORD, pImpLevel : ^DWORD, pPrivs : ^rawptr, pCapabilities : ^DWORD) -> HRESULT), | |
ImpersonateClient : (proc "stdcall" (This : ^IServerSecurity) -> HRESULT), | |
RevertToSelf : (proc "stdcall" (This : ^IServerSecurity) -> HRESULT), | |
IsImpersonating : (proc "stdcall" (This : ^IServerSecurity) -> BOOL), | |
}; | |
IServerSecurity :: struct { | |
lpVtbl : ^IServerSecurityVtbl, | |
}; | |
/* RPCOPT_PROPERTIES :: enum { */ | |
RPCOPT_PROPERTIES :: _c.int; | |
COMBND_RPCTIMEOUT :: 0x1; | |
COMBND_SERVER_LOCALITY :: 0x2; | |
COMBND_RESERVED1 :: 0x4; | |
COMBND_RESERVED2 :: 0x5; | |
COMBND_RESERVED3 :: 0x8; | |
COMBND_RESERVED4 :: 0x10; | |
/* } */ | |
; | |
/* RPCOPT_SERVER_LOCALITY_VALUES :: enum { */ | |
RPCOPT_SERVER_LOCALITY_VALUES :: _c.int; | |
SERVER_LOCALITY_PROCESS_LOCAL :: 0; | |
SERVER_LOCALITY_MACHINE_LOCAL :: 1; | |
SERVER_LOCALITY_REMOTE :: 2; | |
/* } */ | |
; | |
IRpcOptionsVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRpcOptions, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRpcOptions) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRpcOptions) -> ULONG), | |
Set : (proc "stdcall" (This : ^IRpcOptions, pPrx : ^IUnknown, dwProperty : RPCOPT_PROPERTIES, dwValue : ULONG_PTR) -> HRESULT), | |
Query : (proc "stdcall" (This : ^IRpcOptions, pPrx : ^IUnknown, dwProperty : RPCOPT_PROPERTIES, pdwValue : ^ULONG_PTR) -> HRESULT), | |
}; | |
IRpcOptions :: struct { | |
lpVtbl : ^IRpcOptionsVtbl, | |
}; | |
/* GLOBALOPT_PROPERTIES :: enum { */ | |
GLOBALOPT_PROPERTIES :: _c.int; | |
COMGLB_EXCEPTION_HANDLING :: 1; | |
COMGLB_APPID :: 2; | |
COMGLB_RPC_THREADPOOL_SETTING :: 3; | |
COMGLB_RO_SETTINGS :: 4; | |
COMGLB_UNMARSHALING_POLICY :: 5; | |
COMGLB_PROPERTIES_RESERVED1 :: 6; | |
COMGLB_PROPERTIES_RESERVED2 :: 7; | |
COMGLB_PROPERTIES_RESERVED3 :: 8; | |
/* } */ | |
; | |
/* GLOBALOPT_EH_VALUES :: enum { */ | |
GLOBALOPT_EH_VALUES :: _c.int; | |
COMGLB_EXCEPTION_HANDLE :: 0; | |
COMGLB_EXCEPTION_DONOT_HANDLE_FATAL :: 1; | |
COMGLB_EXCEPTION_DONOT_HANDLE :: COMGLB_EXCEPTION_DONOT_HANDLE_FATAL; | |
COMGLB_EXCEPTION_DONOT_HANDLE_ANY :: 2; | |
/* } */ | |
; | |
/* GLOBALOPT_RPCTP_VALUES :: enum { */ | |
GLOBALOPT_RPCTP_VALUES :: _c.int; | |
COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL :: 0; | |
COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL :: 1; | |
/* } */ | |
; | |
/* GLOBALOPT_RO_FLAGS :: enum { */ | |
GLOBALOPT_RO_FLAGS :: _c.int; | |
COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES :: 0x1; | |
COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES :: 0x2; | |
COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES :: 0x4; | |
COMGLB_FAST_RUNDOWN :: 0x8; | |
COMGLB_RESERVED1 :: 0x10; | |
COMGLB_RESERVED2 :: 0x20; | |
COMGLB_RESERVED3 :: 0x40; | |
COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES :: 0x80; | |
COMGLB_RESERVED4 :: 0x100; | |
COMGLB_RESERVED5 :: 0x200; | |
COMGLB_RESERVED6 :: 0x400; | |
/* } */ | |
; | |
/* GLOBALOPT_UNMARSHALING_POLICY_VALUES :: enum { */ | |
GLOBALOPT_UNMARSHALING_POLICY_VALUES :: _c.int; | |
COMGLB_UNMARSHALING_POLICY_NORMAL :: 0; | |
COMGLB_UNMARSHALING_POLICY_STRONG :: 1; | |
COMGLB_UNMARSHALING_POLICY_HYBRID :: 2; | |
/* } */ | |
; | |
IGlobalOptionsVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IGlobalOptions, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IGlobalOptions) -> ULONG), | |
Release : (proc "stdcall" (This : ^IGlobalOptions) -> ULONG), | |
Set : (proc "stdcall" (This : ^IGlobalOptions, dwProperty : GLOBALOPT_PROPERTIES, dwValue : ULONG_PTR) -> HRESULT), | |
Query : (proc "stdcall" (This : ^IGlobalOptions, dwProperty : GLOBALOPT_PROPERTIES, pdwValue : ^ULONG_PTR) -> HRESULT), | |
}; | |
IGlobalOptions :: struct { | |
lpVtbl : ^IGlobalOptionsVtbl, | |
}; | |
LPSURROGATE :: ^ISurrogate; | |
ISurrogateVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ISurrogate, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ISurrogate) -> ULONG), | |
Release : (proc "stdcall" (This : ^ISurrogate) -> ULONG), | |
LoadDllServer : (proc "stdcall" (This : ^ISurrogate, Clsid : ^IID) -> HRESULT), | |
FreeSurrogate : (proc "stdcall" (This : ^ISurrogate) -> HRESULT), | |
}; | |
ISurrogate :: struct { | |
lpVtbl : ^ISurrogateVtbl, | |
}; | |
LPGLOBALINTERFACETABLE :: ^IGlobalInterfaceTable; | |
IGlobalInterfaceTableVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IGlobalInterfaceTable, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IGlobalInterfaceTable) -> ULONG), | |
Release : (proc "stdcall" (This : ^IGlobalInterfaceTable) -> ULONG), | |
RegisterInterfaceInGlobal : (proc "stdcall" (This : ^IGlobalInterfaceTable, pUnk : ^IUnknown, riid : ^IID, pdwCookie : ^DWORD) -> HRESULT), | |
RevokeInterfaceFromGlobal : (proc "stdcall" (This : ^IGlobalInterfaceTable, dwCookie : DWORD) -> HRESULT), | |
GetInterfaceFromGlobal : (proc "stdcall" (This : ^IGlobalInterfaceTable, dwCookie : DWORD, riid : ^IID, ppv : ^rawptr) -> HRESULT), | |
}; | |
IGlobalInterfaceTable :: struct { | |
lpVtbl : ^IGlobalInterfaceTableVtbl, | |
}; | |
ISynchronizeVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ISynchronize, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ISynchronize) -> ULONG), | |
Release : (proc "stdcall" (This : ^ISynchronize) -> ULONG), | |
Wait : (proc "stdcall" (This : ^ISynchronize, dwFlags : DWORD, dwMilliseconds : DWORD) -> HRESULT), | |
Signal : (proc "stdcall" (This : ^ISynchronize) -> HRESULT), | |
Reset : (proc "stdcall" (This : ^ISynchronize) -> HRESULT), | |
}; | |
ISynchronize :: struct { | |
lpVtbl : ^ISynchronizeVtbl, | |
}; | |
ISynchronizeHandleVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ISynchronizeHandle, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ISynchronizeHandle) -> ULONG), | |
Release : (proc "stdcall" (This : ^ISynchronizeHandle) -> ULONG), | |
GetHandle : (proc "stdcall" (This : ^ISynchronizeHandle, ph : ^HANDLE) -> HRESULT), | |
}; | |
ISynchronizeHandle :: struct { | |
lpVtbl : ^ISynchronizeHandleVtbl, | |
}; | |
ISynchronizeEventVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ISynchronizeEvent, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ISynchronizeEvent) -> ULONG), | |
Release : (proc "stdcall" (This : ^ISynchronizeEvent) -> ULONG), | |
GetHandle : (proc "stdcall" (This : ^ISynchronizeEvent, ph : ^HANDLE) -> HRESULT), | |
SetEventHandle : (proc "stdcall" (This : ^ISynchronizeEvent, ph : ^HANDLE) -> HRESULT), | |
}; | |
ISynchronizeEvent :: struct { | |
lpVtbl : ^ISynchronizeEventVtbl, | |
}; | |
ISynchronizeContainerVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ISynchronizeContainer, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ISynchronizeContainer) -> ULONG), | |
Release : (proc "stdcall" (This : ^ISynchronizeContainer) -> ULONG), | |
AddSynchronize : (proc "stdcall" (This : ^ISynchronizeContainer, pSync : ^ISynchronize) -> HRESULT), | |
WaitMultiple : (proc "stdcall" (This : ^ISynchronizeContainer, dwFlags : DWORD, dwTimeOut : DWORD, ppSync : ^^ISynchronize) -> HRESULT), | |
}; | |
ISynchronizeContainer :: struct { | |
lpVtbl : ^ISynchronizeContainerVtbl, | |
}; | |
ISynchronizeMutexVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ISynchronizeMutex, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ISynchronizeMutex) -> ULONG), | |
Release : (proc "stdcall" (This : ^ISynchronizeMutex) -> ULONG), | |
Wait : (proc "stdcall" (This : ^ISynchronizeMutex, dwFlags : DWORD, dwMilliseconds : DWORD) -> HRESULT), | |
Signal : (proc "stdcall" (This : ^ISynchronizeMutex) -> HRESULT), | |
Reset : (proc "stdcall" (This : ^ISynchronizeMutex) -> HRESULT), | |
ReleaseMutex : (proc "stdcall" (This : ^ISynchronizeMutex) -> HRESULT), | |
}; | |
ISynchronizeMutex :: struct { | |
lpVtbl : ^ISynchronizeMutexVtbl, | |
}; | |
LPCANCELMETHODCALLS :: ^ICancelMethodCalls; | |
ICancelMethodCallsVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ICancelMethodCalls, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ICancelMethodCalls) -> ULONG), | |
Release : (proc "stdcall" (This : ^ICancelMethodCalls) -> ULONG), | |
Cancel : (proc "stdcall" (This : ^ICancelMethodCalls, ulSeconds : ULONG) -> HRESULT), | |
TestCancel : (proc "stdcall" (This : ^ICancelMethodCalls) -> HRESULT), | |
}; | |
ICancelMethodCalls :: struct { | |
lpVtbl : ^ICancelMethodCallsVtbl, | |
}; | |
/* DCOM_CALL_STATE :: enum { */ | |
DCOM_CALL_STATE :: _c.int; | |
DCOM_NONE :: 0; | |
DCOM_CALL_COMPLETE :: 0x1; | |
DCOM_CALL_CANCELED :: 0x2; | |
/* } */ | |
; | |
IAsyncManagerVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IAsyncManager, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IAsyncManager) -> ULONG), | |
Release : (proc "stdcall" (This : ^IAsyncManager) -> ULONG), | |
CompleteCall : (proc "stdcall" (This : ^IAsyncManager, Result : HRESULT) -> HRESULT), | |
GetCallContext : (proc "stdcall" (This : ^IAsyncManager, riid : ^IID, pInterface : ^rawptr) -> HRESULT), | |
GetState : (proc "stdcall" (This : ^IAsyncManager, pulStateFlags : ^ULONG) -> HRESULT), | |
}; | |
IAsyncManager :: struct { | |
lpVtbl : ^IAsyncManagerVtbl, | |
}; | |
ICallFactoryVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ICallFactory, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ICallFactory) -> ULONG), | |
Release : (proc "stdcall" (This : ^ICallFactory) -> ULONG), | |
CreateCall : (proc "stdcall" (This : ^ICallFactory, riid : ^IID, pCtrlUnk : ^IUnknown, riid2 : ^IID, ppv : ^^IUnknown) -> HRESULT), | |
}; | |
ICallFactory :: struct { | |
lpVtbl : ^ICallFactoryVtbl, | |
}; | |
IRpcHelperVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRpcHelper, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRpcHelper) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRpcHelper) -> ULONG), | |
GetDCOMProtocolVersion : (proc "stdcall" (This : ^IRpcHelper, pComVersion : ^DWORD) -> HRESULT), | |
GetIIDFromOBJREF : (proc "stdcall" (This : ^IRpcHelper, pObjRef : rawptr, piid : ^^IID) -> HRESULT), | |
}; | |
IRpcHelper :: struct { | |
lpVtbl : ^IRpcHelperVtbl, | |
}; | |
IReleaseMarshalBuffersVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IReleaseMarshalBuffers, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IReleaseMarshalBuffers) -> ULONG), | |
Release : (proc "stdcall" (This : ^IReleaseMarshalBuffers) -> ULONG), | |
ReleaseMarshalBuffer : (proc "stdcall" (This : ^IReleaseMarshalBuffers, pMsg : ^RPCOLEMESSAGE, dwFlags : DWORD, pChnl : ^IUnknown) -> HRESULT), | |
}; | |
IReleaseMarshalBuffers :: struct { | |
lpVtbl : ^IReleaseMarshalBuffersVtbl, | |
}; | |
IWaitMultipleVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IWaitMultiple, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IWaitMultiple) -> ULONG), | |
Release : (proc "stdcall" (This : ^IWaitMultiple) -> ULONG), | |
WaitMultiple : (proc "stdcall" (This : ^IWaitMultiple, timeout : DWORD, pSync : ^^ISynchronize) -> HRESULT), | |
AddSynchronize : (proc "stdcall" (This : ^IWaitMultiple, pSync : ^ISynchronize) -> HRESULT), | |
}; | |
IWaitMultiple :: struct { | |
lpVtbl : ^IWaitMultipleVtbl, | |
}; | |
LPADDRTRACKINGCONTROL :: ^IAddrTrackingControl; | |
IAddrTrackingControlVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IAddrTrackingControl, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IAddrTrackingControl) -> ULONG), | |
Release : (proc "stdcall" (This : ^IAddrTrackingControl) -> ULONG), | |
EnableCOMDynamicAddrTracking : (proc "stdcall" (This : ^IAddrTrackingControl) -> HRESULT), | |
DisableCOMDynamicAddrTracking : (proc "stdcall" (This : ^IAddrTrackingControl) -> HRESULT), | |
}; | |
IAddrTrackingControl :: struct { | |
lpVtbl : ^IAddrTrackingControlVtbl, | |
}; | |
LPADDREXCLUSIONCONTROL :: ^IAddrExclusionControl; | |
IAddrExclusionControlVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IAddrExclusionControl, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IAddrExclusionControl) -> ULONG), | |
Release : (proc "stdcall" (This : ^IAddrExclusionControl) -> ULONG), | |
GetCurrentAddrExclusionList : (proc "stdcall" (This : ^IAddrExclusionControl, riid : ^IID, ppEnumerator : ^rawptr) -> HRESULT), | |
UpdateAddrExclusionList : (proc "stdcall" (This : ^IAddrExclusionControl, pEnumerator : ^IUnknown) -> HRESULT), | |
}; | |
IAddrExclusionControl :: struct { | |
lpVtbl : ^IAddrExclusionControlVtbl, | |
}; | |
IPipeByteVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IPipeByte, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IPipeByte) -> ULONG), | |
Release : (proc "stdcall" (This : ^IPipeByte) -> ULONG), | |
Pull : (proc "stdcall" (This : ^IPipeByte, buf : ^BYTE, cRequest : ULONG, pcReturned : ^ULONG) -> HRESULT), | |
Push : (proc "stdcall" (This : ^IPipeByte, buf : ^BYTE, cSent : ULONG) -> HRESULT), | |
}; | |
IPipeByte :: struct { | |
lpVtbl : ^IPipeByteVtbl, | |
}; | |
AsyncIPipeByteVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^AsyncIPipeByte, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^AsyncIPipeByte) -> ULONG), | |
Release : (proc "stdcall" (This : ^AsyncIPipeByte) -> ULONG), | |
Begin_Pull : (proc "stdcall" (This : ^AsyncIPipeByte, cRequest : ULONG) -> HRESULT), | |
Finish_Pull : (proc "stdcall" (This : ^AsyncIPipeByte, buf : ^BYTE, pcReturned : ^ULONG) -> HRESULT), | |
Begin_Push : (proc "stdcall" (This : ^AsyncIPipeByte, buf : ^BYTE, cSent : ULONG) -> HRESULT), | |
Finish_Push : (proc "stdcall" (This : ^AsyncIPipeByte) -> HRESULT), | |
}; | |
AsyncIPipeByte :: struct { | |
lpVtbl : ^AsyncIPipeByteVtbl, | |
}; | |
IPipeLongVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IPipeLong, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IPipeLong) -> ULONG), | |
Release : (proc "stdcall" (This : ^IPipeLong) -> ULONG), | |
Pull : (proc "stdcall" (This : ^IPipeLong, buf : ^LONG, cRequest : ULONG, pcReturned : ^ULONG) -> HRESULT), | |
Push : (proc "stdcall" (This : ^IPipeLong, buf : ^LONG, cSent : ULONG) -> HRESULT), | |
}; | |
IPipeLong :: struct { | |
lpVtbl : ^IPipeLongVtbl, | |
}; | |
AsyncIPipeLongVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^AsyncIPipeLong, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^AsyncIPipeLong) -> ULONG), | |
Release : (proc "stdcall" (This : ^AsyncIPipeLong) -> ULONG), | |
Begin_Pull : (proc "stdcall" (This : ^AsyncIPipeLong, cRequest : ULONG) -> HRESULT), | |
Finish_Pull : (proc "stdcall" (This : ^AsyncIPipeLong, buf : ^LONG, pcReturned : ^ULONG) -> HRESULT), | |
Begin_Push : (proc "stdcall" (This : ^AsyncIPipeLong, buf : ^LONG, cSent : ULONG) -> HRESULT), | |
Finish_Push : (proc "stdcall" (This : ^AsyncIPipeLong) -> HRESULT), | |
}; | |
AsyncIPipeLong :: struct { | |
lpVtbl : ^AsyncIPipeLongVtbl, | |
}; | |
IPipeDoubleVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IPipeDouble, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IPipeDouble) -> ULONG), | |
Release : (proc "stdcall" (This : ^IPipeDouble) -> ULONG), | |
Pull : (proc "stdcall" (This : ^IPipeDouble, buf : ^DOUBLE, cRequest : ULONG, pcReturned : ^ULONG) -> HRESULT), | |
Push : (proc "stdcall" (This : ^IPipeDouble, buf : ^DOUBLE, cSent : ULONG) -> HRESULT), | |
}; | |
IPipeDouble :: struct { | |
lpVtbl : ^IPipeDoubleVtbl, | |
}; | |
AsyncIPipeDoubleVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^AsyncIPipeDouble, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^AsyncIPipeDouble) -> ULONG), | |
Release : (proc "stdcall" (This : ^AsyncIPipeDouble) -> ULONG), | |
Begin_Pull : (proc "stdcall" (This : ^AsyncIPipeDouble, cRequest : ULONG) -> HRESULT), | |
Finish_Pull : (proc "stdcall" (This : ^AsyncIPipeDouble, buf : ^DOUBLE, pcReturned : ^ULONG) -> HRESULT), | |
Begin_Push : (proc "stdcall" (This : ^AsyncIPipeDouble, buf : ^DOUBLE, cSent : ULONG) -> HRESULT), | |
Finish_Push : (proc "stdcall" (This : ^AsyncIPipeDouble) -> HRESULT), | |
}; | |
AsyncIPipeDouble :: struct { | |
lpVtbl : ^AsyncIPipeDoubleVtbl, | |
}; | |
/* APTTYPEQUALIFIER :: enum { */ | |
APTTYPEQUALIFIER :: _c.int; | |
APTTYPEQUALIFIER_NONE :: 0; | |
APTTYPEQUALIFIER_IMPLICIT_MTA :: 1; | |
APTTYPEQUALIFIER_NA_ON_MTA :: 2; | |
APTTYPEQUALIFIER_NA_ON_STA :: 3; | |
APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA :: 4; | |
APTTYPEQUALIFIER_NA_ON_MAINSTA :: 5; | |
APTTYPEQUALIFIER_APPLICATION_STA :: 6; | |
APTTYPEQUALIFIER_RESERVED_1 :: 7; | |
/* } */ | |
; | |
/* APTTYPE :: enum { */ | |
APTTYPE :: _c.int; | |
APTTYPE_CURRENT :: -1; | |
APTTYPE_STA :: 0; | |
APTTYPE_MTA :: 1; | |
APTTYPE_NA :: 2; | |
APTTYPE_MAINSTA :: 3; | |
/* } */ | |
; | |
/* THDTYPE :: enum { */ | |
THDTYPE :: _c.int; | |
THDTYPE_BLOCKMESSAGES :: 0; | |
THDTYPE_PROCESSMESSAGES :: 1; | |
/* } */ | |
; | |
APARTMENTID :: DWORD; | |
IComThreadingInfoVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IComThreadingInfo, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IComThreadingInfo) -> ULONG), | |
Release : (proc "stdcall" (This : ^IComThreadingInfo) -> ULONG), | |
GetCurrentApartmentType : (proc "stdcall" (This : ^IComThreadingInfo, pAptType : ^APTTYPE) -> HRESULT), | |
GetCurrentThreadType : (proc "stdcall" (This : ^IComThreadingInfo, pThreadType : ^THDTYPE) -> HRESULT), | |
GetCurrentLogicalThreadId : (proc "stdcall" (This : ^IComThreadingInfo, pguidLogicalThreadId : ^GUID) -> HRESULT), | |
SetCurrentLogicalThreadId : (proc "stdcall" (This : ^IComThreadingInfo, rguid : ^GUID) -> HRESULT), | |
}; | |
IComThreadingInfo :: struct { | |
lpVtbl : ^IComThreadingInfoVtbl, | |
}; | |
IProcessInitControlVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IProcessInitControl, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IProcessInitControl) -> ULONG), | |
Release : (proc "stdcall" (This : ^IProcessInitControl) -> ULONG), | |
ResetInitializerTimeout : (proc "stdcall" (This : ^IProcessInitControl, dwSecondsRemaining : DWORD) -> HRESULT), | |
}; | |
IProcessInitControl :: struct { | |
lpVtbl : ^IProcessInitControlVtbl, | |
}; | |
IFastRundownVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IFastRundown, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IFastRundown) -> ULONG), | |
Release : (proc "stdcall" (This : ^IFastRundown) -> ULONG), | |
}; | |
IFastRundown :: struct { | |
lpVtbl : ^IFastRundownVtbl, | |
}; | |
/* CO_MARSHALING_CONTEXT_ATTRIBUTES :: enum { */ | |
CO_MARSHALING_CONTEXT_ATTRIBUTES :: _c.int; | |
CO_MARSHALING_SOURCE_IS_APP_CONTAINER :: 0; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_1 :: 0x80000000; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_2 :: 0x80000001; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_3 :: 0x80000002; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_4 :: 0x80000003; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_5 :: 0x80000004; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_6 :: 0x80000005; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_7 :: 0x80000006; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_8 :: 0x80000007; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_9 :: 0x80000008; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_10 :: 0x80000009; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_11 :: 0x8000000a; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_12 :: 0x8000000b; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_13 :: 0x8000000c; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_14 :: 0x8000000d; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_15 :: 0x8000000e; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_16 :: 0x8000000f; | |
CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_17 :: 0x80000010; | |
/* } */ | |
; | |
IMarshalingStreamVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IMarshalingStream, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IMarshalingStream) -> ULONG), | |
Release : (proc "stdcall" (This : ^IMarshalingStream) -> ULONG), | |
Read : (proc "stdcall" (This : ^IMarshalingStream, pv : rawptr, cb : ULONG, pcbRead : ^ULONG) -> HRESULT), | |
Write : (proc "stdcall" (This : ^IMarshalingStream, pv : rawptr, cb : ULONG, pcbWritten : ^ULONG) -> HRESULT), | |
Seek : (proc "stdcall" (This : ^IMarshalingStream, dlibMove : LARGE_INTEGER, dwOrigin : DWORD, plibNewPosition : ^ULARGE_INTEGER) -> HRESULT), | |
SetSize : (proc "stdcall" (This : ^IMarshalingStream, libNewSize : ULARGE_INTEGER) -> HRESULT), | |
CopyTo : (proc "stdcall" (This : ^IMarshalingStream, pstm : ^IStream, cb : ULARGE_INTEGER, pcbRead : ^ULARGE_INTEGER, pcbWritten : ^ULARGE_INTEGER) -> HRESULT), | |
Commit : (proc "stdcall" (This : ^IMarshalingStream, grfCommitFlags : DWORD) -> HRESULT), | |
Revert : (proc "stdcall" (This : ^IMarshalingStream) -> HRESULT), | |
LockRegion : (proc "stdcall" (This : ^IMarshalingStream, libOffset : ULARGE_INTEGER, cb : ULARGE_INTEGER, dwLockType : DWORD) -> HRESULT), | |
UnlockRegion : (proc "stdcall" (This : ^IMarshalingStream, libOffset : ULARGE_INTEGER, cb : ULARGE_INTEGER, dwLockType : DWORD) -> HRESULT), | |
Stat : (proc "stdcall" (This : ^IMarshalingStream, pstatstg : ^STATSTG, grfStatFlag : DWORD) -> HRESULT), | |
Clone : (proc "stdcall" (This : ^IMarshalingStream, ppstm : ^^IStream) -> HRESULT), | |
GetMarshalingContextAttribute : (proc "stdcall" (This : ^IMarshalingStream, attribute : CO_MARSHALING_CONTEXT_ATTRIBUTES, pAttributeValue : ^ULONG_PTR) -> HRESULT), | |
}; | |
IMarshalingStream :: struct { | |
lpVtbl : ^IMarshalingStreamVtbl, | |
}; | |
IAgileReferenceVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IAgileReference, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IAgileReference) -> ULONG), | |
Release : (proc "stdcall" (This : ^IAgileReference) -> ULONG), | |
Resolve : (proc "stdcall" (This : ^IAgileReference, riid : ^IID, ppvObjectReference : ^rawptr) -> HRESULT), | |
}; | |
IAgileReference :: struct { | |
lpVtbl : ^IAgileReferenceVtbl, | |
}; | |
ServerInformation :: struct { | |
dwServerPid : DWORD, | |
dwServerTid : DWORD, | |
ui64ServerAddress : UINT64, | |
}; | |
PServerInformation :: ^ServerInformation; | |
CO_MTA_USAGE_COOKIE__ :: struct { | |
unused : _c.int, | |
}; | |
CO_MTA_USAGE_COOKIE :: ^CO_MTA_USAGE_COOKIE__; | |
/* STDMSHLFLAGS :: enum { */ | |
STDMSHLFLAGS :: _c.int; | |
SMEXF_SERVER :: 0x01; | |
SMEXF_HANDLER :: 0x02; | |
/* } */ | |
; | |
PROPVARIANT :: struct {}; | |
/* COWAIT_FLAGS :: enum { */ | |
COWAIT_FLAGS :: _c.int; | |
COWAIT_DEFAULT :: 0; | |
COWAIT_WAITALL :: 1; | |
COWAIT_ALERTABLE :: 2; | |
COWAIT_INPUTAVAILABLE :: 4; | |
COWAIT_DISPATCH_CALLS :: 8; | |
COWAIT_DISPATCH_WINDOW_MESSAGES :: 0x10; | |
/* } */ | |
; | |
/* CWMO_FLAGS :: enum { */ | |
CWMO_FLAGS :: _c.int; | |
CWMO_DEFAULT :: 0; | |
CWMO_DISPATCH_CALLS :: 1; | |
CWMO_DISPATCH_WINDOW_MESSAGES :: 2; | |
/* } */ | |
; | |
/* AgileReferenceOptions :: enum { */ | |
AgileReferenceOptions :: _c.int; | |
AGILEREFERENCE_DEFAULT :: 0; | |
AGILEREFERENCE_DELAYEDMARSHAL :: 1; | |
/* } */ | |
; | |
LPFNGETCLASSOBJECT :: (proc "stdcall" (^IID, ^IID, ^LPVOID) -> HRESULT); | |
LPFNCANUNLOADNOW :: (proc "stdcall" () -> HRESULT); | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
LPMALLOCSPY :: ^IMallocSpy; | |
IMallocSpyVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IMallocSpy, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IMallocSpy) -> ULONG), | |
Release : (proc "stdcall" (This : ^IMallocSpy) -> ULONG), | |
PreAlloc : (proc "stdcall" (This : ^IMallocSpy, cbRequest : SIZE_T) -> SIZE_T), | |
PostAlloc : (proc "stdcall" (This : ^IMallocSpy, pActual : rawptr) -> rawptr), | |
PreFree : (proc "stdcall" (This : ^IMallocSpy, pRequest : rawptr, fSpyed : BOOL) -> rawptr), | |
PostFree : proc "stdcall" (This : ^IMallocSpy, fSpyed : BOOL), | |
PreRealloc : (proc "stdcall" (This : ^IMallocSpy, pRequest : rawptr, cbRequest : SIZE_T, ppNewRequest : ^rawptr, fSpyed : BOOL) -> SIZE_T), | |
PostRealloc : (proc "stdcall" (This : ^IMallocSpy, pActual : rawptr, fSpyed : BOOL) -> rawptr), | |
PreGetSize : (proc "stdcall" (This : ^IMallocSpy, pRequest : rawptr, fSpyed : BOOL) -> rawptr), | |
PostGetSize : (proc "stdcall" (This : ^IMallocSpy, cbActual : SIZE_T, fSpyed : BOOL) -> SIZE_T), | |
PreDidAlloc : (proc "stdcall" (This : ^IMallocSpy, pRequest : rawptr, fSpyed : BOOL) -> rawptr), | |
PostDidAlloc : (proc "stdcall" (This : ^IMallocSpy, pRequest : rawptr, fSpyed : BOOL, fActual : _c.int) -> _c.int), | |
PreHeapMinimize : proc "stdcall" (This : ^IMallocSpy), | |
PostHeapMinimize : proc "stdcall" (This : ^IMallocSpy), | |
}; | |
IMallocSpy :: struct { | |
lpVtbl : ^IMallocSpyVtbl, | |
}; | |
LPBC :: ^IBindCtx; | |
LPBINDCTX :: ^IBindCtx; | |
BIND_OPTS :: struct { | |
cbStruct : DWORD, | |
grfFlags : DWORD, | |
grfMode : DWORD, | |
dwTickCountDeadline : DWORD, | |
}; | |
LPBIND_OPTS :: ^BIND_OPTS; | |
BIND_OPTS2 :: struct { | |
cbStruct : DWORD, | |
grfFlags : DWORD, | |
grfMode : DWORD, | |
dwTickCountDeadline : DWORD, | |
dwTrackFlags : DWORD, | |
dwClassContext : DWORD, | |
locale : LCID, | |
pServerInfo : ^COSERVERINFO, | |
}; | |
LPBIND_OPTS2 :: ^BIND_OPTS2; | |
BIND_OPTS3 :: struct { | |
cbStruct : DWORD, | |
grfFlags : DWORD, | |
grfMode : DWORD, | |
dwTickCountDeadline : DWORD, | |
dwTrackFlags : DWORD, | |
dwClassContext : DWORD, | |
locale : LCID, | |
pServerInfo : ^COSERVERINFO, | |
hwnd : HWND, | |
}; | |
LPBIND_OPTS3 :: ^BIND_OPTS3; | |
/* BIND_FLAGS :: enum { */ | |
BIND_FLAGS :: _c.int; | |
BIND_MAYBOTHERUSER :: 1; | |
BIND_JUSTTESTEXISTENCE :: 2; | |
/* } */ | |
; | |
IBindCtxVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IBindCtx, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IBindCtx) -> ULONG), | |
Release : (proc "stdcall" (This : ^IBindCtx) -> ULONG), | |
RegisterObjectBound : (proc "stdcall" (This : ^IBindCtx, punk : ^IUnknown) -> HRESULT), | |
RevokeObjectBound : (proc "stdcall" (This : ^IBindCtx, punk : ^IUnknown) -> HRESULT), | |
ReleaseBoundObjects : (proc "stdcall" (This : ^IBindCtx) -> HRESULT), | |
SetBindOptions : (proc "stdcall" (This : ^IBindCtx, pbindopts : ^BIND_OPTS) -> HRESULT), | |
GetBindOptions : (proc "stdcall" (This : ^IBindCtx, pbindopts : ^BIND_OPTS) -> HRESULT), | |
GetRunningObjectTable : (proc "stdcall" (This : ^IBindCtx, pprot : ^^IRunningObjectTable) -> HRESULT), | |
RegisterObjectParam : (proc "stdcall" (This : ^IBindCtx, pszKey : LPOLESTR, punk : ^IUnknown) -> HRESULT), | |
GetObjectParam : (proc "stdcall" (This : ^IBindCtx, pszKey : LPOLESTR, ppunk : ^^IUnknown) -> HRESULT), | |
EnumObjectParam : (proc "stdcall" (This : ^IBindCtx, ppenum : ^^IEnumString) -> HRESULT), | |
RevokeObjectParam : (proc "stdcall" (This : ^IBindCtx, pszKey : LPOLESTR) -> HRESULT), | |
}; | |
IBindCtx :: struct { | |
lpVtbl : ^IBindCtxVtbl, | |
}; | |
LPENUMMONIKER :: ^IEnumMoniker; | |
IEnumMonikerVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IEnumMoniker, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IEnumMoniker) -> ULONG), | |
Release : (proc "stdcall" (This : ^IEnumMoniker) -> ULONG), | |
Next : (proc "stdcall" (This : ^IEnumMoniker, celt : ULONG, rgelt : ^^IMoniker, pceltFetched : ^ULONG) -> HRESULT), | |
Skip : (proc "stdcall" (This : ^IEnumMoniker, celt : ULONG) -> HRESULT), | |
Reset : (proc "stdcall" (This : ^IEnumMoniker) -> HRESULT), | |
Clone : (proc "stdcall" (This : ^IEnumMoniker, ppenum : ^^IEnumMoniker) -> HRESULT), | |
}; | |
IEnumMoniker :: struct { | |
lpVtbl : ^IEnumMonikerVtbl, | |
}; | |
LPRUNNABLEOBJECT :: ^IRunnableObject; | |
IRunnableObjectVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRunnableObject, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRunnableObject) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRunnableObject) -> ULONG), | |
GetRunningClass : (proc "stdcall" (This : ^IRunnableObject, lpClsid : LPCLSID) -> HRESULT), | |
Run : (proc "stdcall" (This : ^IRunnableObject, pbc : LPBINDCTX) -> HRESULT), | |
IsRunning : (proc "stdcall" (This : ^IRunnableObject) -> BOOL), | |
LockRunning : (proc "stdcall" (This : ^IRunnableObject, fLock : BOOL, fLastUnlockCloses : BOOL) -> HRESULT), | |
SetContainedObject : (proc "stdcall" (This : ^IRunnableObject, fContained : BOOL) -> HRESULT), | |
}; | |
IRunnableObject :: struct { | |
lpVtbl : ^IRunnableObjectVtbl, | |
}; | |
LPRUNNINGOBJECTTABLE :: ^IRunningObjectTable; | |
IRunningObjectTableVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRunningObjectTable, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRunningObjectTable) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRunningObjectTable) -> ULONG), | |
Register : (proc "stdcall" (This : ^IRunningObjectTable, grfFlags : DWORD, punkObject : ^IUnknown, pmkObjectName : ^IMoniker, pdwRegister : ^DWORD) -> HRESULT), | |
Revoke : (proc "stdcall" (This : ^IRunningObjectTable, dwRegister : DWORD) -> HRESULT), | |
IsRunning : (proc "stdcall" (This : ^IRunningObjectTable, pmkObjectName : ^IMoniker) -> HRESULT), | |
GetObjectA : (proc "stdcall" (This : ^IRunningObjectTable, pmkObjectName : ^IMoniker, ppunkObject : ^^IUnknown) -> HRESULT), | |
NoteChangeTime : (proc "stdcall" (This : ^IRunningObjectTable, dwRegister : DWORD, pfiletime : ^FILETIME) -> HRESULT), | |
GetTimeOfLastChange : (proc "stdcall" (This : ^IRunningObjectTable, pmkObjectName : ^IMoniker, pfiletime : ^FILETIME) -> HRESULT), | |
EnumRunning : (proc "stdcall" (This : ^IRunningObjectTable, ppenumMoniker : ^^IEnumMoniker) -> HRESULT), | |
}; | |
IRunningObjectTable :: struct { | |
lpVtbl : ^IRunningObjectTableVtbl, | |
}; | |
LPPERSIST :: ^IPersist; | |
IPersistVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IPersist, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IPersist) -> ULONG), | |
Release : (proc "stdcall" (This : ^IPersist) -> ULONG), | |
GetClassID : (proc "stdcall" (This : ^IPersist, pClassID : ^CLSID) -> HRESULT), | |
}; | |
IPersist :: struct { | |
lpVtbl : ^IPersistVtbl, | |
}; | |
LPPERSISTSTREAM :: ^IPersistStream; | |
IPersistStreamVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IPersistStream, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IPersistStream) -> ULONG), | |
Release : (proc "stdcall" (This : ^IPersistStream) -> ULONG), | |
GetClassID : (proc "stdcall" (This : ^IPersistStream, pClassID : ^CLSID) -> HRESULT), | |
IsDirty : (proc "stdcall" (This : ^IPersistStream) -> HRESULT), | |
Load : (proc "stdcall" (This : ^IPersistStream, pStm : ^IStream) -> HRESULT), | |
Save : (proc "stdcall" (This : ^IPersistStream, pStm : ^IStream, fClearDirty : BOOL) -> HRESULT), | |
GetSizeMax : (proc "stdcall" (This : ^IPersistStream, pcbSize : ^ULARGE_INTEGER) -> HRESULT), | |
}; | |
IPersistStream :: struct { | |
lpVtbl : ^IPersistStreamVtbl, | |
}; | |
LPMONIKER :: ^IMoniker; | |
/* MKSYS :: enum { */ | |
MKSYS :: _c.int; | |
MKSYS_NONE :: 0; | |
MKSYS_GENERICCOMPOSITE :: 1; | |
MKSYS_FILEMONIKER :: 2; | |
MKSYS_ANTIMONIKER :: 3; | |
MKSYS_ITEMMONIKER :: 4; | |
MKSYS_POINTERMONIKER :: 5; | |
MKSYS_CLASSMONIKER :: 7; | |
MKSYS_OBJREFMONIKER :: 8; | |
MKSYS_SESSIONMONIKER :: 9; | |
MKSYS_LUAMONIKER :: 10; | |
/* } */ | |
; | |
/* MKRREDUCE :: enum { */ | |
MKRREDUCE :: _c.int; | |
MKRREDUCE_ONE :: (3 << 16); | |
MKRREDUCE_TOUSER :: (2 << 16); | |
MKRREDUCE_THROUGHUSER :: (1 << 16); | |
MKRREDUCE_ALL :: 0; | |
/* } */ | |
; | |
IMonikerVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IMoniker, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IMoniker) -> ULONG), | |
Release : (proc "stdcall" (This : ^IMoniker) -> ULONG), | |
GetClassID : (proc "stdcall" (This : ^IMoniker, pClassID : ^CLSID) -> HRESULT), | |
IsDirty : (proc "stdcall" (This : ^IMoniker) -> HRESULT), | |
Load : (proc "stdcall" (This : ^IMoniker, pStm : ^IStream) -> HRESULT), | |
Save : (proc "stdcall" (This : ^IMoniker, pStm : ^IStream, fClearDirty : BOOL) -> HRESULT), | |
GetSizeMax : (proc "stdcall" (This : ^IMoniker, pcbSize : ^ULARGE_INTEGER) -> HRESULT), | |
BindToObject : (proc "stdcall" (This : ^IMoniker, pbc : ^IBindCtx, pmkToLeft : ^IMoniker, riidResult : ^IID, ppvResult : ^rawptr) -> HRESULT), | |
BindToStorage : (proc "stdcall" (This : ^IMoniker, pbc : ^IBindCtx, pmkToLeft : ^IMoniker, riid : ^IID, ppvObj : ^rawptr) -> HRESULT), | |
Reduce : (proc "stdcall" (This : ^IMoniker, pbc : ^IBindCtx, dwReduceHowFar : DWORD, ppmkToLeft : ^^IMoniker, ppmkReduced : ^^IMoniker) -> HRESULT), | |
ComposeWith : (proc "stdcall" (This : ^IMoniker, pmkRight : ^IMoniker, fOnlyIfNotGeneric : BOOL, ppmkComposite : ^^IMoniker) -> HRESULT), | |
Enum : (proc "stdcall" (This : ^IMoniker, fForward : BOOL, ppenumMoniker : ^^IEnumMoniker) -> HRESULT), | |
IsEqual : (proc "stdcall" (This : ^IMoniker, pmkOtherMoniker : ^IMoniker) -> HRESULT), | |
Hash : (proc "stdcall" (This : ^IMoniker, pdwHash : ^DWORD) -> HRESULT), | |
IsRunning : (proc "stdcall" (This : ^IMoniker, pbc : ^IBindCtx, pmkToLeft : ^IMoniker, pmkNewlyRunning : ^IMoniker) -> HRESULT), | |
GetTimeOfLastChange : (proc "stdcall" (This : ^IMoniker, pbc : ^IBindCtx, pmkToLeft : ^IMoniker, pFileTime : ^FILETIME) -> HRESULT), | |
Inverse : (proc "stdcall" (This : ^IMoniker, ppmk : ^^IMoniker) -> HRESULT), | |
CommonPrefixWith : (proc "stdcall" (This : ^IMoniker, pmkOther : ^IMoniker, ppmkPrefix : ^^IMoniker) -> HRESULT), | |
RelativePathTo : (proc "stdcall" (This : ^IMoniker, pmkOther : ^IMoniker, ppmkRelPath : ^^IMoniker) -> HRESULT), | |
GetDisplayName : (proc "stdcall" (This : ^IMoniker, pbc : ^IBindCtx, pmkToLeft : ^IMoniker, ppszDisplayName : ^LPOLESTR) -> HRESULT), | |
ParseDisplayName : (proc "stdcall" (This : ^IMoniker, pbc : ^IBindCtx, pmkToLeft : ^IMoniker, pszDisplayName : LPOLESTR, pchEaten : ^ULONG, ppmkOut : ^^IMoniker) -> HRESULT), | |
IsSystemMoniker : (proc "stdcall" (This : ^IMoniker, pdwMksys : ^DWORD) -> HRESULT), | |
}; | |
IMoniker :: struct { | |
lpVtbl : ^IMonikerVtbl, | |
}; | |
IROTDataVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IROTData, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IROTData) -> ULONG), | |
Release : (proc "stdcall" (This : ^IROTData) -> ULONG), | |
GetComparisonData : (proc "stdcall" (This : ^IROTData, pbData : ^byte, cbMax : ULONG, pcbData : ^ULONG) -> HRESULT), | |
}; | |
IROTData :: struct { | |
lpVtbl : ^IROTDataVtbl, | |
}; | |
LPENUMSTATSTG :: ^IEnumSTATSTG; | |
IEnumSTATSTGVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IEnumSTATSTG, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IEnumSTATSTG) -> ULONG), | |
Release : (proc "stdcall" (This : ^IEnumSTATSTG) -> ULONG), | |
Next : (proc "stdcall" (This : ^IEnumSTATSTG, celt : ULONG, rgelt : ^STATSTG, pceltFetched : ^ULONG) -> HRESULT), | |
Skip : (proc "stdcall" (This : ^IEnumSTATSTG, celt : ULONG) -> HRESULT), | |
Reset : (proc "stdcall" (This : ^IEnumSTATSTG) -> HRESULT), | |
Clone : (proc "stdcall" (This : ^IEnumSTATSTG, ppenum : ^^IEnumSTATSTG) -> HRESULT), | |
}; | |
IEnumSTATSTG :: struct { | |
lpVtbl : ^IEnumSTATSTGVtbl, | |
}; | |
LPSTORAGE :: ^IStorage; | |
RemSNB :: struct { | |
ulCntStr : ULONG, | |
ulCntChar : ULONG, | |
rgString : [1]OLECHAR, | |
}; | |
wireSNB :: ^RemSNB; | |
SNB :: ^LPOLESTR; | |
IStorageVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IStorage, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IStorage) -> ULONG), | |
Release : (proc "stdcall" (This : ^IStorage) -> ULONG), | |
CreateStream : (proc "stdcall" (This : ^IStorage, pwcsName : ^OLECHAR, grfMode : DWORD, reserved1 : DWORD, reserved2 : DWORD, ppstm : ^^IStream) -> HRESULT), | |
OpenStream : (proc "stdcall" (This : ^IStorage, pwcsName : ^OLECHAR, reserved1 : rawptr, grfMode : DWORD, reserved2 : DWORD, ppstm : ^^IStream) -> HRESULT), | |
CreateStorage : (proc "stdcall" (This : ^IStorage, pwcsName : ^OLECHAR, grfMode : DWORD, reserved1 : DWORD, reserved2 : DWORD, ppstg : ^^IStorage) -> HRESULT), | |
OpenStorage : (proc "stdcall" (This : ^IStorage, pwcsName : ^OLECHAR, pstgPriority : ^IStorage, grfMode : DWORD, snbExclude : SNB, reserved : DWORD, ppstg : ^^IStorage) -> HRESULT), | |
CopyTo : (proc "stdcall" (This : ^IStorage, ciidExclude : DWORD, rgiidExclude : ^IID, snbExclude : SNB, pstgDest : ^IStorage) -> HRESULT), | |
MoveElementTo : (proc "stdcall" (This : ^IStorage, pwcsName : ^OLECHAR, pstgDest : ^IStorage, pwcsNewName : ^OLECHAR, grfFlags : DWORD) -> HRESULT), | |
Commit : (proc "stdcall" (This : ^IStorage, grfCommitFlags : DWORD) -> HRESULT), | |
Revert : (proc "stdcall" (This : ^IStorage) -> HRESULT), | |
EnumElements : (proc "stdcall" (This : ^IStorage, reserved1 : DWORD, reserved2 : rawptr, reserved3 : DWORD, ppenum : ^^IEnumSTATSTG) -> HRESULT), | |
DestroyElement : (proc "stdcall" (This : ^IStorage, pwcsName : ^OLECHAR) -> HRESULT), | |
RenameElement : (proc "stdcall" (This : ^IStorage, pwcsOldName : ^OLECHAR, pwcsNewName : ^OLECHAR) -> HRESULT), | |
SetElementTimes : (proc "stdcall" (This : ^IStorage, pwcsName : ^OLECHAR, pctime : ^FILETIME, patime : ^FILETIME, pmtime : ^FILETIME) -> HRESULT), | |
SetClass : (proc "stdcall" (This : ^IStorage, clsid : ^IID) -> HRESULT), | |
SetStateBits : (proc "stdcall" (This : ^IStorage, grfStateBits : DWORD, grfMask : DWORD) -> HRESULT), | |
Stat : (proc "stdcall" (This : ^IStorage, pstatstg : ^STATSTG, grfStatFlag : DWORD) -> HRESULT), | |
}; | |
IStorage :: struct { | |
lpVtbl : ^IStorageVtbl, | |
}; | |
LPPERSISTFILE :: ^IPersistFile; | |
IPersistFileVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IPersistFile, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IPersistFile) -> ULONG), | |
Release : (proc "stdcall" (This : ^IPersistFile) -> ULONG), | |
GetClassID : (proc "stdcall" (This : ^IPersistFile, pClassID : ^CLSID) -> HRESULT), | |
IsDirty : (proc "stdcall" (This : ^IPersistFile) -> HRESULT), | |
Load : (proc "stdcall" (This : ^IPersistFile, pszFileName : LPCOLESTR, dwMode : DWORD) -> HRESULT), | |
Save : (proc "stdcall" (This : ^IPersistFile, pszFileName : LPCOLESTR, fRemember : BOOL) -> HRESULT), | |
SaveCompleted : (proc "stdcall" (This : ^IPersistFile, pszFileName : LPCOLESTR) -> HRESULT), | |
GetCurFile : (proc "stdcall" (This : ^IPersistFile, ppszFileName : ^LPOLESTR) -> HRESULT), | |
}; | |
IPersistFile :: struct { | |
lpVtbl : ^IPersistFileVtbl, | |
}; | |
LPPERSISTSTORAGE :: ^IPersistStorage; | |
IPersistStorageVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IPersistStorage, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IPersistStorage) -> ULONG), | |
Release : (proc "stdcall" (This : ^IPersistStorage) -> ULONG), | |
GetClassID : (proc "stdcall" (This : ^IPersistStorage, pClassID : ^CLSID) -> HRESULT), | |
IsDirty : (proc "stdcall" (This : ^IPersistStorage) -> HRESULT), | |
InitNew : (proc "stdcall" (This : ^IPersistStorage, pStg : ^IStorage) -> HRESULT), | |
Load : (proc "stdcall" (This : ^IPersistStorage, pStg : ^IStorage) -> HRESULT), | |
Save : (proc "stdcall" (This : ^IPersistStorage, pStgSave : ^IStorage, fSameAsLoad : BOOL) -> HRESULT), | |
SaveCompleted : (proc "stdcall" (This : ^IPersistStorage, pStgNew : ^IStorage) -> HRESULT), | |
HandsOffStorage : (proc "stdcall" (This : ^IPersistStorage) -> HRESULT), | |
}; | |
IPersistStorage :: struct { | |
lpVtbl : ^IPersistStorageVtbl, | |
}; | |
LPLOCKBYTES :: ^ILockBytes; | |
ILockBytesVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ILockBytes, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ILockBytes) -> ULONG), | |
Release : (proc "stdcall" (This : ^ILockBytes) -> ULONG), | |
ReadAt : (proc "stdcall" (This : ^ILockBytes, ulOffset : ULARGE_INTEGER, pv : rawptr, cb : ULONG, pcbRead : ^ULONG) -> HRESULT), | |
WriteAt : (proc "stdcall" (This : ^ILockBytes, ulOffset : ULARGE_INTEGER, pv : rawptr, cb : ULONG, pcbWritten : ^ULONG) -> HRESULT), | |
Flush : (proc "stdcall" (This : ^ILockBytes) -> HRESULT), | |
SetSize : (proc "stdcall" (This : ^ILockBytes, cb : ULARGE_INTEGER) -> HRESULT), | |
LockRegion : (proc "stdcall" (This : ^ILockBytes, libOffset : ULARGE_INTEGER, cb : ULARGE_INTEGER, dwLockType : DWORD) -> HRESULT), | |
UnlockRegion : (proc "stdcall" (This : ^ILockBytes, libOffset : ULARGE_INTEGER, cb : ULARGE_INTEGER, dwLockType : DWORD) -> HRESULT), | |
Stat : (proc "stdcall" (This : ^ILockBytes, pstatstg : ^STATSTG, grfStatFlag : DWORD) -> HRESULT), | |
}; | |
ILockBytes :: struct { | |
lpVtbl : ^ILockBytesVtbl, | |
}; | |
LPENUMFORMATETC :: ^IEnumFORMATETC; | |
DVTARGETDEVICE :: struct { | |
tdSize : DWORD, | |
tdDriverNameOffset : WORD, | |
tdDeviceNameOffset : WORD, | |
tdPortNameOffset : WORD, | |
tdExtDevmodeOffset : WORD, | |
tdData : [1]BYTE, | |
}; | |
LPCLIPFORMAT :: ^CLIPFORMAT; | |
FORMATETC :: struct { | |
cfFormat : CLIPFORMAT, | |
ptd : ^DVTARGETDEVICE, | |
dwAspect : DWORD, | |
lindex : LONG, | |
tymed : DWORD, | |
}; | |
LPFORMATETC :: ^FORMATETC; | |
IEnumFORMATETCVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IEnumFORMATETC, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IEnumFORMATETC) -> ULONG), | |
Release : (proc "stdcall" (This : ^IEnumFORMATETC) -> ULONG), | |
Next : (proc "stdcall" (This : ^IEnumFORMATETC, celt : ULONG, rgelt : ^FORMATETC, pceltFetched : ^ULONG) -> HRESULT), | |
Skip : (proc "stdcall" (This : ^IEnumFORMATETC, celt : ULONG) -> HRESULT), | |
Reset : (proc "stdcall" (This : ^IEnumFORMATETC) -> HRESULT), | |
Clone : (proc "stdcall" (This : ^IEnumFORMATETC, ppenum : ^^IEnumFORMATETC) -> HRESULT), | |
}; | |
IEnumFORMATETC :: struct { | |
lpVtbl : ^IEnumFORMATETCVtbl, | |
}; | |
LPENUMSTATDATA :: ^IEnumSTATDATA; | |
/* ADVF :: enum { */ | |
ADVF :: _c.int; | |
ADVF_NODATA :: 1; | |
ADVF_PRIMEFIRST :: 2; | |
ADVF_ONLYONCE :: 4; | |
ADVF_DATAONSTOP :: 64; | |
ADVFCACHE_NOHANDLER :: 8; | |
ADVFCACHE_FORCEBUILTIN :: 16; | |
ADVFCACHE_ONSAVE :: 32; | |
/* } */ | |
; | |
STATDATA :: struct { | |
formatetc : FORMATETC, | |
advf : DWORD, | |
pAdvSink : ^IAdviseSink, | |
dwConnection : DWORD, | |
}; | |
LPSTATDATA :: ^STATDATA; | |
IEnumSTATDATAVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IEnumSTATDATA, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IEnumSTATDATA) -> ULONG), | |
Release : (proc "stdcall" (This : ^IEnumSTATDATA) -> ULONG), | |
Next : (proc "stdcall" (This : ^IEnumSTATDATA, celt : ULONG, rgelt : ^STATDATA, pceltFetched : ^ULONG) -> HRESULT), | |
Skip : (proc "stdcall" (This : ^IEnumSTATDATA, celt : ULONG) -> HRESULT), | |
Reset : (proc "stdcall" (This : ^IEnumSTATDATA) -> HRESULT), | |
Clone : (proc "stdcall" (This : ^IEnumSTATDATA, ppenum : ^^IEnumSTATDATA) -> HRESULT), | |
}; | |
IEnumSTATDATA :: struct { | |
lpVtbl : ^IEnumSTATDATAVtbl, | |
}; | |
LPROOTSTORAGE :: ^IRootStorage; | |
IRootStorageVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRootStorage, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRootStorage) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRootStorage) -> ULONG), | |
SwitchToFile : (proc "stdcall" (This : ^IRootStorage, pszFile : LPOLESTR) -> HRESULT), | |
}; | |
IRootStorage :: struct { | |
lpVtbl : ^IRootStorageVtbl, | |
}; | |
LPADVISESINK :: ^IAdviseSink; | |
/* TYMED :: enum { */ | |
TYMED :: _c.int; | |
TYMED_HGLOBAL :: 1; | |
TYMED_FILE :: 2; | |
TYMED_ISTREAM :: 4; | |
TYMED_ISTORAGE :: 8; | |
TYMED_GDI :: 16; | |
TYMED_MFPICT :: 32; | |
TYMED_ENHMF :: 64; | |
TYMED_NULL :: 0; | |
/* } */ | |
; | |
RemSTGMEDIUM :: struct { | |
tymed : DWORD, | |
dwHandleType : DWORD, | |
pData : ULONG, | |
pUnkForRelease : ULONG, | |
cbData : ULONG, | |
data : [1]byte, | |
}; | |
uSTGMEDIUM :: struct { | |
tymed : DWORD, | |
u : struct #raw_union { | |
hBitmap : HBITMAP, | |
hMetaFilePict : HMETAFILEPICT, | |
hEnhMetaFile : HENHMETAFILE, | |
hGlobal : HGLOBAL, | |
lpszFileName : LPOLESTR, | |
pstm : ^IStream, | |
pstg : ^IStorage, | |
}, | |
pUnkForRelease : ^IUnknown, | |
}; | |
GDI_OBJECT :: struct { | |
ObjectType : DWORD, | |
u : struct #raw_union { | |
hBitmap : wireHBITMAP, | |
hPalette : wireHPALETTE, | |
hGeneric : wireHGLOBAL, | |
}, | |
}; | |
userSTGMEDIUM :: struct { | |
u : struct { | |
tymed : DWORD, | |
u : struct #raw_union { | |
hMetaFilePict : wireHMETAFILEPICT, | |
hHEnhMetaFile : wireHENHMETAFILE, | |
hGdiHandle : ^GDI_OBJECT, | |
hGlobal : wireHGLOBAL, | |
lpszFileName : LPOLESTR, | |
pstm : ^BYTE_BLOB, | |
pstg : ^BYTE_BLOB, | |
}, | |
}, | |
pUnkForRelease : ^IUnknown, | |
}; | |
wireSTGMEDIUM :: ^userSTGMEDIUM; | |
STGMEDIUM :: uSTGMEDIUM; | |
wireASYNC_STGMEDIUM :: ^userSTGMEDIUM; | |
ASYNC_STGMEDIUM :: STGMEDIUM; | |
LPSTGMEDIUM :: ^STGMEDIUM; | |
userFLAG_STGMEDIUM :: struct { | |
ContextFlags : LONG, | |
fPassOwnership : LONG, | |
Stgmed : userSTGMEDIUM, | |
}; | |
wireFLAG_STGMEDIUM :: ^userFLAG_STGMEDIUM; | |
FLAG_STGMEDIUM :: struct { | |
ContextFlags : LONG, | |
fPassOwnership : LONG, | |
Stgmed : STGMEDIUM, | |
}; | |
IAdviseSinkVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IAdviseSink, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IAdviseSink) -> ULONG), | |
Release : (proc "stdcall" (This : ^IAdviseSink) -> ULONG), | |
OnDataChange : proc "stdcall" (This : ^IAdviseSink, pFormatetc : ^FORMATETC, pStgmed : ^STGMEDIUM), | |
OnViewChange : proc "stdcall" (This : ^IAdviseSink, dwAspect : DWORD, lindex : LONG), | |
OnRename : proc "stdcall" (This : ^IAdviseSink, pmk : ^IMoniker), | |
OnSave : proc "stdcall" (This : ^IAdviseSink), | |
OnClose : proc "stdcall" (This : ^IAdviseSink), | |
}; | |
IAdviseSink :: struct { | |
lpVtbl : ^IAdviseSinkVtbl, | |
}; | |
AsyncIAdviseSinkVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^AsyncIAdviseSink, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^AsyncIAdviseSink) -> ULONG), | |
Release : (proc "stdcall" (This : ^AsyncIAdviseSink) -> ULONG), | |
Begin_OnDataChange : proc "stdcall" (This : ^AsyncIAdviseSink, pFormatetc : ^FORMATETC, pStgmed : ^STGMEDIUM), | |
Finish_OnDataChange : proc "stdcall" (This : ^AsyncIAdviseSink), | |
Begin_OnViewChange : proc "stdcall" (This : ^AsyncIAdviseSink, dwAspect : DWORD, lindex : LONG), | |
Finish_OnViewChange : proc "stdcall" (This : ^AsyncIAdviseSink), | |
Begin_OnRename : proc "stdcall" (This : ^AsyncIAdviseSink, pmk : ^IMoniker), | |
Finish_OnRename : proc "stdcall" (This : ^AsyncIAdviseSink), | |
Begin_OnSave : proc "stdcall" (This : ^AsyncIAdviseSink), | |
Finish_OnSave : proc "stdcall" (This : ^AsyncIAdviseSink), | |
Begin_OnClose : proc "stdcall" (This : ^AsyncIAdviseSink), | |
Finish_OnClose : proc "stdcall" (This : ^AsyncIAdviseSink), | |
}; | |
AsyncIAdviseSink :: struct { | |
lpVtbl : ^AsyncIAdviseSinkVtbl, | |
}; | |
LPADVISESINK2 :: ^IAdviseSink2; | |
IAdviseSink2Vtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IAdviseSink2, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IAdviseSink2) -> ULONG), | |
Release : (proc "stdcall" (This : ^IAdviseSink2) -> ULONG), | |
OnDataChange : proc "stdcall" (This : ^IAdviseSink2, pFormatetc : ^FORMATETC, pStgmed : ^STGMEDIUM), | |
OnViewChange : proc "stdcall" (This : ^IAdviseSink2, dwAspect : DWORD, lindex : LONG), | |
OnRename : proc "stdcall" (This : ^IAdviseSink2, pmk : ^IMoniker), | |
OnSave : proc "stdcall" (This : ^IAdviseSink2), | |
OnClose : proc "stdcall" (This : ^IAdviseSink2), | |
OnLinkSrcChange : proc "stdcall" (This : ^IAdviseSink2, pmk : ^IMoniker), | |
}; | |
IAdviseSink2 :: struct { | |
lpVtbl : ^IAdviseSink2Vtbl, | |
}; | |
AsyncIAdviseSink2Vtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^AsyncIAdviseSink2, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^AsyncIAdviseSink2) -> ULONG), | |
Release : (proc "stdcall" (This : ^AsyncIAdviseSink2) -> ULONG), | |
Begin_OnDataChange : proc "stdcall" (This : ^AsyncIAdviseSink2, pFormatetc : ^FORMATETC, pStgmed : ^STGMEDIUM), | |
Finish_OnDataChange : proc "stdcall" (This : ^AsyncIAdviseSink2), | |
Begin_OnViewChange : proc "stdcall" (This : ^AsyncIAdviseSink2, dwAspect : DWORD, lindex : LONG), | |
Finish_OnViewChange : proc "stdcall" (This : ^AsyncIAdviseSink2), | |
Begin_OnRename : proc "stdcall" (This : ^AsyncIAdviseSink2, pmk : ^IMoniker), | |
Finish_OnRename : proc "stdcall" (This : ^AsyncIAdviseSink2), | |
Begin_OnSave : proc "stdcall" (This : ^AsyncIAdviseSink2), | |
Finish_OnSave : proc "stdcall" (This : ^AsyncIAdviseSink2), | |
Begin_OnClose : proc "stdcall" (This : ^AsyncIAdviseSink2), | |
Finish_OnClose : proc "stdcall" (This : ^AsyncIAdviseSink2), | |
Begin_OnLinkSrcChange : proc "stdcall" (This : ^AsyncIAdviseSink2, pmk : ^IMoniker), | |
Finish_OnLinkSrcChange : proc "stdcall" (This : ^AsyncIAdviseSink2), | |
}; | |
AsyncIAdviseSink2 :: struct { | |
lpVtbl : ^AsyncIAdviseSink2Vtbl, | |
}; | |
LPDATAOBJECT :: ^IDataObject; | |
/* DATADIR :: enum { */ | |
DATADIR :: _c.int; | |
DATADIR_GET :: 1; | |
DATADIR_SET :: 2; | |
/* } */ | |
; | |
IDataObjectVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IDataObject, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IDataObject) -> ULONG), | |
Release : (proc "stdcall" (This : ^IDataObject) -> ULONG), | |
GetData : (proc "stdcall" (This : ^IDataObject, pformatetcIn : ^FORMATETC, pmedium : ^STGMEDIUM) -> HRESULT), | |
GetDataHere : (proc "stdcall" (This : ^IDataObject, pformatetc : ^FORMATETC, pmedium : ^STGMEDIUM) -> HRESULT), | |
QueryGetData : (proc "stdcall" (This : ^IDataObject, pformatetc : ^FORMATETC) -> HRESULT), | |
GetCanonicalFormatEtc : (proc "stdcall" (This : ^IDataObject, pformatectIn : ^FORMATETC, pformatetcOut : ^FORMATETC) -> HRESULT), | |
SetData : (proc "stdcall" (This : ^IDataObject, pformatetc : ^FORMATETC, pmedium : ^STGMEDIUM, fRelease : BOOL) -> HRESULT), | |
EnumFormatEtc : (proc "stdcall" (This : ^IDataObject, dwDirection : DWORD, ppenumFormatEtc : ^^IEnumFORMATETC) -> HRESULT), | |
DAdvise : (proc "stdcall" (This : ^IDataObject, pformatetc : ^FORMATETC, advf : DWORD, pAdvSink : ^IAdviseSink, pdwConnection : ^DWORD) -> HRESULT), | |
DUnadvise : (proc "stdcall" (This : ^IDataObject, dwConnection : DWORD) -> HRESULT), | |
EnumDAdvise : (proc "stdcall" (This : ^IDataObject, ppenumAdvise : ^^IEnumSTATDATA) -> HRESULT), | |
}; | |
IDataObject :: struct { | |
lpVtbl : ^IDataObjectVtbl, | |
}; | |
LPDATAADVISEHOLDER :: ^IDataAdviseHolder; | |
IDataAdviseHolderVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IDataAdviseHolder, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IDataAdviseHolder) -> ULONG), | |
Release : (proc "stdcall" (This : ^IDataAdviseHolder) -> ULONG), | |
Advise : (proc "stdcall" (This : ^IDataAdviseHolder, pDataObject : ^IDataObject, pFetc : ^FORMATETC, advf : DWORD, pAdvise : ^IAdviseSink, pdwConnection : ^DWORD) -> HRESULT), | |
Unadvise : (proc "stdcall" (This : ^IDataAdviseHolder, dwConnection : DWORD) -> HRESULT), | |
EnumAdvise : (proc "stdcall" (This : ^IDataAdviseHolder, ppenumAdvise : ^^IEnumSTATDATA) -> HRESULT), | |
SendOnDataChange : (proc "stdcall" (This : ^IDataAdviseHolder, pDataObject : ^IDataObject, dwReserved : DWORD, advf : DWORD) -> HRESULT), | |
}; | |
IDataAdviseHolder :: struct { | |
lpVtbl : ^IDataAdviseHolderVtbl, | |
}; | |
LPMESSAGEFILTER :: ^IMessageFilter; | |
/* CALLTYPE :: enum { */ | |
CALLTYPE :: _c.int; | |
CALLTYPE_TOPLEVEL :: 1; | |
CALLTYPE_NESTED :: 2; | |
CALLTYPE_ASYNC :: 3; | |
CALLTYPE_TOPLEVEL_CALLPENDING :: 4; | |
CALLTYPE_ASYNC_CALLPENDING :: 5; | |
/* } */ | |
; | |
/* SERVERCALL :: enum { */ | |
SERVERCALL :: _c.int; | |
SERVERCALL_ISHANDLED :: 0; | |
SERVERCALL_REJECTED :: 1; | |
SERVERCALL_RETRYLATER :: 2; | |
/* } */ | |
; | |
/* PENDINGTYPE :: enum { */ | |
PENDINGTYPE :: _c.int; | |
PENDINGTYPE_TOPLEVEL :: 1; | |
PENDINGTYPE_NESTED :: 2; | |
/* } */ | |
; | |
/* PENDINGMSG :: enum { */ | |
PENDINGMSG :: _c.int; | |
PENDINGMSG_CANCELCALL :: 0; | |
PENDINGMSG_WAITNOPROCESS :: 1; | |
PENDINGMSG_WAITDEFPROCESS :: 2; | |
/* } */ | |
; | |
INTERFACEINFO :: struct { | |
pUnk : ^IUnknown, | |
iid : IID, | |
wMethod : WORD, | |
}; | |
LPINTERFACEINFO :: ^INTERFACEINFO; | |
IMessageFilterVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IMessageFilter, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IMessageFilter) -> ULONG), | |
Release : (proc "stdcall" (This : ^IMessageFilter) -> ULONG), | |
HandleInComingCall : (proc "stdcall" (This : ^IMessageFilter, dwCallType : DWORD, htaskCaller : HTASK, dwTickCount : DWORD, lpInterfaceInfo : LPINTERFACEINFO) -> DWORD), | |
RetryRejectedCall : (proc "stdcall" (This : ^IMessageFilter, htaskCallee : HTASK, dwTickCount : DWORD, dwRejectType : DWORD) -> DWORD), | |
MessagePending : (proc "stdcall" (This : ^IMessageFilter, htaskCallee : HTASK, dwTickCount : DWORD, dwPendingType : DWORD) -> DWORD), | |
}; | |
IMessageFilter :: struct { | |
lpVtbl : ^IMessageFilterVtbl, | |
}; | |
IClassActivatorVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IClassActivator, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IClassActivator) -> ULONG), | |
Release : (proc "stdcall" (This : ^IClassActivator) -> ULONG), | |
GetClassObject : (proc "stdcall" (This : ^IClassActivator, rclsid : ^IID, dwClassContext : DWORD, locale : LCID, riid : ^IID, ppv : ^rawptr) -> HRESULT), | |
}; | |
IClassActivator :: struct { | |
lpVtbl : ^IClassActivatorVtbl, | |
}; | |
IFillLockBytesVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IFillLockBytes, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IFillLockBytes) -> ULONG), | |
Release : (proc "stdcall" (This : ^IFillLockBytes) -> ULONG), | |
FillAppend : (proc "stdcall" (This : ^IFillLockBytes, pv : rawptr, cb : ULONG, pcbWritten : ^ULONG) -> HRESULT), | |
FillAt : (proc "stdcall" (This : ^IFillLockBytes, ulOffset : ULARGE_INTEGER, pv : rawptr, cb : ULONG, pcbWritten : ^ULONG) -> HRESULT), | |
SetFillSize : (proc "stdcall" (This : ^IFillLockBytes, ulSize : ULARGE_INTEGER) -> HRESULT), | |
Terminate : (proc "stdcall" (This : ^IFillLockBytes, bCanceled : BOOL) -> HRESULT), | |
}; | |
IFillLockBytes :: struct { | |
lpVtbl : ^IFillLockBytesVtbl, | |
}; | |
IProgressNotifyVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IProgressNotify, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IProgressNotify) -> ULONG), | |
Release : (proc "stdcall" (This : ^IProgressNotify) -> ULONG), | |
OnProgress : (proc "stdcall" (This : ^IProgressNotify, dwProgressCurrent : DWORD, dwProgressMaximum : DWORD, fAccurate : BOOL, fOwner : BOOL) -> HRESULT), | |
}; | |
IProgressNotify :: struct { | |
lpVtbl : ^IProgressNotifyVtbl, | |
}; | |
StorageLayout :: struct { | |
LayoutType : DWORD, | |
pwcsElementName : ^OLECHAR, | |
cOffset : LARGE_INTEGER, | |
cBytes : LARGE_INTEGER, | |
}; | |
ILayoutStorageVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ILayoutStorage, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ILayoutStorage) -> ULONG), | |
Release : (proc "stdcall" (This : ^ILayoutStorage) -> ULONG), | |
LayoutScript : (proc "stdcall" (This : ^ILayoutStorage, pStorageLayout : ^StorageLayout, nEntries : DWORD, glfInterleavedFlag : DWORD) -> HRESULT), | |
BeginMonitor : (proc "stdcall" (This : ^ILayoutStorage) -> HRESULT), | |
EndMonitor : (proc "stdcall" (This : ^ILayoutStorage) -> HRESULT), | |
ReLayoutDocfile : (proc "stdcall" (This : ^ILayoutStorage, pwcsNewDfName : ^OLECHAR) -> HRESULT), | |
ReLayoutDocfileOnILockBytes : (proc "stdcall" (This : ^ILayoutStorage, pILockBytes : ^ILockBytes) -> HRESULT), | |
}; | |
ILayoutStorage :: struct { | |
lpVtbl : ^ILayoutStorageVtbl, | |
}; | |
IBlockingLockVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IBlockingLock, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IBlockingLock) -> ULONG), | |
Release : (proc "stdcall" (This : ^IBlockingLock) -> ULONG), | |
Lock : (proc "stdcall" (This : ^IBlockingLock, dwTimeout : DWORD) -> HRESULT), | |
Unlock : (proc "stdcall" (This : ^IBlockingLock) -> HRESULT), | |
}; | |
IBlockingLock :: struct { | |
lpVtbl : ^IBlockingLockVtbl, | |
}; | |
ITimeAndNoticeControlVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ITimeAndNoticeControl, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ITimeAndNoticeControl) -> ULONG), | |
Release : (proc "stdcall" (This : ^ITimeAndNoticeControl) -> ULONG), | |
SuppressChanges : (proc "stdcall" (This : ^ITimeAndNoticeControl, res1 : DWORD, res2 : DWORD) -> HRESULT), | |
}; | |
ITimeAndNoticeControl :: struct { | |
lpVtbl : ^ITimeAndNoticeControlVtbl, | |
}; | |
IOplockStorageVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IOplockStorage, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IOplockStorage) -> ULONG), | |
Release : (proc "stdcall" (This : ^IOplockStorage) -> ULONG), | |
CreateStorageEx : (proc "stdcall" (This : ^IOplockStorage, pwcsName : LPCWSTR, grfMode : DWORD, stgfmt : DWORD, grfAttrs : DWORD, riid : ^IID, ppstgOpen : ^rawptr) -> HRESULT), | |
OpenStorageEx : (proc "stdcall" (This : ^IOplockStorage, pwcsName : LPCWSTR, grfMode : DWORD, stgfmt : DWORD, grfAttrs : DWORD, riid : ^IID, ppstgOpen : ^rawptr) -> HRESULT), | |
}; | |
IOplockStorage :: struct { | |
lpVtbl : ^IOplockStorageVtbl, | |
}; | |
IDirectWriterLockVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IDirectWriterLock, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IDirectWriterLock) -> ULONG), | |
Release : (proc "stdcall" (This : ^IDirectWriterLock) -> ULONG), | |
WaitForWriteAccess : (proc "stdcall" (This : ^IDirectWriterLock, dwTimeout : DWORD) -> HRESULT), | |
ReleaseWriteAccess : (proc "stdcall" (This : ^IDirectWriterLock) -> HRESULT), | |
HaveWriteAccess : (proc "stdcall" (This : ^IDirectWriterLock) -> HRESULT), | |
}; | |
IDirectWriterLock :: struct { | |
lpVtbl : ^IDirectWriterLockVtbl, | |
}; | |
IUrlMonVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IUrlMon, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IUrlMon) -> ULONG), | |
Release : (proc "stdcall" (This : ^IUrlMon) -> ULONG), | |
AsyncGetClassBits : (proc "stdcall" (This : ^IUrlMon, rclsid : ^IID, pszTYPE : LPCWSTR, pszExt : LPCWSTR, dwFileVersionMS : DWORD, dwFileVersionLS : DWORD, pszCodeBase : LPCWSTR, pbc : ^IBindCtx, dwClassContext : DWORD, riid : ^IID, flags : DWORD) -> HRESULT), | |
}; | |
IUrlMon :: struct { | |
lpVtbl : ^IUrlMonVtbl, | |
}; | |
IForegroundTransferVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IForegroundTransfer, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IForegroundTransfer) -> ULONG), | |
Release : (proc "stdcall" (This : ^IForegroundTransfer) -> ULONG), | |
AllowForegroundTransfer : (proc "stdcall" (This : ^IForegroundTransfer, lpvReserved : rawptr) -> HRESULT), | |
}; | |
IForegroundTransfer :: struct { | |
lpVtbl : ^IForegroundTransferVtbl, | |
}; | |
IThumbnailExtractorVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IThumbnailExtractor, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IThumbnailExtractor) -> ULONG), | |
Release : (proc "stdcall" (This : ^IThumbnailExtractor) -> ULONG), | |
ExtractThumbnail : (proc "stdcall" (This : ^IThumbnailExtractor, pStg : ^IStorage, ulLength : ULONG, ulHeight : ULONG, pulOutputLength : ^ULONG, pulOutputHeight : ^ULONG, phOutputBitmap : ^HBITMAP) -> HRESULT), | |
OnFileUpdated : (proc "stdcall" (This : ^IThumbnailExtractor, pStg : ^IStorage) -> HRESULT), | |
}; | |
IThumbnailExtractor :: struct { | |
lpVtbl : ^IThumbnailExtractorVtbl, | |
}; | |
IDummyHICONIncluderVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IDummyHICONIncluder, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IDummyHICONIncluder) -> ULONG), | |
Release : (proc "stdcall" (This : ^IDummyHICONIncluder) -> ULONG), | |
Dummy : (proc "stdcall" (This : ^IDummyHICONIncluder, h1 : HICON, h2 : HDC) -> HRESULT), | |
}; | |
IDummyHICONIncluder :: struct { | |
lpVtbl : ^IDummyHICONIncluderVtbl, | |
}; | |
/* ApplicationType :: enum { */ | |
ApplicationType :: _c.int; | |
ServerApplication :: 0; | |
LibraryApplication :: (ServerApplication + 1); | |
/* } */ | |
; | |
/* ShutdownType :: enum { */ | |
ShutdownType :: _c.int; | |
IdleShutdown :: 0; | |
ForcedShutdown :: (IdleShutdown + 1); | |
/* } */ | |
; | |
IProcessLockVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IProcessLock, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IProcessLock) -> ULONG), | |
Release : (proc "stdcall" (This : ^IProcessLock) -> ULONG), | |
AddRefOnProcess : (proc "stdcall" (This : ^IProcessLock) -> ULONG), | |
ReleaseRefOnProcess : (proc "stdcall" (This : ^IProcessLock) -> ULONG), | |
}; | |
IProcessLock :: struct { | |
lpVtbl : ^IProcessLockVtbl, | |
}; | |
ISurrogateServiceVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ISurrogateService, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ISurrogateService) -> ULONG), | |
Release : (proc "stdcall" (This : ^ISurrogateService) -> ULONG), | |
Init : (proc "stdcall" (This : ^ISurrogateService, rguidProcessID : ^GUID, pProcessLock : ^IProcessLock, pfApplicationAware : ^BOOL) -> HRESULT), | |
ApplicationLaunch : (proc "stdcall" (This : ^ISurrogateService, rguidApplID : ^GUID, appType : ApplicationType) -> HRESULT), | |
ApplicationFree : (proc "stdcall" (This : ^ISurrogateService, rguidApplID : ^GUID) -> HRESULT), | |
CatalogRefresh : (proc "stdcall" (This : ^ISurrogateService, ulReserved : ULONG) -> HRESULT), | |
ProcessShutdown : (proc "stdcall" (This : ^ISurrogateService, shutdownType : ShutdownType) -> HRESULT), | |
}; | |
ISurrogateService :: struct { | |
lpVtbl : ^ISurrogateServiceVtbl, | |
}; | |
LPINITIALIZESPY :: ^IInitializeSpy; | |
IInitializeSpyVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IInitializeSpy, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IInitializeSpy) -> ULONG), | |
Release : (proc "stdcall" (This : ^IInitializeSpy) -> ULONG), | |
PreInitialize : (proc "stdcall" (This : ^IInitializeSpy, dwCoInit : DWORD, dwCurThreadAptRefs : DWORD) -> HRESULT), | |
PostInitialize : (proc "stdcall" (This : ^IInitializeSpy, hrCoInit : HRESULT, dwCoInit : DWORD, dwNewThreadAptRefs : DWORD) -> HRESULT), | |
PreUninitialize : (proc "stdcall" (This : ^IInitializeSpy, dwCurThreadAptRefs : DWORD) -> HRESULT), | |
PostUninitialize : (proc "stdcall" (This : ^IInitializeSpy, dwNewThreadAptRefs : DWORD) -> HRESULT), | |
}; | |
IInitializeSpy :: struct { | |
lpVtbl : ^IInitializeSpyVtbl, | |
}; | |
IApartmentShutdownVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IApartmentShutdown, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IApartmentShutdown) -> ULONG), | |
Release : (proc "stdcall" (This : ^IApartmentShutdown) -> ULONG), | |
OnUninitialize : proc "stdcall" (This : ^IApartmentShutdown, ui64ApartmentIdentifier : UINT64), | |
}; | |
IApartmentShutdown :: struct { | |
lpVtbl : ^IApartmentShutdownVtbl, | |
}; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
; | |
CURRENCY :: CY; | |
SAFEARRAYBOUND :: struct { | |
cElements : ULONG, | |
lLbound : LONG, | |
}; | |
LPSAFEARRAYBOUND :: ^SAFEARRAYBOUND; | |
wireVARIANT :: ^_wireVARIANT; | |
wireBRECORD :: ^_wireBRECORD; | |
SAFEARR_BSTR :: struct { | |
Size : ULONG, | |
aBstr : ^wireBSTR, | |
}; | |
SAFEARR_UNKNOWN :: struct { | |
Size : ULONG, | |
apUnknown : ^^IUnknown, | |
}; | |
SAFEARR_DISPATCH :: struct { | |
Size : ULONG, | |
apDispatch : ^^IDispatch, | |
}; | |
SAFEARR_VARIANT :: struct { | |
Size : ULONG, | |
aVariant : ^wireVARIANT, | |
}; | |
SAFEARR_BRECORD :: struct { | |
Size : ULONG, | |
aRecord : ^wireBRECORD, | |
}; | |
SAFEARR_HAVEIID :: struct { | |
Size : ULONG, | |
apUnknown : ^^IUnknown, | |
iid : IID, | |
}; | |
/* SF_TYPE :: enum { */ | |
SF_TYPE :: _c.int; | |
SF_ERROR :: VT_ERROR; | |
SF_I1 :: VT_I1; | |
SF_I2 :: VT_I2; | |
SF_I4 :: VT_I4; | |
SF_I8 :: VT_I8; | |
SF_BSTR :: VT_BSTR; | |
SF_UNKNOWN :: VT_UNKNOWN; | |
SF_DISPATCH :: VT_DISPATCH; | |
SF_VARIANT :: VT_VARIANT; | |
SF_RECORD :: VT_RECORD; | |
SF_HAVEIID :: (VT_UNKNOWN | VT_RESERVED); | |
/* } */ | |
; | |
SAFEARRAYUNION :: struct { | |
sfType : ULONG, | |
u : struct #raw_union { | |
BstrStr : SAFEARR_BSTR, | |
UnknownStr : SAFEARR_UNKNOWN, | |
DispatchStr : SAFEARR_DISPATCH, | |
VariantStr : SAFEARR_VARIANT, | |
RecordStr : SAFEARR_BRECORD, | |
HaveIidStr : SAFEARR_HAVEIID, | |
ByteStr : BYTE_SIZEDARR, | |
WordStr : WORD_SIZEDARR, | |
LongStr : DWORD_SIZEDARR, | |
HyperStr : HYPER_SIZEDARR, | |
}, | |
}; | |
wireSAFEARRAY :: ^struct { | |
cDims : USHORT, | |
fFeatures : USHORT, | |
cbElements : ULONG, | |
cLocks : ULONG, | |
uArrayStructs : SAFEARRAYUNION, | |
rgsabound : [1]SAFEARRAYBOUND, | |
}; | |
wirePSAFEARRAY :: ^wireSAFEARRAY; | |
SAFEARRAY :: struct { | |
cDims : USHORT, | |
fFeatures : USHORT, | |
cbElements : ULONG, | |
cLocks : ULONG, | |
pvData : PVOID, | |
rgsabound : [1]SAFEARRAYBOUND, | |
}; | |
LPSAFEARRAY :: ^SAFEARRAY; | |
; | |
VARIANT :: struct { | |
n1 : struct #raw_union { | |
n2 : struct { | |
vt : VARTYPE, | |
wReserved1 : WORD, | |
wReserved2 : WORD, | |
wReserved3 : WORD, | |
n3 : struct #raw_union { | |
llVal : LONGLONG, | |
lVal : LONG, | |
bVal : BYTE, | |
iVal : SHORT, | |
fltVal : FLOAT, | |
dblVal : DOUBLE, | |
boolVal : VARIANT_BOOL, | |
__OBSOLETE__VARIANT_BOOL : VARIANT_BOOL, | |
scode : SCODE, | |
cyVal : CY, | |
date : DATE, | |
bstrVal : BSTR, | |
punkVal : ^IUnknown, | |
pdispVal : ^IDispatch, | |
parray : ^SAFEARRAY, | |
pbVal : ^BYTE, | |
piVal : ^SHORT, | |
plVal : ^LONG, | |
pllVal : ^LONGLONG, | |
pfltVal : ^FLOAT, | |
pdblVal : ^DOUBLE, | |
pboolVal : ^VARIANT_BOOL, | |
__OBSOLETE__VARIANT_PBOOL : ^VARIANT_BOOL, | |
pscode : ^SCODE, | |
pcyVal : ^CY, | |
pdate : ^DATE, | |
pbstrVal : ^BSTR, | |
ppunkVal : ^^IUnknown, | |
ppdispVal : ^^IDispatch, | |
pparray : ^^SAFEARRAY, | |
pvarVal : ^VARIANT, | |
byref : PVOID, | |
cVal : CHAR, | |
uiVal : USHORT, | |
ulVal : ULONG, | |
ullVal : ULONGLONG, | |
intVal : INT, | |
uintVal : UINT, | |
pdecVal : ^DECIMAL, | |
pcVal : ^CHAR, | |
puiVal : ^USHORT, | |
pulVal : ^ULONG, | |
pullVal : ^ULONGLONG, | |
pintVal : ^INT, | |
puintVal : ^UINT, | |
brecVal : struct { | |
pvRecord : PVOID, | |
pRecInfo : ^IRecordInfo, | |
}, | |
}, | |
}, | |
decVal : DECIMAL, | |
}, | |
}; | |
LPVARIANT :: ^VARIANT; | |
VARIANTARG :: VARIANT; | |
LPVARIANTARG :: ^VARIANT; | |
_wireBRECORD :: struct { | |
fFlags : ULONG, | |
clSize : ULONG, | |
pRecInfo : ^IRecordInfo, | |
pRecord : ^byte, | |
}; | |
_wireVARIANT :: struct { | |
clSize : DWORD, | |
rpcReserved : DWORD, | |
vt : USHORT, | |
wReserved1 : USHORT, | |
wReserved2 : USHORT, | |
wReserved3 : USHORT, | |
u : struct #raw_union { | |
llVal : LONGLONG, | |
lVal : LONG, | |
bVal : BYTE, | |
iVal : SHORT, | |
fltVal : FLOAT, | |
dblVal : DOUBLE, | |
boolVal : VARIANT_BOOL, | |
scode : SCODE, | |
cyVal : CY, | |
date : DATE, | |
bstrVal : wireBSTR, | |
punkVal : ^IUnknown, | |
pdispVal : ^IDispatch, | |
parray : wirePSAFEARRAY, | |
brecVal : wireBRECORD, | |
pbVal : ^BYTE, | |
piVal : ^SHORT, | |
plVal : ^LONG, | |
pllVal : ^LONGLONG, | |
pfltVal : ^FLOAT, | |
pdblVal : ^DOUBLE, | |
pboolVal : ^VARIANT_BOOL, | |
pscode : ^SCODE, | |
pcyVal : ^CY, | |
pdate : ^DATE, | |
pbstrVal : ^wireBSTR, | |
ppunkVal : ^^IUnknown, | |
ppdispVal : ^^IDispatch, | |
pparray : ^wirePSAFEARRAY, | |
pvarVal : ^wireVARIANT, | |
cVal : CHAR, | |
uiVal : USHORT, | |
ulVal : ULONG, | |
ullVal : ULONGLONG, | |
intVal : INT, | |
uintVal : UINT, | |
decVal : DECIMAL, | |
pdecVal : ^DECIMAL, | |
pcVal : ^CHAR, | |
puiVal : ^USHORT, | |
pulVal : ^ULONG, | |
pullVal : ^ULONGLONG, | |
pintVal : ^INT, | |
puintVal : ^UINT, | |
}, | |
}; | |
DISPID :: LONG; | |
MEMBERID :: DISPID; | |
HREFTYPE :: DWORD; | |
/* TYPEKIND :: enum { */ | |
TYPEKIND :: _c.int; | |
TKIND_ENUM :: 0; | |
TKIND_RECORD :: (TKIND_ENUM + 1); | |
TKIND_MODULE :: (TKIND_RECORD + 1); | |
TKIND_INTERFACE :: (TKIND_MODULE + 1); | |
TKIND_DISPATCH :: (TKIND_INTERFACE + 1); | |
TKIND_COCLASS :: (TKIND_DISPATCH + 1); | |
TKIND_ALIAS :: (TKIND_COCLASS + 1); | |
TKIND_UNION :: (TKIND_ALIAS + 1); | |
TKIND_MAX :: (TKIND_UNION + 1); | |
/* } */ | |
; | |
TYPEDESC :: struct { | |
u : struct #raw_union { | |
lptdesc : ^TYPEDESC, | |
lpadesc : ^ARRAYDESC, | |
hreftype : HREFTYPE, | |
}, | |
vt : VARTYPE, | |
}; | |
ARRAYDESC :: struct { | |
tdescElem : TYPEDESC, | |
cDims : USHORT, | |
rgbounds : [1]SAFEARRAYBOUND, | |
}; | |
PARAMDESCEX :: struct { | |
cBytes : ULONG, | |
varDefaultValue : VARIANTARG, | |
}; | |
LPPARAMDESCEX :: ^PARAMDESCEX; | |
PARAMDESC :: struct { | |
pparamdescex : LPPARAMDESCEX, | |
wParamFlags : USHORT, | |
}; | |
LPPARAMDESC :: ^PARAMDESC; | |
IDLDESC :: struct { | |
dwReserved : ULONG_PTR, | |
wIDLFlags : USHORT, | |
}; | |
LPIDLDESC :: ^IDLDESC; | |
ELEMDESC :: struct { | |
tdesc : TYPEDESC, | |
u : struct #raw_union { | |
idldesc : IDLDESC, | |
paramdesc : PARAMDESC, | |
}, | |
}; | |
LPELEMDESC :: ^ELEMDESC; | |
TYPEATTR :: struct { | |
guid : GUID, | |
lcid : LCID, | |
dwReserved : DWORD, | |
memidConstructor : MEMBERID, | |
memidDestructor : MEMBERID, | |
lpstrSchema : LPOLESTR, | |
cbSizeInstance : ULONG, | |
typekind : TYPEKIND, | |
cFuncs : WORD, | |
cVars : WORD, | |
cImplTypes : WORD, | |
cbSizeVft : WORD, | |
cbAlignment : WORD, | |
wTypeFlags : WORD, | |
wMajorVerNum : WORD, | |
wMinorVerNum : WORD, | |
tdescAlias : TYPEDESC, | |
idldescType : IDLDESC, | |
}; | |
LPTYPEATTR :: ^TYPEATTR; | |
DISPPARAMS :: struct { | |
rgvarg : ^VARIANTARG, | |
rgdispidNamedArgs : ^DISPID, | |
cArgs : UINT, | |
cNamedArgs : UINT, | |
}; | |
EXCEPINFO :: struct { | |
wCode : WORD, | |
wReserved : WORD, | |
bstrSource : BSTR, | |
bstrDescription : BSTR, | |
bstrHelpFile : BSTR, | |
dwHelpContext : DWORD, | |
pvReserved : PVOID, | |
pfnDeferredFillIn : (proc "stdcall" (^EXCEPINFO) -> HRESULT), | |
scode : SCODE, | |
}; | |
LPEXCEPINFO :: ^EXCEPINFO; | |
/* CALLCONV :: enum { */ | |
CALLCONV :: _c.int; | |
CC_FASTCALL :: 0; | |
CC_CDECL :: 1; | |
CC_MSCPASCAL :: (CC_CDECL + 1); | |
CC_PASCAL :: CC_MSCPASCAL; | |
CC_MACPASCAL :: (CC_PASCAL + 1); | |
CC_STDCALL :: (CC_MACPASCAL + 1); | |
CC_FPFASTCALL :: (CC_STDCALL + 1); | |
CC_SYSCALL :: (CC_FPFASTCALL + 1); | |
CC_MPWCDECL :: (CC_SYSCALL + 1); | |
CC_MPWPASCAL :: (CC_MPWCDECL + 1); | |
CC_MAX :: (CC_MPWPASCAL + 1); | |
/* } */ | |
; | |
/* FUNCKIND :: enum { */ | |
FUNCKIND :: _c.int; | |
FUNC_VIRTUAL :: 0; | |
FUNC_PUREVIRTUAL :: (FUNC_VIRTUAL + 1); | |
FUNC_NONVIRTUAL :: (FUNC_PUREVIRTUAL + 1); | |
FUNC_STATIC :: (FUNC_NONVIRTUAL + 1); | |
FUNC_DISPATCH :: (FUNC_STATIC + 1); | |
/* } */ | |
; | |
/* INVOKEKIND :: enum { */ | |
INVOKEKIND :: _c.int; | |
INVOKE_FUNC :: 1; | |
INVOKE_PROPERTYGET :: 2; | |
INVOKE_PROPERTYPUT :: 4; | |
INVOKE_PROPERTYPUTREF :: 8; | |
/* } */ | |
; | |
FUNCDESC :: struct { | |
memid : MEMBERID, | |
lprgscode : ^SCODE, | |
lprgelemdescParam : ^ELEMDESC, | |
funckind : FUNCKIND, | |
invkind : INVOKEKIND, | |
callconv : CALLCONV, | |
cParams : SHORT, | |
cParamsOpt : SHORT, | |
oVft : SHORT, | |
cScodes : SHORT, | |
elemdescFunc : ELEMDESC, | |
wFuncFlags : WORD, | |
}; | |
LPFUNCDESC :: ^FUNCDESC; | |
/* VARKIND :: enum { */ | |
VARKIND :: _c.int; | |
VAR_PERINSTANCE :: 0; | |
VAR_STATIC :: (VAR_PERINSTANCE + 1); | |
VAR_CONST :: (VAR_STATIC + 1); | |
VAR_DISPATCH :: (VAR_CONST + 1); | |
/* } */ | |
; | |
VARDESC :: struct { | |
memid : MEMBERID, | |
lpstrSchema : LPOLESTR, | |
u : struct #raw_union { | |
oInst : ULONG, | |
lpvarValue : ^VARIANT, | |
}, | |
elemdescVar : ELEMDESC, | |
wVarFlags : WORD, | |
varkind : VARKIND, | |
}; | |
LPVARDESC :: ^VARDESC; | |
/* TYPEFLAGS :: enum { */ | |
TYPEFLAGS :: _c.int; | |
TYPEFLAG_FAPPOBJECT :: 0x1; | |
TYPEFLAG_FCANCREATE :: 0x2; | |
TYPEFLAG_FLICENSED :: 0x4; | |
TYPEFLAG_FPREDECLID :: 0x8; | |
TYPEFLAG_FHIDDEN :: 0x10; | |
TYPEFLAG_FCONTROL :: 0x20; | |
TYPEFLAG_FDUAL :: 0x40; | |
TYPEFLAG_FNONEXTENSIBLE :: 0x80; | |
TYPEFLAG_FOLEAUTOMATION :: 0x100; | |
TYPEFLAG_FRESTRICTED :: 0x200; | |
TYPEFLAG_FAGGREGATABLE :: 0x400; | |
TYPEFLAG_FREPLACEABLE :: 0x800; | |
TYPEFLAG_FDISPATCHABLE :: 0x1000; | |
TYPEFLAG_FREVERSEBIND :: 0x2000; | |
TYPEFLAG_FPROXY :: 0x4000; | |
/* } */ | |
; | |
/* FUNCFLAGS :: enum { */ | |
FUNCFLAGS :: _c.int; | |
FUNCFLAG_FRESTRICTED :: 0x1; | |
FUNCFLAG_FSOURCE :: 0x2; | |
FUNCFLAG_FBINDABLE :: 0x4; | |
FUNCFLAG_FREQUESTEDIT :: 0x8; | |
FUNCFLAG_FDISPLAYBIND :: 0x10; | |
FUNCFLAG_FDEFAULTBIND :: 0x20; | |
FUNCFLAG_FHIDDEN :: 0x40; | |
FUNCFLAG_FUSESGETLASTERROR :: 0x80; | |
FUNCFLAG_FDEFAULTCOLLELEM :: 0x100; | |
FUNCFLAG_FUIDEFAULT :: 0x200; | |
FUNCFLAG_FNONBROWSABLE :: 0x400; | |
FUNCFLAG_FREPLACEABLE :: 0x800; | |
FUNCFLAG_FIMMEDIATEBIND :: 0x1000; | |
/* } */ | |
; | |
/* VARFLAGS :: enum { */ | |
VARFLAGS :: _c.int; | |
VARFLAG_FREADONLY :: 0x1; | |
VARFLAG_FSOURCE :: 0x2; | |
VARFLAG_FBINDABLE :: 0x4; | |
VARFLAG_FREQUESTEDIT :: 0x8; | |
VARFLAG_FDISPLAYBIND :: 0x10; | |
VARFLAG_FDEFAULTBIND :: 0x20; | |
VARFLAG_FHIDDEN :: 0x40; | |
VARFLAG_FRESTRICTED :: 0x80; | |
VARFLAG_FDEFAULTCOLLELEM :: 0x100; | |
VARFLAG_FUIDEFAULT :: 0x200; | |
VARFLAG_FNONBROWSABLE :: 0x400; | |
VARFLAG_FREPLACEABLE :: 0x800; | |
VARFLAG_FIMMEDIATEBIND :: 0x1000; | |
/* } */ | |
; | |
CLEANLOCALSTORAGE :: struct { | |
pInterface : ^IUnknown, | |
pStorage : PVOID, | |
flags : DWORD, | |
}; | |
CUSTDATAITEM :: struct { | |
guid : GUID, | |
varValue : VARIANTARG, | |
}; | |
LPCUSTDATAITEM :: ^CUSTDATAITEM; | |
CUSTDATA :: struct { | |
cCustData : DWORD, | |
prgCustData : LPCUSTDATAITEM, | |
}; | |
LPCUSTDATA :: ^CUSTDATA; | |
LPCREATETYPEINFO :: ^ICreateTypeInfo; | |
ICreateTypeInfoVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ICreateTypeInfo, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ICreateTypeInfo) -> ULONG), | |
Release : (proc "stdcall" (This : ^ICreateTypeInfo) -> ULONG), | |
SetGuid : (proc "stdcall" (This : ^ICreateTypeInfo, guid : ^GUID) -> HRESULT), | |
SetTypeFlags : (proc "stdcall" (This : ^ICreateTypeInfo, uTypeFlags : UINT) -> HRESULT), | |
SetDocString : (proc "stdcall" (This : ^ICreateTypeInfo, pStrDoc : LPOLESTR) -> HRESULT), | |
SetHelpContext : (proc "stdcall" (This : ^ICreateTypeInfo, dwHelpContext : DWORD) -> HRESULT), | |
SetVersion : (proc "stdcall" (This : ^ICreateTypeInfo, wMajorVerNum : WORD, wMinorVerNum : WORD) -> HRESULT), | |
AddRefTypeInfo : (proc "stdcall" (This : ^ICreateTypeInfo, pTInfo : ^ITypeInfo, phRefType : ^HREFTYPE) -> HRESULT), | |
AddFuncDesc : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, pFuncDesc : ^FUNCDESC) -> HRESULT), | |
AddImplType : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, hRefType : HREFTYPE) -> HRESULT), | |
SetImplTypeFlags : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, implTypeFlags : INT) -> HRESULT), | |
SetAlignment : (proc "stdcall" (This : ^ICreateTypeInfo, cbAlignment : WORD) -> HRESULT), | |
SetSchema : (proc "stdcall" (This : ^ICreateTypeInfo, pStrSchema : LPOLESTR) -> HRESULT), | |
AddVarDesc : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, pVarDesc : ^VARDESC) -> HRESULT), | |
SetFuncAndParamNames : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, rgszNames : ^LPOLESTR, cNames : UINT) -> HRESULT), | |
SetVarName : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, szName : LPOLESTR) -> HRESULT), | |
SetTypeDescAlias : (proc "stdcall" (This : ^ICreateTypeInfo, pTDescAlias : ^TYPEDESC) -> HRESULT), | |
DefineFuncAsDllEntry : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, szDllName : LPOLESTR, szProcName : LPOLESTR) -> HRESULT), | |
SetFuncDocString : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, szDocString : LPOLESTR) -> HRESULT), | |
SetVarDocString : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, szDocString : LPOLESTR) -> HRESULT), | |
SetFuncHelpContext : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, dwHelpContext : DWORD) -> HRESULT), | |
SetVarHelpContext : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, dwHelpContext : DWORD) -> HRESULT), | |
SetMops : (proc "stdcall" (This : ^ICreateTypeInfo, index : UINT, bstrMops : BSTR) -> HRESULT), | |
SetTypeIdldesc : (proc "stdcall" (This : ^ICreateTypeInfo, pIdlDesc : ^IDLDESC) -> HRESULT), | |
LayOut : (proc "stdcall" (This : ^ICreateTypeInfo) -> HRESULT), | |
}; | |
ICreateTypeInfo :: struct { | |
lpVtbl : ^ICreateTypeInfoVtbl, | |
}; | |
LPCREATETYPEINFO2 :: ^ICreateTypeInfo2; | |
ICreateTypeInfo2Vtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ICreateTypeInfo2, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ICreateTypeInfo2) -> ULONG), | |
Release : (proc "stdcall" (This : ^ICreateTypeInfo2) -> ULONG), | |
SetGuid : (proc "stdcall" (This : ^ICreateTypeInfo2, guid : ^GUID) -> HRESULT), | |
SetTypeFlags : (proc "stdcall" (This : ^ICreateTypeInfo2, uTypeFlags : UINT) -> HRESULT), | |
SetDocString : (proc "stdcall" (This : ^ICreateTypeInfo2, pStrDoc : LPOLESTR) -> HRESULT), | |
SetHelpContext : (proc "stdcall" (This : ^ICreateTypeInfo2, dwHelpContext : DWORD) -> HRESULT), | |
SetVersion : (proc "stdcall" (This : ^ICreateTypeInfo2, wMajorVerNum : WORD, wMinorVerNum : WORD) -> HRESULT), | |
AddRefTypeInfo : (proc "stdcall" (This : ^ICreateTypeInfo2, pTInfo : ^ITypeInfo, phRefType : ^HREFTYPE) -> HRESULT), | |
AddFuncDesc : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, pFuncDesc : ^FUNCDESC) -> HRESULT), | |
AddImplType : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, hRefType : HREFTYPE) -> HRESULT), | |
SetImplTypeFlags : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, implTypeFlags : INT) -> HRESULT), | |
SetAlignment : (proc "stdcall" (This : ^ICreateTypeInfo2, cbAlignment : WORD) -> HRESULT), | |
SetSchema : (proc "stdcall" (This : ^ICreateTypeInfo2, pStrSchema : LPOLESTR) -> HRESULT), | |
AddVarDesc : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, pVarDesc : ^VARDESC) -> HRESULT), | |
SetFuncAndParamNames : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, rgszNames : ^LPOLESTR, cNames : UINT) -> HRESULT), | |
SetVarName : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, szName : LPOLESTR) -> HRESULT), | |
SetTypeDescAlias : (proc "stdcall" (This : ^ICreateTypeInfo2, pTDescAlias : ^TYPEDESC) -> HRESULT), | |
DefineFuncAsDllEntry : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, szDllName : LPOLESTR, szProcName : LPOLESTR) -> HRESULT), | |
SetFuncDocString : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, szDocString : LPOLESTR) -> HRESULT), | |
SetVarDocString : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, szDocString : LPOLESTR) -> HRESULT), | |
SetFuncHelpContext : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, dwHelpContext : DWORD) -> HRESULT), | |
SetVarHelpContext : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, dwHelpContext : DWORD) -> HRESULT), | |
SetMops : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, bstrMops : BSTR) -> HRESULT), | |
SetTypeIdldesc : (proc "stdcall" (This : ^ICreateTypeInfo2, pIdlDesc : ^IDLDESC) -> HRESULT), | |
LayOut : (proc "stdcall" (This : ^ICreateTypeInfo2) -> HRESULT), | |
DeleteFuncDesc : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT) -> HRESULT), | |
DeleteFuncDescByMemId : (proc "stdcall" (This : ^ICreateTypeInfo2, memid : MEMBERID, invKind : INVOKEKIND) -> HRESULT), | |
DeleteVarDesc : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT) -> HRESULT), | |
DeleteVarDescByMemId : (proc "stdcall" (This : ^ICreateTypeInfo2, memid : MEMBERID) -> HRESULT), | |
DeleteImplType : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT) -> HRESULT), | |
SetCustData : (proc "stdcall" (This : ^ICreateTypeInfo2, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
SetFuncCustData : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
SetParamCustData : (proc "stdcall" (This : ^ICreateTypeInfo2, indexFunc : UINT, indexParam : UINT, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
SetVarCustData : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
SetImplTypeCustData : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
SetHelpStringContext : (proc "stdcall" (This : ^ICreateTypeInfo2, dwHelpStringContext : ULONG) -> HRESULT), | |
SetFuncHelpStringContext : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, dwHelpStringContext : ULONG) -> HRESULT), | |
SetVarHelpStringContext : (proc "stdcall" (This : ^ICreateTypeInfo2, index : UINT, dwHelpStringContext : ULONG) -> HRESULT), | |
Invalidate : (proc "stdcall" (This : ^ICreateTypeInfo2) -> HRESULT), | |
SetName : (proc "stdcall" (This : ^ICreateTypeInfo2, szName : LPOLESTR) -> HRESULT), | |
}; | |
ICreateTypeInfo2 :: struct { | |
lpVtbl : ^ICreateTypeInfo2Vtbl, | |
}; | |
LPCREATETYPELIB :: ^ICreateTypeLib; | |
ICreateTypeLibVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ICreateTypeLib, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ICreateTypeLib) -> ULONG), | |
Release : (proc "stdcall" (This : ^ICreateTypeLib) -> ULONG), | |
CreateTypeInfo : (proc "stdcall" (This : ^ICreateTypeLib, szName : LPOLESTR, tkind : TYPEKIND, ppCTInfo : ^^ICreateTypeInfo) -> HRESULT), | |
SetName : (proc "stdcall" (This : ^ICreateTypeLib, szName : LPOLESTR) -> HRESULT), | |
SetVersion : (proc "stdcall" (This : ^ICreateTypeLib, wMajorVerNum : WORD, wMinorVerNum : WORD) -> HRESULT), | |
SetGuid : (proc "stdcall" (This : ^ICreateTypeLib, guid : ^GUID) -> HRESULT), | |
SetDocString : (proc "stdcall" (This : ^ICreateTypeLib, szDoc : LPOLESTR) -> HRESULT), | |
SetHelpFileName : (proc "stdcall" (This : ^ICreateTypeLib, szHelpFileName : LPOLESTR) -> HRESULT), | |
SetHelpContext : (proc "stdcall" (This : ^ICreateTypeLib, dwHelpContext : DWORD) -> HRESULT), | |
SetLcid : (proc "stdcall" (This : ^ICreateTypeLib, lcid : LCID) -> HRESULT), | |
SetLibFlags : (proc "stdcall" (This : ^ICreateTypeLib, uLibFlags : UINT) -> HRESULT), | |
SaveAllChanges : (proc "stdcall" (This : ^ICreateTypeLib) -> HRESULT), | |
}; | |
ICreateTypeLib :: struct { | |
lpVtbl : ^ICreateTypeLibVtbl, | |
}; | |
LPCREATETYPELIB2 :: ^ICreateTypeLib2; | |
ICreateTypeLib2Vtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ICreateTypeLib2, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ICreateTypeLib2) -> ULONG), | |
Release : (proc "stdcall" (This : ^ICreateTypeLib2) -> ULONG), | |
CreateTypeInfo : (proc "stdcall" (This : ^ICreateTypeLib2, szName : LPOLESTR, tkind : TYPEKIND, ppCTInfo : ^^ICreateTypeInfo) -> HRESULT), | |
SetName : (proc "stdcall" (This : ^ICreateTypeLib2, szName : LPOLESTR) -> HRESULT), | |
SetVersion : (proc "stdcall" (This : ^ICreateTypeLib2, wMajorVerNum : WORD, wMinorVerNum : WORD) -> HRESULT), | |
SetGuid : (proc "stdcall" (This : ^ICreateTypeLib2, guid : ^GUID) -> HRESULT), | |
SetDocString : (proc "stdcall" (This : ^ICreateTypeLib2, szDoc : LPOLESTR) -> HRESULT), | |
SetHelpFileName : (proc "stdcall" (This : ^ICreateTypeLib2, szHelpFileName : LPOLESTR) -> HRESULT), | |
SetHelpContext : (proc "stdcall" (This : ^ICreateTypeLib2, dwHelpContext : DWORD) -> HRESULT), | |
SetLcid : (proc "stdcall" (This : ^ICreateTypeLib2, lcid : LCID) -> HRESULT), | |
SetLibFlags : (proc "stdcall" (This : ^ICreateTypeLib2, uLibFlags : UINT) -> HRESULT), | |
SaveAllChanges : (proc "stdcall" (This : ^ICreateTypeLib2) -> HRESULT), | |
DeleteTypeInfo : (proc "stdcall" (This : ^ICreateTypeLib2, szName : LPOLESTR) -> HRESULT), | |
SetCustData : (proc "stdcall" (This : ^ICreateTypeLib2, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
SetHelpStringContext : (proc "stdcall" (This : ^ICreateTypeLib2, dwHelpStringContext : ULONG) -> HRESULT), | |
SetHelpStringDll : (proc "stdcall" (This : ^ICreateTypeLib2, szFileName : LPOLESTR) -> HRESULT), | |
}; | |
ICreateTypeLib2 :: struct { | |
lpVtbl : ^ICreateTypeLib2Vtbl, | |
}; | |
LPDISPATCH :: ^IDispatch; | |
IDispatchVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IDispatch, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IDispatch) -> ULONG), | |
Release : (proc "stdcall" (This : ^IDispatch) -> ULONG), | |
GetTypeInfoCount : (proc "stdcall" (This : ^IDispatch, pctinfo : ^UINT) -> HRESULT), | |
GetTypeInfo : (proc "stdcall" (This : ^IDispatch, iTInfo : UINT, lcid : LCID, ppTInfo : ^^ITypeInfo) -> HRESULT), | |
GetIDsOfNames : (proc "stdcall" (This : ^IDispatch, riid : ^IID, rgszNames : ^LPOLESTR, cNames : UINT, lcid : LCID, rgDispId : ^DISPID) -> HRESULT), | |
Invoke : (proc "stdcall" (This : ^IDispatch, dispIdMember : DISPID, riid : ^IID, lcid : LCID, wFlags : WORD, pDispParams : ^DISPPARAMS, pVarResult : ^VARIANT, pExcepInfo : ^EXCEPINFO, puArgErr : ^UINT) -> HRESULT), | |
}; | |
IDispatch :: struct { | |
lpVtbl : ^IDispatchVtbl, | |
}; | |
LPENUMVARIANT :: ^IEnumVARIANT; | |
IEnumVARIANTVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IEnumVARIANT, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IEnumVARIANT) -> ULONG), | |
Release : (proc "stdcall" (This : ^IEnumVARIANT) -> ULONG), | |
Next : (proc "stdcall" (This : ^IEnumVARIANT, celt : ULONG, rgVar : ^VARIANT, pCeltFetched : ^ULONG) -> HRESULT), | |
Skip : (proc "stdcall" (This : ^IEnumVARIANT, celt : ULONG) -> HRESULT), | |
Reset : (proc "stdcall" (This : ^IEnumVARIANT) -> HRESULT), | |
Clone : (proc "stdcall" (This : ^IEnumVARIANT, ppEnum : ^^IEnumVARIANT) -> HRESULT), | |
}; | |
IEnumVARIANT :: struct { | |
lpVtbl : ^IEnumVARIANTVtbl, | |
}; | |
LPTYPECOMP :: ^ITypeComp; | |
/* DESCKIND :: enum { */ | |
DESCKIND :: _c.int; | |
DESCKIND_NONE :: 0; | |
DESCKIND_FUNCDESC :: (DESCKIND_NONE + 1); | |
DESCKIND_VARDESC :: (DESCKIND_FUNCDESC + 1); | |
DESCKIND_TYPECOMP :: (DESCKIND_VARDESC + 1); | |
DESCKIND_IMPLICITAPPOBJ :: (DESCKIND_TYPECOMP + 1); | |
DESCKIND_MAX :: (DESCKIND_IMPLICITAPPOBJ + 1); | |
/* } */ | |
; | |
BINDPTR :: struct #raw_union { | |
lpfuncdesc : ^FUNCDESC, | |
lpvardesc : ^VARDESC, | |
lptcomp : ^ITypeComp, | |
}; | |
LPBINDPTR :: ^BINDPTR; | |
ITypeCompVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ITypeComp, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ITypeComp) -> ULONG), | |
Release : (proc "stdcall" (This : ^ITypeComp) -> ULONG), | |
Bind : (proc "stdcall" (This : ^ITypeComp, szName : LPOLESTR, lHashVal : ULONG, wFlags : WORD, ppTInfo : ^^ITypeInfo, pDescKind : ^DESCKIND, pBindPtr : ^BINDPTR) -> HRESULT), | |
BindType : (proc "stdcall" (This : ^ITypeComp, szName : LPOLESTR, lHashVal : ULONG, ppTInfo : ^^ITypeInfo, ppTComp : ^^ITypeComp) -> HRESULT), | |
}; | |
ITypeComp :: struct { | |
lpVtbl : ^ITypeCompVtbl, | |
}; | |
LPTYPEINFO :: ^ITypeInfo; | |
ITypeInfoVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ITypeInfo, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ITypeInfo) -> ULONG), | |
Release : (proc "stdcall" (This : ^ITypeInfo) -> ULONG), | |
GetTypeAttr : (proc "stdcall" (This : ^ITypeInfo, ppTypeAttr : ^^TYPEATTR) -> HRESULT), | |
GetTypeComp : (proc "stdcall" (This : ^ITypeInfo, ppTComp : ^^ITypeComp) -> HRESULT), | |
GetFuncDesc : (proc "stdcall" (This : ^ITypeInfo, index : UINT, ppFuncDesc : ^^FUNCDESC) -> HRESULT), | |
GetVarDesc : (proc "stdcall" (This : ^ITypeInfo, index : UINT, ppVarDesc : ^^VARDESC) -> HRESULT), | |
GetNames : (proc "stdcall" (This : ^ITypeInfo, memid : MEMBERID, rgBstrNames : ^BSTR, cMaxNames : UINT, pcNames : ^UINT) -> HRESULT), | |
GetRefTypeOfImplType : (proc "stdcall" (This : ^ITypeInfo, index : UINT, pRefType : ^HREFTYPE) -> HRESULT), | |
GetImplTypeFlags : (proc "stdcall" (This : ^ITypeInfo, index : UINT, pImplTypeFlags : ^INT) -> HRESULT), | |
GetIDsOfNames : (proc "stdcall" (This : ^ITypeInfo, rgszNames : ^LPOLESTR, cNames : UINT, pMemId : ^MEMBERID) -> HRESULT), | |
Invoke : (proc "stdcall" (This : ^ITypeInfo, pvInstance : PVOID, memid : MEMBERID, wFlags : WORD, pDispParams : ^DISPPARAMS, pVarResult : ^VARIANT, pExcepInfo : ^EXCEPINFO, puArgErr : ^UINT) -> HRESULT), | |
GetDocumentation : (proc "stdcall" (This : ^ITypeInfo, memid : MEMBERID, pBstrName : ^BSTR, pBstrDocString : ^BSTR, pdwHelpContext : ^DWORD, pBstrHelpFile : ^BSTR) -> HRESULT), | |
GetDllEntry : (proc "stdcall" (This : ^ITypeInfo, memid : MEMBERID, invKind : INVOKEKIND, pBstrDllName : ^BSTR, pBstrName : ^BSTR, pwOrdinal : ^WORD) -> HRESULT), | |
GetRefTypeInfo : (proc "stdcall" (This : ^ITypeInfo, hRefType : HREFTYPE, ppTInfo : ^^ITypeInfo) -> HRESULT), | |
AddressOfMember : (proc "stdcall" (This : ^ITypeInfo, memid : MEMBERID, invKind : INVOKEKIND, ppv : ^PVOID) -> HRESULT), | |
CreateInstance : (proc "stdcall" (This : ^ITypeInfo, pUnkOuter : ^IUnknown, riid : ^IID, ppvObj : ^PVOID) -> HRESULT), | |
GetMops : (proc "stdcall" (This : ^ITypeInfo, memid : MEMBERID, pBstrMops : ^BSTR) -> HRESULT), | |
GetContainingTypeLib : (proc "stdcall" (This : ^ITypeInfo, ppTLib : ^^ITypeLib, pIndex : ^UINT) -> HRESULT), | |
ReleaseTypeAttr : proc "stdcall" (This : ^ITypeInfo, pTypeAttr : ^TYPEATTR), | |
ReleaseFuncDesc : proc "stdcall" (This : ^ITypeInfo, pFuncDesc : ^FUNCDESC), | |
ReleaseVarDesc : proc "stdcall" (This : ^ITypeInfo, pVarDesc : ^VARDESC), | |
}; | |
ITypeInfo :: struct { | |
lpVtbl : ^ITypeInfoVtbl, | |
}; | |
LPTYPEINFO2 :: ^ITypeInfo2; | |
ITypeInfo2Vtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ITypeInfo2, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ITypeInfo2) -> ULONG), | |
Release : (proc "stdcall" (This : ^ITypeInfo2) -> ULONG), | |
GetTypeAttr : (proc "stdcall" (This : ^ITypeInfo2, ppTypeAttr : ^^TYPEATTR) -> HRESULT), | |
GetTypeComp : (proc "stdcall" (This : ^ITypeInfo2, ppTComp : ^^ITypeComp) -> HRESULT), | |
GetFuncDesc : (proc "stdcall" (This : ^ITypeInfo2, index : UINT, ppFuncDesc : ^^FUNCDESC) -> HRESULT), | |
GetVarDesc : (proc "stdcall" (This : ^ITypeInfo2, index : UINT, ppVarDesc : ^^VARDESC) -> HRESULT), | |
GetNames : (proc "stdcall" (This : ^ITypeInfo2, memid : MEMBERID, rgBstrNames : ^BSTR, cMaxNames : UINT, pcNames : ^UINT) -> HRESULT), | |
GetRefTypeOfImplType : (proc "stdcall" (This : ^ITypeInfo2, index : UINT, pRefType : ^HREFTYPE) -> HRESULT), | |
GetImplTypeFlags : (proc "stdcall" (This : ^ITypeInfo2, index : UINT, pImplTypeFlags : ^INT) -> HRESULT), | |
GetIDsOfNames : (proc "stdcall" (This : ^ITypeInfo2, rgszNames : ^LPOLESTR, cNames : UINT, pMemId : ^MEMBERID) -> HRESULT), | |
Invoke : (proc "stdcall" (This : ^ITypeInfo2, pvInstance : PVOID, memid : MEMBERID, wFlags : WORD, pDispParams : ^DISPPARAMS, pVarResult : ^VARIANT, pExcepInfo : ^EXCEPINFO, puArgErr : ^UINT) -> HRESULT), | |
GetDocumentation : (proc "stdcall" (This : ^ITypeInfo2, memid : MEMBERID, pBstrName : ^BSTR, pBstrDocString : ^BSTR, pdwHelpContext : ^DWORD, pBstrHelpFile : ^BSTR) -> HRESULT), | |
GetDllEntry : (proc "stdcall" (This : ^ITypeInfo2, memid : MEMBERID, invKind : INVOKEKIND, pBstrDllName : ^BSTR, pBstrName : ^BSTR, pwOrdinal : ^WORD) -> HRESULT), | |
GetRefTypeInfo : (proc "stdcall" (This : ^ITypeInfo2, hRefType : HREFTYPE, ppTInfo : ^^ITypeInfo) -> HRESULT), | |
AddressOfMember : (proc "stdcall" (This : ^ITypeInfo2, memid : MEMBERID, invKind : INVOKEKIND, ppv : ^PVOID) -> HRESULT), | |
CreateInstance : (proc "stdcall" (This : ^ITypeInfo2, pUnkOuter : ^IUnknown, riid : ^IID, ppvObj : ^PVOID) -> HRESULT), | |
GetMops : (proc "stdcall" (This : ^ITypeInfo2, memid : MEMBERID, pBstrMops : ^BSTR) -> HRESULT), | |
GetContainingTypeLib : (proc "stdcall" (This : ^ITypeInfo2, ppTLib : ^^ITypeLib, pIndex : ^UINT) -> HRESULT), | |
ReleaseTypeAttr : proc "stdcall" (This : ^ITypeInfo2, pTypeAttr : ^TYPEATTR), | |
ReleaseFuncDesc : proc "stdcall" (This : ^ITypeInfo2, pFuncDesc : ^FUNCDESC), | |
ReleaseVarDesc : proc "stdcall" (This : ^ITypeInfo2, pVarDesc : ^VARDESC), | |
GetTypeKind : (proc "stdcall" (This : ^ITypeInfo2, pTypeKind : ^TYPEKIND) -> HRESULT), | |
GetTypeFlags : (proc "stdcall" (This : ^ITypeInfo2, pTypeFlags : ^ULONG) -> HRESULT), | |
GetFuncIndexOfMemId : (proc "stdcall" (This : ^ITypeInfo2, memid : MEMBERID, invKind : INVOKEKIND, pFuncIndex : ^UINT) -> HRESULT), | |
GetVarIndexOfMemId : (proc "stdcall" (This : ^ITypeInfo2, memid : MEMBERID, pVarIndex : ^UINT) -> HRESULT), | |
GetCustData : (proc "stdcall" (This : ^ITypeInfo2, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
GetFuncCustData : (proc "stdcall" (This : ^ITypeInfo2, index : UINT, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
GetParamCustData : (proc "stdcall" (This : ^ITypeInfo2, indexFunc : UINT, indexParam : UINT, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
GetVarCustData : (proc "stdcall" (This : ^ITypeInfo2, index : UINT, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
GetImplTypeCustData : (proc "stdcall" (This : ^ITypeInfo2, index : UINT, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
GetDocumentation2 : (proc "stdcall" (This : ^ITypeInfo2, memid : MEMBERID, lcid : LCID, pbstrHelpString : ^BSTR, pdwHelpStringContext : ^DWORD, pbstrHelpStringDll : ^BSTR) -> HRESULT), | |
GetAllCustData : (proc "stdcall" (This : ^ITypeInfo2, pCustData : ^CUSTDATA) -> HRESULT), | |
GetAllFuncCustData : (proc "stdcall" (This : ^ITypeInfo2, index : UINT, pCustData : ^CUSTDATA) -> HRESULT), | |
GetAllParamCustData : (proc "stdcall" (This : ^ITypeInfo2, indexFunc : UINT, indexParam : UINT, pCustData : ^CUSTDATA) -> HRESULT), | |
GetAllVarCustData : (proc "stdcall" (This : ^ITypeInfo2, index : UINT, pCustData : ^CUSTDATA) -> HRESULT), | |
GetAllImplTypeCustData : (proc "stdcall" (This : ^ITypeInfo2, index : UINT, pCustData : ^CUSTDATA) -> HRESULT), | |
}; | |
ITypeInfo2 :: struct { | |
lpVtbl : ^ITypeInfo2Vtbl, | |
}; | |
/* SYSKIND :: enum { */ | |
SYSKIND :: _c.int; | |
SYS_WIN16 :: 0; | |
SYS_WIN32 :: (SYS_WIN16 + 1); | |
SYS_MAC :: (SYS_WIN32 + 1); | |
SYS_WIN64 :: (SYS_MAC + 1); | |
/* } */ | |
; | |
/* LIBFLAGS :: enum { */ | |
LIBFLAGS :: _c.int; | |
LIBFLAG_FRESTRICTED :: 0x1; | |
LIBFLAG_FCONTROL :: 0x2; | |
LIBFLAG_FHIDDEN :: 0x4; | |
LIBFLAG_FHASDISKIMAGE :: 0x8; | |
/* } */ | |
; | |
LPTYPELIB :: ^ITypeLib; | |
TLIBATTR :: struct { | |
guid : GUID, | |
lcid : LCID, | |
syskind : SYSKIND, | |
wMajorVerNum : WORD, | |
wMinorVerNum : WORD, | |
wLibFlags : WORD, | |
}; | |
LPTLIBATTR :: ^TLIBATTR; | |
ITypeLibVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ITypeLib, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ITypeLib) -> ULONG), | |
Release : (proc "stdcall" (This : ^ITypeLib) -> ULONG), | |
GetTypeInfoCount : (proc "stdcall" (This : ^ITypeLib) -> UINT), | |
GetTypeInfo : (proc "stdcall" (This : ^ITypeLib, index : UINT, ppTInfo : ^^ITypeInfo) -> HRESULT), | |
GetTypeInfoType : (proc "stdcall" (This : ^ITypeLib, index : UINT, pTKind : ^TYPEKIND) -> HRESULT), | |
GetTypeInfoOfGuid : (proc "stdcall" (This : ^ITypeLib, guid : ^GUID, ppTinfo : ^^ITypeInfo) -> HRESULT), | |
GetLibAttr : (proc "stdcall" (This : ^ITypeLib, ppTLibAttr : ^^TLIBATTR) -> HRESULT), | |
GetTypeComp : (proc "stdcall" (This : ^ITypeLib, ppTComp : ^^ITypeComp) -> HRESULT), | |
GetDocumentation : (proc "stdcall" (This : ^ITypeLib, index : INT, pBstrName : ^BSTR, pBstrDocString : ^BSTR, pdwHelpContext : ^DWORD, pBstrHelpFile : ^BSTR) -> HRESULT), | |
IsName : (proc "stdcall" (This : ^ITypeLib, szNameBuf : LPOLESTR, lHashVal : ULONG, pfName : ^BOOL) -> HRESULT), | |
FindName : (proc "stdcall" (This : ^ITypeLib, szNameBuf : LPOLESTR, lHashVal : ULONG, ppTInfo : ^^ITypeInfo, rgMemId : ^MEMBERID, pcFound : ^USHORT) -> HRESULT), | |
ReleaseTLibAttr : proc "stdcall" (This : ^ITypeLib, pTLibAttr : ^TLIBATTR), | |
}; | |
ITypeLib :: struct { | |
lpVtbl : ^ITypeLibVtbl, | |
}; | |
LPTYPELIB2 :: ^ITypeLib2; | |
ITypeLib2Vtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ITypeLib2, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ITypeLib2) -> ULONG), | |
Release : (proc "stdcall" (This : ^ITypeLib2) -> ULONG), | |
GetTypeInfoCount : (proc "stdcall" (This : ^ITypeLib2) -> UINT), | |
GetTypeInfo : (proc "stdcall" (This : ^ITypeLib2, index : UINT, ppTInfo : ^^ITypeInfo) -> HRESULT), | |
GetTypeInfoType : (proc "stdcall" (This : ^ITypeLib2, index : UINT, pTKind : ^TYPEKIND) -> HRESULT), | |
GetTypeInfoOfGuid : (proc "stdcall" (This : ^ITypeLib2, guid : ^GUID, ppTinfo : ^^ITypeInfo) -> HRESULT), | |
GetLibAttr : (proc "stdcall" (This : ^ITypeLib2, ppTLibAttr : ^^TLIBATTR) -> HRESULT), | |
GetTypeComp : (proc "stdcall" (This : ^ITypeLib2, ppTComp : ^^ITypeComp) -> HRESULT), | |
GetDocumentation : (proc "stdcall" (This : ^ITypeLib2, index : INT, pBstrName : ^BSTR, pBstrDocString : ^BSTR, pdwHelpContext : ^DWORD, pBstrHelpFile : ^BSTR) -> HRESULT), | |
IsName : (proc "stdcall" (This : ^ITypeLib2, szNameBuf : LPOLESTR, lHashVal : ULONG, pfName : ^BOOL) -> HRESULT), | |
FindName : (proc "stdcall" (This : ^ITypeLib2, szNameBuf : LPOLESTR, lHashVal : ULONG, ppTInfo : ^^ITypeInfo, rgMemId : ^MEMBERID, pcFound : ^USHORT) -> HRESULT), | |
ReleaseTLibAttr : proc "stdcall" (This : ^ITypeLib2, pTLibAttr : ^TLIBATTR), | |
GetCustData : (proc "stdcall" (This : ^ITypeLib2, guid : ^GUID, pVarVal : ^VARIANT) -> HRESULT), | |
GetLibStatistics : (proc "stdcall" (This : ^ITypeLib2, pcUniqueNames : ^ULONG, pcchUniqueNames : ^ULONG) -> HRESULT), | |
GetDocumentation2 : (proc "stdcall" (This : ^ITypeLib2, index : INT, lcid : LCID, pbstrHelpString : ^BSTR, pdwHelpStringContext : ^DWORD, pbstrHelpStringDll : ^BSTR) -> HRESULT), | |
GetAllCustData : (proc "stdcall" (This : ^ITypeLib2, pCustData : ^CUSTDATA) -> HRESULT), | |
}; | |
ITypeLib2 :: struct { | |
lpVtbl : ^ITypeLib2Vtbl, | |
}; | |
LPTYPECHANGEEVENTS :: ^ITypeChangeEvents; | |
/* CHANGEKIND :: enum { */ | |
CHANGEKIND :: _c.int; | |
CHANGEKIND_ADDMEMBER :: 0; | |
CHANGEKIND_DELETEMEMBER :: (CHANGEKIND_ADDMEMBER + 1); | |
CHANGEKIND_SETNAMES :: (CHANGEKIND_DELETEMEMBER + 1); | |
CHANGEKIND_SETDOCUMENTATION :: (CHANGEKIND_SETNAMES + 1); | |
CHANGEKIND_GENERAL :: (CHANGEKIND_SETDOCUMENTATION + 1); | |
CHANGEKIND_INVALIDATE :: (CHANGEKIND_GENERAL + 1); | |
CHANGEKIND_CHANGEFAILED :: (CHANGEKIND_INVALIDATE + 1); | |
CHANGEKIND_MAX :: (CHANGEKIND_CHANGEFAILED + 1); | |
/* } */ | |
; | |
ITypeChangeEventsVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ITypeChangeEvents, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ITypeChangeEvents) -> ULONG), | |
Release : (proc "stdcall" (This : ^ITypeChangeEvents) -> ULONG), | |
RequestTypeChange : (proc "stdcall" (This : ^ITypeChangeEvents, changeKind : CHANGEKIND, pTInfoBefore : ^ITypeInfo, pStrName : LPOLESTR, pfCancel : ^INT) -> HRESULT), | |
AfterTypeChange : (proc "stdcall" (This : ^ITypeChangeEvents, changeKind : CHANGEKIND, pTInfoAfter : ^ITypeInfo, pStrName : LPOLESTR) -> HRESULT), | |
}; | |
ITypeChangeEvents :: struct { | |
lpVtbl : ^ITypeChangeEventsVtbl, | |
}; | |
LPERRORINFO :: ^IErrorInfo; | |
IErrorInfoVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IErrorInfo, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IErrorInfo) -> ULONG), | |
Release : (proc "stdcall" (This : ^IErrorInfo) -> ULONG), | |
GetGUID : (proc "stdcall" (This : ^IErrorInfo, pGUID : ^GUID) -> HRESULT), | |
GetSource : (proc "stdcall" (This : ^IErrorInfo, pBstrSource : ^BSTR) -> HRESULT), | |
GetDescription : (proc "stdcall" (This : ^IErrorInfo, pBstrDescription : ^BSTR) -> HRESULT), | |
GetHelpFile : (proc "stdcall" (This : ^IErrorInfo, pBstrHelpFile : ^BSTR) -> HRESULT), | |
GetHelpContext : (proc "stdcall" (This : ^IErrorInfo, pdwHelpContext : ^DWORD) -> HRESULT), | |
}; | |
IErrorInfo :: struct { | |
lpVtbl : ^IErrorInfoVtbl, | |
}; | |
LPCREATEERRORINFO :: ^ICreateErrorInfo; | |
ICreateErrorInfoVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ICreateErrorInfo, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ICreateErrorInfo) -> ULONG), | |
Release : (proc "stdcall" (This : ^ICreateErrorInfo) -> ULONG), | |
SetGUID : (proc "stdcall" (This : ^ICreateErrorInfo, rguid : ^GUID) -> HRESULT), | |
SetSource : (proc "stdcall" (This : ^ICreateErrorInfo, szSource : LPOLESTR) -> HRESULT), | |
SetDescription : (proc "stdcall" (This : ^ICreateErrorInfo, szDescription : LPOLESTR) -> HRESULT), | |
SetHelpFile : (proc "stdcall" (This : ^ICreateErrorInfo, szHelpFile : LPOLESTR) -> HRESULT), | |
SetHelpContext : (proc "stdcall" (This : ^ICreateErrorInfo, dwHelpContext : DWORD) -> HRESULT), | |
}; | |
ICreateErrorInfo :: struct { | |
lpVtbl : ^ICreateErrorInfoVtbl, | |
}; | |
LPSUPPORTERRORINFO :: ^ISupportErrorInfo; | |
ISupportErrorInfoVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ISupportErrorInfo, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ISupportErrorInfo) -> ULONG), | |
Release : (proc "stdcall" (This : ^ISupportErrorInfo) -> ULONG), | |
InterfaceSupportsErrorInfo : (proc "stdcall" (This : ^ISupportErrorInfo, riid : ^IID) -> HRESULT), | |
}; | |
ISupportErrorInfo :: struct { | |
lpVtbl : ^ISupportErrorInfoVtbl, | |
}; | |
ITypeFactoryVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ITypeFactory, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ITypeFactory) -> ULONG), | |
Release : (proc "stdcall" (This : ^ITypeFactory) -> ULONG), | |
CreateFromTypeInfo : (proc "stdcall" (This : ^ITypeFactory, pTypeInfo : ^ITypeInfo, riid : ^IID, ppv : ^^IUnknown) -> HRESULT), | |
}; | |
ITypeFactory :: struct { | |
lpVtbl : ^ITypeFactoryVtbl, | |
}; | |
ITypeMarshalVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ITypeMarshal, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ITypeMarshal) -> ULONG), | |
Release : (proc "stdcall" (This : ^ITypeMarshal) -> ULONG), | |
Size : (proc "stdcall" (This : ^ITypeMarshal, pvType : PVOID, dwDestContext : DWORD, pvDestContext : PVOID, pSize : ^ULONG) -> HRESULT), | |
Marshal : (proc "stdcall" (This : ^ITypeMarshal, pvType : PVOID, dwDestContext : DWORD, pvDestContext : PVOID, cbBufferLength : ULONG, pBuffer : ^BYTE, pcbWritten : ^ULONG) -> HRESULT), | |
Unmarshal : (proc "stdcall" (This : ^ITypeMarshal, pvType : PVOID, dwFlags : DWORD, cbBufferLength : ULONG, pBuffer : ^BYTE, pcbRead : ^ULONG) -> HRESULT), | |
Free : (proc "stdcall" (This : ^ITypeMarshal, pvType : PVOID) -> HRESULT), | |
}; | |
ITypeMarshal :: struct { | |
lpVtbl : ^ITypeMarshalVtbl, | |
}; | |
LPRECORDINFO :: ^IRecordInfo; | |
IRecordInfoVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IRecordInfo, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IRecordInfo) -> ULONG), | |
Release : (proc "stdcall" (This : ^IRecordInfo) -> ULONG), | |
RecordInit : (proc "stdcall" (This : ^IRecordInfo, pvNew : PVOID) -> HRESULT), | |
RecordClear : (proc "stdcall" (This : ^IRecordInfo, pvExisting : PVOID) -> HRESULT), | |
RecordCopy : (proc "stdcall" (This : ^IRecordInfo, pvExisting : PVOID, pvNew : PVOID) -> HRESULT), | |
GetGuid : (proc "stdcall" (This : ^IRecordInfo, pguid : ^GUID) -> HRESULT), | |
GetName : (proc "stdcall" (This : ^IRecordInfo, pbstrName : ^BSTR) -> HRESULT), | |
GetSize : (proc "stdcall" (This : ^IRecordInfo, pcbSize : ^ULONG) -> HRESULT), | |
GetTypeInfo : (proc "stdcall" (This : ^IRecordInfo, ppTypeInfo : ^^ITypeInfo) -> HRESULT), | |
GetField : (proc "stdcall" (This : ^IRecordInfo, pvData : PVOID, szFieldName : LPCOLESTR, pvarField : ^VARIANT) -> HRESULT), | |
GetFieldNoCopy : (proc "stdcall" (This : ^IRecordInfo, pvData : PVOID, szFieldName : LPCOLESTR, pvarField : ^VARIANT, ppvDataCArray : ^PVOID) -> HRESULT), | |
PutField : (proc "stdcall" (This : ^IRecordInfo, wFlags : ULONG, pvData : PVOID, szFieldName : LPCOLESTR, pvarField : ^VARIANT) -> HRESULT), | |
PutFieldNoCopy : (proc "stdcall" (This : ^IRecordInfo, wFlags : ULONG, pvData : PVOID, szFieldName : LPCOLESTR, pvarField : ^VARIANT) -> HRESULT), | |
GetFieldNames : (proc "stdcall" (This : ^IRecordInfo, pcNames : ^ULONG, rgBstrNames : ^BSTR) -> HRESULT), | |
IsMatchingType : (proc "stdcall" (This : ^IRecordInfo, pRecordInfo : ^IRecordInfo) -> BOOL), | |
RecordCreate : (proc "stdcall" (This : ^IRecordInfo) -> PVOID), | |
RecordCreateCopy : (proc "stdcall" (This : ^IRecordInfo, pvSource : PVOID, ppvDest : ^PVOID) -> HRESULT), | |
RecordDestroy : (proc "stdcall" (This : ^IRecordInfo, pvRecord : PVOID) -> HRESULT), | |
}; | |
IRecordInfo :: struct { | |
lpVtbl : ^IRecordInfoVtbl, | |
}; | |
LPERRORLOG :: ^IErrorLog; | |
IErrorLogVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IErrorLog, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IErrorLog) -> ULONG), | |
Release : (proc "stdcall" (This : ^IErrorLog) -> ULONG), | |
AddError : (proc "stdcall" (This : ^IErrorLog, pszPropName : LPCOLESTR, pExcepInfo : ^EXCEPINFO) -> HRESULT), | |
}; | |
IErrorLog :: struct { | |
lpVtbl : ^IErrorLogVtbl, | |
}; | |
LPPROPERTYBAG :: ^IPropertyBag; | |
IPropertyBagVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IPropertyBag, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IPropertyBag) -> ULONG), | |
Release : (proc "stdcall" (This : ^IPropertyBag) -> ULONG), | |
Read : (proc "stdcall" (This : ^IPropertyBag, pszPropName : LPCOLESTR, pVar : ^VARIANT, pErrorLog : ^IErrorLog) -> HRESULT), | |
Write : (proc "stdcall" (This : ^IPropertyBag, pszPropName : LPCOLESTR, pVar : ^VARIANT) -> HRESULT), | |
}; | |
IPropertyBag :: struct { | |
lpVtbl : ^IPropertyBagVtbl, | |
}; | |
ITypeLibRegistrationReaderVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ITypeLibRegistrationReader, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ITypeLibRegistrationReader) -> ULONG), | |
Release : (proc "stdcall" (This : ^ITypeLibRegistrationReader) -> ULONG), | |
EnumTypeLibRegistrations : (proc "stdcall" (This : ^ITypeLibRegistrationReader, ppEnumUnknown : ^^IEnumUnknown) -> HRESULT), | |
}; | |
ITypeLibRegistrationReader :: struct { | |
lpVtbl : ^ITypeLibRegistrationReaderVtbl, | |
}; | |
ITypeLibRegistrationVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^ITypeLibRegistration, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^ITypeLibRegistration) -> ULONG), | |
Release : (proc "stdcall" (This : ^ITypeLibRegistration) -> ULONG), | |
GetGuid : (proc "stdcall" (This : ^ITypeLibRegistration, pGuid : ^GUID) -> HRESULT), | |
GetVersion : (proc "stdcall" (This : ^ITypeLibRegistration, pVersion : ^BSTR) -> HRESULT), | |
GetLcid : (proc "stdcall" (This : ^ITypeLibRegistration, pLcid : ^LCID) -> HRESULT), | |
GetWin32Path : (proc "stdcall" (This : ^ITypeLibRegistration, pWin32Path : ^BSTR) -> HRESULT), | |
GetWin64Path : (proc "stdcall" (This : ^ITypeLibRegistration, pWin64Path : ^BSTR) -> HRESULT), | |
GetDisplayName : (proc "stdcall" (This : ^ITypeLibRegistration, pDisplayName : ^BSTR) -> HRESULT), | |
GetFlags : (proc "stdcall" (This : ^ITypeLibRegistration, pFlags : ^DWORD) -> HRESULT), | |
GetHelpDir : (proc "stdcall" (This : ^ITypeLibRegistration, pHelpDir : ^BSTR) -> HRESULT), | |
}; | |
ITypeLibRegistration :: struct { | |
lpVtbl : ^ITypeLibRegistrationVtbl, | |
}; | |
VERSIONEDSTREAM :: struct { | |
guidVersion : GUID, | |
pStream : ^IStream, | |
}; | |
LPVERSIONEDSTREAM :: ^VERSIONEDSTREAM; | |
; | |
CAC :: struct { | |
cElems : ULONG, | |
pElems : ^CHAR, | |
}; | |
CAUB :: struct { | |
cElems : ULONG, | |
pElems : ^UCHAR, | |
}; | |
CAI :: struct { | |
cElems : ULONG, | |
pElems : ^SHORT, | |
}; | |
CAUI :: struct { | |
cElems : ULONG, | |
pElems : ^USHORT, | |
}; | |
CAL :: struct { | |
cElems : ULONG, | |
pElems : ^LONG, | |
}; | |
CAUL :: struct { | |
cElems : ULONG, | |
pElems : ^ULONG, | |
}; | |
CAFLT :: struct { | |
cElems : ULONG, | |
pElems : ^FLOAT, | |
}; | |
CADBL :: struct { | |
cElems : ULONG, | |
pElems : ^DOUBLE, | |
}; | |
CACY :: struct { | |
cElems : ULONG, | |
pElems : ^CY, | |
}; | |
CADATE :: struct { | |
cElems : ULONG, | |
pElems : ^DATE, | |
}; | |
CABSTR :: struct { | |
cElems : ULONG, | |
pElems : ^BSTR, | |
}; | |
CABSTRBLOB :: struct { | |
cElems : ULONG, | |
pElems : ^BSTRBLOB, | |
}; | |
CABOOL :: struct { | |
cElems : ULONG, | |
pElems : ^VARIANT_BOOL, | |
}; | |
CASCODE :: struct { | |
cElems : ULONG, | |
pElems : ^SCODE, | |
}; | |
CAPROPVARIANT :: struct { | |
cElems : ULONG, | |
pElems : ^PROPVARIANT, | |
}; | |
CAH :: struct { | |
cElems : ULONG, | |
pElems : ^LARGE_INTEGER, | |
}; | |
CAUH :: struct { | |
cElems : ULONG, | |
pElems : ^ULARGE_INTEGER, | |
}; | |
CALPSTR :: struct { | |
cElems : ULONG, | |
pElems : ^LPSTR, | |
}; | |
CALPWSTR :: struct { | |
cElems : ULONG, | |
pElems : ^LPWSTR, | |
}; | |
CAFILETIME :: struct { | |
cElems : ULONG, | |
pElems : ^FILETIME, | |
}; | |
CACLIPDATA :: struct { | |
cElems : ULONG, | |
pElems : ^CLIPDATA, | |
}; | |
CACLSID :: struct { | |
cElems : ULONG, | |
pElems : ^CLSID, | |
}; | |
PROPVAR_PAD1 :: WORD; | |
PROPVAR_PAD2 :: WORD; | |
PROPVAR_PAD3 :: WORD; | |
LPPROPVARIANT :: ^PROPVARIANT; | |
PROPSPEC :: struct { | |
ulKind : ULONG, | |
u : struct #raw_union { | |
propid : PROPID, | |
lpwstr : LPOLESTR, | |
}, | |
}; | |
STATPROPSTG :: struct { | |
lpwstrName : LPOLESTR, | |
propid : PROPID, | |
vt : VARTYPE, | |
}; | |
STATPROPSETSTG :: struct { | |
fmtid : FMTID, | |
clsid : CLSID, | |
grfFlags : DWORD, | |
mtime : FILETIME, | |
ctime : FILETIME, | |
atime : FILETIME, | |
dwOSVersion : DWORD, | |
}; | |
IPropertyStorageVtbl :: struct { | |
QueryInterface : (proc "stdcall" (This : ^IPropertyStorage, riid : ^IID, ppvObject : ^rawptr) -> HRESULT), | |
AddRef : (proc "stdcall" (This : ^IPropertyStorage) -> ULONG), | |
Release : (proc "stdcall" (This : ^IPropertyStorage) -> ULONG), | |
ReadMultiple : (proc "stdcall" (This : ^IPropertyStorage, cpspec : ULONG, rgpspec : []PROPSPEC, rgpropvar : []PROPVARIANT) -> HRESULT), | |
WriteMultiple : (proc "stdcall" (This : ^IPropertyStorage, cpspec : ULONG, rgpspec : []PROPSPEC, rgpropvar : []PROPVARIANT, propidNameFirst : PROPID) -> HRESULT), | |
DeleteMultiple : (proc "stdcall" (This : ^IPropertyStorage, cpspec : ULONG, rgpspec : []PROPSPEC) -> HRESULT), | |
ReadPropertyNames : (proc "stdcall" (This : ^IPropertyStorage, cpropid : ULONG, rgpropid : []PROPID, rglpwstrName : []LPOLESTR) -> HRESULT), |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment