次の方法で共有


vmbuskernelmodeclientlibapi.h ヘッダー

このヘッダーはネットワークで使用されます。 詳細については、次を参照してください。

vmbuskernelmodeclientlibapi.h には、次のプログラミング インターフェイスが含まれています。

関数

 
VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT

VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT関数は、チャネルの状態変更に使用されるコールバック関数を保存します。

コールバック関数

 
EVT_VMB_CHANNEL_CLOSED

EvtVmbChannelClosed コールバック関数は、ゲスト仮想マシンのクライアント エンドポイントが VmbChannelDisable 関数を使用してチャネルを閉じるか、反対のエンドポイントがチャネルを取り消すか閉じるときに呼び出されます。
EVT_VMB_CHANNEL_OPENED

EvtVmbChannelOpened コールバック関数は、ゲスト仮想マシンのクライアント エンドポイントが提供されているチャネルを開いたときに呼び出されます。
EVT_VMB_CHANNEL_PNP_FAILURE

ゲスト仮想マシンのクライアント エンドポイントが PnP デバイスが配置されていても非同期的に接続できない場合は、EvtChannelPnpFailure コールバック関数が呼び出されます。
EVT_VMB_CHANNEL_POST_STARTED

EvtVmbChannelPostStarted コールバック関数は、反対のエンドポイントからパケットを受信した後、どちらのエンドポイントでも呼び出されます。
EVT_VMB_CHANNEL_PROCESS_PACKET

EvtVmbChannelProcessPacket コールバック関数は、パケットが着信リング バッファーに到着したときに呼び出されます。
EVT_VMB_CHANNEL_PROCESSING_COMPLETE

EvtVmbChannelProcessingComplete コールバック関数は、後続のパケットを配信する前に一時停止がある場合、EvtVmbChannelProcessPacket 関数によってパケットのグループが配信されたときに呼び出されます。
EVT_VMB_CHANNEL_RESTORE_PACKET

EvtVmbChannelRestorePacket コールバック関数は、仮想化サービス プロバイダー (VSP) サーバー エンドポイントがパケット オブジェクトに関連付けられている状態を復元する必要がある場合に呼び出されます。
EVT_VMB_CHANNEL_SAVE_PACKET

EvtVmbChannelSavePacket コールバック関数は、仮想化サービス プロバイダー (VSP) エンドポイントがパケットに関連付けられている状態を保存する必要がある場合に呼び出されます。
EVT_VMB_CHANNEL_STARTED

EvtVmbChannelStarted コールバック関数は、チャネルが完全に構成されているが、パケットが配信される前に、いずれかのエンドポイントで呼び出されます。 これは、反対側のエンドポイントがチャネルを開いた場合、またはチャネルを閉じた後に再度開いたときに発生します。
EVT_VMB_CHANNEL_SUSPEND

EvtVmbChannelSuspend コールバック関数は、チャネルがクライアント エンドポイントによって閉じられたり削除されたりすると、サーバー エンドポイントで呼び出され、サーバーが停止状態になります。
EVT_VMB_PACKET_COMPLETION_ROUTINE

EvtVmbPacketCompletionRoutine コールバック関数は、送信されたパケットに関連付けられているトランザクションが完了したときに呼び出されます。
FN_VMB_CHANNEL_ALLOCATE

VmbChannelAllocate 関数は、既定のパラメーターとコールバックを持つ新しい VMBus チャネルを割り当てます。
FN_VMB_CHANNEL_CLEANUP

VmbChannelCleanup 関数は、VmbChannelAllocate 関数を使用して割り当てられたチャネル、または VMBus チャネル初期化関数を使用して初期化されたチャネルを破棄します。
FN_VMB_CHANNEL_CREATE_GPADL_FROM_BUFFER

VmbChannelCreateGpadlFromBuffer 関数は、クライアント側バッファーを記述するゲスト物理アドレス記述子リスト (GPADL) を作成します。 GPADL は、サーバーでバッファーにアクセスするために使用できます。
FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL

