次の方法で共有


NdisMGetVirtualFunctionBusData 関数 (ndis.h)

ミニポート ドライバーは、ネットワーク アダプター上の指定された仮想関数 (VF) の PCI Express (PCIe) 構成空間からデータを読み取るために、NdisMGetVirtualFunctionBusData 関数を呼び出します。

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

構文

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

パラメーター

[in] NdisMiniportHandle

ネットワーク アダプターは、NDIS がミニポートInitializeEx ミニポートAdapterHandle パラメーターに渡ハンドルします。

[in] VFId

PCI 構成スペースからのデータが返される VF の識別子。

[out] Buffer

VF の PCI 構成領域から読み取られたデータを受け取るバッファーへのポインター。

[in] Offset

データの読み取り元となる VF の PCI 構成空間内のオフセット (バイト単位)。

[in] Length

読み取るデータの長さ (バイト単位)。

メモBuffer によって参照されるバッファーのサイズは、Length パラメーターの値以上である必要があります。
 

戻り値

NdisMGetVirtualFunctionBusData は、PCI 構成領域から読み取られたバイト数を返します。 読み取り操作が失敗した場合、NdisMGetVirtualFunctionBusData は 0 を返します。

備考

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

VF の PCI 構成領域に対してクエリを実行する方法の詳細については、「仮想関数 の PCI 構成領域のクエリをする」を参照してください。

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

仮想バス ドライバーとのインターフェイスの

独立系ハードウェア ベンダー (IHV) が、SR-IOV ドライバー パッケージの一部として仮想バス ドライバー (VBD) を提供する場合、ミニポート ドライバーは NdisMGetVirtualFunctionBusData を呼び出してはなりません。 代わりに、ドライバーは、プライベート通信チャネルを介して VBD とインターフェイスし、VBD 呼び出しが GetVirtualFunctionData 要求する必要があります。 この関数は、基になる 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

GetVirtualFunctionData

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE