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

PCLUSAPI_CLUSTER_NETWORK_CONTROL

コールバック

シグネチャ

DWORD PCLUSAPI_CLUSTER_NETWORK_CONTROL(
    HNETWORK hNetwork,
    HNODE hHostNode,
    DWORD dwControlCode,
    void* lpInBuffer,
    DWORD nInBufferSize,
    void* lpOutBuffer,
    DWORD nOutBufferSize,
    DWORD* lpBytesReturned
);

パラメーター

フィールド型説明
hNetworkHNETWORK操作の対象となるネットワークのハンドルです。
hHostNodeHNODENULL 以外の場合は、対象のネットワークをホストしている ノード のハンドルです。NULL の場合は、ローカルノードが操作を実行します。hHostNode の指定は省略できます。
dwControlCodeDWORD

実行する操作を指定する ネットワーク制御コード です。制御コードに関連する構文については、Control Code Architecture および次のトピックを参照してください。

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

公式ドキュメント

ネットワーク に対する操作を開始します。実行される操作は、dwControlCode パラメーターに渡される 制御コード によって決まります。

戻り値

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

戻り値 説明
ERROR_SUCCESS
操作は成功しました。操作に出力バッファーが必要だった場合、lpBytesReturned は (入力時に NULL でなければ) バッファーに返されたデータの実際のサイズを指します。
ERROR_MORE_DATA
lpOutBuffer が指す出力バッファーが、操作の結果として得られたデータを格納するには小さすぎました。lpBytesReturned パラメーターは (入力時に NULL でなければ) 出力バッファーに必要なサイズを指します。ERROR_MORE_DATA を返すのは、出力バッファーを必要とする操作だけです。lpOutBuffer パラメーターが NULL で、nOutBufferSize パラメーターが 0 の場合は、ERROR_MORE_DATA ではなく ERROR_SUCCESS が返されることがあります。
システムエラーコード
操作は失敗しました。操作に出力バッファーが必要だった場合、lpBytesReturned で指定された値は (入力時に NULL でなければ) 信頼できません。

解説(Remarks)

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

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

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

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