windows-nt/Source/XPSP1/NT/sdktools/relstat/relstat.idl
2020-09-26 16:20:57 +08:00

96 lines
2.5 KiB
Plaintext

// Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
//
// MODULE: relstat.idl
//
// PURPOSE: Relstat RPC service .idl file. This defines the wire
// "contract" between a client and server using this
// interface. All data types and functions (methods,
// operations) that go over the wire must be defined here.
//
//
[
uuid(7f4833fa-fce8-11d2-b8de-0000f8757e72),
version(1.0),
pointer_default(unique)
]
interface RelstatRPCService
{
import "wtypes.idl";
typedef struct _RELSTAT_PROCESS_INFO{
ULONG NumberOfThreads;
LARGE_INTEGER CreateTime;
LARGE_INTEGER UserTime;
LARGE_INTEGER KernelTime;
LPWSTR szImageName;
LONG BasePriority; //KPRIORITY in ntexapi.h
DWORD UniqueProcessId; //HANDLE in ntexapi.h
DWORD InheritedFromUniqueProcessId; //HANDLE in ntexapi.h
ULONG HandleCount;
ULONG SessionId;
SIZE_T PeakVirtualSize;
SIZE_T VirtualSize;
ULONG PageFaultCount;
SIZE_T PeakWorkingSetSize;
SIZE_T WorkingSetSize;
SIZE_T QuotaPeakPagedPoolUsage;
SIZE_T QuotaPagedPoolUsage;
SIZE_T QuotaPeakNonPagedPoolUsage;
SIZE_T QuotaNonPagedPoolUsage;
SIZE_T PagefileUsage;
SIZE_T PeakPagefileUsage;
SIZE_T PrivatePageCount;
LARGE_INTEGER ReadOperationCount;
LARGE_INTEGER WriteOperationCount;
LARGE_INTEGER OtherOperationCount;
LARGE_INTEGER ReadTransferCount;
LARGE_INTEGER WriteTransferCount;
LARGE_INTEGER OtherTransferCount;
ULONG GdiHandleCount;
ULONG UsrHandleCount;
} RELSTAT_PROCESS_INFO, *PRELSTAT_PROCESS_INFO;
typedef struct _RELSTAT_POOLTAG_INFO {
UCHAR Tag[4];
ULONG PagedAllocs;
ULONG PagedFrees;
SIZE_T PagedUsed;
ULONG NonPagedAllocs;
ULONG NonPagedFrees;
SIZE_T NonPagedUsed;
} RELSTAT_POOLTAG_INFO, *PRELSTAT_POOLTAG_INFO;
error_status_t
RelStatProcessInfo(
[in] handle_t Binding,
[in] long Pid,
[in, out] unsigned long *pNumberOfProcesses,
[out, size_is(,*pNumberOfProcesses)]
PRELSTAT_PROCESS_INFO *ppRelStatInfo
);
error_status_t
RelStatPoolTagInfo(
[in] handle_t Binding,
[in] LPSTR szTagName,
[in, out] unsigned long* pNumberOfTags,
[out, size_is(,*pNumberOfTags)]
PRELSTAT_POOLTAG_INFO *ppRelStatPoolInfo
);
error_status_t
RelStatBuildNumber(
[in] handle_t Binding,
[in, out] unsigned long *pBuildNumber
);
error_status_t
RelStatTickCount(
[in] handle_t Binding,
[in, out] unsigned long* pTickCount
);
}