ReactOS  0.4.14-dev-606-g14ebc0b
obtypes.h
Go to the documentation of this file.
1 /*++ NDK Version: 0098
2 
3 Copyright (c) Alex Ionescu. All rights reserved.
4 
5 Header Name:
6 
7  obtypes.h
8 
9 Abstract:
10 
11  Type definitions for the Object Manager
12 
13 Author:
14 
15  Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16 
17 --*/
18 
19 #ifndef _OBTYPES_H
20 #define _OBTYPES_H
21 
22 //
23 // Dependencies
24 //
25 #include <umtypes.h>
26 #ifndef NTOS_MODE_USER
27 #include <extypes.h>
28 #endif
29 
30 #ifdef NTOS_MODE_USER
31 //
32 // Definitions for Object Creation
33 //
34 #define OBJ_INHERIT 0x00000002L
35 #define OBJ_PERMANENT 0x00000010L
36 #define OBJ_EXCLUSIVE 0x00000020L
37 #define OBJ_CASE_INSENSITIVE 0x00000040L
38 #define OBJ_OPENIF 0x00000080L
39 #define OBJ_OPENLINK 0x00000100L
40 #define OBJ_KERNEL_HANDLE 0x00000200L
41 #define OBJ_FORCE_ACCESS_CHECK 0x00000400L
42 #define OBJ_VALID_ATTRIBUTES 0x000007F2L
43 
44 #define InitializeObjectAttributes(p,n,a,r,s) { \
45  (p)->Length = sizeof(OBJECT_ATTRIBUTES); \
46  (p)->RootDirectory = (r); \
47  (p)->Attributes = (a); \
48  (p)->ObjectName = (n); \
49  (p)->SecurityDescriptor = (s); \
50  (p)->SecurityQualityOfService = NULL; \
51 }
52 
53 //
54 // Number of custom-defined bits that can be attached to a handle
55 //
56 #define OBJ_HANDLE_TAGBITS 0x3
57 
58 //
59 // Directory Object Access Rights
60 //
61 #define DIRECTORY_QUERY 0x0001
62 #define DIRECTORY_TRAVERSE 0x0002
63 #define DIRECTORY_CREATE_OBJECT 0x0004
64 #define DIRECTORY_CREATE_SUBDIRECTORY 0x0008
65 #define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
66 
67 //
68 // Slash separator used in the OB Namespace (and Registry)
69 //
70 #define OBJ_NAME_PATH_SEPARATOR L'\\'
71 
72 //
73 // Object Information Classes for NtQueryInformationObject
74 //
75 typedef enum _OBJECT_INFORMATION_CLASS
76 {
81  ObjectHandleFlagInformation,
82  ObjectSessionInformation,
83  MaxObjectInfoClass
85 
86 #else
87 
88 //
89 // Undocumented Attribute for Kernel-Only Access
90 //
91 #define OBJ_KERNEL_EXCLUSIVE 0x00010000L
92 #define OBJ_VALID_KERNEL_ATTRIBUTES (OBJ_VALID_ATTRIBUTES | \
93  OBJ_KERNEL_EXCLUSIVE)
94 //
95 // Object Flags
96 //
97 #define OB_FLAG_CREATE_INFO 0x01
98 #define OB_FLAG_KERNEL_MODE 0x02
99 #define OB_FLAG_CREATOR_INFO 0x04
100 #define OB_FLAG_EXCLUSIVE 0x08
101 #define OB_FLAG_PERMANENT 0x10
102 #define OB_FLAG_SECURITY 0x20
103 #define OB_FLAG_SINGLE_PROCESS 0x40
104 #define OB_FLAG_DEFER_DELETE 0x80
105 
106 //
107 // Object Flags encoded in "QueryReferences" field
108 //
109 #define OB_FLAG_KERNEL_EXCLUSIVE 0x40000000
110 
111 #define OBJECT_TO_OBJECT_HEADER(o) \
112  CONTAINING_RECORD((o), OBJECT_HEADER, Body)
113 
114 #define OBJECT_HEADER_TO_NAME_INFO(h) \
115  ((POBJECT_HEADER_NAME_INFO)(!(h)->NameInfoOffset ? \
116  NULL: ((PCHAR)(h) - (h)->NameInfoOffset)))
117 
118 #define OBJECT_HEADER_TO_HANDLE_INFO(h) \
119  ((POBJECT_HEADER_HANDLE_INFO)(!(h)->HandleInfoOffset ? \
120  NULL: ((PCHAR)(h) - (h)->HandleInfoOffset)))
121 
122 #define OBJECT_HEADER_TO_QUOTA_INFO(h) \
123  ((POBJECT_HEADER_QUOTA_INFO)(!(h)->QuotaInfoOffset ? \
124  NULL: ((PCHAR)(h) - (h)->QuotaInfoOffset)))
125 
126 #define OBJECT_HEADER_TO_CREATOR_INFO(h) \
127  ((POBJECT_HEADER_CREATOR_INFO)(!((h)->Flags & \
128  OB_FLAG_CREATOR_INFO) ? NULL: ((PCHAR)(h) - \
129  sizeof(OBJECT_HEADER_CREATOR_INFO))))
130 
131 #define OBJECT_HEADER_TO_EXCLUSIVE_PROCESS(h) \
132  ((!((h)->Flags & OB_FLAG_EXCLUSIVE)) ? \
133  NULL: (((POBJECT_HEADER_QUOTA_INFO)((PCHAR)(h) - \
134  (h)->QuotaInfoOffset))->ExclusiveProcess))
135 
136 //
137 // Reasons for Open Callback
138 //
139 typedef enum _OB_OPEN_REASON
140 {
147 
148 #endif
149 
150 //
151 // Object Duplication Flags
152 //
153 #define DUPLICATE_SAME_ATTRIBUTES 0x00000004
154 
155 //
156 // Number of hash entries in an Object Directory
157 //
158 #define NUMBER_HASH_BUCKETS 37
159 
160 //
161 // Types for DosDeviceDriveType
162 //
163 #define DOSDEVICE_DRIVE_UNKNOWN 0
164 #define DOSDEVICE_DRIVE_CALCULATE 1
165 #define DOSDEVICE_DRIVE_REMOVABLE 2
166 #define DOSDEVICE_DRIVE_FIXED 3
167 #define DOSDEVICE_DRIVE_REMOTE 4
168 #define DOSDEVICE_DRIVE_CDROM 5
169 #define DOSDEVICE_DRIVE_RAMDISK 6
170 
171 //
172 // Dump Control Structure for Object Debugging
173 //
174 typedef struct _OB_DUMP_CONTROL
175 {
179 
180 #ifndef NTOS_MODE_USER
181 
182 //
183 // Object Type Callbacks
184 //
185 typedef VOID
187  _In_ PVOID Object,
189 );
190 
191 typedef NTSTATUS
195  _In_ PVOID ObjectBody,
197  _In_ ULONG HandleCount
198 );
199 
200 typedef VOID
203  _In_ PVOID Object,
206  _In_ ULONG SystemHandleCount
207 );
208 
209 typedef VOID
212 );
213 
214 typedef NTSTATUS
216  _In_ PVOID ParseObject,
221  _Inout_ PUNICODE_STRING CompleteName,
226 );
227 
228 typedef NTSTATUS
230  _In_ PVOID Object,
231  _In_ SECURITY_OPERATION_CODE OperationType,
234  _Inout_ PULONG CapturedLength,
235  _Inout_ PSECURITY_DESCRIPTOR *ObjectSecurityDescriptor,
238 );
239 
240 typedef NTSTATUS
242  _In_ PVOID Object,
243  _In_ BOOLEAN HasObjectName,
244  _Out_ POBJECT_NAME_INFORMATION ObjectNameInfo,
245  _In_ ULONG Length,
248 );
249 
250 typedef BOOLEAN
253  _In_ PVOID Object,
256 );
257 
258 #else
259 
260 //
261 // Object Information Types for NtQueryInformationObject
262 //
263 typedef struct _OBJECT_NAME_INFORMATION
264 {
267 
268 #endif
269 
271 {
275 
277 {
281 
282 //
283 // Object Type Information
284 //
286 {
309 
311 {
313  //OBJECT_TYPE_INFORMATION TypeInformation[1];
315 
316 #ifdef NTOS_MODE_USER
317 
318 typedef struct _OBJECT_BASIC_INFORMATION
319 {
326  ULONG Reserved[3];
332 
333 #else
334 
336 {
348 
349 //
350 // Object Type Initialize for ObCreateObjectType
351 //
353 {
375 
376 //
377 // Object Type Object
378 //
379 typedef struct _OBJECT_TYPE
380 {
393 } OBJECT_TYPE;
394 
395 //
396 // Object Directory Structures
397 //
399 {
402 #if (NTDDI_VERSION >= NTDDI_WS03)
404 #endif
406 
407 typedef struct _OBJECT_DIRECTORY
408 {
410 #if (NTDDI_VERSION < NTDDI_WINXP)
411  ERESOURCE Lock;
412 #else
414 #endif
415 #if (NTDDI_VERSION < NTDDI_WINXP)
416  BOOLEAN CurrentEntryValid;
417 #else
419 #endif
421 #if (NTDDI_VERSION == NTDDI_WINXP)
424 #endif
426 
427 //
428 // Object Header Addon Information
429 //
431 {
437 #ifdef _WIN64
439 #endif
441 
443 {
447 
449 {
453 
455 {
456  union
457  {
460  };
462 
464 {
470 
472 {
477 #ifdef _WIN64
479 #endif
481 
482 //
483 // Object Header
484 //
485 typedef struct _OBJECT_HEADER
486 {
488  union
489  {
491  volatile PVOID NextToFree;
492  };
498  union
499  {
502  };
506 
507 //
508 // Object Lookup Context
509 //
510 typedef struct _OBP_LOOKUP_CONTEXT
511 {
519 
520 //
521 // Device Map
522 //
523 typedef struct _DEVICE_MAP
524 {
531 
532 //
533 // Symbolic Link Object
534 //
535 typedef struct _OBJECT_SYMBOLIC_LINK
536 {
543 
544 //
545 // Kernel Exports
546 //
548 
549 #endif // !NTOS_MODE_USER
550 
551 #endif // _OBTYPES_H
struct _OBJECT_CREATE_INFORMATION * POBJECT_CREATE_INFORMATION
PDEVICE_MAP NTSYSAPI ObSystemDeviceMap
Definition: obinit.c:46
POBJECT_DIRECTORY Directory
Definition: obtypes.h:432
OB_DUMP_METHOD DumpProcedure
Definition: obtypes.h:366
ObjectType
Definition: metafile.c:80
#define NUMBER_HASH_BUCKETS
Definition: obtypes.h:158
struct _OBJECT_HANDLE_COUNT_ENTRY * POBJECT_HANDLE_COUNT_ENTRY
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
Definition: dumpinfo.c:39
struct _OBJECT_HEADER_HANDLE_INFO * POBJECT_HEADER_HANDLE_INFO
ULONG Index
Definition: obtypes.h:385
struct _OBJECT_DIRECTORY * POBJECT_DIRECTORY
LONG_PTR HandleCount
Definition: obtypes.h:490
OB_OKAYTOCLOSE_METHOD OkayToCloseProcedure
Definition: obtypes.h:373
POBJECT_HANDLE_COUNT_DATABASE HandleCountDatabase
Definition: obtypes.h:458
struct _OBJECT_SYMBOLIC_LINK * POBJECT_SYMBOLIC_LINK
UNICODE_STRING TypeName
Definition: obtypes.h:287
SECURITY_QUALITY_OF_SERVICE SecurityQualityOfService
Definition: obtypes.h:346
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
Definition: wsk.h:182
BOOLEAN MaintainHandleCount
Definition: obtypes.h:304
struct _OBJECT_HANDLE_ATTRIBUTE_INFORMATION * POBJECT_HANDLE_ATTRIBUTE_INFORMATION
struct _OBJECT_BASIC_INFORMATION OBJECT_BASIC_INFORMATION
struct _DEVICE_MAP * PDEVICE_MAP
OBJECT_INFORMATION_CLASS
Definition: obtypes.h:176
UNICODE_STRING Name
Definition: obtypes.h:433
POBJECT_DIRECTORY Directory
Definition: obtypes.h:512
PVOID DefaultObject
Definition: obtypes.h:384
UCHAR NameInfoOffset
Definition: obtypes.h:494
struct _OBJECT_HEADER_CREATOR_INFO * POBJECT_HEADER_CREATOR_INFO
UNICODE_STRING Name
Definition: nt_native.h:1270
struct _OBJECT_ALL_TYPES_INFORMATION OBJECT_ALL_TYPES_INFORMATION
struct _OBJECT_HANDLE_COUNT_DATABASE * POBJECT_HANDLE_COUNT_DATABASE
#define NTSYSAPI
Definition: ntoskrnl.h:14
struct _OBJECT_TYPE_INITIALIZER OBJECT_TYPE_INITIALIZER
PVOID Object
Definition: obtypes.h:401
ULONG HighWaterHandleTableUsage
Definition: obtypes.h:299
#define _In_opt_
Definition: no_sal2.h:213
ULONG TotalNumberOfHandles
Definition: obtypes.h:387
KPROCESSOR_MODE ProbeMode
Definition: obtypes.h:340
BOOLEAN DirectoryLocked
Definition: obtypes.h:516
struct _OBJECT_NAME_INFORMATION * POBJECT_NAME_INFORMATION
struct _OBJECT_HANDLE_COUNT_ENTRY OBJECT_HANDLE_COUNT_ENTRY
ULONG DriveMap
Definition: obtypes.h:528
struct _OBJECT_DIRECTORY_INFORMATION * POBJECT_DIRECTORY_INFORMATION
ULONG Key
Definition: obtypes.h:391
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
struct _OBJECT_HEADER OBJECT_HEADER
struct _OBJECT_HEADER * POBJECT_HEADER
struct _OB_DUMP_CONTROL * POB_DUMP_CONTROL
struct _OBJECT_TYPE_INFORMATION OBJECT_TYPE_INFORMATION
BOOLEAN MaintainHandleCount
Definition: obtypes.h:361
EX_PUSH_LOCK Lock
Definition: obtypes.h:413
LARGE_INTEGER CreateTime
Definition: winternl.h:1260
struct _OBP_LOOKUP_CONTEXT OBP_LOOKUP_CONTEXT
_In_ PEPROCESS _In_ KPROCESSOR_MODE AccessMode
Definition: mmfuncs.h:396
struct _OBP_LOOKUP_CONTEXT * POBP_LOOKUP_CONTEXT
GENERIC_MAPPING GenericMapping
Definition: obtypes.h:301
struct _OBJECT_DIRECTORY_ENTRY OBJECT_DIRECTORY_ENTRY
unsigned char BOOLEAN
ULONG LockStateSignature
Definition: obtypes.h:517
ERESOURCE Mutex
Definition: obtypes.h:381
#define _Out_
Definition: no_sal2.h:323
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION SecurityInformation
Definition: fltkernel.h:1339
PSECURITY_DESCRIPTOR SecurityDescriptor
Definition: obtypes.h:344
ULONG HandleCount
Definition: obtypes.h:445
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
UCHAR Flags
Definition: obtypes.h:497
OB_CLOSE_METHOD CloseProcedure
Definition: obtypes.h:368
NTSTATUS(NTAPI * OB_PARSE_METHOD)(_In_ PVOID ParseObject, _In_ PVOID ObjectType, _Inout_ PACCESS_STATE AccessState, _In_ KPROCESSOR_MODE AccessMode, _In_ ULONG Attributes, _Inout_ PUNICODE_STRING CompleteName, _Inout_ PUNICODE_STRING RemainingName, _Inout_opt_ PVOID Context, _In_opt_ PSECURITY_QUALITY_OF_SERVICE SecurityQos, _Out_ PVOID *Object)
Definition: obtypes.h:215
POBJECT_DIRECTORY GlobalDosDevicesDirectory
Definition: obtypes.h:526
struct _EPROCESS * Process
Definition: obtypes.h:444
struct _OBJECT_HEADER_QUOTA_INFO OBJECT_HEADER_QUOTA_INFO
USHORT Reserved
Definition: obtypes.h:422
_In_ HANDLE Handle
Definition: extypes.h:390
OBJECT_HANDLE_COUNT_ENTRY SingleEntry
Definition: obtypes.h:459
DWORD * PSECURITY_INFORMATION
Definition: ms-dtyp.idl:311
INT POOL_TYPE
Definition: typedefs.h:76
UCHAR QuotaInfoOffset
Definition: obtypes.h:496
struct _OBJECT_BASIC_INFORMATION * POBJECT_BASIC_INFORMATION
volatile PVOID NextToFree
Definition: obtypes.h:491
ULONG DefaultNonPagedPoolCharge
Definition: obtypes.h:307
OB_PARSE_METHOD ParseProcedure
Definition: obtypes.h:370
ULONG HashValue
Definition: obtypes.h:403
Definition: obtypes.h:398
#define _Inout_
Definition: no_sal2.h:244
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
UCHAR DriveType[32]
Definition: obtypes.h:529
static IUnknown Object
Definition: main.c:512
_In_opt_ PVOID _In_opt_ PUNICODE_STRING _In_ PSECURITY_DESCRIPTOR _In_ PACCESS_STATE AccessState
Definition: sefuncs.h:414
unsigned __int64 ULONG64
Definition: imports.h:198
struct _OBJECT_HANDLE_ATTRIBUTE_INFORMATION OBJECT_HANDLE_ATTRIBUTE_INFORMATION
unsigned char UCHAR
Definition: xmlstorage.h:181
PSECURITY_QUALITY_OF_SERVICE SecurityQos
Definition: obtypes.h:345
VOID(NTAPI * OB_DUMP_METHOD)(_In_ PVOID Object, _In_opt_ POB_DUMP_CONTROL Control)
Definition: obtypes.h:186
USHORT SymbolicLinkUsageCount
Definition: obtypes.h:423
struct _OBJECT_TYPE_INITIALIZER * POBJECT_TYPE_INITIALIZER
OB_OPEN_METHOD OpenProcedure
Definition: obtypes.h:367
struct _OBJECT_HEADER_NAME_INFO * POBJECT_HEADER_NAME_INFO
struct _OBJECT_TYPE_INFORMATION * POBJECT_TYPE_INFORMATION
#define NTSTATUS
Definition: precomp.h:20
#define VOID
Definition: acefi.h:82
ULONG HighWaterNumberOfHandles
Definition: obtypes.h:295
ULONG HighWaterNumberOfObjects
Definition: obtypes.h:388
struct _DEVICE_MAP DEVICE_MAP
Definition: typedefs.h:117
OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1]
Definition: obtypes.h:451
ULONG HighWaterNonPagedPoolUsage
Definition: obtypes.h:297
OBJECT_TYPE_INITIALIZER TypeInfo
Definition: obtypes.h:390
VOID(NTAPI * OB_DELETE_METHOD)(_In_ PVOID Object)
Definition: obtypes.h:210
ULONG HighWaterNumberOfHandles
Definition: obtypes.h:389
static const WCHAR Control[]
Definition: interface.c:27
struct _OBJECT_DIRECTORY_ENTRY * HashBuckets[NUMBER_HASH_BUCKETS]
Definition: obtypes.h:409
struct _OBJECT_DIRECTORY_INFORMATION OBJECT_DIRECTORY_INFORMATION
enum _OB_OPEN_REASON OB_OPEN_REASON
struct _DEVICE_MAP * DeviceMap
Definition: obtypes.h:418
#define _In_
Definition: no_sal2.h:204
struct _OBJECT_HEADER_QUOTA_INFO * POBJECT_HEADER_QUOTA_INFO
ERESOURCE ObjectLocks[4]
Definition: obtypes.h:392
static GENERIC_MAPPING GenericMapping
Definition: SeInheritance.c:11
ULONG TotalNumberOfObjects
Definition: obtypes.h:386
_Must_inspect_result_ _In_ USHORT _In_ PHIDP_PREPARSED_DATA _Out_writes_to_ LengthAttributes PHIDP_EXTENDED_ATTRIBUTES Attributes
Definition: hidpi.h:348
Definition: obtypes.h:442
GENERIC_MAPPING GenericMapping
Definition: obtypes.h:358
ACCESS_MASK GrantedAccess
Definition: winternl.h:1251
ULONG ReferenceCount
Definition: obtypes.h:527
UCHAR HandleInfoOffset
Definition: obtypes.h:495
unsigned short USHORT
Definition: pedump.c:61
NTSTATUS(NTAPI * OB_SECURITY_METHOD)(_In_ PVOID Object, _In_ SECURITY_OPERATION_CODE OperationType, _In_ PSECURITY_INFORMATION SecurityInformation, _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Inout_ PULONG CapturedLength, _Inout_ PSECURITY_DESCRIPTOR *ObjectSecurityDescriptor, _In_ POOL_TYPE PoolType, _In_ PGENERIC_MAPPING GenericMapping)
Definition: obtypes.h:229
struct _OB_DUMP_CONTROL OB_DUMP_CONTROL
OB_SECURITY_METHOD SecurityProcedure
Definition: obtypes.h:371
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
struct _OBJECT_DIRECTORY_ENTRY * ChainLink
Definition: obtypes.h:400
unsigned int * PULONG
Definition: retypes.h:1
LONG_PTR PointerCount
Definition: obtypes.h:487
PEPROCESS ExclusiveProcess
Definition: obtypes.h:476
VOID(NTAPI * OB_CLOSE_METHOD)(_In_opt_ PEPROCESS Process, _In_ PVOID Object, _In_ ACCESS_MASK GrantedAccess, _In_ ULONG ProcessHandleCount, _In_ ULONG SystemHandleCount)
Definition: obtypes.h:201
NTSTATUS(NTAPI * OB_QUERYNAME_METHOD)(_In_ PVOID Object, _In_ BOOLEAN HasObjectName, _Out_ POBJECT_NAME_INFORMATION ObjectNameInfo, _In_ ULONG Length, _Out_ PULONG ReturnLength, _In_ KPROCESSOR_MODE AccessMode)
Definition: obtypes.h:241
PVOID QuotaBlockCharged
Definition: obtypes.h:501
struct _OBJECT_HEADER_NAME_INFO OBJECT_HEADER_NAME_INFO
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
struct _OBJECT_ALL_TYPES_INFORMATION * POBJECT_ALL_TYPES_INFORMATION
#define BOOLEAN
Definition: pedump.c:73
struct _OBJECT_DIRECTORY_ENTRY * POBJECT_DIRECTORY_ENTRY
struct tagContext Context
Definition: acpixf.h:1030
ULONG ERESOURCE
Definition: env_spec_w32.h:594
unsigned int ULONG
Definition: retypes.h:1
OB_QUERYNAME_METHOD QueryNameProcedure
Definition: obtypes.h:372
ULONG HighWaterNumberOfObjects
Definition: obtypes.h:294
BOOLEAN(NTAPI * OB_OKAYTOCLOSE_METHOD)(_In_opt_ PEPROCESS Process, _In_ PVOID Object, _In_ HANDLE Handle, _In_ KPROCESSOR_MODE AccessMode)
Definition: obtypes.h:251
struct _OBJECT_CREATE_INFORMATION OBJECT_CREATE_INFORMATION
POBJECT_DIRECTORY DosDevicesDirectory
Definition: obtypes.h:525
UNICODE_STRING Name
Definition: obtypes.h:383
struct _OBJECT_HEADER_HANDLE_INFO OBJECT_HEADER_HANDLE_INFO
POBJECT_TYPE Type
Definition: obtypes.h:493
_In_ PSECURITY_SUBJECT_CONTEXT _In_ BOOLEAN _In_ ACCESS_MASK _In_ ACCESS_MASK _Outptr_opt_ PPRIVILEGE_SET _In_ PGENERIC_MAPPING _In_ KPROCESSOR_MODE _Out_ PACCESS_MASK GrantedAccess
Definition: sefuncs.h:13
LIST_ENTRY TypeList
Definition: obtypes.h:382
_OBJECT_INFORMATION_CLASS
Definition: DriverTester.h:53
OB_DELETE_METHOD DeleteProcedure
Definition: obtypes.h:369
PSECURITY_DESCRIPTOR SecurityDescriptor
Definition: obtypes.h:503
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
Definition: env.c:45
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE _In_ SIZE_T _In_ POOL_TYPE PoolType
Definition: fltkernel.h:1444
struct _OBJECT_SYMBOLIC_LINK OBJECT_SYMBOLIC_LINK
NTSTATUS(NTAPI * OB_OPEN_METHOD)(_In_ OB_OPEN_REASON Reason, _In_opt_ PEPROCESS Process, _In_ PVOID ObjectBody, _In_ ACCESS_MASK GrantedAccess, _In_ ULONG HandleCount)
Definition: obtypes.h:192
SECURITY_OPERATION_CODE
Definition: setypes.h:142
ULONG DefaultNonPagedPoolCharge
Definition: obtypes.h:365
struct _OBJECT_NAME_INFORMATION OBJECT_NAME_INFORMATION
ULONG ACCESS_MASK
Definition: nt_native.h:40
POBJECT_CREATE_INFORMATION ObjectCreateInfo
Definition: obtypes.h:500
_OB_OPEN_REASON
Definition: obtypes.h:139
struct _OBJECT_HEADER_CREATOR_INFO OBJECT_HEADER_CREATOR_INFO
struct _OBJECT_TYPE OBJECT_TYPE
struct _OBJECT_HANDLE_COUNT_DATABASE OBJECT_HANDLE_COUNT_DATABASE
UNICODE_STRING TypeName
Definition: obtypes.h:279
#define _Inout_opt_
Definition: no_sal2.h:258
_Inout_ PFCB _Inout_ PUNICODE_STRING RemainingName
Definition: cdprocs.h:806
struct _OBJECT_DIRECTORY OBJECT_DIRECTORY