Leaked source code of windows server 2003
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.

149 lines
2.9 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. resmon.idl
  5. Abstract:
  6. Interface Description for resource monitor RPC interface
  7. Author:
  8. John Vert (jvert) 2-Jan-1996
  9. --*/
  10. import "wtypes.idl";
  11. cpp_quote("#define _RESAPI_")
  12. //
  13. // Interface Attributes
  14. //
  15. [
  16. uuid(e76ea56d-453f-11cf-bfec-08002be23f2f),
  17. version(2.0)
  18. ]
  19. interface resmon
  20. {
  21. typedef [context_handle] void *RPC_RESID;
  22. typedef HANDLE_PTR RM_NOTIFY_KEY;
  23. RPC_RESID
  24. RmCreateResource(
  25. [ in ] handle_t IDL_handle,
  26. [ in ] LPCWSTR DllName,
  27. [ in ] LPCWSTR ResourceType,
  28. [ in ] LPCWSTR ResourceName,
  29. [ in ] DWORD LooksAlivePoll,
  30. [ in ] DWORD IsAlivePoll,
  31. [ in ] RM_NOTIFY_KEY NotifyKey,
  32. [ in ] DWORD PendingTimeout,
  33. [ out ] LPDWORD Status
  34. );
  35. void
  36. RmCloseResource(
  37. [ in,out ] RPC_RESID *ResourceId
  38. );
  39. error_status_t
  40. RmChangeResourceParams(
  41. [ in ] RPC_RESID ResourceId,
  42. [ in ] DWORD LooksAlivePoll,
  43. [ in ] DWORD IsAlivePoll,
  44. [ in ] DWORD PendingTimeout
  45. );
  46. error_status_t
  47. RmOnlineResource(
  48. [ in ] RPC_RESID ResourceId,
  49. [ out ] DWORD *pdwState
  50. );
  51. error_status_t
  52. RmOfflineResource(
  53. [ in ] RPC_RESID ResourceId,
  54. [ out ] DWORD *pdwState
  55. );
  56. void
  57. RmTerminateResource(
  58. [ in ] RPC_RESID ResourceId
  59. );
  60. error_status_t
  61. RmArbitrateResource(
  62. [ in ] RPC_RESID ResourceId
  63. );
  64. error_status_t
  65. RmReleaseResource(
  66. [ in ] RPC_RESID ResourceId
  67. );
  68. BOOL
  69. RmNotifyChanges(
  70. [ in ] handle_t IDL_handle,
  71. [ out ] RM_NOTIFY_KEY *lpNotifyKey,
  72. [ out ] DWORD *lpNotifyEvent,
  73. [ out ] DWORD *lpCurrentState
  74. );
  75. error_status_t
  76. RmFailResource(
  77. [ in ] RPC_RESID ResourceId
  78. );
  79. error_status_t
  80. RmShutdownProcess(
  81. [ in ] handle_t IDL_handle
  82. );
  83. error_status_t
  84. RmResourceControl(
  85. [ in ] RPC_RESID ResourceId,
  86. [ in ] DWORD ControlCode,
  87. [ in, unique, size_is(InBufferSize) ] UCHAR *InBuffer,
  88. [ in ] DWORD InBufferSize,
  89. [ out, size_is(OutBufferSize), length_is(*BytesReturned) ] UCHAR *OutBuffer,
  90. [ in ] DWORD OutBufferSize,
  91. [ out ] LPDWORD BytesReturned,
  92. [ out ] LPDWORD Required
  93. );
  94. error_status_t
  95. RmResourceTypeControl(
  96. [ in ] handle_t IDL_handle,
  97. [ in ] LPCWSTR ResourceTypeName,
  98. [ in ] LPCWSTR DllName,
  99. [ in ] DWORD ControlCode,
  100. [ in, unique, size_is(InBufferSize) ] UCHAR *InBuffer,
  101. [ in ] DWORD InBufferSize,
  102. [ out, size_is(OutBufferSize), length_is(*BytesReturned) ] UCHAR *OutBuffer,
  103. [ in ] DWORD OutBufferSize,
  104. [ out ] LPDWORD BytesReturned,
  105. [ out ] LPDWORD Required
  106. );
  107. error_status_t
  108. RmLoadResourceTypeDll(
  109. [ in ] handle_t IDL_handle,
  110. [ in ] LPCWSTR ResourceTypeName,
  111. [ in ] LPCWSTR DllName
  112. );
  113. error_status_t
  114. RmUpdateDeadlockDetectionParams(
  115. [ in ] handle_t IDL_handle,
  116. [ in ] DWORD dwDeadlockDetectionTimeout
  117. );
  118. }