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_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_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_CLUSTER_NAME_CHANGED
CLUSCTL_RESOURCE_REMOVE_DEPENDENCY
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: