次の方法で共有


OID_SWITCH_NIC_SAVE

Hyper-V 拡張可能スイッチのプロトコル エッジは、拡張可能スイッチ ポートとそのネットワーク アダプター接続のランタイム データを保存する操作中に、OID_SWITCH_NIC_SAVEのオブジェクト識別子 (OID) メソッド要求を発行します。 この拡張機能は、実行時データを後で保存および復元できるように、このデータを返します。 実行時データが保存されると、OID_SWITCH_NIC_RESTOREの OID セット要求を通じて復元されます。

NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_SWITCH_NIC_SAVE_STATE 構造体へのポインターが含まれています。 この構造体は、拡張可能スイッチのプロトコル エッジによって割り当てられます。

備考

OID_SWITCH_NIC_SAVEの OID メソッド要求を受信すると、拡張可能スイッチ拡張機能は、次の操作を行って実行時データを保存します。

  • 拡張機能は、SaveDataOffset から始まる NDIS_SWITCH_NIC_SAVE_STATE 構造体内のデータを、構造体の先頭からバイト 保存します。

  • 指定された SaveDataSize が必要な保存データを保持するのに十分な大きさでない場合、拡張機能はメソッド構造の BytesNeeded フィールドをNDIS_SIZEOF_NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1に加えて、保存データを保持するために必要なバッファーの量を設定し、OID を NDIS_STATUS_BUFFER_TOO_SHORT で完了します。 OID は必要なサイズで再発行されます。

  • 拡張機能は、ExtensionIdExtensionFriendlyName フィールドに独自の識別子と名前を設定し、OID メソッドの要求をNDIS_STATUS_SUCCESSで完了します。 これにより、拡張可能スイッチのプロトコル エッジが別の OID メソッド要求を発行して、拡張機能が保存データをさらに返すか、スタックの下にある他の拡張機能が独自のデータを保存できるようにします。

拡張機能に保存するランタイム データがない場合は、この OID メソッド要求を拡張可能スイッチ ドライバー スタックの基になる拡張機能に転送するには、NdisFOidRequest呼び出す必要があります。 この手順の詳細については、NDIS フィルター ドライバー の OID 要求のフィルター処理を参照してください。

Hyper-V 拡張可能スイッチは、OID を発行する前に、構造体の ヘッダーPortIdNicIdexSaveDataSizeSaveDataOffset フィールドを設定します。 拡張機能は、これらのフィールドを変更できません。

OID_SWITCH_NIC_SAVEの OID メソッド要求は、最終的には拡張可能スイッチの基になるミニポート エッジによって処理されます。 この OID メソッド要求は、拡張可能スイッチのミニポート エッジによって受信された後、NDIS_STATUS_SUCCESSを使用して OID 要求を完了します。 これにより、拡張可能スイッチ ドライバー スタック内のすべての拡張機能に対して実行時データのクエリが実行されたことが、拡張可能スイッチのプロトコル エッジに通知されます。 その後、拡張可能スイッチのプロトコル エッジは、保存操作を完了するために OID_SWITCH_NIC_SAVE_COMPLETE の OID セット要求を発行します。

拡張可能スイッチ ポートの実行時データを保存する方法の詳細については、「拡張可能スイッチ Run-Time データHyper-V 保存する」を参照してください。

戻り値の状態コード

拡張可能スイッチ拡張機能は、OID_SWITCH_NIC_SAVEの OID メソッド要求の次のいずれかの状態コードを返します。

状態コード 形容

NDIS_STATUS_BUFFER_TOO_SHORT

情報バッファーの長さが NDIS_SWITCH_NIC_SAVE_STATE とそれに関連付けられている実行時データに対して小さすぎます。拡張可能スイッチ拡張機能は、DATA を設定する必要があります。METHOD_INFORMATION。BytesNeeded 必要な最小バッファー サイズまでの NDIS_OID_REQUEST 構造体のメンバーです。

NDIS_STATUS_SUCCESS

保存する実行時データが返される場合、拡張機能はこの状態を返します。

NDIS_STATUS_xxx

その他の理由で要求が失敗しました。

拡張可能スイッチの基になるミニポート エッジは、OID_SWITCH_NIC_SAVEの OID メソッド要求の次の状態コードを返します。

状態コード 形容

NDIS_STATUS_SUCCESS

OID 要求が正常に完了しました。

必要条件

バージョン

NDIS 6.30 以降でサポートされています。

ヘッダ

Ntddndis.h (Ndis.h を含む)

関連項目


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_SAVE_STATE

NdisFOidRequest

OID_SWITCH_NIC_RESTORE

OID_SWITCH_NIC_SAVE_COMPLETE