ReactOS 0.4.17-dev-1133-gc25e4fd
obtypes.h
Go to the documentation of this file.
1/*++ NDK Version: 0098
2
3Copyright (c) Alex Ionescu. All rights reserved.
4
5Header Name:
6
7 obtypes.h
8
9Abstract:
10
11 Type definitions for the Object Manager
12
13Author:
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#else // !NTOS_MODE_USER
73
74//
75// Undocumented Attribute for Kernel-Only Access
76//
77#define OBJ_KERNEL_EXCLUSIVE 0x00010000L
78#define OBJ_VALID_KERNEL_ATTRIBUTES (OBJ_VALID_ATTRIBUTES | \
79 OBJ_KERNEL_EXCLUSIVE)
80//
81// Object Flags
82//
83#define OB_FLAG_CREATE_INFO 0x01
84#define OB_FLAG_KERNEL_MODE 0x02
85#define OB_FLAG_CREATOR_INFO 0x04
86#define OB_FLAG_EXCLUSIVE 0x08
87#define OB_FLAG_PERMANENT 0x10
88#define OB_FLAG_SECURITY 0x20
89#define OB_FLAG_SINGLE_PROCESS 0x40
90#define OB_FLAG_DEFER_DELETE 0x80
91
92//
93// Object Flags encoded in "QueryReferences" field
94//
95#define OB_FLAG_KERNEL_EXCLUSIVE 0x40000000
96
97#define OBJECT_TO_OBJECT_HEADER(o) \
98 CONTAINING_RECORD((o), OBJECT_HEADER, Body)
99
100#define OBJECT_HEADER_TO_NAME_INFO(h) \
101 ((POBJECT_HEADER_NAME_INFO)(!(h)->NameInfoOffset ? \
102 NULL: ((PCHAR)(h) - (h)->NameInfoOffset)))
103
104#define OBJECT_HEADER_TO_HANDLE_INFO(h) \
105 ((POBJECT_HEADER_HANDLE_INFO)(!(h)->HandleInfoOffset ? \
106 NULL: ((PCHAR)(h) - (h)->HandleInfoOffset)))
107
108#define OBJECT_HEADER_TO_QUOTA_INFO(h) \
109 ((POBJECT_HEADER_QUOTA_INFO)(!(h)->QuotaInfoOffset ? \
110 NULL: ((PCHAR)(h) - (h)->QuotaInfoOffset)))
111
112#define OBJECT_HEADER_TO_CREATOR_INFO(h) \
113 ((POBJECT_HEADER_CREATOR_INFO)(!((h)->Flags & \
114 OB_FLAG_CREATOR_INFO) ? NULL: ((PCHAR)(h) - \
115 sizeof(OBJECT_HEADER_CREATOR_INFO))))
116
117#define OBJECT_HEADER_TO_EXCLUSIVE_PROCESS(h) \
118 ((!((h)->Flags & OB_FLAG_EXCLUSIVE)) ? \
119 NULL: (((POBJECT_HEADER_QUOTA_INFO)((PCHAR)(h) - \
120 (h)->QuotaInfoOffset))->ExclusiveProcess))
121
122#endif // NTOS_MODE_USER
123
124//
125// Object Duplication Flags
126//
127#define DUPLICATE_SAME_ATTRIBUTES 0x00000004
128
129//
130// Number of hash entries in an Object Directory
131//
132#define NUMBER_HASH_BUCKETS 37
133
134//
135// Types for DosDeviceDriveType
136//
137#define DOSDEVICE_DRIVE_UNKNOWN 0
138#define DOSDEVICE_DRIVE_CALCULATE 1
139#define DOSDEVICE_DRIVE_REMOVABLE 2
140#define DOSDEVICE_DRIVE_FIXED 3
141#define DOSDEVICE_DRIVE_REMOTE 4
142#define DOSDEVICE_DRIVE_CDROM 5
143#define DOSDEVICE_DRIVE_RAMDISK 6
144
145#ifndef NTOS_MODE_USER
146
147//
148// Dump Control Structure for Object Debugging
149//
150typedef struct _OB_DUMP_CONTROL
151{
155
156//
157// Reasons for Open Callback
158//
159typedef enum _OB_OPEN_REASON
160{
167
168//
169// Object Type Callbacks
170//
171typedef VOID
175);
176
177typedef NTSTATUS
180#if (NTDDI_VERSION >= NTDDI_VISTA) || defined(__REACTOS__)
182#endif
184 _In_ PVOID ObjectBody,
185#if (NTDDI_VERSION >= NTDDI_VISTA) || defined(__REACTOS__)
187#else
189#endif
191);
192
193typedef VOID
199 _In_ ULONG_PTR SystemHandleCount
200);
201
202typedef VOID
205);
206
207typedef NTSTATUS
209 _In_ PVOID ParseObject,
214 _Inout_ PUNICODE_STRING CompleteName,
219);
220
221typedef NTSTATUS
224 _In_ SECURITY_OPERATION_CODE OperationType,
227 _Inout_ PULONG CapturedLength,
228 _Inout_ PSECURITY_DESCRIPTOR *ObjectSecurityDescriptor,
231#if (NTDDI_VERSION >= NTDDI_VISTA) || defined(__REACTOS__)
232 ,
234#endif
235);
236
237typedef NTSTATUS
240 _In_ BOOLEAN HasObjectName,
241 _Out_ POBJECT_NAME_INFORMATION ObjectNameInfo,
245);
246
247typedef BOOLEAN
253);
254
255#endif // !NTOS_MODE_USER
256
257//
258// Object Directory Information for NtQueryDirectoryObject
259//
261{
265
266//
267// Object Information Classes for NtQueryInformationObject
268//
269#ifndef _NTIFS_INCLUDED_ // FIXME
271{
277#if (NTDDI_VERSION >= NTDDI_WS03)
279#endif
280#if (NTDDI_VERSION >= NTDDI_WIN10_RS2)
282#endif
283#if (NTDDI_VERSION >= NTDDI_WIN11_SE)
285#endif
288#endif // !_NTIFS_INCLUDED_ // FIXME
289
290//
291// Object Information Types for NtQueryInformationObject
292//
294{
307
308#ifdef NTOS_MODE_USER // NOTE: Available in kernel-mode via ntddk.h/wdm.h
309typedef struct _OBJECT_NAME_INFORMATION
310{
312 // WCHAR NameBuffer[1];
314#endif
315
316//
317// Object Type Information
318//
320{
339#if (NTDDI_VERSION >= NTDDI_WINBLUE)
342#else
343 CHAR Reserved[2];
344#endif
348 // WCHAR TypeNameBuffer[1];
350
352{
354 // OBJECT_TYPE_INFORMATION TypeInformation[1];
356
358{
362
363#ifndef NTOS_MODE_USER
364
366{
378
379//
380// Object Type Initialize for ObCreateObjectType
381//
383{
405
406//
407// Object Type Object
408//
409typedef struct _OBJECT_TYPE
410{
424
425//
426// Object Directory Structures
427//
429{
432#if (NTDDI_VERSION >= NTDDI_WS03)
434#endif
436
437typedef struct _OBJECT_DIRECTORY
438{
440#if (NTDDI_VERSION < NTDDI_WINXP)
442#else
444#endif
445#if (NTDDI_VERSION < NTDDI_WINXP)
446 BOOLEAN CurrentEntryValid;
447#else
449#endif
451#if (NTDDI_VERSION == NTDDI_WINXP)
454#endif
456
457//
458// Object Header Addon Information
459//
461{
467#ifdef _WIN64
469#endif
471
473{
477
479{
483
485{
486 union
487 {
490 };
492
494{
500
502{
507#ifdef _WIN64
509#endif
511
512//
513// Object Header
514//
515typedef struct _OBJECT_HEADER
516{
518 union
519 {
522 };
528 union
529 {
532 };
536
537//
538// Object Lookup Context
539//
541{
549
550//
551// Device Map
552//
553typedef struct _DEVICE_MAP
554{
561
562//
563// Symbolic Link Object
564//
566{
573
574//
575// Kernel Exports
576//
578
579#endif // !NTOS_MODE_USER
580
581#endif // _OBTYPES_H
_OBJECT_INFORMATION_CLASS
Definition: DriverTester.h:53
_In_ PVOID _In_ ULONG _Out_ PVOID _In_ ULONG _Inout_ PULONG ReturnLength
static GENERIC_MAPPING GenericMapping
Definition: SeInheritance.c:11
#define VOID
Definition: acefi.h:82
unsigned char BOOLEAN
Definition: actypes.h:127
#define NTSYSAPI
Definition: ntoskrnl.h:12
_Inout_ PFCB _Inout_ PUNICODE_STRING RemainingName
Definition: cdprocs.h:802
_In_ ULONG Attributes
Definition: dispmprt.h:1077
#define NTSTATUS
Definition: precomp.h:19
ULONG ERESOURCE
Definition: env_spec_w32.h:594
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION SecurityInformation
Definition: fltkernel.h:1340
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
ULONG Handle
Definition: gdb_input.c:15
unsigned __int64 ULONG64
Definition: imports.h:198
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
Definition: env.c:47
ObjectType
Definition: metafile.c:88
DWORD * PSECURITY_INFORMATION
Definition: ms-dtyp.idl:311
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
struct _OBJECT_SYMBOLIC_LINK * POBJECT_SYMBOLIC_LINK
struct _OBJECT_HANDLE_COUNT_ENTRY * POBJECT_HANDLE_COUNT_ENTRY
struct _OBJECT_HANDLE_FLAG_INFORMATION OBJECT_HANDLE_FLAG_INFORMATION
struct _OBJECT_DIRECTORY_ENTRY OBJECT_DIRECTORY_ENTRY
struct _OBJECT_HEADER_CREATOR_INFO * POBJECT_HEADER_CREATOR_INFO
struct _OBJECT_HEADER_QUOTA_INFO * POBJECT_HEADER_QUOTA_INFO
struct _OBJECT_TYPES_INFORMATION * POBJECT_TYPES_INFORMATION
struct _OBJECT_SYMBOLIC_LINK OBJECT_SYMBOLIC_LINK
struct _OBJECT_TYPE_INITIALIZER * POBJECT_TYPE_INITIALIZER
struct _OBJECT_HEADER_HANDLE_INFO * POBJECT_HEADER_HANDLE_INFO
struct _OBJECT_TYPES_INFORMATION OBJECT_TYPES_INFORMATION
struct _OBJECT_DIRECTORY_INFORMATION OBJECT_DIRECTORY_INFORMATION
struct _OBP_LOOKUP_CONTEXT * POBP_LOOKUP_CONTEXT
struct _OBJECT_CREATE_INFORMATION OBJECT_CREATE_INFORMATION
struct _OBJECT_BASIC_INFORMATION OBJECT_BASIC_INFORMATION
enum _OBJECT_INFORMATION_CLASS OBJECT_INFORMATION_CLASS
struct _OB_DUMP_CONTROL OB_DUMP_CONTROL
VOID(NTAPI * OB_DUMP_METHOD)(_In_ PVOID Object, _In_opt_ POB_DUMP_CONTROL Control)
Definition: obtypes.h:172
struct _OBJECT_HEADER_CREATOR_INFO OBJECT_HEADER_CREATOR_INFO
struct _OBJECT_HANDLE_COUNT_ENTRY OBJECT_HANDLE_COUNT_ENTRY
struct _DEVICE_MAP * PDEVICE_MAP
struct _OBJECT_HANDLE_COUNT_DATABASE * POBJECT_HANDLE_COUNT_DATABASE
struct _DEVICE_MAP DEVICE_MAP
struct _OBJECT_HEADER_NAME_INFO * POBJECT_HEADER_NAME_INFO
@ MaxObjectInfoClass
Definition: obtypes.h:286
@ ObjectSetRefTraceInformation
Definition: obtypes.h:284
@ ObjectSessionInformation
Definition: obtypes.h:278
@ ObjectTypeInformation
Definition: obtypes.h:274
@ ObjectHandleFlagInformation
Definition: obtypes.h:276
@ ObjectBasicInformation
Definition: obtypes.h:272
@ ObjectNameInformation
Definition: obtypes.h:273
@ ObjectTypesInformation
Definition: obtypes.h:275
@ ObjectSessionObjectInformation
Definition: obtypes.h:281
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:238
struct _OBJECT_TYPE_INFORMATION * POBJECT_TYPE_INFORMATION
struct _OBJECT_HEADER_NAME_INFO OBJECT_HEADER_NAME_INFO
struct _OBJECT_HEADER OBJECT_HEADER
_OB_OPEN_REASON
Definition: obtypes.h:160
@ ObOpenHandle
Definition: obtypes.h:162
@ ObCreateHandle
Definition: obtypes.h:161
@ ObMaxOpenReason
Definition: obtypes.h:165
@ ObInheritHandle
Definition: obtypes.h:164
@ ObDuplicateHandle
Definition: obtypes.h:163
struct _OBJECT_HEADER * POBJECT_HEADER
NTSTATUS(NTAPI * OB_OPEN_METHOD)(_In_ OB_OPEN_REASON Reason, _In_ KPROCESSOR_MODE AccessMode, _In_opt_ PEPROCESS Process, _In_ PVOID ObjectBody, _Inout_ PACCESS_MASK GrantedAccess, _In_ ULONG HandleCount)
Definition: obtypes.h:178
PDEVICE_MAP NTSYSAPI ObSystemDeviceMap
Definition: obinit.c:46
struct _OBJECT_HANDLE_FLAG_INFORMATION * POBJECT_HANDLE_FLAG_INFORMATION
struct _OBJECT_TYPE OBJECT_TYPE
struct _OBJECT_HANDLE_COUNT_DATABASE OBJECT_HANDLE_COUNT_DATABASE
BOOLEAN(NTAPI * OB_OKAYTOCLOSE_METHOD)(_In_opt_ PEPROCESS Process, _In_ PVOID Object, _In_ HANDLE Handle, _In_ KPROCESSOR_MODE AccessMode)
Definition: obtypes.h:248
VOID(NTAPI * OB_CLOSE_METHOD)(_In_opt_ PEPROCESS Process, _In_ PVOID Object, _In_ ACCESS_MASK GrantedAccess, _In_ ULONG_PTR ProcessHandleCount, _In_ ULONG_PTR SystemHandleCount)
Definition: obtypes.h:194
struct _OBJECT_HEADER_QUOTA_INFO OBJECT_HEADER_QUOTA_INFO
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:208
#define NUMBER_HASH_BUCKETS
Definition: obtypes.h:132
VOID(NTAPI * OB_DELETE_METHOD)(_In_ PVOID Object)
Definition: obtypes.h:203
struct _OBJECT_CREATE_INFORMATION * POBJECT_CREATE_INFORMATION
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, _In_ KPROCESSOR_MODE AccessMode)
Definition: obtypes.h:222
struct _OBJECT_TYPE_INITIALIZER OBJECT_TYPE_INITIALIZER
struct _OBP_LOOKUP_CONTEXT OBP_LOOKUP_CONTEXT
struct _OBJECT_TYPE_INFORMATION OBJECT_TYPE_INFORMATION
struct _OBJECT_DIRECTORY_ENTRY * POBJECT_DIRECTORY_ENTRY
struct _OBJECT_BASIC_INFORMATION * POBJECT_BASIC_INFORMATION
struct _OBJECT_DIRECTORY OBJECT_DIRECTORY
struct _OB_DUMP_CONTROL * POB_DUMP_CONTROL
struct _OBJECT_DIRECTORY * POBJECT_DIRECTORY
struct _OBJECT_DIRECTORY_INFORMATION * POBJECT_DIRECTORY_INFORMATION
struct _OBJECT_HEADER_HANDLE_INFO OBJECT_HEADER_HANDLE_INFO
enum _OB_OPEN_REASON OB_OPEN_REASON
#define _Inout_
Definition: no_sal2.h:162
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
ACCESS_MASK * PACCESS_MASK
Definition: nt_native.h:41
ULONG ACCESS_MASK
Definition: nt_native.h:40
struct _OBJECT_NAME_INFORMATION OBJECT_NAME_INFORMATION
struct _OBJECT_NAME_INFORMATION * POBJECT_NAME_INFORMATION
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
#define BOOLEAN
Definition: pedump.c:73
unsigned short USHORT
Definition: pedump.c:61
char CHAR
Definition: pedump.c:57
@ Reserved3
Definition: sacdrv.h:1471
_In_ PVOID Context
Definition: storport.h:2325
UCHAR DriveType[32]
Definition: obtypes.h:559
ULONG ReferenceCount
Definition: obtypes.h:557
POBJECT_DIRECTORY DosDevicesDirectory
Definition: obtypes.h:555
POBJECT_DIRECTORY GlobalDosDevicesDirectory
Definition: obtypes.h:556
ULONG DriveMap
Definition: obtypes.h:558
Definition: typedefs.h:120
LARGE_INTEGER CreationTime
Definition: obtypes.h:305
ACCESS_MASK GrantedAccess
Definition: obtypes.h:296
PSECURITY_DESCRIPTOR SecurityDescriptor
Definition: obtypes.h:374
KPROCESSOR_MODE ProbeMode
Definition: obtypes.h:370
PSECURITY_QUALITY_OF_SERVICE SecurityQos
Definition: obtypes.h:375
SECURITY_QUALITY_OF_SERVICE SecurityQualityOfService
Definition: obtypes.h:376
Definition: obtypes.h:429
ULONG HashValue
Definition: obtypes.h:433
struct _OBJECT_DIRECTORY_ENTRY * ChainLink
Definition: obtypes.h:430
PVOID Object
Definition: obtypes.h:431
UNICODE_STRING TypeName
Definition: obtypes.h:263
struct _DEVICE_MAP * DeviceMap
Definition: obtypes.h:448
USHORT SymbolicLinkUsageCount
Definition: obtypes.h:453
struct _OBJECT_DIRECTORY_ENTRY * HashBuckets[NUMBER_HASH_BUCKETS]
Definition: obtypes.h:439
USHORT Reserved
Definition: obtypes.h:452
EX_PUSH_LOCK Lock
Definition: obtypes.h:443
OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1]
Definition: obtypes.h:481
Definition: obtypes.h:473
ULONG HandleCount
Definition: obtypes.h:475
struct _EPROCESS * Process
Definition: obtypes.h:474
POBJECT_HANDLE_COUNT_DATABASE HandleCountDatabase
Definition: obtypes.h:488
OBJECT_HANDLE_COUNT_ENTRY SingleEntry
Definition: obtypes.h:489
POBJECT_DIRECTORY Directory
Definition: obtypes.h:462
UNICODE_STRING Name
Definition: obtypes.h:463
PEPROCESS ExclusiveProcess
Definition: obtypes.h:506
PSECURITY_DESCRIPTOR SecurityDescriptor
Definition: obtypes.h:533
PVOID QuotaBlockCharged
Definition: obtypes.h:531
volatile PVOID NextToFree
Definition: obtypes.h:521
UCHAR Flags
Definition: obtypes.h:527
UCHAR HandleInfoOffset
Definition: obtypes.h:525
UCHAR NameInfoOffset
Definition: obtypes.h:524
LONG_PTR HandleCount
Definition: obtypes.h:520
LONG_PTR PointerCount
Definition: obtypes.h:517
POBJECT_CREATE_INFORMATION ObjectCreateInfo
Definition: obtypes.h:530
UCHAR QuotaInfoOffset
Definition: obtypes.h:526
POBJECT_TYPE Type
Definition: obtypes.h:523
UNICODE_STRING Name
Definition: nt_native.h:1273
ULONG DefaultNonPagedPoolCharge
Definition: obtypes.h:347
ULONG HighWaterNumberOfHandles
Definition: obtypes.h:329
ULONG HighWaterNonPagedPoolUsage
Definition: obtypes.h:331
ULONG HighWaterNumberOfObjects
Definition: obtypes.h:328
ULONG HighWaterHandleTableUsage
Definition: obtypes.h:333
BOOLEAN MaintainHandleCount
Definition: obtypes.h:338
UNICODE_STRING TypeName
Definition: obtypes.h:321
GENERIC_MAPPING GenericMapping
Definition: obtypes.h:335
OB_CLOSE_METHOD CloseProcedure
Definition: obtypes.h:398
OB_SECURITY_METHOD SecurityProcedure
Definition: obtypes.h:401
GENERIC_MAPPING GenericMapping
Definition: obtypes.h:388
OB_DELETE_METHOD DeleteProcedure
Definition: obtypes.h:399
OB_OPEN_METHOD OpenProcedure
Definition: obtypes.h:397
BOOLEAN MaintainHandleCount
Definition: obtypes.h:391
OB_QUERYNAME_METHOD QueryNameProcedure
Definition: obtypes.h:402
OB_PARSE_METHOD ParseProcedure
Definition: obtypes.h:400
OB_OKAYTOCLOSE_METHOD OkayToCloseProcedure
Definition: obtypes.h:403
ULONG DefaultNonPagedPoolCharge
Definition: obtypes.h:395
OB_DUMP_METHOD DumpProcedure
Definition: obtypes.h:396
ULONG TotalNumberOfHandles
Definition: obtypes.h:417
ULONG Index
Definition: obtypes.h:415
LIST_ENTRY TypeList
Definition: obtypes.h:412
ULONG HighWaterNumberOfObjects
Definition: obtypes.h:418
ULONG TotalNumberOfObjects
Definition: obtypes.h:416
OBJECT_TYPE_INITIALIZER TypeInfo
Definition: obtypes.h:420
ERESOURCE ObjectLocks[4]
Definition: obtypes.h:422
ERESOURCE Mutex
Definition: obtypes.h:411
ULONG Key
Definition: obtypes.h:421
ULONG HighWaterNumberOfHandles
Definition: obtypes.h:419
UNICODE_STRING Name
Definition: obtypes.h:413
PVOID DefaultObject
Definition: obtypes.h:414
BOOLEAN DirectoryLocked
Definition: obtypes.h:546
POBJECT_DIRECTORY Directory
Definition: obtypes.h:542
ULONG LockStateSignature
Definition: obtypes.h:547
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char UCHAR
Definition: typedefs.h:53
INT POOL_TYPE
Definition: typedefs.h:78
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
static ULONG HandleCount
Definition: uefidisk.c:67
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3821
_In_ WDF_WMI_PROVIDER_CONTROL Control
Definition: wdfwmi.h:166
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
@ ProcessHandleCount
Definition: winternl.h:1902
_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:191
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
_In_ PEPROCESS _In_ KPROCESSOR_MODE AccessMode
Definition: mmfuncs.h:396
_In_opt_ PVOID _In_opt_ PUNICODE_STRING _In_ PSECURITY_DESCRIPTOR _In_ PACCESS_STATE AccessState
Definition: sefuncs.h:417
_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:20
SECURITY_OPERATION_CODE
Definition: setypes.h:170