ObReferenceObjectByPointer
NTSTATUS __stdcall ObReferenceObjectByPointer(
PVOID Object,
ACCESS_MASK DesiredAccess,
POBJECT_TYPE ObjectType,
KPROCESSOR_MODE AccessMode){
bool v5;
signed __int64 BugCheckParameter4;
if( ObjectType )
v5 = ObTypeIndexTable[(unsigned __int8)ObHeaderCookie ^ (unsigned __int8)*((char *)Object - 24) ^ (unsigned __int64)(unsigned __int8)((unsigned __int16)((_WORD)Object - 48) >> 8)] == (_QWORD)ObjectType;
else
v5 = AccessMode == 0;
if( !v5 )
return -1073741788;
if( ObpTraceFlags )
ObpPushStackInfo((INT64)Object - 48, 1, 1i64, 1953261124i64);
BugCheckParameter4 = _InterlockedIncrement64((volatile signed __int64 *)Object - 6);
if( BugCheckParameter4 <= 1 )
KeBugCheckEx(0x18u, 0i64, (ULONG_PTR)Object, 0x10ui64, BugCheckParameter4);
return 0;
}Referenced by:
EtwpRegisterPrivateSession
EtwpStopTrace
HalGetAdapterV2
HalGetAdapterV3
HalpDmaAllocateChildAdapterV2
HalpDmaAllocateChildAdapterV3
IopAllocateFoExtensionsOnCreate
NtImpersonateAnonymousToken
ObpLookupObjectName
ObpParseSymbolicLinkEx
WmipQueryAllData
WmipQuerySetExecuteSI
WmipRegisterDevice