windows-nt/Source/XPSP1/NT/base/cluster/service/idl/rm_rpc.idl
2020-09-26 16:20:57 +08:00

145 lines
2.6 KiB
Plaintext

/*++
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
);
}