/*++ Copyright (c) 1996 Microsoft Corporation Module Name: resmon.idl Abstract: Interface Description for resource monitor RPC interface Author: John Vert (jvert) 2-Jan-1996 --*/ import "wtypes.idl"; cpp_quote("#define _RESAPI_") // // Interface Attributes // [ uuid(e76ea56d-453f-11cf-bfec-08002be23f2f), version(2.0) ] interface resmon { typedef [context_handle] void *RPC_RESID; typedef HANDLE_PTR RM_NOTIFY_KEY; RPC_RESID RmCreateResource( [ in ] handle_t IDL_handle, [ in ] LPCWSTR DllName, [ in ] LPCWSTR ResourceType, [ in ] LPCWSTR ResourceName, [ in ] DWORD LooksAlivePoll, [ in ] DWORD IsAlivePoll, [ in ] RM_NOTIFY_KEY NotifyKey, [ in ] DWORD PendingTimeout, [ out ] LPDWORD Status ); void RmCloseResource( [ in,out ] RPC_RESID *ResourceId ); error_status_t RmChangeResourceParams( [ in ] RPC_RESID ResourceId, [ in ] DWORD LooksAlivePoll, [ in ] DWORD IsAlivePoll, [ in ] DWORD PendingTimeout ); error_status_t RmOnlineResource( [ in ] RPC_RESID ResourceId, [ out ] DWORD *pdwState ); error_status_t RmOfflineResource( [ in ] RPC_RESID ResourceId, [ out ] DWORD *pdwState ); void RmTerminateResource( [ in ] RPC_RESID ResourceId ); error_status_t RmArbitrateResource( [ in ] RPC_RESID ResourceId ); error_status_t RmReleaseResource( [ in ] RPC_RESID ResourceId ); BOOL RmNotifyChanges( [ in ] handle_t IDL_handle, [ out ] RM_NOTIFY_KEY *lpNotifyKey, [ out ] DWORD *lpNotifyEvent, [ out ] DWORD *lpCurrentState ); error_status_t RmFailResource( [ in ] RPC_RESID ResourceId ); error_status_t RmShutdownProcess( [ in ] handle_t IDL_handle ); error_status_t RmResourceControl( [ in ] RPC_RESID ResourceId, [ in ] DWORD ControlCode, [ in, unique, size_is(InBufferSize) ] UCHAR *InBuffer, [ in ] DWORD InBufferSize, [ out, size_is(OutBufferSize), length_is(*BytesReturned) ] UCHAR *OutBuffer, [ in ] DWORD OutBufferSize, [ out ] LPDWORD BytesReturned, [ out ] LPDWORD Required ); error_status_t RmResourceTypeControl( [ in ] handle_t IDL_handle, [ in ] LPCWSTR ResourceTypeName, [ in ] LPCWSTR DllName, [ in ] DWORD ControlCode, [ in, unique, size_is(InBufferSize) ] UCHAR *InBuffer, [ in ] DWORD InBufferSize, [ out, size_is(OutBufferSize), length_is(*BytesReturned) ] UCHAR *OutBuffer, [ in ] DWORD OutBufferSize, [ out ] LPDWORD BytesReturned, [ out ] LPDWORD Required ); error_status_t RmLoadResourceTypeDll( [ in ] handle_t IDL_handle, [ in ] LPCWSTR ResourceTypeName, [ in ] LPCWSTR DllName ); }