85 #define NULL ((void *)0) 86 #define NULL64 ((void * POINTER_64)0) 90 #define ARGUMENT_PRESENT(ArgumentPointer) \ 91 ((CHAR*)((ULONG_PTR)(ArgumentPointer)) != (CHAR*)NULL) 94 #define FASTCALL __stdcall 95 #elif defined(_M_IX86) 96 #define FASTCALL __fastcall 104 # define min(a,b) (((a) < (b)) ? (a) : (b)) 107 # define max(a,b) (((a) > (b)) ? (a) : (b)) 123 #ifndef __SECSTATUS_DEFINED__ 125 #define __SECSTATUS_DEFINED__ 131 #define TIME LARGE_INTEGER 132 #define _TIME _LARGE_INTEGER 133 #define PTIME PLARGE_INTEGER 134 #define LowTime LowPart 135 #define HighTime HighPart 147 #if (_WIN32_WINNT >= 0x0600) || (defined(__cplusplus) && defined(WINDOWS_ENABLE_CPLUSPLUS)) 154 #if (_WIN32_WINNT >= 0x0600) 210 extern "C++" template<
typename _Type>
struct _RTL_remove_const_template;
211 extern "C++" template<
typename _Type>
struct _RTL_remove_const_template<
const _Type&> {
typedef _Type
type; };
212 #define _RTL_CONSTANT_STRING_remove_const_macro(s) \ 213 (const_cast<_RTL_remove_const_template<decltype((s)[0])>::type*>(s)) 214 extern "C++" template<
class _Ty>
struct _RTL_CONSTANT_STRING_type_check_template;
215 extern "C++" template<
class _Ty,
int _Count>
struct _RTL_CONSTANT_STRING_type_check_template<
const _Ty (&)[
_Count]> {
typedef char type; };
216 #define _RTL_CONSTANT_STRING_type_check(s) _RTL_CONSTANT_STRING_type_check_template<decltype(s)>::type 218 # define _RTL_CONSTANT_STRING_remove_const_macro(s) (s) 221 #define RTL_CONSTANT_STRING(s) { \ 222 sizeof(s)-sizeof((s)[0]), \ 223 sizeof(s) / (sizeof(_RTL_CONSTANT_STRING_type_check(s))), \ 224 _RTL_CONSTANT_STRING_remove_const_macro(s) } 227 #define DECLARE_UNICODE_STRING_SIZE(_var, _size) \ 228 WCHAR _var ## _buffer[_size]; \ 229 __pragma(warning(push)) __pragma(warning(disable:4221)) __pragma(warning(disable:4204)) \ 230 UNICODE_STRING _var = { 0, (_size) * sizeof(WCHAR) , _var ## _buffer } \ 231 __pragma(warning(pop)) 233 #define DECLARE_CONST_UNICODE_STRING(_var, _string) \ 234 const WCHAR _var##_buffer[] = _string; \ 235 __pragma(warning(push)) __pragma(warning(disable:4221)) __pragma(warning(disable:4204)) \ 236 const UNICODE_STRING _var = { sizeof(_string) - sizeof(WCHAR), sizeof(_string), (PWCH)_var##_buffer } \ 237 __pragma(warning(pop)) 239 #define DECLARE_UNICODE_STRING_SIZE(_var, _size) \ 240 WCHAR _var ## _buffer[_size]; \ 241 UNICODE_STRING _var = { 0, (_size) * sizeof(WCHAR) , _var ## _buffer } 243 #define DECLARE_CONST_UNICODE_STRING(_var, _string) \ 244 const WCHAR _var##_buffer[] = _string; \ 245 const UNICODE_STRING _var = { sizeof(_string) - sizeof(WCHAR), sizeof(_string), (PWCH)_var##_buffer } 248 #define DECLARE_GLOBAL_CONST_UNICODE_STRING(_var, _str) \ 249 extern const __declspec(selectany) UNICODE_STRING _var = RTL_CONSTANT_STRING(_str) 282 #define OBJ_HANDLE_TAGBITS 0x00000003L 285 #define OBJ_INHERIT 0x00000002L 286 #define OBJ_PERMANENT 0x00000010L 287 #define OBJ_EXCLUSIVE 0x00000020L 288 #define OBJ_CASE_INSENSITIVE 0x00000040L 289 #define OBJ_OPENIF 0x00000080L 290 #define OBJ_OPENLINK 0x00000100L 291 #define OBJ_KERNEL_HANDLE 0x00000200L 292 #define OBJ_FORCE_ACCESS_CHECK 0x00000400L 293 #define OBJ_VALID_ATTRIBUTES 0x000007F2L 296 #define InitializeObjectAttributes(p,n,a,r,s) { \ 297 (p)->Length = sizeof(OBJECT_ATTRIBUTES); \ 298 (p)->RootDirectory = (r); \ 299 (p)->ObjectName = (n); \ 300 (p)->Attributes = (a); \ 301 (p)->SecurityDescriptor = (s); \ 302 (p)->SecurityQualityOfService = NULL; \ 305 #define RTL_CONSTANT_OBJECT_ATTRIBUTES(n,a) { \ 306 sizeof(OBJECT_ATTRIBUTES), \ 308 RTL_CONST_CAST(PUNICODE_STRING)(n), \ 314 #define RTL_INIT_OBJECT_ATTRIBUTES(n, a) \ 315 RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a) 318 #pragma warning(push) 319 #pragma warning(disable:4214) 343 #define RTL_BALANCED_NODE_RESERVED_PARENT_MASK 3 344 #define RTL_BALANCED_NODE_GET_PARENT_POINTER(Node) \ 345 ((PRTL_BALANCED_NODE)((Node)->ParentValue & \ 346 ~RTL_BALANCED_NODE_RESERVED_PARENT_MASK)) 377 ListEntry64->Flink = ListEntry32->Flink;
378 ListEntry64->Blink = ListEntry32->Blink;
388 if (((ListEntry64->Flink >> 32) != 0) ||
389 ((ListEntry64->Blink >> 32) != 0))
393 ListEntry32->Flink = ListEntry64->Flink & 0xFFFFFFFF;
394 ListEntry32->Blink = ListEntry64->Blink & 0xFFFFFFFF;
_Field_size_bytes_part_opt_(MaximumLength, Length) PCHAR Buffer
struct _STRING OEM_STRING
struct _CSTRING * PCSTRING
struct _RTL_BALANCED_NODE * Children[2]
struct _OBJECT_ATTRIBUTES OBJECT_ATTRIBUTES
$if(0) $endif() $define(_NTDEF_) $define(ULONG
_In_ ULONG _In_ ULONG _In_ ULONG Length
_Check_return_ _Ret_maybenull_ _In_ size_t _Count
FORCEINLINE VOID ListEntry64To32(_In_ PLIST_ENTRY64 ListEntry64, _Out_ PLIST_ENTRY32 ListEntry32)
$include(setypes.h) $include(obtypes.h) $include(rtltypes.h) $include(rtlfuncs.h) _IRQL_requires_max_(PASSIVE_LEVEL) __kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryObject(_In_opt_ HANDLE Handle
struct _OBJECT_ATTRIBUTES32 OBJECT_ATTRIBUTES32
struct _RTL_BALANCED_NODE * PRTL_BALANCED_NODE
CONST OBJECT_ATTRIBUTES64 * PCOBJECT_ATTRIBUTES64
struct _OBJECT_ATTRIBUTES * POBJECT_ATTRIBUTES
USHORT RTL_STRING_LENGTH_TYPE
struct _STRING64 * PSTRING64
__GNU_EXTENSION __int64 UseThisFieldToCopy
struct _STRING64 * PANSI_STRING64
enum _NT_PRODUCT_TYPE * PNT_PRODUCT_TYPE
struct _STRING32 ANSI_STRING32
CONST OBJECT_ATTRIBUTES32 * PCOBJECT_ATTRIBUTES32
struct _STRING32 * PUNICODE_STRING32
$endif(_WDMDDK_) $if(_NTDDK_) typedef struct _NEON128
const UNICODE_STRING * PCUNICODE_STRING
struct _RTL_BALANCED_NODE * Right
enum _EVENT_TYPE EVENT_TYPE
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
struct _STRING64 UNICODE_STRING64
struct _STRING * POEM_STRING
ULONG64 SecurityDescriptor
struct _STRING32 * PSTRING32
enum _WAIT_TYPE WAIT_TYPE
CONST OBJECT_ATTRIBUTES * PCOBJECT_ATTRIBUTES
LARGE_INTEGER * PPHYSICAL_ADDRESS
struct _STRING64 * PUNICODE_STRING64
_ANONYMOUS_UNION union _QUAD::@3918 DUMMYUNIONNAME
_Field_size_bytes_part_(MaximumLength, Length) PWCH Buffer
enum _TIMER_TYPE TIMER_TYPE
struct _OBJECT_ATTRIBUTES64 OBJECT_ATTRIBUTES64
struct _UNICODE_STRING UNICODE_STRING
struct _STRING * PANSI_STRING
$define(_NTDDK_) $include(extypes.h) $include(cmtypes.h) $include(iotypes.h) $include(haltypes.h) $include(ketypes.h) $include(kdtypes.h) $include(mmtypes.h) $include(pstypes.h) $include(rtltypes.h) $include(setypes.h) $include(exfuncs.h) $include(halfuncs.h) $include(iofuncs.h) $include(kdfuncs.h) $include(kefuncs.h) $include(mmfuncs.h) $include(psfuncs.h) $include(rtlfuncs.h) $include(sefuncs.h) $include(zwfuncs.h) NTSYSAPI ULONGLONG NTAPI VerSetConditionMask(IN ULONGLONG ConditionMask
#define _ANONYMOUS_STRUCT
CONST STRING * PCOEM_STRING
_ANONYMOUS_UNION union _RTL_BALANCED_NODE::@3920 DUMMYUNIONNAME2
struct _OBJECT_ATTRIBUTES32 * POBJECT_ATTRIBUTES32
FORCEINLINE VOID ListEntry32To64(_In_ PLIST_ENTRY32 ListEntry32, _Out_ PLIST_ENTRY64 ListEntry64)
struct _STRING32 * PANSI_STRING32
struct _UNICODE_STRING * PUNICODE_STRING
ULONG64 SecurityQualityOfService
struct _STRING32 STRING32
char _RTL_CONSTANT_STRING_type_check(const void *s)
_ANONYMOUS_STRUCT struct _RTL_BALANCED_NODE::@3919::@3921 DUMMYSTRUCTNAME
_ANONYMOUS_UNION union _RTL_BALANCED_NODE::@3919 DUMMYUNIONNAME
#define _Return_type_success_(expr)
ULONG SecurityQualityOfService
PVOID SecurityQualityOfService
struct _RTL_BALANCED_NODE * Left
enum _NT_PRODUCT_TYPE NT_PRODUCT_TYPE
PUNICODE_STRING ObjectName
GLuint GLuint GLsizei GLenum type
struct _STRING64 ANSI_STRING64
struct _STRING32 UNICODE_STRING32
struct _OBJECT_ATTRIBUTES64 * POBJECT_ATTRIBUTES64
struct _STRING ANSI_STRING
unsigned short MaximumLength
struct _STRING64 STRING64
LARGE_INTEGER PHYSICAL_ADDRESS
struct _RTL_BALANCED_NODE RTL_BALANCED_NODE