次の方法で共有


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

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

構文

FN_VMB_SERVER_CHANNEL_INIT_SET_MMIO_MEGABYTES FnVmbServerChannelInitSetMmioMegabytes;

NTSTATUS FnVmbServerChannelInitSetMmioMegabytes(
  VMBCHANNEL Channel,
  UINT16 MmioMegabytes,
  UINT16 MmioMegabytesOptional
)
{...}

パラメーター

Channel

チャネルのハンドル。

MmioMegabytes

予約する MMIO 領域の量 (メガバイト単位)。

MmioMegabytesOptional

予約する追加のオプションの MMIO 領域の量 (メガバイト単位)。

戻り値

VmbServerChannelInitSetMmioMegabytes は 、次の状態値を返します。

リターン コード 説明
STATUS_INVALID_PARAMETER_1
Channel 値が無効であるか、無効な状態 (Disabled など) です。
STATUS_INVALID_PARAMETER
MmioMegabytesMmioMegabytesOptional の値はどちらも 0 です。 これらのパラメーターの 1 つが 0 より大きい必要があります

注釈

この関数は、ドライバー作成者にとって便利な機能として存在します。 ゲスト プラグ アンド プレイ マネージャーとをやり取りし、メモリ マップされた I/O 領域を直接要求することで、それが行われる可能性があります。 Windows および Linux VMBus ドライバーには、クライアントの代わりに MMIO 領域を予約する容量が用意されていることが一般的な要件です。 この関数を使用すると、サーバー エンドポイントは、予約する MMIO 領域の適切な量を提案できます。

重要

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

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

要件

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