32 if (!OldValue)
return FALSE;
41 if (OldValue == NewValue)
return TRUE;
329 return Header->PointerCount;
370#undef ObDereferenceObject
#define ObpSymbolicLinkObjectType
#define STATUS_INVALID_HANDLE
#define STATUS_OBJECT_TYPE_MISMATCH
#define NT_SUCCESS(StatCode)
#define PsGetCurrentThread()
FORCEINLINE BOOLEAN ExReleaseFastReference(IN PEX_FAST_REF FastRef, IN PVOID Object)
FORCEINLINE ULONG ExGetCountFastReference(IN EX_FAST_REF FastRef)
#define InterlockedCompareExchangeSizeT(Destination, Exchange, Comperand)
FORCEINLINE BOOLEAN ExInsertFastReference(IN OUT PEX_FAST_REF FastRef, IN PVOID Object)
FORCEINLINE VOID ExInitializeFastReference(OUT PEX_FAST_REF FastRef, IN OPTIONAL PVOID Object)
FORCEINLINE EX_FAST_REF ExSwapFastReference(IN PEX_FAST_REF FastRef, IN PVOID Object)
FORCEINLINE PVOID ExGetObjectFastReference(IN EX_FAST_REF FastRef)
FORCEINLINE EX_FAST_REF ExAcquireFastReference(IN OUT PEX_FAST_REF FastRef)
#define BooleanFlagOn(F, SF)
static XMS_HANDLE HandleTable[XMS_MAX_HANDLES]
#define FLG_KERNEL_STACK_TRACE_DB
#define InterlockedDecrementSizeT(a)
#define InterlockedCompareExchangePointer
#define InterlockedExchangeAddSizeT(a, b)
#define InterlockedIncrementSizeT(a)
#define KeLeaveCriticalRegion()
#define KeEnterCriticalRegion()
#define OBJECT_TO_OBJECT_HEADER(o)
#define NtCurrentProcess()
PHANDLE_TABLE_ENTRY NTAPI ExMapHandleToPointer(IN PHANDLE_TABLE HandleTable, IN HANDLE Handle)
VOID NTAPI ExUnlockHandleTableEntry(IN PHANDLE_TABLE HandleTable, IN PHANDLE_TABLE_ENTRY HandleTableEntry)
NTSTATUS NTAPI IoComputeDesiredAccessFileObject(IN PFILE_OBJECT FileObject, IN PACCESS_MASK DesiredAccess)
BOOLEAN NTAPI KeAreAllApcsDisabled(VOID)
POBJECT_TYPE PsProcessType
POBJECT_TYPE PsThreadType
VOID NTAPI SeDeleteAccessState(_In_ PACCESS_STATE AccessState)
Deletes an allocated access state from the memory.
NTSTATUS NTAPI SeCreateAccessState(_Out_ PACCESS_STATE AccessState, _Out_ __drv_aliasesMem PAUX_ACCESS_DATA AuxData, _In_ ACCESS_MASK Access, _In_ PGENERIC_MAPPING GenericMapping)
Creates an access state.
volatile PVOID ObpReaperList
#define OBJ_HANDLE_ATTRIBUTES
NTSTATUS NTAPI ObpCaptureObjectName(IN PUNICODE_STRING CapturedName, IN PUNICODE_STRING ObjectName, IN KPROCESSOR_MODE AccessMode, IN BOOLEAN AllocateFromLookaside)
PHANDLE_TABLE ObpKernelHandleTable
BOOLEAN NTAPI ObpCheckObjectReference(IN PVOID Object, IN OUT PACCESS_STATE AccessState, IN BOOLEAN LockHeld, IN KPROCESSOR_MODE AccessMode, OUT PNTSTATUS AccessStatus)
#define ObpGetHandleObject(x)
WORK_QUEUE_ITEM ObpReaperWorkItem
VOID NTAPI ObpDeleteObject(IN PVOID Object, IN BOOLEAN CalledFromWorkerThread)
#define ObKernelHandleToHandle(Handle)
VOID NTAPI ObpFreeObjectNameBuffer(IN PUNICODE_STRING Name)
NTSTATUS NTAPI ObpLookupObjectName(IN HANDLE RootHandle OPTIONAL, IN OUT PUNICODE_STRING ObjectName, IN ULONG Attributes, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos OPTIONAL, IN PVOID InsertObject OPTIONAL, IN OUT PACCESS_STATE AccessState, OUT POBP_LOOKUP_CONTEXT LookupContext, OUT PVOID *FoundObject)
FORCEINLINE VOID ObpReleaseLookupContext(IN POBP_LOOKUP_CONTEXT Context)
Releases an initialized object directory lookup context. Unlocks it if necessary, and dereferences th...
VOID NTAPI ObpDeferObjectDeletion(IN POBJECT_HEADER Header)
PVOID FASTCALL ObFastReferenceObject(IN PEX_FAST_REF FastRef)
LONG_PTR FASTCALL ObfReferenceObject(IN PVOID Object)
LONG FASTCALL ObDereferenceObjectEx(IN PVOID Object, IN LONG Count)
BOOLEAN FASTCALL ObReferenceObjectSafe(IN PVOID Object)
VOID NTAPI ObDereferenceObjectDeferDelete(IN PVOID Object)
NTSTATUS NTAPI ObReferenceObjectByName(IN PUNICODE_STRING ObjectPath, IN ULONG Attributes, IN PACCESS_STATE PassedAccessState, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext, OUT PVOID *ObjectPtr)
VOID FASTCALL ObInitializeFastReference(IN PEX_FAST_REF FastRef, IN PVOID Object OPTIONAL)
NTSTATUS NTAPI ObReferenceFileObjectForWrite(IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode, OUT PFILE_OBJECT *FileObject, OUT POBJECT_HANDLE_INFORMATION HandleInformation)
LONG_PTR FASTCALL ObfDereferenceObject(IN PVOID Object)
LONG FASTCALL ObReferenceObjectEx(IN PVOID Object, IN LONG Count)
PVOID FASTCALL ObFastReferenceObjectLocked(IN PEX_FAST_REF FastRef)
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)
VOID FASTCALL ObFastDereferenceObject(IN PEX_FAST_REF FastRef, IN PVOID Object)
NTSTATUS NTAPI ObReferenceObjectByPointer(IN PVOID Object, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode)
PVOID FASTCALL ObFastReplaceObject(IN PEX_FAST_REF FastRef, PVOID Object)
PULONG MinorVersion OPTIONAL
base of all file and directory entries
GENERIC_MAPPING GenericMapping
#define STATUS_ACCESS_DENIED
#define STATUS_OBJECT_NAME_INVALID
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
VOID NTAPI ExQueueWorkItem(IN PWORK_QUEUE_ITEM WorkItem, IN WORK_QUEUE_TYPE QueueType)
_In_ PVOID _Out_opt_ PULONG_PTR _Outptr_opt_ PCUNICODE_STRING * ObjectName
_In_ PEPROCESS _In_ KPROCESSOR_MODE AccessMode
_In_ ACCESS_MASK _In_opt_ POBJECT_TYPE _In_ KPROCESSOR_MODE _Out_ PVOID _Out_opt_ POBJECT_HANDLE_INFORMATION HandleInformation
#define ObDereferenceObject
#define ObReferenceObject
_Inout_opt_ PACCESS_STATE PassedAccessState
#define PsGetCurrentProcess
_In_opt_ PVOID _In_opt_ PUNICODE_STRING _In_ PSECURITY_DESCRIPTOR _In_ PACCESS_STATE AccessState
_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
#define NtCurrentThread()