VmbChannelCreateGpadlFromMdl 関数は、クライアント側バッファーを記述するゲスト物理アドレス記述子リスト (GPADL) を作成します。 GPADL は、サーバーでバッファーにアクセスするために使用できます。
FN_VMB_CHANNEL_DELETE_GPADL

VmbChannelDeleteGpadl 関数は、VmbChannelCreateGpadlFromMdl または VmbChannelCreateGpadlFromBuffer 関数によってマップされたゲスト物理アドレス記述子リスト (GPADL) を削除します。
FN_VMB_CHANNEL_DISABLE

VmbChannelDisable 関数はチャネルを無効にし、クライアント チャネルのチャネルを閉じ、サーバー チャネルのチャネル オファーを取り消します。 この関数は、チャネルが完全に破棄されるまで待機してから、チャネルが返されます。
FN_VMB_CHANNEL_ENABLE

VmbChannelEnable 関数を使用すると、エンドポイントの種類に応じて、VMBus に接続し、チャネルをオファリングまたは開いて無効状態のチャネルを有効にします。
FN_VMB_CHANNEL_GET_INTERFACE_INSTANCE

VmbChannelGetInterfaceInstance 関数は、チャネルを一意に識別する GUID であるアクティブなインターフェイス インスタンスを取得します。
FN_VMB_CHANNEL_GET_MMIO_SPACE

VmbChannelGetMmioSpace 関数は、チャネルに割り当てられた MMIO 領域のカーネル仮想アドレスを取得します。
FN_VMB_CHANNEL_GET_POINTER

VmbChannelGetPointer 関数を使用すると、クライアント ドライバーは、VmbPacketSetPointer 関数を使用して以前に保存されたポインターを取得できます。
FN_VMB_CHANNEL_INIT_SET_CLIENT_CONTEXT_SIZE

VmbChannelInitSetClientContextSize 関数は、受信パケットごとにクライアント ドライバーに割り当てられる省略可能なコンテキスト領域のサイズを設定します。
FN_VMB_CHANNEL_INIT_SET_FLAGS

VmbChannelInitSetFlags 関数は、サーバーまたはクライアント チャネル エンドポイントに共通のフラグを設定します。
FN_VMB_CHANNEL_INIT_SET_FRIENDLY_NAME

VmbChannelInitSetFriendlyName 関数は、カーネル モード クライアント ライブラリ (KMCL) チャネルのフレンドリ名を設定します。 フレンドリ名は、デバッグとパフォーマンス カウンター インスタンスの名前付けに使用されます。
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_EXTERNAL_DATA

VmbChannelInitSetMaximumExternalData 関数は、パケットによって記述されるが、パケット内で直接送信されないデータの最大サイズとチェーン長を設定します。 つまり、ExternalDataMdl によって記述されるバッファーの最大サイズです。
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_PACKET_SIZE

VmbChannelInitSetMaximumPacketSize 関数は、チャネル経由で配信できる最大パケット サイズを設定します。これは、VmbPacketSend 関数によって指定される最大サイズです。
FN_VMB_CHANNEL_INIT_SET_PROCESS_PACKET_CALLBACKS

VmbChannelInitSetProcessPacketCallbacks 関数は、パケット処理用のコールバック関数を設定します。
FN_VMB_CHANNEL_INIT_SET_STATE_CHANGE_CALLBACKS

VmbChannelInitSetStateChangeCallbacks 関数は、状態変更のオプションのコールバック関数を設定します。
FN_VMB_CHANNEL_MAP_GPADL

VmbChannelMapGpadl 関数は、ゲスト物理アドレス記述子リスト (GPADL) 番号を使用して、クライアント側バッファーをサーバー側の物理アドレス空間にマップします。
FN_VMB_CHANNEL_PACKET_COMPLETE

VmbChannelPacketComplete 関数は、未処理のメモリ マッピングをすべてクリーンアップし、使用中のバッファーを解放し、反対のエンドポイントが完了パケットを要求した場合は、完了パケットを送信します。
FN_VMB_CHANNEL_PACKET_DEFER_TO_PASSIVE

