Control Codes for Resources

All of the control codes relating to resources are included in the following two lists. The first list contains external control codes, or control codes that applications can pass to the control functions of the Cluster API to initiate operations. The operations include retrieving properties and other data, updating properties and other data, and data enumeration and validation.

CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT

CLUSCTL_RESOURCE_DELETE_REGISTRY_CHECKPOINT

CLUSCTL_RESOURCE_ENUM_COMMON_PROPERTIES

CLUSCTL_RESOURCE_ENUM_PRIVATE_PROPERTIES

CLUSCTL_RESOURCE_GET_CHARACTERISTICS

CLUSCTL_RESOURCE_GET_CLASS_INFO

CLUSCTL_RESOURCE_GET_COMMON_PROPERTIES

CLUSCTL_RESOURCE_GET_FLAGS

CLUSCTL_RESOURCE_GET_NAME

CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTIES

CLUSCTL_RESOURCE_GET_REGISTRY_CHECKPOINTS

CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES

CLUSCTL_RESOURCE_GET_RESOURCE_TYPE

CLUSCTL_RESOURCE_GET_RO_COMMON_PROPERTIES

CLUSCTL_RESOURCE_GET_RO_PRIVATE_PROPERTIES

CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES

CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES

CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO

CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID

CLUSCTL_RESOURCE_UNKNOWN

CLUSCTL_RESOURCE_VALIDATE_COMMON_PROPERTIES

CLUSCTL_RESOURCE_VALIDATE_PRIVATE_PROPERTIES

The second list contains internal control codes, or control codes that only the Cluster Service can pass to a control function. The Cluster Service uses these codes to notify a resource DLL of an event. Resource DLLs may want to add code to their ResourceControl entry point functions to handle these codes and respond to the associated event.

CLUSCTL_RESOURCE_ADD_DEPENDENCY

CLUSCTL_RESOURCE_ADD_OWNER

CLUSCTL_RESOURCE_CLUSTER_NAME_CHANGED

CLUSCTL_RESOURCE_DELETE

CLUSCTL_RESOURCE_EVICT_NODE

CLUSCTL_RESOURCE_INSTALL_NODE

CLUSCTL_RESOURCE_REMOVE_DEPENDENCY

CLUSCTL_RESOURCE_REMOVE_OWNER

CLUSCTL_RESOURCE_SET_NAME

Typically, applications and the Cluster Service make calls to the control functions of the Cluster API and resource DLLs respond to those calls as appropriate. Resource DLLs do not typically call the control code functions. However, there are five control codes that are the exception to the rule. These control codes are processed by the Cluster Service rather than by a Resource Monitor or resource DLL. Therefore, a resource DLL can safely call ClusterResourceControl with the following control codes: