NdisMSetVirtualFunctionBusData 関数 (ndis.h)
ミニポート ドライバーは、ネットワーク アダプター上の仮想関数 (VF) の PCI Express (PCIe) 構成空間にデータを書き込むには、NdisMSetVirtualFunctionBusData 関数を呼び出します。
構文
ULONG NdisMSetVirtualFunctionBusData(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
パラメーター
[in] NdisMiniportHandle
ネットワーク アダプターは、NDIS がミニポートInitializeEx の ミニポートAdapterHandle パラメーターに渡ハンドルします。
[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) インターフェイス内のバックチャネル通信の詳細については、PF/VF バックチャネル通信 SR-IOV を参照してください。
SR-IOV インターフェイスの詳細については、「シングル ルート I/O 仮想化の概要 (SR-IOV)を参照してください。
仮想バス ドライバーとのインターフェイスの
独立系ハードウェア ベンダー (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 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ndis.h (Ndis.h を含む) |
ライブラリ | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
関連項目
GUID_PCI_VIRTUALIZATION_INTERFACE
NdisMEnableVirtualization の
OID_SRIOV_WRITE_VF_CONFIG_SPACE
SetVirtualFunctionData の