NdisMSetVirtualFunctionBusData 関数 (ndis.h)

ミニポート ドライバーは、ネットワーク アダプター上の仮想関数 (VF) の PCI Express (PCIe) 構成空間にデータを書き込む NdisMSetVirtualFunctionBusData 関数を呼び出します。

NdisMGetVirtualFunctionBusData は、ネットワーク アダプターの PCIe 物理関数 (PF) のミニポート ドライバーによってのみ呼び出す必要があります。
 

構文

ULONG NdisMSetVirtualFunctionBusData(
  [in] NDIS_HANDLE            NdisMiniportHandle,
  [in] NDIS_SRIOV_FUNCTION_ID VFId,
  [in] PVOID                  Buffer,
  [in] ULONG                  Offset,
  [in] ULONG                  Length
);

パラメーター

[in] NdisMiniportHandle

NDIS が MiniportInitializeExの MiniportAdapterHandle パラメーターに渡したネットワーク アダプター ハンドル。

[in] VFId

PCI 構成スペースにデータが書き込まれる VF の識別子。

[in] Buffer

PCI 構成スペースに書き込まれるデータを含むバッファーへのポインター。

[in] Offset

データの書き込み先となる PCI 構成スペース内のオフセット (バイト単位)。

[in] Length

書き込まれるデータの長さ (バイト単位)。

戻り値

NdisMSetVirtualFunctionBusData は、PCI 構成空間に書き込まれたバイト数を返します。 書き込み操作が失敗した場合、 NdisMSetVirtualFunctionBusData は 0 を返します。

注釈

PF ミニポート ドライバーは通常、OID_SRIOV_WRITE_VF_CONFIG_SPACEの OID メソッド要求を処理するときに NdisMSetVirtualFunctionBusData呼び出します。
ただし、ドライバーは、 NdisMEnableVirtualization の呼び出しを介してネットワーク アダプターで仮想化が有効になった後、いつでもこの関数を呼び出すことができます。

シングル ルート I/O 仮想化 (SR-IOV) インターフェイス内のバックチャネル通信の詳細については、「 SR-IOV PF/VF バックチャネル通信」を参照してください。

SR-IOV インターフェイスの詳細については、「 単一ルート I/O 仮想化の概要 (SR-IOV)」を参照してください。

Virtual Bus ドライバーへのインターフェイス

独立系ハードウェア ベンダー (IHV) が SR-IOV ドライバー パッケージの一部として仮想バス ドライバー (VBD) を提供する場合、ミニポート ドライバーは NdisMSetVirtualFunctionBusData を呼び出してはなりません。 代わりに、ドライバーはプライベート通信チャネルを介して VBD とインターフェイスし、VBD が SetVirtualFunctionData を呼び出すように要求する必要があります。 この関数は、基になる PCI バス ドライバーでサポートされている GUID_PCI_VIRTUALIZATION_INTERFACE インターフェイスから公開されます。

Hyper-V 親パーティションの管理オペレーティング システムで実行される VBD は、PCI バス上の物理デバイス オブジェクト (PDO) にIRP_MN_QUERY_INTERFACE要求を発行することで、GUID_PCI_VIRTUALIZATION_INTERFACEインターフェイスに対してクエリを実行できます。 この要求は、IRQL = PASSIVE_LEVELから行う必要があります。 この要求では、ドライバーは InterfaceType パラメーターを GUID_PCI_VIRTUALIZATION_INTERFACE に設定する必要があります。

要件

要件
サポートされている最小のクライアント サポートされていません。NDIS 6.30 以降でサポートされています。
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

GUID_PCI_VIRTUALIZATION_INTERFACE

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_WRITE_VF_CONFIG_SPACE

SetVirtualFunctionData