|
|
Here is a breakdown of what each module exports
obinit.c KMUTANT ObpInitKillMutant; UNICODE_STRING ObpDosDevicesShortName; ULARGE_INTEGER ObpDosDevicesShortNamePrefix; ULARGE_INTEGER ObpDosDevicesShortNameRoot PDEVICE_MAP ObSystemDeviceMap
ObInitSystem ( ObDupHandleProcedure ( ObAuditInheritedHandleProcedure ( ObInitProcess ( ObInitProcess2 ( ObDestroyHandleProcedure ( ObKillProcess ( ObFindHandleForObject (
obcreate.c ObCreateObject ( ObDeleteCapturedInsertInfo ( ObFreeObjectCreateInfoBuffer ( ObpCaptureObjectCreateInformation ( ObpCaptureObjectName ( ObpFreeObjectNameBuffer ( ObpAllocateObject ( ObpFreeObject (
obhandle.c NtDuplicateObject ( ObGetHandleInformation ( ObpIncrPointerCount ( ObpDecrPointerCountWithResult ( ObpIncrementHandleCount ( ObpDecrementHandleCount ( ObpCreateHandle ( ObpCreateUnnamedHandle ( ObpTranslateGrantedAccessIndex (
obinsert.c ObInsertObject (
obref.c ObOpenObjectByName ( ObOpenObjectByPointer ( ObReferenceObjectByHandle ( ObReferenceObjectByName ( ObReferenceObjectByPointer ( ObDereferenceObject ( ObfReferenceObject ( ObpDeleteNameCheck (
obse.c NtSetSecurityObject ( NtQuerySecurityObject ( ObCheckObjectAccess ( ObCheckCreateObjectAccess ( ObAssignObjectSecurityDescriptor ( ObGetObjectSecurity ( ObReleaseObjectSecurity ( ObValidateSecurityQuota ( ObAssignSecurity ( ObSetSecurityDescriptorInfo ( ObpCheckObjectReference ( ObpCheckTraverseAccess ( ObpValidateAccessMask (
obtype.c ObCreateObjectType ( ObEnumerateObjectsByType( ObGetObjectInformation(
obdir.c NtCreateDirectoryObject ( NtOpenDirectoryObject ( NtQueryDirectoryObject ( ObpLookupDirectoryEntry ( ObpInsertDirectoryEntry ( ObpDeleteDirectoryEntry ( ObpLookupObjectName (
obdevmap.c ObSetDeviceMap ( ObQueryDeviceMapInformation ( ObInheritDeviceMap ( ObDereferenceDeviceMap (
oblink.c NtCreateSymbolicLinkObject ( NtOpenSymbolicLinkObject ( NtQuerySymbolicLinkObject ( ObpParseSymbolicLink ( ObpDeleteSymbolicLinkName ( ObpCreateSymbolicLinkName (
obclose.c NtClose ( NtMakeTemporaryObject ( ObMakeTemporaryObject (
obquery.c NtQueryObject ( NtSetInformationObject ( ObGetObjectName ( ObQueryNameString ( ObQueryTypeName ( ObQueryTypeInfo ( ObQueryObjectAuditingByHandle (
obsdata.c ObpInitSecurityDescriptorCache ( ObpLogSecurityDescriptor ( ObpReferenceSecurityDescriptor ( ObDeassignSecurity ( ObpDereferenceSecurityDescriptor ( ObpAcquireDescriptorCacheReadLock ( ObpReleaseDescriptorCacheLock (
obwait.c NtSignalAndWaitForSingleObject ( NtWaitForSingleObject ( NtWaitForMultipleObjects ( ObWaitForSingleObject (
Module Name:
obinit.c
Global variables and who references them
GENERIC_MAPPING ObpTypeMapping = ...
obinit.c\ObInitSystem
GENERIC_MAPPING ObpDirectoryMapping = ...
obinit.c\ObInitSystem
GENERIC_MAPPING ObpSymbolicLinkMapping = ...
obinit.c\ObInitSystem
extern EPROCESS_QUOTA_BLOCK PspDefaultQuotaBlock;
obinit.c\ObInitSystem
KMUTANT ObpInitKillMutant;
obhandle.c\NtDuplicateObject obinit.c\ObInitSystem obinit.c\ObInitProcess obinit.c\ObKillProcess obinit.c\ObFindHandleForObject
ULONG ObpProtectionMode;
obinit.c\ObpGetDosDevicesProtection
ULONG ObpAuditBaseDirectories;
obinit.c\ObInitSystem
ULONG ObpAuditBaseObjects
obinit.c\ObInitSystem
UNICODE_STRING ObpDosDevicesShortName;
obdir.c\ObpLookupObjectName obinit.c\ObpCreateDosDevicesDirectory
ULARGE_INTEGER ObpDosDevicesShortNamePrefix;
obdir.c\ObpLookupObjectName obinit.c\ObpCreateDosDevicesDirectory
ULARGE_INTEGER ObpDosDevicesShortNameRoot
obdir.c\ObpLookupObjectName obinit.c\ObpCreateDosDevicesDirectory
PDEVICE_MAP ObSystemDeviceMap
obdevmap.c\ObSetDeviceMap obdevmap.c\ObQueryDeviceMapInformation obdevmap.c\ObInheritDeviceMap
Procedures
BOOLEAN ObInitSystem ( VOID )
Called By:
It calls: GENERIC_MAPPING ObpTypeMapping = ... GENERIC_MAPPING ObpDirectoryMapping = ... GENERIC_MAPPING ObpSymbolicLinkMapping = ... extern EPROCESS_QUOTA_BLOCK PspDefaultQuotaBlock; KMUTANT ObpInitKillMutant; ULONG ObpAuditBaseDirectories; ULONG ObpAuditBaseObjects;
obinit.c\ObpCreateDosDevicesDirectory ( obref.c\ObReferenceObjectByHandle ( obtype.cObCreateObjectType ( obdir.c\NtCreateDirectoryObject ( obdir.c\ObpLookupDirectoryEntry ( obdir.c\ObpInsertDirectoryEntry ( oblink.c\ObpParseSymbolicLink ( obclose.c\NtClose ( obsdata.c\ObpInitSecurityDescriptorCache (
BOOLEAN ObDupHandleProcedure ( PEPROCESS Process, PVOID HandleTableEntry )
Called By: obinit.c\ObInitProcess
It calls: obhandle.c\ObpIncrPointerCount ( obhandle.c\ObpIncrementHandleCount ( obhandle.c\ObpTranslateGrantedAccessIndex (
BOOLEAN ObAuditInheritedHandleProcedure ( IN PVOID HandleTableEntry, IN PVOID HandleId, IN PVOID EnumParameter )
Called By: obinit.c\ObInitProcess
It Calls:
NTSTATUS ObInitProcess ( PEPROCESS ParentProcess OPTIONAL, PEPROCESS NewProcess )
Called By:
It Calls: obinit.c\KMUTANT ObpInitKillMutant;
obinit.c\ObDupHandleProcedure ( obinit.c\ObAuditInheritedHandleProcedure (
VOID ObInitProcess2 ( PEPROCESS NewProcess )
Called By:
It Calls:
VOID ObDestroyHandleProcedure ( IN HANDLE HandleIndex, IN PVOID HandleTableEntry )
Called By: obinit.c\ObKillProcess
It Calls:
VOID ObKillProcess ( BOOLEAN AcquireLock, PEPROCESS Process )
Called By:
It Calls: obinit.c\KMUTANT ObpInitKillMutant;
obinit.c\ObDestroyHandleProcedure (
BOOLEAN ObpEnumFindHandleProcedure ( PVOID HandleTableEntry, PVOID HandleId, PVOID EnumParameter )
Called By: obinit.c\ObFindHandleForObject
It Calls: obhandle.c\ObpTranslateGrantedAccessIndex (
BOOLEAN ObFindHandleForObject ( IN PEPROCESS Process, IN PVOID Object OPTIONAL, IN POBJECT_TYPE ObjectType OPTIONAL, IN POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL, OUT PHANDLE Handle )
Called By:
It Calls: obinit.c\KMUTANT ObpInitKillMutant;
obinit.c\ObpEnumFindHandleProcedure (
NTSTATUS ObpCreateDosDevicesDirectory ( VOID )
Called By: obinit.c\ObInitSystem
It Calls: obinit.c\UNICODE_STRING ObpDosDevicesShortName; obinit.c\ULARGE_INTEGER ObpDosDevicesShortNamePrefix; obinit.c\ULARGE_INTEGER ObpDosDevicesShortNameRoot;
obinit.c\ObpGetDosDevicesProtection ( obinit.c\ObpFreeDosDevicesProtection ( obdir.c\NtCreateDirectoryObject ( obdevmap.c\ObSetDeviceMap ( oblink.c\NtCreateSymbolicLinkObject ( obclose.c\NtClose (
NTSTATUS ObpGetDosDevicesProtection ( PSECURITY_DESCRIPTOR SecurityDescriptor )
Called By: obinit.c\ObpCreateDosDevicesDirectory
It Calls: ULONG ObpProtectionMode;
VOID ObpFreeDosDevicesProtection ( PSECURITY_DESCRIPTOR SecurityDescriptor )
Called By: obinit.c\ObpCreateDosDevicesDirectory
It Calls:
Module Name:
obcreate.c
Global variables and who references them
BOOLEAN ObpShowAllocAndFree;
obcreate.c\ObpAllocateObject obcreate.c\ObpFreeObject
ULONG ObpObjectsCreated;
obcreate.c\ObpAllocateObject
ULONG ObpObjectsWithPoolQuota;
obcreate.c\ObpAllocateObject
ULONG ObpObjectsWithHandleDB;
obcreate.c\ObpAllocateObject
ULONG ObpObjectsWithName;
obcreate.c\ObpAllocateObject
ULONG ObpObjectsWithCreatorInfo;
obcreate.c\ObpAllocateObject
Procedures
NTSTATUS ObCreateObject ( IN KPROCESSOR_MODE ProbeMode, IN POBJECT_TYPE ObjectType, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE OwnershipMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectBodySize, IN ULONG PagedPoolCharge, IN ULONG NonPagedPoolCharge, OUT PVOID *Object )
Called By: obdir.c\NtCreateDirectoryObject oblink.c\NtCreateSymbolicLinkObject
It Calls: obcreate.c\ObpCaptureObjectCreateInformation ( obcreate.c\ObpFreeObjectNameBuffer ( obcreate.c\ObpAllocateObject ( obcreate.c\ObpFreeObject (
NTSTATUS ObpCaptureObjectCreateInformation ( IN POBJECT_TYPE ObjectType OPTIONAL, IN KPROCESSOR_MODE ProbeMode, IN POBJECT_ATTRIBUTES ObjectAttributes, IN OUT PUNICODE_STRING CapturedObjectName, IN POBJECT_CREATE_INFORMATION ObjectCreateInfo, IN LOGICAL UseLookaside )
Called By: obcreate.c\ObCreateObject obref.c\ObOpenObjectByName
It Calls: obcreate.c\ObpCaptureObjectName (
NTSTATUS ObpCaptureObjectName ( IN KPROCESSOR_MODE ProbeMode, IN PUNICODE_STRING ObjectName, IN OUT PUNICODE_STRING CapturedObjectName, IN LOGICAL UseLookaside )
Called By: obcreate.c\ObpCaptureObjectCreateInformation obref.c\ObReferenceObjectByName
It Calls: obcreate.c\ObpAllocateObjectNameBuffer (
PWCHAR ObpAllocateObjectNameBuffer ( IN ULONG Length, IN LOGICAL UseLookaside, IN OUT PUNICODE_STRING ObjectName )
Called By: obcreate.c\ObpCaptureObjectName
It Calls:
VOID FASTCALL ObpFreeObjectNameBuffer ( OUT PUNICODE_STRING ObjectName )
Called By: obcreate.c\ObCreateObject obref.c\ObOpenObjectByName obref.c\ObReferenceObjectByName
It Calls:
NTKERNELAPI VOID ObDeleteCapturedInsertInfo ( IN PVOID Object )
Called By:
It Calls:
NTSTATUS ObpAllocateObject ( IN POBJECT_CREATE_INFORMATION ObjectCreateInfo, IN KPROCESSOR_MODE OwnershipMode, IN POBJECT_TYPE ObjectType OPTIONAL, IN PUNICODE_STRING ObjectName, IN ULONG ObjectBodySize, OUT POBJECT_HEADER *ReturnedObjectHeader )
Called By: obcreate.c\ObCreateObject obtype.c\ObCreateObjectType
It Calls: obcreate.c\BOOLEAN ObpShowAllocAndFree; obcreate.c\ULONG ObpObjectsCreated; obcreate.c\ULONG ObpObjectsWithPoolQuota; obcreate.c\ULONG ObpObjectsWithHandleDB; obcreate.c\ULONG ObpObjectsWithName; obcreate.c\ULONG ObpObjectsWithCreatorInfo;
VOID FASTCALL ObpFreeObject ( IN PVOID Object )
Called By: obcreate.c\ObCreateObject obref.c\ObRemoveObjectRoutine
It Calls: obcreate.c\BOOLEAN ObpShowAllocAndFree;
VOID FASTCALL ObFreeObjectCreateInfoBuffer ( IN POBJECT_CREATE_INFORMATION ObjectCreateInfo )
Called By:
It Calls:
Module Name:
obhandle.c
Global variables and who references them
extern KMUTANT ObpInitKillMutant;
Procedures
LONG FASTCALL ObpIncrPointerCount ( IN POBJECT_HEADER ObjectHeader )
Called By: obdir.c\ObpLookupObjectName obhandle.c\ObpCreateHandle obhandle.c\ObpCreateUnnamedHandle obinit.c\ObDupHandleProcedure obref.c\ObReferenceObjectByHandle obref.c\ObfReferenceObject obref.c\ObReferenceObjectByPointer obwait.c\NtWaitForMultipleObjects
It Calls:
LONG FASTCALL ObpDecrPointerCount ( IN POBJECT_HEADER ObjectHeader )
Called By: obhandle.c\ObpCreateHandle obhandle.c\ObpCreateUnnamedHandle
It Calls:
BOOLEAN FASTCALL ObpDecrPointerCountWithResult ( IN POBJECT_HEADER ObjectHeader )
Called By: obref.c\ObfDereferenceObject
It Calls:
VOID FASTCALL ObpIncrHandleCount ( IN POBJECT_HEADER ObjectHeader )
Called By: obhandle.c\ObpIncrementHandleCount obhandle.c\ObpIncrementUnnamedHandleCount
It Calls:
BOOLEAN FASTCALL ObpDecrHandleCount ( IN POBJECT_HEADER ObjectHeader )
Called By: obhandle.c\ObpDecrementHandleCount
It Calls:
POBJECT_HANDLE_COUNT_ENTRY ObpInsertHandleCount ( POBJECT_HEADER ObjectHeader )
Called By: obhandle.c\ObpIncrementHandleDataBase
It Calls:
NTSTATUS ObpIncrementHandleDataBase ( IN POBJECT_HEADER ObjectHeader, IN PEPROCESS Process, OUT PULONG NewProcessHandleCount )
Called By: obhandle.c\ObpIncrementHandleCount obhandle.c\ObpIncrementUnnamedHandleCount
It Calls: obhandle.c\ObpInsertHandleCount (
NTSTATUS ObpIncrementHandleCount ( OB_OPEN_REASON OpenReason, PEPROCESS Process, PVOID Object, POBJECT_TYPE ObjectType, PACCESS_STATE AccessState OPTIONAL, KPROCESSOR_MODE AccessMode, ULONG Attributes )
Called By: obhandle.c\ObpCreateHandle obhandle.c\NtDuplicateObject obinit.c\ObDupHandleProcedure
It Calls: obhandle.c\ObpIncrHandleCount ( obhandle.c\ObpIncrementHandleDataBase ( obhandle.c\ObpChargeQuotaForObject ( obse.c\ObCheckObjectAccess (
NTSTATUS ObpIncrementUnnamedHandleCount ( PACCESS_MASK DesiredAccess, PEPROCESS Process, PVOID Object, POBJECT_TYPE ObjectType, KPROCESSOR_MODE AccessMode, ULONG Attributes )
Called By: obhandle.c\ObpCreateUnnamedHandle
It Calls: obhandle.c\ObpIncrHandleCount ( obhandle.c\ObpIncrementHandleDataBase ( obhandle.c\ObpChargeQuotaForObject (
NTSTATUS ObpChargeQuotaForObject ( IN POBJECT_HEADER ObjectHeader, IN POBJECT_TYPE ObjectType, OUT PBOOLEAN NewObject )
Called By: obhandle.c\ObpIncrementHandleCount obhandle.c\ObpIncrementUnnamedHandleCount
It Calls:
VOID ObpDecrementHandleCount ( PEPROCESS Process, POBJECT_HEADER ObjectHeader, POBJECT_TYPE ObjectType, ACCESS_MASK GrantedAccess )
Called By: obclose.c\NtClose obhandle.c\ObpCreateHandle obhandle.c\ObpCreateUnnamedHandle obhandle.c\NtDuplicateObject
It Calls: obhandle.c\ObpDecrHandleCount ( obref.c\ObpDeleteNameCheck (
NTSTATUS ObpCreateHandle ( IN OB_OPEN_REASON OpenReason, IN PVOID Object, IN POBJECT_TYPE ExpectedObjectType OPTIONAL, IN PACCESS_STATE AccessState, IN ULONG ObjectPointerBias OPTIONAL, IN ULONG Attributes, IN BOOLEAN DirectoryLocked, IN KPROCESSOR_MODE AccessMode, OUT PVOID *ReferencedNewObject OPTIONAL, OUT PHANDLE Handle )
Called By: obinsert.c\ObInsertObject obref.c\ObOpenObjectByName obref.c\ObOpenObjectByPointer
It Calls: obhandle.c\ObpIncrPointerCount ( obhandle.c\ObpDecrPointerCount ( obhandle.c\ObpIncrementHandleCount ( obhandle.c\ObpDecrementHandleCount ( obhandle.c\ObpComputeGrantedAccessIndex (
NTSTATUS ObpCreateUnnamedHandle ( IN PVOID Object, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias OPTIONAL, IN ULONG Attributes, IN KPROCESSOR_MODE AccessMode, OUT PVOID *ReferencedNewObject OPTIONAL, OUT PHANDLE Handle )
Called By: obinsert.c\ObInsertObject
It Calls: obhandle.c\ObpIncrPointerCount ( obhandle.c\ObpDecrPointerCount ( obhandle.c\ObpIncrementUnnamedHandleCount ( obhandle.c\ObpDecrementHandleCount ( obhandle.c\ObpComputeGrantedAccessIndex (
NTSTATUS NtDuplicateObject ( IN HANDLE SourceProcessHandle, IN HANDLE SourceHandle, IN HANDLE TargetProcessHandle OPTIONAL, OUT PHANDLE TargetHandle OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG HandleAttributes, IN ULONG Options )
Called By:
It Calls: obinit.c\KMUTANT ObpInitKillMutant;
obhandle.c\ObpIncrementHandleCount ( obhandle.c\ObpDecrementHandleCount ( obhandle.c\ObpValidateDesiredAccess ( obhandle.c\ObpComputeGrantedAccessIndex ( obref.c\ObReferenceObjectByHandle ( obref.c\ObDereferenceObject ( obclose.c\NtClose (
NTSTATUS ObpValidateDesiredAccess ( IN ACCESS_MASK DesiredAccess )
Called By: obhandle.c\NtDuplicateObject
It Calls:
NTSTATUS ObpCaptureHandleInformation ( IN OUT PSYSTEM_HANDLE_TABLE_ENTRY_INFO *HandleEntryInfo, IN HANDLE UniqueProcessId, IN PVOID HandleTableEntry, IN HANDLE HandleIndex, IN ULONG Length, IN OUT PULONG RequiredLength )
Called By: obhandle.c\ObGetHandleInformation
It Calls: obhandle.c\ObpTranslateGrantedAccessIndex (
NTSTATUS ObGetHandleInformation ( OUT PSYSTEM_HANDLE_INFORMATION HandleInformation, IN ULONG Length, OUT PULONG ReturnLength OPTIONAL )
Called By:
It Calls: obhandle.c\ObpCaptureHandleInformation (
Global variables and who references them
ULONG ObpXXX1;
obhandle.c\ObpComputeGrantedAccessIndex
ULONG ObpXXX2;
obhandle.c\ObpComputeGrantedAccessIndex
ULONG ObpXXX3;
obhandle.c\ObpTranslateGrantedAccessIndex
Procedures
USHORT ObpComputeGrantedAccessIndex ( ACCESS_MASK GrantedAccess )
Called By: obhandle.c\ObpCreateHandle obhandle.c\ObpCreateUnnamedHandle obhandle.c\NtDuplicateObject
It Calls: obhandle.c\ULONG ObpXXX1; obhandle.c\ULONG ObpXXX2;
ACCESS_MASK ObpTranslateGrantedAccessIndex ( USHORT GrantedAccessIndex )
Called By: obclose.c\NtClose obhandle.c\ObpCaptureHandleInformation obinit.c\ObDupHandleProcedure obinit.c\ObpEnumFindHandleProcedure obref.c\ObReferenceObjectByHandle obwait.c\NtWaitForMultipleObjects
It Calls: obhandle.c\ULONG ObpXXX3;
Module Name:
obinsert.c
Procedures
NTSTATUS ObInsertObject ( IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess OPTIONAL, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle )
Called By: obdir.c\NtCreateDirectoryObject oblink.c\NtCreateSymbolicLinkObject
It Calls: obhandle.c\ObpCreateHandle ( obhandle.c\ObpCreateUnnamedHandle ( obref.c\ObpDeleteNameCheck ( obref.c\ObDereferenceObject ( obse.c\ObGetObjectSecurity ( obse.c\ObReleaseObjectSecurity ( obse.c\ObAssignSecurity ( obse.c\ObpValidateAccessMask ( obdir.c\ObpDeleteDirectoryEntry ( obdir.c\ObpLookupObjectName ( oblink.c\ObpCreateSymbolicLinkName (
Module Name:
obref.c
Global variables and who references them
BOOLEAN ObpRemoveQueueActive;
obref.c\ObfDereferenceObject obref.c\ObpProcessRemoveObjectQueue
Procedures
ULONG ObGetObjectPointerCount ( IN PVOID Object )
Called By:
It Calls:
NTSTATUS ObOpenObjectByName ( IN POBJECT_ATTRIBUTES ObjectAttributes, IN POBJECT_TYPE ObjectType OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess OPTIONAL, IN OUT PVOID ParseContext OPTIONAL, OUT PHANDLE Handle )
Called By: obdir.c\NtOpenDirectoryObject oblink.c\NtOpenSymbolicLinkObject
It Calls: obcreate.c\ObpCaptureObjectCreateInformation ( obcreate.c\ObpFreeObjectNameBuffer ( obhandle.c\ObpCreateHandle ( obref.c\ObDereferenceObject ( obse.c\ObpValidateAccessMask ( obdir.c\ObpLookupObjectName (
NTSTATUS ObOpenObjectByPointer ( IN PVOID Object, IN ULONG HandleAttributes, IN PACCESS_STATE PassedAccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType OPTIONAL, IN KPROCESSOR_MODE AccessMode, OUT PHANDLE Handle )
Called By:
It Calls: obhandle.c\ObpCreateHandle ( obref.c\ObReferenceObjectByPointer ( obref.c\ObDereferenceObject (
NTSTATUS ObReferenceObjectByHandle ( IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType OPTIONAL, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL )
Called By: obclose.c\NtMakeTemporaryObject obdevmap.c\ObSetDeviceMap obdir.c\ObpLookupObjectName obdir.c\NtQueryDirectoryObject obhandle.c\NtDuplicateObject obinit.c\ObInitSystem oblink.c\NtQuerySymbolicLinkObject obquery.c\NtQueryObject obse.c\NtSetSecurityObject obse.c\NtQuerySecurityObject obwait.c\NtSignalAndWaitForSingleObject obwait.c\NtWaitForSingleObject obwait.c\ObWaitForSingleObject
It Calls: obhandle.c\ObpIncrPointerCount ( obhandle.c\ObpTranslateGrantedAccessIndex (
NTSTATUS ObReferenceObjectByName ( IN PUNICODE_STRING ObjectName, IN ULONG Attributes, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess OPTIONAL, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, OUT PVOID *Object )
Called By:
It Calls: obcreate.c\ObpCaptureObjectName ( obcreate.c\ObpFreeObjectNameBuffer ( obse.c\ObpCheckObjectReference ( obdir.c\ObpLookupObjectName (
LONG FASTCALL ObfReferenceObject ( IN PVOID Object )
Called By:
It Calls: obhandle.c\ObpIncrPointerCount (
NTSTATUS ObReferenceObjectByPointer ( IN PVOID Object, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode )
Called By: obdir.c\ObpLookupObjectName oblink.c\ObpParseSymbolicLink obref.c\ObOpenObjectByPointer
It Calls: obhandle.c\ObpIncrPointerCount (
LONG FASTCALL ObfDereferenceObject ( IN PVOID Object )
Called By: obref.c\ObDereferenceObject
It Calls: obref.c\BOOLEAN ObpRemoveQueueActive;
obhandle.c\ObpDecrPointerCountWithResult ( obref.c\ObpProcessRemoveObjectQueue ( obref.c\ObpRemoveObjectRoutine (
VOID ObpProcessRemoveObjectQueue ( PVOID Parameter )
Called By: obref.c\ObfDereferenceObject
It Calls: obref.c\BOOLEAN ObpRemoveQueueActive;
obref.c\ObpRemoveObjectRoutine (
VOID ObpRemoveObjectRoutine ( PVOID Object )
Called By: obref.c\ObfDereferenceObject obref.c\ObpProcessRemoveObjectQueue
It Calls:
VOID ObpDeleteNameCheck ( IN PVOID Object, IN BOOLEAN TypeMutexHeld )
Called By: obclose.c\ObMakeTemporaryObject obhandle.c\ObpDecrementHandleCount obinsert.c\ObInsertObject
It Calls: obref.c\ObDereferenceObject ( obdir.c\ObpLookupDirectoryEntry ( obdir.c\ObpDeleteDirectoryEntry ( oblink.c\ObpDeleteSymbolicLinkName (
LONG ObDereferenceObject ( IN PVOID Object )
Called By: obclose.c\NtClose obclose.c\NtMakeTemporaryObject obdevmap.c\ObSetDeviceMap obdevmap.c\ObDereferenceDeviceMap obdir.c\ObpLookupObjectName obdir.c\NtQueryDirectoryObject obhandle.c\NtDuplicateObject obinsert.c\ObInsertObject oblink.c\ObpProcessDosDeviceSymbolicLink oblink.c\NtCreateSymbolicLinkObject oblink.c\NtQuerySymbolicLinkObject obquery.c\NtQueryObject obref.c\ObOpenObjectByName obref.c\ObOpenObjectByPointer obref.c\ObpDeleteNameCheck obse.c\NtSetSecurityObject obse.c\NtQuerySecurityObject obwait.c\NtSignalAndForSingleObject obwait.c\NtWaitForSingleObject obwait.c\NtWaitForMultipleObjects obwait.c\ObWaitForSingleObject
It Calls: obref.c\ObfDereferenceObject (
Module Name:
obse.c
Procedures
NTSTATUS NtSetSecurityObject ( IN HANDLE Handle, IN SECURITY_INFORMATION SecurityInformation, IN PSECURITY_DESCRIPTOR SecurityDescriptor )
Called By:
It Calls: obref.c\ObReferenceObjectByHandle ( obref.c\ObDereferenceObject (
NTSTATUS NtQuerySecurityObject ( IN HANDLE Handle, IN SECURITY_INFORMATION SecurityInformation, OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN ULONG Length, OUT PULONG LengthNeeded )
Called By:
It Calls: obref.c\ObReferenceObjectByHandle ( obref.c\ObDereferenceObject (
BOOLEAN ObCheckObjectAccess ( IN PVOID Object, IN OUT PACCESS_STATE AccessState, IN BOOLEAN TypeMutexLocked, IN KPROCESSOR_MODE AccessMode, OUT PNTSTATUS AccessStatus )
Called By: obhandle.c\ObpIncrementHandleCount
It Calls: obse.c\ObGetObjectSecurity ( obse.c\ObReleaseObjectSecurity (
BOOLEAN ObpCheckObjectReference ( IN PVOID Object, IN OUT PACCESS_STATE AccessState, IN BOOLEAN TypeMutexLocked, IN KPROCESSOR_MODE AccessMode, OUT PNTSTATUS AccessStatus )
Called By: obref.c\ObReferenceObjectByName
It Calls: obse.c\ObGetObjectSecurity ( obse.c\ObReleaseObjectSecurity (
BOOLEAN ObpCheckTraverseAccess ( IN PVOID DirectoryObject, IN ACCESS_MASK TraverseAccess, IN PACCESS_STATE AccessState OPTIONAL, IN BOOLEAN TypeMutexLocked, IN KPROCESSOR_MODE PreviousMode, OUT PNTSTATUS AccessStatus )
Called By: obdir.c\ObpLookupObjectName
It Calls: obse.c\ObGetObjectSecurity ( obse.c\ObReleaseObjectSecurity (
BOOLEAN ObCheckCreateObjectAccess ( IN PVOID DirectoryObject, IN ACCESS_MASK CreateAccess, IN PACCESS_STATE AccessState, IN PUNICODE_STRING ComponentName, IN BOOLEAN TypeMutexLocked, IN KPROCESSOR_MODE PreviousMode, OUT PNTSTATUS AccessStatus )
Called By: obdir.c\ObpLookupObjectName
It Calls: obse.c\ObGetObjectSecurity ( obse.c\ObReleaseObjectSecurity (
NTSTATUS ObAssignObjectSecurityDescriptor ( IN PVOID Object, IN PSECURITY_DESCRIPTOR SecurityDescriptor OPTIONAL, IN POOL_TYPE PoolType )
Called By:
It Calls: obsdata.c\ObpLogSecurityDescriptor (
NTSTATUS ObGetObjectSecurity ( IN PVOID Object, OUT PSECURITY_DESCRIPTOR *SecurityDescriptor, OUT PBOOLEAN MemoryAllocated )
Called By: obinsert.c\ObInsertObject oblink.c\ObpProcessDosDeviceSymbolicLink obse.c\ObCheckObjectAccess obse.c\ObpCheckObjectReference obse.c\ObpCheckTraverseAccess obse.c\ObCheckCreateObjectAccess
It Calls: obsdata.c\ObpReferenceSecurityDescriptor (
VOID ObReleaseObjectSecurity ( IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN BOOLEAN MemoryAllocated )
Called By: obinsert.c\ObInsertObject obse.c\ObCheckObjectAccess obse.c\ObpCheckObjectReference obse.c\ObpCheckTraverseAccess obse.c\ObCheckCreateObjectAccess
It Calls: obsdata.c\ObpDereferenceSecurityDescriptor (
NTSTATUS ObValidateSecurityQuota ( IN PVOID Object, IN ULONG NewSize )
Called By:
It Calls:
NTSTATUS ObAssignSecurity ( IN PACCESS_STATE AccessState, IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL, IN PVOID Object, IN POBJECT_TYPE ObjectType )
Called By: obinsert.c\ObInsertObject
It Calls:
NTSTATUS ObSetSecurityDescriptorInfo ( IN PVOID Object, IN PSECURITY_INFORMATION SecurityInformation, IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, IN POOL_TYPE PoolType, IN PGENERIC_MAPPING GenericMapping )
Called By:
It Calls: obsdata.c\ObpLogSecurityDescriptor ( obsdata.c\ObpDereferenceSecurityDescriptor ( obsdata.c\ObpAcquireDescriptorCacheReadLock ( obsdata.c\ObpReleaseDescriptorCacheLock (
NTSTATUS ObpValidateAccessMask ( PACCESS_STATE AccessState )
Called By: obinsert.c\ObInsertObject obref.c\ObOpenObjectByName
It Calls:
Module Name:
obtype.c
Procedures
NTSTATUS ObCreateObjectType ( IN PUNICODE_STRING TypeName, IN POBJECT_TYPE_INITIALIZER ObjectTypeInitializer, IN PSECURITY_DESCRIPTOR SecurityDescriptor OPTIONAL, OUT POBJECT_TYPE *ObjectType )
Called By: obinit.c\ObInitSystem
It Calls: obcreate.c\ObpAllocateObject ( obdir.c\ObpLookupDirectoryEntry ( obdir.c\ObpInsertDirectoryEntry (
NTSTATUS ObEnumerateObjectsByType( IN POBJECT_TYPE ObjectType, IN OB_ENUM_OBJECT_TYPE_ROUTINE EnumerationRoutine, IN PVOID Parameter )
Called By:
It Calls:
NTSTATUS ObGetObjectInformation( IN PCHAR UserModeBufferAddress, OUT PSYSTEM_OBJECTTYPE_INFORMATION ObjectInformation, IN ULONG Length, OUT PULONG ReturnLength OPTIONAL )
Called By:
It Calls: obquery.c\ObQueryNameString (
Module Name:
obdir.c
Procedures
NTSTATUS NtCreateDirectoryObject ( OUT PHANDLE DirectoryHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes )
Called By: obinit.c\ObInitSystem obinit.c\ObpCreateDosDevicesDirectory
It Calls: obcreate.c\ObCreateObject ( obinsert.c\ObInsertObject (
NTSTATUS NtOpenDirectoryObject ( OUT PHANDLE DirectoryHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes )
Called By:
It Calls: obref.c\ObOpenObjectByName (
PVOID ObpLookupDirectoryEntry ( IN POBJECT_DIRECTORY Directory, IN PUNICODE_STRING Name, IN ULONG Attributes )
Called By: obdir.c\ObpLookupObjectName obinit.c\ObInitSystem oblink.c\ObpProcessDosDeviceSymbolicLink obref.c\ObpDeleteNameCheck obtype.c\ObCreateObjectType
It Calls:
BOOLEAN ObpInsertDirectoryEntry ( IN POBJECT_DIRECTORY Directory, IN PVOID Object )
Called By: obdir.c\ObpLookupObjectName obinit.c\ObInitSystem obtype.c\ObCreateObjectType
It Calls: obinit.c\ObInitSystem (
BOOLEAN ObpDeleteDirectoryEntry ( IN POBJECT_DIRECTORY Directory )
Called By: obinsert.c\ObInsertObject obref.c\ObpDeleteNameCheck
It Calls:
NTSTATUS ObpLookupObjectName ( IN HANDLE RootDirectoryHandle, IN PUNICODE_STRING ObjectName, IN ULONG Attributes, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, IN PVOID ParseContext OPTIONAL, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos OPTIONAL, IN PVOID InsertObject OPTIONAL, IN OUT PACCESS_STATE AccessState, OUT PBOOLEAN DirectoryLocked, OUT PVOID *FoundObject )
Called By: obinsert.c\ObInsertObject obref.c\ObOpenObjectByName obref.c\ObReferenceObjectByName
It Calls: obinit.c\UNICODE_STRING ObpDosDevicesShortName; obinit.c\ULARGE_INTEGER ObpDosDevicesShortNamePrefix; obinit.c\ULARGE_INTEGER ObpDosDevicesShortNameRoot
obhandle.c\ObpIncrPointerCount ( obref.c\ObReferenceObjectByHandle ( obref.c\ObReferenceObjectByPointer ( obref.c\ObDereferenceObject ( obse.c\ObpCheckTraverseAccess ( obse.c\ObCheckCreateObjectAccess ( obdir.c\ObpLookupDirectoryEntry ( obdir.c\ObpInsertDirectoryEntry (
NTSTATUS NtQueryDirectoryObject ( IN HANDLE DirectoryHandle, OUT PVOID Buffer, IN ULONG Length, IN BOOLEAN ReturnSingleEntry, IN BOOLEAN RestartScan, IN OUT PULONG Context, OUT PULONG ReturnLength OPTIONAL )
Called By:
It Calls: obref.c\ObReferenceObjectByHandle ( obref.c\ObDereferenceObject (
Module Name:
obdevmap.c
Procedures
NTSTATUS ObSetDeviceMap ( IN PEPROCESS TargetProcess, IN HANDLE DirectoryHandle )
Called By: obinit.c\ObpCreateDosDevicesDirectory
It Calls: obinit.c\PDEVICE_MAP ObSystemDeviceMap
obref.c\ObReferenceObjectByHandle ( obref.c\ObDereferenceObject (
NTSTATUS ObQueryDeviceMapInformation ( IN PEPROCESS TargetProcess, OUT PPROCESS_DEVICEMAP_INFORMATION DeviceMapInformation )
Called By:
It Calls: obinit.c\PDEVICE_MAP ObSystemDeviceMap
VOID ObInheritDeviceMap ( IN PEPROCESS NewProcess, IN PEPROCESS ParentProcess )
Called By:
It Calls: obinit.c\PDEVICE_MAP ObSystemDeviceMap
VOID ObDereferenceDeviceMap ( IN PEPROCESS Process )
Called By:
It Calls: obref.c\ObDereferenceObject (
Module Name:
oblink.c
Global variables and who references them
extern POBJECT_TYPE IoDeviceObjectType;
oblink.c\ObpProcessDosDeviceSymbolicLink
Procedures
NTSTATUS ObpParseSymbolicLink ( IN PVOID ParseObject, IN PVOID ObjectType, IN PACCESS_STATE AccessState, IN KPROCESSOR_MODE AccessMode, IN ULONG Attributes, IN OUT PUNICODE_STRING CompleteName, IN OUT PUNICODE_STRING RemainingName, IN OUT PVOID Context OPTIONAL, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos OPTIONAL, OUT PVOID *Object )
Called By: obinit.c\ObInitSystem
It Calls: obref.c\ObReferenceObjectByPointer (
VOID ObpProcessDosDeviceSymbolicLink ( POBJECT_SYMBOLIC_LINK SymbolicLink, ULONG Action )
Called By: oblink.c\ObpDeleteSymbolicLinkName oblink.c\ObpCreateSymbolicLinkName
It Calls: oblink.c\extern POBJECT_TYPE IoDeviceObjectType;
obref.c\ObDereferenceObject ( obse.c\ObGetObjectSecurity ( obdir.c\ObpLookupDirectoryEntry (
VOID ObpDeleteSymbolicLinkName ( POBJECT_SYMBOLIC_LINK SymbolicLink )
Called By: obref.c\ObpDeleteNameCheck
It Calls: oblink.c\ObpProcessDosDeviceSymbolicLink (
VOID ObpCreateSymbolicLinkName ( POBJECT_SYMBOLIC_LINK SymbolicLink )
Called By: obinsert.c\ObInsertObject
It Calls: oblink.c\ObpProcessDosDeviceSymbolicLink (
NTSTATUS NtCreateSymbolicLinkObject ( OUT PHANDLE LinkHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN PUNICODE_STRING LinkTarget )
Called By: obinit.c\ObpCreateDosDevicesDirectory
It Calls: obcreate.c\ObCreateObject ( obinset.c\ObInsertObject ( obref.c\ObDereferenceObject (
NTSTATUS NtOpenSymbolicLinkObject ( OUT PHANDLE LinkHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes )
Called By:
It Calls: obref.c\ObOpenObjectByName (
NTSTATUS NtQuerySymbolicLinkObject ( IN HANDLE LinkHandle, IN OUT PUNICODE_STRING LinkTarget, OUT PULONG ReturnedLength OPTIONAL )
Called By:
It Calls: obref.c\ObReferenceObjectByHandle ( obref.c\ObDereferenceObject (
Module Name:
obclose.c
Global variables and who references them
extern BOOLEAN SepAdtAuditingEnabled;
obclose.c\NtClose
Procedures
NTSTATUS NtClose ( IN HANDLE Handle )
Called By: obhandle.c\NtDuplicateObject obinit.c\ObInitSystem obinit.c\ObpCreateDosDevicesDirectory
It Calls: obclose.c\extern BOOLEAN SepAdtAuditingEnabled;
obhandle.c\ObpDecrementHandleCount ( obhandle.c\ObpTranslateGrantedAccessIndex ( obref.c\ObDereferenceObject (
NTSTATUS NtMakeTemporaryObject ( IN HANDLE Handle )
Called By:
It Calls: obref.c\ObReferenceObjectByHandle ( obref.c\ObDereferenceObject ( obclose.c\ObMakeTemporaryObject (
VOID ObMakeTemporaryObject ( IN PVOID Object )
Called By: obclose.c\NtMakeTemporaryObject
It Calls: obref.c\ObpDeleteNameCheck (
Module Name:
obquery.c
Procedures
NTSTATUS NtQueryObject ( IN HANDLE Handle, IN OBJECT_INFORMATION_CLASS ObjectInformationClass, OUT PVOID ObjectInformation, IN ULONG ObjectInformationLength, OUT PULONG ReturnLength OPTIONAL )
Called By:
It Calls: obref.c\ObReferenceObjectByHandle ( obref.c\ObDereferenceObject ( obquery.c\ObQueryNameString ( obquery.c\ObQueryTypeInfo (
PUNICODE_STRING ObGetObjectName ( IN PVOID Object )
Called By:
It Calls:
NTSTATUS ObQueryNameString ( IN PVOID Object, OUT POBJECT_NAME_INFORMATION ObjectNameInfo, IN ULONG Length, OUT PULONG ReturnLength )
Called By: obquery.c\NtQueryObject obtype.c\ObGetObjectInformation
It Calls:
NTSTATUS ObQueryTypeName ( IN PVOID Object, PUNICODE_STRING ObjectTypeName, IN ULONG Length, OUT PULONG ReturnLength )
Called By: obtype.c\ObGetObjectInformation
It Calls:
NTSTATUS ObQueryTypeInfo ( IN POBJECT_TYPE ObjectType, OUT POBJECT_TYPE_INFORMATION ObjectTypeInfo, IN ULONG Length, OUT PULONG ReturnLength )
Called By: obquery.c\NtQueryObject
It Calls:
NTSTATUS ObQueryObjectAuditingByHandle ( IN HANDLE Handle, OUT PBOOLEAN GenerateOnClose )
Called By:
It Calls:
BOOLEAN ObpSetHandleAttributes ( IN OUT PVOID TableEntry, IN ULONG Parameter )
Called By: obquery.c\NtSetInformationObject
It Calls:
NTSTATUS NTAPI NtSetInformationObject ( IN HANDLE Handle, IN OBJECT_INFORMATION_CLASS ObjectInformationClass, IN PVOID ObjectInformation, IN ULONG ObjectInformationLength )
Called By: obquery.c\ObpSetHandleAttributes (
It Calls:
Module Name:
obsdata.c
Global variables and who references them
ULONG ObsDebugFlags = 0;
ULONG ObsTotalCacheEntries = 0;
PLIST_ENTRY *ObsSecurityDescriptorCache = NULL;
ERESOURCE ObsSecurityDescriptorCacheLock;
Procedures
NTSTATUS ObpInitSecurityDescriptorCache ( VOID )
Called By: obinit.c\ObInitSystem
It Calls:
ULONG ObpHashSecurityDescriptor ( PSECURITY_DESCRIPTOR SecurityDescriptor )
Called By: obsdata.c\ObpLogSecurityDescriptor
It Calls: obsdata.c\ObpHashBuffer (
ULONG ObpHashBuffer ( PVOID Data, ULONG Length )
Called By: obsdata.c\ObpHashSecurityDescriptor
It Calls:
NTSTATUS ObpLogSecurityDescriptor ( IN PSECURITY_DESCRIPTOR InputSecurityDescriptor, OUT PSECURITY_DESCRIPTOR *OutputSecurityDescriptor )
Called By: obse.c\ObAssignObjectSecurityDescriptor obse.c\ObSetSecurityDescriptorInfo
It Calls: obsdata.c\ObpHashSecurityDescriptor ( obsdata.c\ObpCreateCacheEntry ( obsdata.c\ObpCompareSecurityDescriptors ( obsdata.c\ObpAcquireDescriptorCacheWriteLock ( obsdata.c\ObpReleaseDescriptorCacheLock (
PSECURITY_DESCRIPTOR_HEADER ObpCreateCacheEntry ( PSECURITY_DESCRIPTOR InputSecurityDescriptor, ULONG FullHash )
Called By: obsdata.c\ObpLogSecurityDescriptor
It Calls:
PSECURITY_DESCRIPTOR ObpReferenceSecurityDescriptor ( PVOID Object )
Called By: obse.c\ObGetObjectSecurity
It Calls: obsdata.c\ObpAcquireDescriptorCacheWriteLock ( obsdata.c\ObpReleaseDescriptorCacheLock (
NTSTATUS ObDeassignSecurity ( IN OUT PSECURITY_DESCRIPTOR *SecurityDescriptor )
Called By:
It Calls: obsdata.c\ObpDereferenceSecurityDescriptor (
VOID ObpDereferenceSecurityDescriptor ( PSECURITY_DESCRIPTOR SecurityDescriptor )
Called By: obsdata.c\ObDeassignSecurity obse.c\ObReleaseObjectSecurity obse.c\ObSetSecurityDescriptorInfo
It Calls: obsdata.c\ObpDestroySecurityDescriptorHeader ( obsdata.c\ObpAcquireDescriptorCacheWriteLock ( obsdata.c\ObpReleaseDescriptorCacheLock (
VOID ObpDestroySecurityDescriptorHeader ( IN PSECURITY_DESCRIPTOR_HEADER Header )
Called By: obsdata.c\ObpDereferenceSecurityDescriptor
It Calls:
BOOLEAN ObpCompareSecurityDescriptors ( IN PSECURITY_DESCRIPTOR SD1, IN PSECURITY_DESCRIPTOR SD2 )
Called By: obsdata.c\ObpLogSecurityDescriptor
It Calls:
VOID ObpAcquireDescriptorCacheWriteLock ( VOID )
Called By: obsdata.c\ObpLogSecurityDescriptor obsdata.c\ObpReferenceSecurityDescriptor obsdata.c\ObpDereferenceSecurityDescriptor
It Calls:
VOID ObpAcquireDescriptorCacheReadLock ( VOID )
Called By: obse.c\ObSetSecurityDescriptorInfo
It Calls:
VOID ObpReleaseDescriptorCacheLock ( VOID )
Called By: obsdata.c\ObpLogSecurityDescriptor obsdata.c\ObpReferenceSecurityDescriptor obsdata.c\ObpDereferenceSecurityDescriptor obse.c\ObSetSecurityDescriptorInfo
It Calls:
Module Name:
obwait.c
Global variables and who references them
extern POBJECT_TYPE ExEventObjectType;
obwait.c\NtSignalAndWaitForSingleObject
extern POBJECT_TYPE ExMutantObjectType;
obwait.c\NtSignalAndWaitForSingleObject
extern POBJECT_TYPE ExSemaphoreObjectType;
obwait.c\NtSignalAndWaitForSingleObject
Procedures
NTSTATUS NtSignalAndWaitForSingleObject ( IN HANDLE SignalHandle, IN HANDLE WaitHandle, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL )
Called By:
It Calls: obwait.c\extern POBJECT_TYPE ExEventObjectType; obwait.c\extern POBJECT_TYPE ExSemaphoreObjectType; obwait.c\extern POBJECT_TYPE ExMutantObjectType;
obref.c\ObReferenceObjectByHandle ( obref.c\ObDereferenceObject (
NTSTATUS NtWaitForSingleObject ( IN HANDLE Handle, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL )
Called By:
It Calls: obref.c\ObReferenceObjectByHandle ( obref.c\ObDereferenceObject (
NTSTATUS NtWaitForMultipleObjects ( IN ULONG Count, IN HANDLE Handles[], IN WAIT_TYPE WaitType, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL )
Called By:
It Calls: obhandle.c\ObpIncrPointerCount ( obhandle.c\ObpTranslateGrantedAccessIndex ( obref.c\ObDereferenceObject (
NTSTATUS ObWaitForSingleObject ( IN HANDLE Handle, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL )
Called By:
It Calls: obref.c\ObReferenceObjectByHandle ( obref.c\ObDereferenceObject (
|