ClusterResourceControl 関数 (clusapi.h)
リソースに影響を与える操作を開始 します。 実行される操作は、dwControlCode パラメーターに渡されるコントロール コードによって異なります。
構文
DWORD ClusterResourceControl(
[in] HRESOURCE hResource,
[in, optional] HNODE hHostNode,
[in] DWORD dwControlCode,
[in, optional] LPVOID lpInBuffer,
[in] DWORD cbInBufferSize,
[out, optional] LPVOID lpOutBuffer,
[in] DWORD cbOutBufferSize,
[out, optional] LPDWORD lpBytesReturned
);
パラメーター
[in] hResource
影響を受けるリソースへのハンドル。
[in, optional] hHostNode
操作を実行するノードへの省略可能なハンドル。 NULL の場合、hResource によって識別されるリソースを所有するノードが操作を実行します。
[in] dwControlCode
実行する操作を指定する、CLUSCTL_RESOURCE_CODES列挙によって列挙されたリソース制御コード。 コントロール コードに関連付けられている構文については、次を参照してください。
コード アーキテクチャ と次のトピックを制御します。
- CLUSCTL_RESOURCE_UNKNOWN
- CLUSCTL_RESOURCE_GET_CHARACTERISTICS
- CLUSCTL_RESOURCE_GET_FLAGS
- CLUSCTL_RESOURCE_GET_CLASS_INFO
- CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES
- CLUSCTL_RESOURCE_GET_NAME
- CLUSCTL_RESOURCE_GET_ID
- CLUSCTL_RESOURCE_GET_RESOURCE_TYPE
- CLUSCTL_RESOURCE_ENUM_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_GET_RO_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_GET_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_VALIDATE_COMMON_PROPERTIES
- CLUSCTL_RESOURCE_GET_COMMON_PROPERTY_FMTS
- CLUSCTL_RESOURCE_ENUM_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_GET_RO_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_VALIDATE_PRIVATE_PROPERTIES
- CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTY_FMTS
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT
- CLUSCTL_RESOURCE_DELETE_REGISTRY_CHECKPOINT
- CLUSCTL_RESOURCE_GET_REGISTRY_CHECKPOINTS
- CLUSCTL_RESOURCE_ADD_CRYPTO_CHECKPOINT
- CLUSCTL_RESOURCE_DELETE_CRYPTO_CHECKPOINT
- CLUSCTL_RESOURCE_GET_CRYPTO_CHECKPOINTS
- CLUSCTL_RESOURCE_GET_LOADBAL_PROCESS_LIST
- CLUSCTL_RESOURCE_GET_NETWORK_NAME
- CLUSCTL_RESOURCE_NETNAME_GET_VIRTUAL_SERVER_TOKEN
- CLUSCTL_RESOURCE_NETNAME_SET_PWD_INFO
- CLUSCTL_RESOURCE_NETNAME_DELETE_CO
- CLUSCTL_RESOURCE_NETNAME_VALIDATE_VCO
- CLUSCTL_RESOURCE_NETNAME_RESET_VCO
- CLUSCTL_RESOURCE_NETNAME_REGISTER_DNS_RECORDS
- CLUSCTL_RESOURCE_GET_DNS_NAME
- CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO
- CLUSCTL_RESOURCE_STORAGE_IS_PATH_VALID
- CLUSCTL_RESOURCE_QUERY_DELETE
- CLUSCTL_RESOURCE_UPGRADE_DLL
- CLUSCTL_RESOURCE_IPADDRESS_RENEW_LEASE
- CLUSCTL_RESOURCE_IPADDRESS_RELEASE_LEASE
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT_64BIT
- CLUSCTL_RESOURCE_ADD_REGISTRY_CHECKPOINT_32BIT
- CLUSCTL_RESOURCE_QUERY_MAINTENANCE_MODE
- CLUSCTL_RESOURCE_SET_MAINTENANCE_MODE
- CLUSCTL_RESOURCE_STORAGE_SET_DRIVELETTER
- CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO_EX
- CLUSCTL_RESOURCE_FILESERVER_SHARE_ADD
- CLUSCTL_RESOURCE_FILESERVER_SHARE_DEL
- CLUSCTL_RESOURCE_FILESERVER_SHARE_MODIFY
- CLUSCTL_RESOURCE_FILESERVER_SHARE_REPORT
- CLUSCTL_RESOURCE_STORAGE_GET_MOUNTPOINTS
- CLUSCTL_RESOURCE_STORAGE_CLUSTER_DISK
- CLUSCTL_RESOURCE_STORAGE_GET_DIRTY
- CLUSCTL_RESOURCE_SET_CSV_MAINTENANCE_MODE
- CLUSCTL_RESOURCE_ENABLE_SHARED_VOLUME_DIRECTIO
- CLUSCTL_RESOURCE_DISABLE_SHARED_VOLUME_DIRECTIO
- CLUSCTL_RESOURCE_SET_SHARED_VOLUME_BACKUP_MODE
- CLUSCTL_RESOURCE_DELETE
- CLUSCTL_RESOURCE_INSTALL_NODE
- CLUSCTL_RESOURCE_EVICT_NODE
- CLUSCTL_RESOURCE_ADD_DEPENDENCY
- CLUSCTL_RESOURCE_REMOVE_DEPENDENCY
- CLUSCTL_RESOURCE_ADD_OWNER
- CLUSCTL_RESOURCE_REMOVE_OWNER
- CLUSCTL_RESOURCE_SET_NAME
- CLUSCTL_RESOURCE_CLUSTER_NAME_CHANGED
- CLUSCTL_RESOURCE_CLUSTER_VERSION_CHANGED
- CLUSCTL_RESOURCE_FORCE_QUORUM
- CLUSCTL_RESOURCE_INITIALIZE
- CLUSCTL_RESOURCE_STATE_CHANGE_REASON
- CLUSCTL_RESOURCE_PROVIDER_STATE_CHANGE
- CLUSCTL_RESOURCE_LEAVING_GROUP
- CLUSCTL_RESOURCE_JOINING_GROUP
- CLUSCTL_RESOURCE_FSWITNESS_GET_EPOCH_INFO
- CLUSCTL_RESOURCE_FSWITNESS_SET_EPOCH_INFO
- CLUSCTL_RESOURCE_FSWITNESS_RELEASE_LOCK
- CLUSCTL_RESOURCE_NETNAME_CREDS_UPDATED
[in, optional] lpInBuffer
操作に必要な情報を含む入力バッファーへのポインター。情報が必要ない場合は NULL 。
[in] cbInBufferSize
入力バッファーの割り当てられたサイズ (バイト単位)。
[out, optional] lpOutBuffer
操作の結果として得られるデータを受け取る出力バッファーへのポインター。データが返されない場合は NULL 。
[in] cbOutBufferSize
出力バッファーの割り当てられたサイズ (バイト単位)。
[out, optional] lpBytesReturned
操作に起因するデータの実際のサイズ (バイト単位) を返します。 この情報が必要ない場合は、lpBytesReturned に NULL を渡します。
戻り値
関数は、次のいずれかの値を返します。
リターン コード/値 | Description |
---|---|
|
操作に成功しました。 操作で出力バッファーが必要な場合、 lpBytesReturned (入力時に NULL でない場合) は、バッファーで返されるデータの実際のサイズを指します。 |
|
lpOutBuffer が指す出力バッファーが、操作の結果のデータを保持するのに十分な大きさではなかった。 lpBytesReturned パラメーター (入力時に NULL でない場合) は、出力バッファーに必要なサイズを指します。 出力バッファーを必要とする操作のみが ERROR_MORE_DATAを返します。 lpOutBuffer パラメーターが NULL で、cbOutBufferSize パラメーターが 0 の場合は、ERROR_MORE_DATAではなく、ERROR_SUCCESSが返される可能性があります。 |
|
CLUSCTL_RESOURCE_SET_COMMON_PROPERTIESとCLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIESにのみ適用されます。 プロパティが正常に格納されたが、リソースにまだ適用されていないことを示します。 新しいプロパティは、リソースをオフラインにして再びオンラインにした後に有効になります。 |
|
hNode パラメーターで指定されたノードは、hResource で指定されたリソースを所有するノードではありません。 |
操作が成功しなかった。 操作で出力バッファーが必要な場合、 lpBytesReturned で指定された値 (入力時に NULL でない場合) は信頼できません。 |
注釈
ClusterResourceControl がERROR_MORE_DATAを返す場合は、cbOutBufferSize を lpBytesReturned が指すバイト数に設定し、関数をもう一度呼び出します。
LPC ハンドルと RPC ハンドルを同じ関数呼び出しに渡さないでください。 それ以外の場合、呼び出しは RPC 例外を発生させ、追加の破壊的影響を及ぼす可能性があります。 LPC ハンドルと RPC ハンドルの作成方法については、「LPC ハンドルと RPC ハンドル」および「OpenCluster」を参照してください。
ClusterResourceControl 関数は、制御コード関数の 1 つです。 コントロール コードとコントロール コード関数の詳細については、「コントロール コードの 使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
対象プラットフォーム | Windows |
ヘッダー | clusapi.h |
Library | ClusAPI.lib |
[DLL] | ClusAPI.dll |