VmbChannelPacketDeferToPassive 関数は、EvtVmbChannelProcessPacket コールバック関数によって渡されたパケットを延期するために、クライアント ドライバーによって呼び出されます。
FN_VMB_CHANNEL_PACKET_FAIL

VmbChannelPacketFail 関数は、回復不可能なエラーが原因でパケット処理中にパケットに失敗します。 この関数はキューを停止します。
FN_VMB_CHANNEL_PACKET_GET_EXTERNAL_DATA

VmbChannelPacketGetExternalData 関数は、パケット処理中にパケットに関連付けられている外部メモリ記述子リスト (MDL) を取得します。
FN_VMB_CHANNEL_PAUSE

VmbChannelPause 関数は、チャネルを一時停止状態に移動し、新しい I/O を防止します。
FN_VMB_CHANNEL_RESTORE_FROM_BUFFER

VmbChannelRestoreFromBuffer 関数は、以前に保存した状態からクライアントの状態を復元します。 ドライバーは、関数の戻り値をチェックする必要があります。
FN_VMB_CHANNEL_SAVE_BEGIN

VmbChannelSaveBegin 関数は、チャネルの状態を保存するためのコンテキストを初期化します。 ドライバーは、関数の戻り値をチェックする必要があります。
FN_VMB_CHANNEL_SAVE_CONTINUE

VmbChannelSaveContinue 関数は、チャネルの状態をバッファーに保存します。 この関数を実行する前に、VmbChannelSaveBegin を実行します。 ドライバーは、関数の戻り値をチェックする必要があります。
FN_VMB_CHANNEL_SAVE_END

VmbChannelSaveEnd 関数は、チャネルの状態を保存するために割り当てられたすべてのリソースをクリーンアップします。
FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST

VmbChannelSendSynchronousRequest 関数は、パケットを反対のエンドポイントに送信し、応答を待機します。
FN_VMB_CHANNEL_SET_INCOMING_PROCESSING_AT_PASSIVE

VmbChannelSetIncomingProcessingAtPassive 関数は、チャネルの受信解析ルーチンに必要な IRQL をPASSIVE_LEVELに設定します。
FN_VMB_CHANNEL_SET_INTERRUPT_LATENCY

MNF 割り込みの送信モニター待機時間に対するゲスト VM の更新。
FN_VMB_CHANNEL_SET_POINTER

VmbChannelSetPointer 関数は、チャネル コンテキストに任意のポインターを保存します。
FN_VMB_CHANNEL_SET_TRANSACTION_QUOTA

VmbChannelSetTransactionQuota 関数は、受信パケット クォータを設定します。
FN_VMB_CHANNEL_SIZEOF_PACKET

VmbChannelSizeofPacket 関数は、VmbPacketInitialize 関数で使用されるバッファーに必要なサイズを計算します。
FN_VMB_CHANNEL_START

VmbChannelStart 関数は、チャネルを一時停止状態から移動します。
FN_VMB_CHANNEL_UNMAP_GPADL

VmbChannelUnmapGpadl 関数は、VmbChannelMapGpadl 関数によって使用してマップされたゲスト物理アドレス記述子リスト (GPADL) のマップを解除します。 この関数を呼び出す前に、サーバーがバッファーを使用してはいけません。
FN_VMB_CLIENT_CHANNEL_INIT_SET_RING_BUFFER_PAGE_COUNT

VmbClientChannelInitSetRingBufferPageCount 関数は、クライアントが着信および発信リング バッファーに割り当てるメモリのページ数を設定します。
FN_VMB_CLIENT_CHANNEL_INIT_SET_TARGET_PNP

VmbClientChannelInitSetTargetPnp 関数は、インターフェイスの種類とインスタンス ID によってクライアント チャネルのターゲットを設定します。
FN_VMB_CONVERT_VMBUS_HANDLE_TO_KERNEL_HANDLE

VmbConvertVmbusHandleToKernelHandle 関数は、ユーザー モード VMBus ハンドルをカーネル モード ハンドルに変換します。
FN_VMB_PACKET_ALLOCATE

VmbPacketAllocate 関数は、チャネルのルックアサイド リストからパケットを割り当てます。
FN_VMB_PACKET_FREE

