4 #pragma GCC system_header
7 #define NTAPI __stdcall
9 #define OBJ_PERMANENT 16L
10 #define OBJ_EXCLUSIVE 32L
11 #define OBJ_CASE_INSENSITIVE 64L
12 #define OBJ_OPENIF 128L
13 #define OBJ_OPENLINK 256L
14 #define OBJ_VALID_ATTRIBUTES 498L
15 #define InitializeObjectAttributes(p,n,a,r,s) { \
16 (p)->Length = sizeof(OBJECT_ATTRIBUTES); \
17 (p)->RootDirectory = (r); \
18 (p)->Attributes = (a); \
19 (p)->ObjectName = (n); \
20 (p)->SecurityDescriptor = (s); \
21 (p)->SecurityQualityOfService = NULL; \
24 #define NT_SUCCESS(x) ((x)>=0)
25 #define STATUS_SUCCESS ((NTSTATUS)0)
27 #if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H)
28 typedef LONG NTSTATUS, *PNTSTATUS;
29 typedef struct _UNICODE_STRING {
33 } UNICODE_STRING, *PUNICODE_STRING;
34 typedef const UNICODE_STRING* PCUNICODE_STRING;
35 typedef struct _STRING {
41 typedef STRING ANSI_STRING;
42 typedef PSTRING PANSI_STRING;
43 typedef STRING OEM_STRING;
44 typedef PSTRING POEM_STRING;
45 typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;
46 typedef enum _SECTION_INHERIT {
50 #if !defined(_NTSECAPI_H)
51 typedef struct _OBJECT_ATTRIBUTES {
54 PUNICODE_STRING ObjectName;
56 PVOID SecurityDescriptor;
57 PVOID SecurityQualityOfService;
58 } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;