Platform SDK: Windows Clustering

CLUSCTL_RESOURCE_TYPE_GET_RO_PRIVATE_PROPERTIES

The CLUSCTL_RESOURCE_TYPE_GET_RO_PRIVATE_PROPERTIES control code retrieves the read-only private properties for a resource type. Applications use this control code as a ClusterResourceTypeControl parameter, and resource DLLs receive the control code as a ResourceTypeControl parameter.

Control Code Function Syntax

dwReturn = 
ClusterResourceTypeControl( 
  lpszResTypeName,                                   // resource type name
  hCluster,                                          // cluster handle
  hHostNode,                                         // optional host node
  CLUSCTL_RESOURCE_TYPE_GET_RO_PRIVATE_PROPERTIES,   // this control code
  NULL,                                              // input buffer (not used)
  0,                                                 // input buffer size (not used)
  lpOutBuffer,                                       // output buffer: property list
  cbOutBufferSize,                                   // allocated buffer size (bytes)
  lpcbBytesReturned );                               // actual size of resulting data (bytes)

DLL Syntax

dwReturn =
ResourceTypeControl( 
  lpszResTypeName,                                   // identifier of affected resource type
  CLUSCTL_RESOURCE_TYPE_GET_RO_PRIVATE_PROPERTIES,   // this control code
  NULL,                                              // input buffer (not used)
  0,                                                 // input buffer size (not used)
  lpOutBuffer,                                       // output buffer: property lisst
  cbOutBufferSize,                                   // allocated buffer size (bytes)
  lpcbBytesReturned );                               // actual size of resulting data (bytes)

Parameters

The following control code function and DLL support parameters are specific to this control code. For complete parameter descriptions, see ClusterResourceTypeControl or ResourceTypeControl.

lpOutBuffer
On a successful return, points to a property list containing the resource type's read-only private properties.
dwReturn
ClusterResourceTypeControl returns one of the following values:
ERROR_SUCCESS
The operation was successful. The lpcbBytesReturned parameter points to the actual size of the returned data.
ERROR_MORE_DATA
The output buffer pointed to by lpOutBuffer was not large enough to hold the data resulting from the operation. The lpcbBytesReturned parameter points to the size required for the output buffer.
Win32 Error
The operation was not successful. The lpcbBytesReturned parameter points to an unreliable value.
Implementations of ResourceTypeControl can return either of the above values or the following value:
ERROR_INVALID_FUNCTION
Requests that the Resource Monitor perform default processing (if any) for the control code addition to processing supplied by the DLL (if any).

Resource DLL Support

Required. Always support the CLUSCTL_RESOURCE_TYPE_GET_RO_PRIVATE_PROPERTIES control code in your implementation of ResourceTypeControl. Return a property list that includes all of the read-only properties specific to your resource type. Remember to terminate the list with CLUSPROP_SYNTAX_ENDMARK. For more information on working with property lists, see Creating Property Lists.

As a general guideline, the Resource Monitor should handle all of the control codes for common properties, while your DLL should handle all control codes for private properties.

For more information on the ResourceTypeControl entry point, see Implementing ResourceTypeControl.

Remarks

For information on working with property lists, see Using Property Lists.

Clusapi.h defines the 32 bits of CLUSCTL_RESOURCE_TYPE_GET_RO_PRIVATE_PROPERTIES as follows (for more information, see Control Code Architecture).

Component Bit location Value
Object code 24-31 CLUS_OBJECT_RESOURCE_TYPE
Global bit 23 CLUS_NOT_GLOBAL
Modify bit 22 CLUS_NO_MODIFY
User bit 21 CLCTL_CLUSTER_BASE
Type bit 20 External
Operation code 2-19 CLCTL_GET_RO_PRIVATE_PROPERTIES
Access code 0-1 CLUS_ACCESS_READ

Requirements

  Version: Requires Windows NT Server Enterprise Edition 4.0 SP3; Windows NT Server Enterprise Edition 4.0 SP4; Windows 2000 Advanced Server; Windows 2000 Data Center.
  Header: Declared in Clusapi.h.

See Also

ClusterResourceTypeControl, ResourceTypeControl