OID_SWITCH_NIC_RESTORE
Hyper-V 拡張可能スイッチのプロトコル エッジは、拡張可能スイッチ ポートとそのネットワーク アダプター接続用に復元できるランタイム データについて拡張可能スイッチ拡張機能に通知するために、OID_SWITCH_NIC_RESTOREのオブジェクト識別子 (OID) セット要求を発行します。
NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_SWITCH_NIC_SAVE_STATE 構造体へのポインターが含まれています。 この構造体は、拡張可能スイッチのプロトコル エッジによって割り当てられます。
備考
OID_SWITCH_NIC_RESTOREの OID セット要求を受信すると、拡張可能スイッチ拡張機能は、最初にランタイム データを所有しているかどうかを判断する必要があります。 拡張機能は、NDIS_SWITCH_NIC_SAVE_STATE 構造体の ExtensionId メンバーの値を、拡張機能が自身を識別するために使用する GUID 値と比較することによってこれを行います。
拡張機能が拡張可能スイッチ ポートの実行時データを所有している場合、このデータは次のように復元されます。
拡張機能は、SaveData メンバー内のランタイム データを拡張機能によって割り当てられたストレージにコピーします。
注NDIS_SWITCH_NIC_SAVE_STATE 構造体の PortId メンバーの値は、実行時データが保存された時点の PortId 値と異なる場合があります。 これは、あるホストから別のホストへのライブ マイグレーション中に実行時データが保存された場合に発生する可能性があります。 ただし、拡張可能スイッチ ポートの構成は、ライブ マイグレーション中に保持されます。 これにより、拡張機能は、新しい PortId 値を使用して、ランタイム データを拡張可能スイッチ ポートに復元できます。
拡張機能は、NDIS_STATUS_SUCCESSを使用して OID セット要求を完了します。
拡張機能が指定したランタイム データを所有していない場合、拡張機能は NdisFOidRequest呼び出して、この OID セット要求を拡張可能スイッチ ドライバー スタック内の基になる拡張機能に転送します。 この場合、拡張機能は、OID 要求に関連付けられている NDIS_SWITCH_NIC_SAVE_STATE 構造体を変更しないでください。
OID_SWITCH_NIC_RESTORE セット要求が拡張可能スイッチのミニポート エッジによって受信された場合は、NDIS_STATUS_SUCCESSを使用して OID 要求を完了します。 これにより、拡張スイッチのプロトコル エッジに、ランタイム データを所有する拡張機能がないことを通知します。
実行時データを復元する方法の詳細については、「復元 Hyper-V 拡張可能スイッチ Run-Time データを参照してください。
注 拡張機能が OID セット要求に失敗した場合、拡張可能スイッチは復元操作全体に失敗します。 その結果、可能であれば、拡張機能は OID 要求の失敗を回避する必要があります。 たとえば、ランタイム データを復元するために必要なリソースを拡張機能が割り当てることができない場合、ランタイム データを復元せずに正常に機能できない場合、OID 要求は失敗します。 ただし、拡張機能がエラー状態から回復できる場合は、OID セット要求を失敗させるべきではありません。
戻り値の状態コード
拡張機能は、OID_SWITCH_NIC_RESTOREの OID セット要求を完了すると、次のいずれかの状態コードを返します。
状態コード | 形容 |
---|---|
NDIS_STATUS_SUCCESS |
OID 要求が正常に完了しました。 |
NDIS_STATUS_xxx |
その他の理由で要求が失敗しました。 |
必要条件
バージョン |
NDIS 6.30 以降でサポートされています。 |
ヘッダ |
Ntddndis.h (Ndis.h を含む) |
関連項目
NdisFOidRequestの