typedef int BOOL, *PBOOL, *LPBOOL; typedef unsigned char BYTE, *PBYTE, *LPBYTE; typedef BYTE BOOLEAN, *PBOOLEAN; typedef wchar_t WCHAR, *PWCHAR; typedef WCHAR* BSTR; typedef char CHAR, *PCHAR; typedef double DOUBLE; typedef unsigned long DWORD, *PDWORD, *LPDWORD; typedef unsigned int DWORD32; typedef unsigned __int64 DWORD64; typedef unsigned __int64 ULONGLONG; typedef ULONGLONG DWORDLONG, *PDWORDLONG; typedef unsigned long error_status_t; typedef float FLOAT; typedef unsigned char UCHAR, *PUCHAR; typedef short SHORT; typedef void *HANDLE; typedef DWORD HCALL; typedef int INT, *LPINT; typedef signed char INT8; typedef signed short INT16; typedef signed int INT32; typedef __int64 INT64; typedef const wchar_t* LMCSTR; typedef WCHAR* LMSTR; typedef long LONG, *PLONG, *LPLONG; typedef INT64 LONGLONG; typedef LONG HRESULT; typedef __int3264 LONG_PTR; typedef unsigned __int3264 ULONG_PTR; typedef signed int LONG32; typedef signed __int64 LONG64; typedef const char* LPCSTR; typedef const wchar_t* LPCWSTR; typedef char* PSTR, *LPSTR; typedef wchar_t* LPWSTR, *PWSTR; typedef DWORD NET_API_STATUS; typedef long NTSTATUS; typedef [context_handle] void* PCONTEXT_HANDLE; typedef [ref] PCONTEXT_HANDLE* PPCONTEXT_HANDLE; typedef unsigned __int64 QWORD; typedef void* RPC_BINDING_HANDLE; typedef UCHAR* STRING; typedef unsigned int UINT; typedef unsigned char UINT8; typedef unsigned short UINT16; typedef unsigned int UINT32; typedef unsigned __int64 UINT64; typedef unsigned long ULONG, *PULONG; typedef ULONG_PTR DWORD_PTR; typedef ULONG_PTR SIZE_T; typedef unsigned int ULONG32; typedef unsigned __int64 ULONG64; typedef wchar_t UNICODE; typedef unsigned short USHORT; typedef void VOID, *PVOID, *LPVOID; typedef unsigned short WORD, *PWORD, *LPWORD; typedef struct _FILETIME { DWORD dwLowDateTime; DWORD dwHighDateTime; } FILETIME, *PFILETIME, *LPFILETIME; typedef struct _GUID { unsigned long Data1; unsigned short Data2; unsigned short Data3; byte Data4[8]; } GUID, UUID, *PGUID; typedef struct _LARGE_INTEGER { __int64 QuadPart; } LARGE_INTEGER, *PLARGE_INTEGER; typedef DWORD LCID; typedef struct _RPC_UNICODE_STRING { unsigned short Length; unsigned short MaximumLength; [size_is(MaximumLength/2), length_is(Length/2)] WCHAR* Buffer; } RPC_UNICODE_STRING, *PRPC_UNICODE_STRING; typedef struct _SYSTEMTIME { WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds; } SYSTEMTIME, *PSYSTEMTIME; typedef struct _UINT128 { UINT64 lower; UINT64 upper; } UINT128,*PUINT128; typedef struct _ULARGE_INTEGER { unsigned __int64 QuadPart; } ULARGE_INTEGER, *PULARGE_INTEGER; typedef struct _RPC_SID_IDENTIFIER_AUTHORITY { byte Value[6]; } RPC_SID_IDENTIFIER_AUTHORITY; typedef DWORD ACCESS_MASK; typedef ACCESS_MASK *PACCESS_MASK; typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION; typedef struct _RPC_SID { unsigned char Revision; unsigned char SubAuthorityCount; RPC_SID_IDENTIFIER_AUTHORITY IdentifierAuthority; [size_is(SubAuthorityCount)] unsigned long SubAuthority[]; } RPC_SID, *PRPC_SID;