ApiOnlineResourceEx (Opnum 135)

(Protocol Version 3) The ApiOnlineResourceEx method SHOULD<111> instruct the server to make the specified resource active or available on the node that currently owns it.

The server MUST handle this method in the same manner as ApiOnlineResource (section except as follows:

  • If the CLUSAPI_RESOURCE_ONLINE_IGNORE_RESOURCE_STATUS flag is set in the dwOnlineFlags parameter, the server MUST ignore the locked mode value of the resource designated by the hResource parameter as well as the locked mode value of any of its provider resources as specified in section

  • If the resource designated by hResource is not already in the ClusterResourceOnline state (section, the server MUST provide the buffer designated by the lpInBuffer parameter to the server implementation-specific object that controls the resource operation while bringing the resource online and MUST provide this buffer to the server implementation-specific objects for any of the designated resource's provider resources that are not already in the ClusterResourceOnline state. How the server provides this buffer is implementation-specific.

The server accepts an ApiOnlineResourceEx request only if it is in the read/write state, as specified in section 3.1.1.

The server MUST require that the access level associated with the hResource parameter is "All" (section 3.1.4).

 error_status_t ApiOnlineResourceEx(
   [in] HRES_RPC hResource,
   [in] DWORD dwOnlineFlags,
   [in, size_is(cbInBufferSize)] BYTE* lpInBuffer,
   [in] DWORD cbInBufferSize,
   [out] error_status_t *rpc_status

hResource: An HRES_RPC context handle that was obtained in a previous call to ApiOpenResource (section, ApiOpenResourceEx (section, or ApiCreateResource (section

dwOnlineFlags: The value CLUSAPI_RESOURCE_ONLINE_IGNORE_RESOURCE_STATUS, if the client needs the server to ignore the Resource locked mode as described in, or zero.

lpInBuffer: A pointer to a buffer that the server will provide to implementation-specific objects that control the resource operations for each resource in the group. The client SHOULD set this parameter to a PROPERTY_LIST (section For each value in this list, the client SHOULD set the property name to the name of the resource type of one of the resources in the group. The client MAY provide a buffer that does not have a property value corresponding to each resource type in the group, and the client MAY provide a buffer that has multiple property values for the same resource type. Except for the following property values, the server MUST treat all property values provided by the client identically.

Property Name




Virtual Machine



Reserved for local use.

cbInBufferSize: The size in bytes of the buffer pointed to by the lpInBuffer parameter.

rpc_status: A 32-bit integer used to indicate success or failure. The RPC runtime MUST indicate, by writing to this parameter, whether it succeeded in executing this method on the server. The encoding of the value passed in this parameter MUST conform to encoding for comm_status and fault_status, as specified in Appendix E of [C706].

Return Values: This method MUST return the same error codes as returned by the ApiOnlineResource (section method.