OID_SWITCH_PORT_DELETE
Hyper-V 拡張可能スイッチのプロトコル エッジは、拡張可能スイッチ ポートの削除について拡張可能スイッチ拡張機能に通知する OID_SWITCH_PORT_DELETE のオブジェクト識別子 (OID) セット要求を発行します。
NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、 NDIS_SWITCH_PORT_PARAMETERS 構造体へのポインターが含まれています。
解説
NDIS_SWITCH_PORT_PARAMETERS 構造体の PortId メンバーは、削除通知を行う拡張可能スイッチ ポートを指定します。
ネットワーク アダプターが指定されたポートに接続されている場合、拡張可能スイッチのプロトコル エッジは、ポートを削除する前に接続を削除します。 この場合、プロトコル エッジはポートを削除する前に次の手順に従います:
プロトコル エッジは、ネットワーク アダプターと拡張可能スイッチ ポート間の 接続が削除されていることを拡張機能に通知するために、 OID_SWITCH_NIC_DISCONNECT の OID セット要求を発行します。
指定された拡張可能スイッチ ポートのすべての保留中のパケットが取り消されたか完了すると、プロトコル エッジは、ネットワーク アダプターと拡張可能スイッチ ポート間の接続が削除されたことを拡張機能に通知するために、 OID_SWITCH_NIC_DELETE の OID セット要求を発行します。
この時点で、プロトコル エッジはポートの削除を開始できます。
拡張可能スイッチのプロトコル エッジは、拡張可能スイッチ ポートを削除するときに、次の手順に従います:
拡張可能スイッチのプロトコル エッジは、 OID_SWITCH_PORT_TEARDOWN の OID セット要求を発行します。 この OID 要求は、拡張可能スイッチ ポートの削除プロセスの開始について、下位拡張可能スイッチ拡張機能に通知します。
プロトコル エッジは、拡張可能スイッチ ポートへのすべての OID 要求が完了した後、OID_SWITCH_PORT_DELETEの OID セット要求を発行します。
注 拡張機能が以前に ReferenceSwitchPort を呼び出してポートの参照カウンターをインクリメントした場合は、プロトコル エッジが OID_SWITCH_NIC_DELETE 要求を発行する前に DereferenceSwitchPort を呼び出す必要があります。
拡張機能は、OID_SWITCH_PORT_DELETEの OID セット要求を処理するために、次のガイドラインに従う必要があります:
拡張機能は、OID 要求に関連付けられている NDIS_SWITCH_PORT_PARAMETERS 構造体を変更してはなりません。
拡張機能は、この OID セット要求を下位拡張機能に常に転送する必要があります。 拡張機能はこの要求に失敗してはなりません。
OID_SWITCH_PORT_DELETE 要求が NDIS_STATUS_SUCCESS で完了すると、拡張機能は削除されたポートのパケットや OID 要求を受信しません。 拡張機能は、削除されたポートにパケットを転送できません。 拡張機能では、OID 要求を発行したり、削除されたポートの ReferenceSwitchPort 関数を呼び出したりすることもできません。
注 拡張可能スイッチ拡張機能は、OID_SWITCH_PORT_DELETEの OID セット要求を発行できません。
拡張可能スイッチ ポートとネットワーク アダプター接続の状態の詳細については、 Hyper-V 拡張可能スイッチ ポートとネットワーク アダプターの状態 を参照してください。
状態コードを返します
拡張可能スイッチの下位ミニポート エッジは、OID_SWITCH_PORT_DELETE の OID セット要求を完了し、次のいずれかの状態コードを返します。
状態コード | 説明 |
---|---|
NDIS_STATUS_SUCCESS |
OID 要求は正常に完了しました。 |
要件
バージョン |
NDIS 6.30 以降でサポートされています。 |
ヘッダー |
Ntddndis.h (Ndis.h を含む) |