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

PCLUSAPI_CLUSTER_NET_INTERFACE_CONTROL

コールバック

シグネチャ

DWORD PCLUSAPI_CLUSTER_NET_INTERFACE_CONTROL(
    HNETINTERFACE hNetInterface,
    HNODE hHostNode,
    DWORD dwControlCode,
    void* lpInBuffer,
    DWORD nInBufferSize,
    void* lpOutBuffer,
    DWORD nOutBufferSize,
    DWORD* lpBytesReturned
);

パラメーター

フィールド型説明
hNetInterfaceHNETINTERFACE操作の対象となるネットワークインターフェイスのハンドルです。
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)

ClusterNetInterfaceControl が ERROR_MORE_DATA を返した場合は、 nOutBufferSize に lpBytesReturned が指すバイト数を設定して、関数を再度呼び出します。

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

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

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