基になるドライバーは、単一ルート I/O 仮想化をサポートするネットワーク アダプターで、指定された PCI Express (PCIe) 仮想関数 (VF) をリセットするOID_SRIOV_RESET_VFのオブジェクト識別子 (OID) セット要求を発行します。 基になるドライバーは、ネットワーク アダプターの PCI Express (PCIe) 物理機能 (PF) のミニポート ドライバーにこの OID セット要求を発行します。
NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_SRIOV_RESET_VF_PARAMETERS 構造体へのポインターが含まれています。 上にあるドライバーは、この構造体のメンバー VFId をリセットする VF の識別子を指定します。
備考
VF は、PCI Express (PCIe) 関数レベル リセット (FLR) を使用してリセットできます。 FLR 要求は特権操作であるため、Hyper-V 親パーティションの管理オペレーティング システムで実行される PF ミニポート ドライバーによってのみ実行できます。 管理オペレーティング システムで実行されるドライバーの上には、FLR 要求が通知され、PF ミニポート ドライバーにOID_SRIOV_RESET_VFの OID セット要求を発行します。
この OID 要求を処理する場合、PF ミニポート ドライバーは、次のガイドラインに従う必要があります。
PF ミニポート ドライバーは、VFIdNDIS_SRIOV_RESET_VF_PARAMETERS 構造体のメンバーによって指定された VF に、以前に割り当てられているリソースがあることを確認する必要があります。 PF ミニポート ドライバーは、OID_NIC_SWITCH_ALLOCATE_VFの OID メソッド要求中に VF のリソースを割り当てます。 指定した VF のリソースが割り当てられていない場合、ドライバーは OID 要求に失敗する必要があります。
リセット操作は、指定された VF にのみ影響を与える必要があります。 この操作は、同じネットワーク アダプター上の他の VM または PF に影響を与えてはなりません。
詳細については、「仮想関数 のリセット」を参照してください。
戻り値の状態コード
PF ミニポート ドライバーは、OID_SRIOV_RESET_VFのセット要求の次の状態コードのいずれかを返します。
| 状態コード | 形容 |
|---|---|
NDIS_STATUS_SUCCESS |
OID 要求が正常に完了しました。 |
NDIS_STATUS_NOT_SUPPORTED |
PF ミニポート ドライバーは、単一ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートしていないか、インターフェイスの使用が有効になっていません。 |
NDIS_STATUS_INVALID_PARAMETER |
NDIS_SRIOV_RESET_VF_PARAMETERS 構造体の 1 つ以上のメンバーに無効な値があります。 |
NDIS_STATUS_INVALID_LENGTH |
情報バッファーが短すぎます。 PF ミニポート ドライバーは、DATA を設定する必要があります。SET_INFORMATION。BytesNeededNDIS_OID_REQUEST 構造体のメンバーを、必要な最小バッファー サイズに設定します。 |
NDIS_STATUS_FAILURE |
その他の理由で要求が失敗しました。 |
必要条件
バージョン |
NDIS 6.30 以降でサポートされています。 |
ヘッダ |
Ntddndis.h (Ndis.h を含む) |