Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
2.5 KiB

  1. // Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
  2. //
  3. // MODULE: relstat.idl
  4. //
  5. // PURPOSE: Relstat RPC service .idl file. This defines the wire
  6. // "contract" between a client and server using this
  7. // interface. All data types and functions (methods,
  8. // operations) that go over the wire must be defined here.
  9. //
  10. //
  11. [
  12. uuid(7f4833fa-fce8-11d2-b8de-0000f8757e72),
  13. version(1.0),
  14. pointer_default(unique)
  15. ]
  16. interface RelstatRPCService
  17. {
  18. import "wtypes.idl";
  19. typedef struct _RELSTAT_PROCESS_INFO{
  20. ULONG NumberOfThreads;
  21. LARGE_INTEGER CreateTime;
  22. LARGE_INTEGER UserTime;
  23. LARGE_INTEGER KernelTime;
  24. LPWSTR szImageName;
  25. LONG BasePriority; //KPRIORITY in ntexapi.h
  26. DWORD UniqueProcessId; //HANDLE in ntexapi.h
  27. DWORD InheritedFromUniqueProcessId; //HANDLE in ntexapi.h
  28. ULONG HandleCount;
  29. ULONG SessionId;
  30. SIZE_T PeakVirtualSize;
  31. SIZE_T VirtualSize;
  32. ULONG PageFaultCount;
  33. SIZE_T PeakWorkingSetSize;
  34. SIZE_T WorkingSetSize;
  35. SIZE_T QuotaPeakPagedPoolUsage;
  36. SIZE_T QuotaPagedPoolUsage;
  37. SIZE_T QuotaPeakNonPagedPoolUsage;
  38. SIZE_T QuotaNonPagedPoolUsage;
  39. SIZE_T PagefileUsage;
  40. SIZE_T PeakPagefileUsage;
  41. SIZE_T PrivatePageCount;
  42. LARGE_INTEGER ReadOperationCount;
  43. LARGE_INTEGER WriteOperationCount;
  44. LARGE_INTEGER OtherOperationCount;
  45. LARGE_INTEGER ReadTransferCount;
  46. LARGE_INTEGER WriteTransferCount;
  47. LARGE_INTEGER OtherTransferCount;
  48. ULONG GdiHandleCount;
  49. ULONG UsrHandleCount;
  50. } RELSTAT_PROCESS_INFO, *PRELSTAT_PROCESS_INFO;
  51. typedef struct _RELSTAT_POOLTAG_INFO {
  52. UCHAR Tag[4];
  53. ULONG PagedAllocs;
  54. ULONG PagedFrees;
  55. SIZE_T PagedUsed;
  56. ULONG NonPagedAllocs;
  57. ULONG NonPagedFrees;
  58. SIZE_T NonPagedUsed;
  59. } RELSTAT_POOLTAG_INFO, *PRELSTAT_POOLTAG_INFO;
  60. error_status_t
  61. RelStatProcessInfo(
  62. [in] handle_t Binding,
  63. [in] long Pid,
  64. [in, out] unsigned long *pNumberOfProcesses,
  65. [out, size_is(,*pNumberOfProcesses)]
  66. PRELSTAT_PROCESS_INFO *ppRelStatInfo
  67. );
  68. error_status_t
  69. RelStatPoolTagInfo(
  70. [in] handle_t Binding,
  71. [in] LPSTR szTagName,
  72. [in, out] unsigned long* pNumberOfTags,
  73. [out, size_is(,*pNumberOfTags)]
  74. PRELSTAT_POOLTAG_INFO *ppRelStatPoolInfo
  75. );
  76. error_status_t
  77. RelStatBuildNumber(
  78. [in] handle_t Binding,
  79. [in, out] unsigned long *pBuildNumber
  80. );
  81. error_status_t
  82. RelStatTickCount(
  83. [in] handle_t Binding,
  84. [in, out] unsigned long* pTickCount
  85. );
  86. }