次の方法で共有


SRIOV_READ_BLOCK コールバック関数 (pcivirt.h)

PCI Express SR-IOV 仮想関数 (VF) の指定された構成ブロックからデータを読み取ります。

構文

SRIOV_READ_BLOCK SriovReadBlock;

NTSTATUS SriovReadBlock(
  [in]  PVOID Context,
  [in]  USHORT VfIndex,
  [in]  ULONG BlockId,
  [out] PVOID Buffer,
  [in]  ULONG Length
)
{...}

パラメーター

[in] Context

ドライバー定義コンテキストへのポインター。

[in] VfIndex

この読み取り操作が適用される VF の 0 から始まるインデックス。

[in] BlockId

読み取るブロックを識別する番号。 これは、PF ドライバーのプロバイダーによって定義されます。

[out] Buffer

VF の構成空間から読み取られたデータを受信するバッファーへのポインター。

[in] Length

この読み取り操作の長さ (バイト単位)。 Pcivirt.h で定義VPCI_MAX_READ_WRITE_BLOCK_SIZEを超えてはなりません。

戻り値

操作が成功した場合は、STATUS_SUCCESSを返します。 それ以外の場合は、適切な NTSTATUS エラー コードを返します。

注釈

このコールバック関数は、物理関数 (PF) ドライバーによって実装されます。 システムがいずれかの VM の構成ブロックを読み取る場合に呼び出されます。

PF ドライバーは、SRIOV_DEVICE_INTERFACE_STANDARDの ReadVfConfigBlock メンバーを設定し、WDF_QUERY_INTERFACE_CONFIG構造体を構成し、WdfDeviceAddQueryInterface を呼び出すことによって、その実装を登録します。

要件

要件
サポートされている最小のクライアント Windows 10
サポートされている最小のサーバー Windows Server 2016
対象プラットフォーム Windows
ヘッダー pcivirt.h
IRQL PASSIVE_LEVEL