204{
217
218
220
221
225 'ICbO',
226 32,
228
229
232 248,
233 'MNbO',
234 16,
236
237
242
243
245
246
248
249
251
252
255
256
258
259
261
262
265
266
267 RtlZeroMemory(&ObjectTypeInitializer,
sizeof(ObjectTypeInitializer));
269 ObjectTypeInitializer.
Length =
sizeof(ObjectTypeInitializer);
279
280
291
292
301
302
305
306ObPostPhase0:
307
308
310
311
318
319
324
325
327 0,
333
334
337
338
342
343
349 KernelObjectsSD);
350
351
357
358
361
362
369
370
375
376
378 0,
384
385
388
389
392
393
395 NextEntry = ListHead->
Flink;
396 while (ListHead != NextEntry)
397 {
398
401 TypeList);
402
403
406
407
408 if ((NameInfo) && !(NameInfo->
Directory))
409 {
410
416 {
417
421 }
422 }
423
424
425 NextEntry = NextEntry->
Flink;
426 }
427
428
430
431
435}
#define ObpDirectoryObjectType
static POBJECT_TYPE ObpDefaultObject
static POBJECT_TYPE ObpTypeObjectType
#define ObpSymbolicLinkObjectType
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define NT_SUCCESS(StatCode)
#define PsGetCurrentThread()
#define KeInitializeEvent(pEvt, foo, foo2)
VOID FASTCALL KeInitializeGuardedMutex(OUT PKGUARDED_MUTEX GuardedMutex)
#define OBJ_CASE_INSENSITIVE
#define ExFreePoolWithTag(_P, _T)
#define InitializeObjectAttributes(p, n, a, r, s)
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
struct _OBJECT_SYMBOLIC_LINK OBJECT_SYMBOLIC_LINK
#define OBJECT_HEADER_TO_NAME_INFO(h)
struct _OBJECT_HEADER * POBJECT_HEADER
struct _OBJECT_DIRECTORY OBJECT_DIRECTORY
#define SYMBOLIC_LINK_ALL_ACCESS
#define THREAD_ALL_ACCESS
#define PROCESS_ALL_ACCESS
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define OBJECT_TYPE_ALL_ACCESS
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
#define DIRECTORY_ALL_ACCESS
PHANDLE_TABLE NTAPI ExCreateHandleTable(IN PEPROCESS Process OPTIONAL)
PSECURITY_DESCRIPTOR SePublicDefaultUnrestrictedSd
VOID NTAPI ObpReapObject(IN PVOID Unused)
POBJECT_DIRECTORY ObpTypeDirectoryObject
VOID NTAPI ObpDeleteObjectType(IN PVOID Object)
PHANDLE_TABLE ObpKernelHandleTable
NTSTATUS NTAPI ObpCreateDosDevicesDirectory(VOID)
PVOID NTAPI ObpLookupEntryDirectory(IN POBJECT_DIRECTORY Directory, IN PUNICODE_STRING Name, IN ULONG Attributes, IN UCHAR SearchShadow, IN POBP_LOOKUP_CONTEXT Context)
KGUARDED_MUTEX ObpDeviceMapLock
BOOLEAN NTAPI ObpInsertEntryDirectory(IN POBJECT_DIRECTORY Parent, IN POBP_LOOKUP_CONTEXT Context, IN POBJECT_HEADER ObjectHeader)
WORK_QUEUE_ITEM ObpReaperWorkItem
POBJECT_DIRECTORY ObpRootDirectoryObject
NTSTATUS NTAPI ObpParseSymbolicLink(IN PVOID ParsedObject, IN PVOID ObjectType, IN OUT PACCESS_STATE AccessState, IN KPROCESSOR_MODE AccessMode, IN ULONG Attributes, IN OUT PUNICODE_STRING FullPath, IN OUT PUNICODE_STRING RemainingName, IN OUT PVOID Context OPTIONAL, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos OPTIONAL, OUT PVOID *NextObject)
VOID NTAPI ObpDeleteSymbolicLink(IN PVOID ObjectBody)
NTSTATUS NTAPI ObpInitSdCache(VOID)
FORCEINLINE VOID ObpAcquireLookupContextLock(IN POBP_LOOKUP_CONTEXT Context, IN POBJECT_DIRECTORY Directory)
Locks an object directory lookup context for performing lookup operations (insertions/deletions) in a...
FORCEINLINE VOID ObpInitializeLookupContext(IN POBP_LOOKUP_CONTEXT Context)
Initializes a new object directory lookup context. Used for lookup operations (insertions/deletions) ...
FORCEINLINE VOID ObpReleaseLookupContext(IN POBP_LOOKUP_CONTEXT Context)
Releases an initialized object directory lookup context. Unlocks it if necessary, and dereferences th...
NTSTATUS NTAPI NtCreateDirectoryObject(OUT PHANDLE DirectoryHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
VOID NTAPI PsInitializeQuotaSystem(VOID)
Initializes the quota system during boot phase of the system, which sets up the default quota block t...
BOOLEAN NTAPI ObInit2(VOID)
ULONG ObpInitializationPhase
GENERIC_MAPPING ObpSymbolicLinkMapping
static NTSTATUS NTAPI ObpCreateKernelObjectsSD(OUT PSECURITY_DESCRIPTOR *SecurityDescriptor)
GENERIC_MAPPING ObpTypeMapping
GENERIC_MAPPING ObpDirectoryMapping
NTSTATUS NTAPI ObCreateObjectType(IN PUNICODE_STRING TypeName, IN POBJECT_TYPE_INITIALIZER ObjectTypeInitializer, IN PVOID Reserved, OUT POBJECT_TYPE *ObjectType)
NTSTATUS NTAPI ObReferenceObjectByHandle(IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL)
struct _LIST_ENTRY * Flink
GENERIC_MAPPING GenericMapping
OB_DELETE_METHOD DeleteProcedure
OB_PARSE_METHOD ParseProcedure
ULONG DefaultNonPagedPoolCharge
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
#define ExInitializeWorkItem(Item, Routine, Context)
#define PsGetCurrentProcess