VmbPacketFree 関数は、VmbPacketAllocate 関数を使用して割り当てられたパケットを解放します。
FN_VMB_PACKET_GET_CHANNEL

VmbPacketGetChannel 関数は、VMBus パケットが関連付けられている VMBus チャネルを返します。
FN_VMB_PACKET_GET_POINTER

VmbPacketGetPointer 関数は、VmbPacketSetPointer 関数を使用して以前に保存されたポインターを取得します。
FN_VMB_PACKET_INITIALIZE

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

VmbPacketRestore 関数は、保存されたパケット コンテキストを含むバッファーからパケットを復元します。
FN_VMB_PACKET_SEND

VmbPacketSend 関数は、パケット バッファーまたは外部データメモリ記述子リスト (MDL) 内のデータを送信します。 関数は、そのデータを VMBus パケット オブジェクトに関連付けます。これは、トランザクションの有効期間中のパケットを表します。
FN_VMB_PACKET_SEND_WITH_EXTERNAL_MDL

VmbPacketSendWithExternalMdl 関数は、パケット バッファーまたは外部データメモリ記述子リスト (MDL) 内のデータを送信します。
FN_VMB_PACKET_SEND_WITH_EXTERNAL_PFNS

VmbPacketSendWithExternalPfns 関数は、パケット バッファーまたは外部データのデータをページ フレーム番号 (PFN) の配列として送信します。
FN_VMB_PACKET_SET_COMPLETION_ROUTINE

VmbPacketSetCompletionRoutine 関数は、パケット オブジェクトの完了ルーチンを設定します。
FN_VMB_PACKET_SET_POINTER

VmbPacketSetPointer 関数は、任意のポインターをパケット コンテキストに保存します。
FN_VMB_SERVER_CHANNEL_INIT_SET_FLAGS

VmbServerChannelInitSetFlags 関数は、サーバー チャネル エンドポイントに固有のフラグを設定します。
FN_VMB_SERVER_CHANNEL_INIT_SET_MMIO_MEGABYTES

VmbServerChannelInitSetMmioMegabytes 関数は、デバイス用に予約するゲスト メモリ マップ I/O (MMIO) 領域の量 (メガバイト) を指定します。
FN_VMB_SERVER_CHANNEL_INIT_SET_SAVE_RESTORE_PACKET_CALLBACKS

VmbServerChannelInitSetSaveRestorePacketCallbacks 関数は、ドライバーが保存関数 (VmbChannelSaveBegin、VmbChannelSaveContinue、VmbChannelSaveEnd、VmbChannelRestoreFromBuffer 関数など) を呼び出すときに、各パケットに対して呼び出される保存および復元コールバック関数を設定します。
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_INTERFACE_ID

VmbServerChannelInitSetTargetInterfaceId 関数は、チャネル オファーのターゲット インターフェイスの種類 GUID とインスタンス GUID を設定します。
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_VTL

VmbServerChannelInitSetTargetVtl 関数は、このチャネルのターゲット VTL を設定します。 チャネルは、指定された VTL で実行されているクライアントに提供され、それ以外は提供されません。
FN_VMB_SERVER_CHANNEL_INIT_SET_VMBUS_HANDLE

VmbServerChannelInitSetVmbusHandle 関数は、VMBus のインスタンスをこのチャネルに関連付けます。

構造

 
KMCL_SERVER_ONLY_METHODS

KMCL_SERVER_ONLY_METHODS構造体には、VMBus カーネル モード クライアント ライブラリ (KMCL) インターフェイスのサーバー専用関数の関数ポインターが含まれています。
KMCL_SERVER_ONLY_METHODS_V5

KMCL_CLIENT_INTERFACE_V1構造体には、VMBus カーネル モード クライアント ライブラリ (KMCL) インターフェイスのクライアント関数の関数ポインターが含まれています。
VMB_CHANNEL_STATE_CHANGE_CALLBACKS

VMB_CHANNEL_STATE_CHANGE_CALLBACKS構造体には、チャネルの状態変更に関連するコールバック関数が含まれています。