2020-09-30 17:17:25 +02:00

60 lines
1.1 KiB
C

/*++
Copyright (c) 1989 Microsoft Corporation
Module Name:
psquery.c
Abstract:
This module implements the set and query functions for
process and thread objects.
--*/
#include "psp.h"
extern OBJECT_HANDLE_TABLE ObpObjectHandleTable;
NTSTATUS
PsQueryStatistics(
IN OUT PPS_STATISTICS ProcessStatistics
)
/*++
Routine Description:
This routine returns various statistics about the state of the process
subsystem.
Arguments:
ProcessStatistics - Supplies the buffer to fill with the process manager's
statistics.
Return Value:
Status of operation.
--*/
{
NTSTATUS status;
PKPROCESS Process;
if (ProcessStatistics->Length == sizeof(PS_STATISTICS)) {
Process = PsGetCurrentProcess();
ProcessStatistics->ThreadCount = Process->StackCount;
ProcessStatistics->HandleCount = ObpObjectHandleTable.HandleCount;
status = STATUS_SUCCESS;
} else {
status = STATUS_INVALID_PARAMETER;
}
return status;
}