NdisMInvalidateConfigBlock 関数 (ndis.h)
ミニポート ドライバーは、1 つ以上の仮想関数 (VF) 構成ブロックのデータが変更されたことを NDIS に通知する NdisMInvalidateConfigBlock 関数を呼び出します。
構文
void NdisMInvalidateConfigBlock(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[in] ULONGLONG BlockMask
);
パラメーター
[in] NdisMiniportHandle
ネットワーク アダプターは、NDIS がミニポートInitializeEx の ミニポートAdapterHandle パラメーターに渡ハンドルします。
[in] VFId
デバイスの場所が返される VF の識別子。
[in] BlockMask
最初の 64 VF 構成ブロックのビットマスクを指定する ULONGLONG 値。 ビットマスク内の各ビットは、VF 構成ブロックに対応します。 ビットが 1 に設定されている場合、対応する VF 構成ブロックに関連付けられているデータが変更されました。
戻り値
何一つ
備考
VF 構成ブロックは、PF ミニポート ドライバーと VF ミニポート ドライバー間のバックチャネル通信に使用されます。 IHV は、デバイスの 1 つ以上の VF 構成ブロックを定義できます。 各 VF 構成ブロックには、IHV で定義された形式、長さ、およびブロック ID があります。
- VF ドライバー。ゲスト オペレーティング システムで実行されます。 このオペレーティング システムは、Hyper-V 子パーティション内で実行されます。
-
管理オペレーティング システムで実行される PF ドライバー。
このオペレーティング システムは、Hyper-V 親パーティション内で実行されます。
- ゲスト オペレーティング システムでは、NDIS は、IOCTL_VPCI_INVALIDATE_BLOCK 要求の I/O 制御要求を発行します。 この IOCTL が完了すると、VF 構成データが変更されたことが NDIS に通知されます。
-
管理オペレーティング システムでは、次の手順が実行されます。
- PF ミニポート ドライバーは、VF 構成データが変更され、有効ではなくなったことを NDIS に通知する NdisMInvalidateConfigBlock 関数を呼び出します。
-
NDIS は、VF 構成ブロック データへの変更について、管理オペレーティング システムで実行される仮想化スタックを通知します。 仮想化スタックは、BlockMask パラメーター データをキャッシュします。
注 PF ミニポート ドライバーが NdisMInvalidateConfigBlock 呼び出すたびに、BlockMask パラメーター データをキャッシュ内の現在の値と共に仮想化スタック PR します。
- 仮想化スタックは、VF 構成データの無効化について、ゲスト オペレーティング システムで実行される仮想 PCI (VPCI) ドライバーに通知します。 仮想化スタックは、キャッシュされた BlockMask パラメーター データを VPCI ドライバーに送信します。
-
ゲスト オペレーティング システムでは、次の手順が実行されます。
- VPCI ドライバーは、キャッシュされた BlockMask パラメーター・データを、IOCTL_VPCI_INVALIDATE_BLOCK 要求に関連付けられている VPCI_INVALIDATE_BLOCK_OUTPUT 構造体の BlockMask メンバーに保管します。
-
VPCI ドライバーは、IOCTL_VPCI_INVALIDATE_BLOCK 要求を正常に完了します。 この場合、NDIS は、VF ミニポート ドライバーに OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK の OID メソッド要求を発行します。
NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO 要求は OID 要求で渡されます。 この構造体には、BlockMask パラメーター データ キャッシュされます。
NDIS は、VF 構成データへの変更の連続した通知を処理する別の IOCTL_VPCI_INVALIDATE_BLOCK 要求も発行します。
- VF ドライバーは、OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK 要求を処理するときに、指定された VF 構成ブロックからデータを読み取ります。
SR-IOV インターフェイスの詳細については、「シングル ルート I/O 仮想化の概要 (SR-IOV)を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | サポートされていません。NDIS 6.30 以降でサポートされています。 |
サポートされる最小サーバー | Windows Server 2012 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ndis.h (Ndis.h を含む) |
ライブラリ | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
関連項目
NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO