次の方法で共有


FN_VMB_PACKET_INITIALIZE コールバック関数 (vmbuskernelmodeclientlibapi.h)

[一部の情報はリリース前の製品に関することであり、正式版がリリースされるまでに大幅に変更される可能性があります。 ここに記載された情報について、Microsoft は明示または黙示を問わずいかなる保証をするものでもありません。]

VmbPacketInitialize 関数は、VMBus パケットを含むバッファーを初期化します。

構文

FN_VMB_PACKET_INITIALIZE FnVmbPacketInitialize;

NTSTATUS FnVmbPacketInitialize(
  VMBCHANNEL Channel,
  VMBPACKET VmbPacket,
  UINT32 ByteCount
)
{...}

パラメーター

Channel

チャネルのハンドル。

VmbPacket

VMBus パケットの格納に使用するバッファー。

ByteCount

Buffer のサイズ (バイト単位)。

戻り値

VmbPacketInitialize は、次の状態コードを返します。

リターン コード 説明
STATUS_SUCCESS
関数は正常に終了しました。
STATUS_INVALID_PARAMETER_3
ByteCount の値が無効です。 最大パケット サイズと void ポインターのサイズを超える必要があります。

注釈

バッファーのサイズは、 少なくとも VmbChannelSizeofPacket 関数を使用して計算されるサイズである必要があります。

VmbPacketInitialize は、 VmbPacketAllocate 関数の代替手段です。 呼び出し元がパケット オブジェクトのメモリを提供する場合は、現在の関数を使用します。

パケットの初期完了ルーチンは無効であり、パケットを送信する前に設定する必要があります。

重要

この関数は、Vmbkmcl.sys バス ドライバーによって提供される VMBus カーネル モード クライアント ライブラリ (KMCL) インターフェイスを介して呼び出されます。 これは、 KMCL_CLIENT_INTERFACE_V1 構造体からアクセスされるクライアント関数です。

詳細については、 KMCL_CLIENT_INTERFACE_V1の「解説」セクションを参照してください。

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 1803
Header vmbuskernelmodeclientlibapi.h

こちらもご覧ください

VmbChannelSizeofPacket

VmbPacketAllocate