3.1.4.2.103 ApiCreateResTypeEnum (Opnum 103)

(Protocol Version 3) The ApiCreateResTypeEnum method returns a collection of named objects in the cluster state associated with the designated resource type.

The server SHOULD accept an ApiCreateResTypeEnum request if its protocol server state is read-only, and the server 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 ApiCreateResTypeEnum request if the client's access level is at least "Read" (section 3.1.4).

 error_status_t ApiCreateResTypeEnum(
   [in, string] LPCWSTR lpszTypeName,
   [in] DWORD dwType,
   [out] PENUM_LIST *ReturnEnum,
   [out] error_status_t *rpc_status
 );

lpszTypeName: A pointer to a null-terminated Unicode string buffer containing the name of the resource type.

dwType: The type of enumeration to be returned by the server. The client MUST set dwType to the bitwise OR operator of one or more of the following values.

Value

Meaning

CLUSTER_RESOURCE_TYPE_ENUM_NODES

0x00000001

Returns an enumeration of zero or more node names where the server implementation-specific object that codifies the resource's functionality is present, hence for which a resource of the type specified by lpszTypeName can be created or hosted.

CLUSTER_RESOURCE_TYPE_ENUM_RESOURCES

0x00000002

Returns an enumeration of zero or more resource names that contains all the resource instances in the cluster state that have the resource type specified by lpszTypeName.<94>

ReturnEnum: A pointer to an ENUM_LIST structure, as specified in section 2.2.3.5, that contains the data that matches the enumeration type that is indicated by the dwType parameter. The server MUST allocate as much memory as is required to return the enumeration data. If the method fails, this parameter MUST be ignored.

If the client sets dwType to a value other than as specified above, the server SHOULD ignore all bits in dwType except those that match the bit(s) in allowable dwType values and complete the method successfully, provided no other failure conditions are met.

rpc_status: A 32-bit integer used to indicate success or failure. The RPC runtime MUST indicate, by writing to this parameter, whether the runtime 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: The method MUST return the following error codes for the specified conditions.

Return value/code

Description

0x00000000

ERROR_SUCCESS

Success.

0x000013D6

ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND

The resource type specified by the lpszTypeName parameter is not part of the nonvolatile cluster state.

For any other condition, the server sets 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 3.2.4.6.