ApiGetRootKey (Opnum 28)

(Protocol Version 3) In response to the ApiGetRootKey method, the server returns an HKEY_RPC context handle that represents the root key of the cluster registry. The server MUST evaluate the security descriptor that is associated with the key against the user authorization context and the requested access that is expressed in the samDesired parameter in order to determine whether the caller can open this key.

The server SHOULD accept an ApiGetRootKey request if its protocol server state is read-only and MUST accept the request for processing if it is in the read/write state, as specified in section 3.1.1.

The server SHOULD accept an ApiGetRootKey request if the client's access level is at least "Read" (section 3.1.4).

 HKEY_RPC ApiGetRootKey(
   [in] DWORD samDesired,
   [out] error_status_t *Status,
   [out] error_status_t *rpc_status

samDesired: A bitmask that indicates the requested level of access to the root key. The values in the bitmask are as specified in [MS-RRP] for REGSAM.

Status: Indicates the status of this operation. The server MUST set Status to the following error codes for the specified conditions.








The client is not permitted to open the root key with the requested access.

For any other condition, the server MUST set Status to a value that is not one of the values listed in the preceding table. The client MUST treat all values that are not listed in the preceding table the same, except as specified in section

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: If the method succeeds, the server MUST return a valid HKEY_RPC context handle; otherwise, the server MUST return NULL.