Win32 API 日本語リファレンス
ホーム › Networking.Clustering › PCLUSAPI_CLUSTER_RESOURCE_CONTROL

PCLUSAPI_CLUSTER_RESOURCE_CONTROL

コールバック

シグネチャ

DWORD PCLUSAPI_CLUSTER_RESOURCE_CONTROL(
    HRESOURCE hResource,
    HNODE hHostNode,
    DWORD dwControlCode,
    void* lpInBuffer,
    DWORD cbInBufferSize,
    void* lpOutBuffer,
    DWORD cbOutBufferSize,
    DWORD* lpBytesReturned
);

パラメーター

フィールド型説明
hResourceHRESOURCE操作の対象となるリソースのハンドルです。
hHostNodeHNODE操作を実行するノードのハンドルです(省略可能)。NULL の場合は、 hResource で指定されたリソースを所有するノードが操作を実行します。
dwControlCodeDWORD

実行する操作を指定するリソース制御コードです。 このコードは CLUSCTL_RESOURCE_CODES 列挙型で列挙されます。 制御コードに対応する構文については、 Control Code Architecture と次のトピックを 参照してください。

lpInBuffervoid*操作に必要な情報を格納した入力バッファーへのポインターです。情報が不要な場合は NULL を指定します。
cbInBufferSizeDWORD入力バッファーに割り当てられたサイズ(バイト単位)です。
lpOutBuffervoid*操作の結果として得られるデータを受け取る出力バッファーへのポインターです。データが返されない場合は NULL を指定します。
cbOutBufferSizeDWORD出力バッファーに割り当てられたサイズ(バイト単位)です。
lpBytesReturnedDWORD*操作の結果として得られたデータの実際のサイズ(バイト単位)を返します。この情報が不要な場合は、 lpBytesReturned に NULL を渡します。

公式ドキュメント

リソースに影響する操作を開始します。 実行される操作は、dwControlCode パラメーターに渡される 制御コードによって決まります。

戻り値

この関数は次のいずれかの値を返します。

戻り値/値 説明
ERROR_SUCCESS
0
操作は成功しました。操作が出力バッファーを必要とする場合、 lpBytesReturned(入力時に NULL でない場合)は バッファーに返されたデータの実際のサイズを指します。
ERROR_MORE_DATA
234 (0xEA)
lpOutBuffer が指す出力バッファーが、操作の結果として得られたデータを格納するには 小さすぎました。lpBytesReturned パラメーター(入力時に NULL でない場合)は、出力バッファーに必要なサイズを指します。ERROR_MORE_DATA を返すのは、 出力バッファーを必要とする操作だけです。lpOutBuffer パラメーターが NULL で cbOutBufferSize パラメーターが 0 の場合は、ERROR_MORE_DATA ではなく ERROR_SUCCESS が返されることがあります。
ERROR_RESOURCE_PROPERTIES_STORED
5024 (0x13A0)
CLUSCTL_RESOURCE_SET_COMMON_PROPERTIES と CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES にのみ適用されます。プロパティは正常に保存されたものの、まだリソースに適用されていないことを示します。新しい プロパティは、リソースをオフラインにして再度オンラインにした後で有効になります。
ERROR_HOST_NODE_NOT_RESOURCE_OWNER
5015 (0x1397)
hNode パラメーターで指定されたノードは、hResource で指定されたリソースを 所有するノードではありません。
システムエラーコード
操作は失敗しました。操作が出力バッファーを必要とする場合、lpBytesReturned (入力時に NULL でない場合)が指す値は 信頼できません。

解説(Remarks)

ClusterResourceControl が ERROR_MORE_DATA を返した場合は、 cbOutBufferSize に lpBytesReturned が指すバイト数を設定して、 関数を再度呼び出してください。

同じ関数呼び出しに LPC ハンドルと RPC ハンドルを混在させて渡さないでください。混在させると、呼び出しは RPC 例外を発生させ、 さらに破壊的な影響を及ぼすおそれがあります。LPC ハンドルと RPC ハンドルの作成方法については、 LPC and RPC Handles と OpenCluster を参照してください。

ClusterResourceControl 関数は 制御コード関数の 1 つです。制御コードと制御コード関数の 詳細については、Using Control Codes を 参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)