ObGetProcessHandleCount
UINT64 __stdcall ObGetProcessHandleCount(_EX_RUNDOWN_REF *Process, UINT64 *HandleCountHighWatermark){
unsigned int v2;
_HANDLE_TABLE *v5;
UINT64 HandleCount;
v2 = 0;
LODWORD(HandleCount) = 0;
v5 = ObReferenceProcessHandleTable((_EPROCESS *)Process);
if( v5 )
{
ExHandleTableQuery(v5, &HandleCount, HandleCountHighWatermark);
ExReleaseRundownProtection(Process + 139);
return(unsigned int)HandleCount;
}
else if( HandleCountHighWatermark )
{
*(_DWORD *)HandleCountHighWatermark = 0;
}
return v2;
}Referenced by:
EtwTraceAppStateChange
EtwpProcessPerfCtrsRundown
EtwpPsProvTraceProcess
NtQueryInformationProcess