OID_NIC_SWITCH_DELETE_SWITCH
NDIS は、OID_NIC_SWITCH_DELETE_SWITCH のオブジェクト識別子 (OID) セット要求を発行して、ネットワーク アダプターから NIC スイッチを削除します。
NDIS は、ネットワーク アダプターの PCI Express (PCIe) 物理機能 (PF) のミニポート ドライバーにこの OID セット要求を発行します。 この OID セット要求は、単一ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートする PF ミニポート ドライバーに必要です。
注 プロトコル ドライバーやフィルター ドライバーなどの上部のドライバーは、PF ミニポート ドライバーにこの OID メソッド要求を発行できません。
NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS 構造体を指すポインターが含まれています。
解説
OID_NIC_SWITCH_DELETE_SWITCH の OID セット要求によって、OID_NIC_SWITCH_CREATE_SWITCH の OID メソッド要求によって以前に作成された NIC スイッチが削除されます。
OID_NIC_SWITCH_DELETE_SWITCH の OID メソッド要求を受信すると、PF ミニポート ドライバーでは、次の操作を行う必要があります。
PF ミニポート ドライバーは、NIC スイッチの静的な作成と構成をサポートしている場合、指定した NIC スイッチに関連付けられているソフトウェア リソースを解放する必要があります。 ただし、ドライバーが NIC スイッチのハードウェア リソースを解放するのは、MiniportHaltEx が呼び出されたときのみです。
静的な NIC スイッチの作成の詳細については、「NIC スイッチの静的な作成」を参照してください。
PF ミニポート ドライバーは、NIC スイッチの動的な作成と構成をサポートしている場合、指定された NIC スイッチに関連付けられているハードウェアおよびソフトウェア リソースを解放する必要があります。
動的な NIC スイッチの作成の詳細については、「NIC スイッチの動的な作成」を参照してください。
PF ミニポート ドライバーが動的な作成をサポートし、すべての NIC スイッチが削除されている場合、ドライバーは NdisMEnableVirtualization を呼び出すことによって、アダプターの仮想化を無効にする必要があります。 仮想化を無効にするには、ネットワーク アダプターでは EnableVirtualization パラメーターを FALSE に設定し、NumVFs パラメーターを 0 に設定する必要があります。
NdisMEnableVirtualization は、ネットワーク アダプターの PF の PCI 構成領域の SR-IOV 拡張機能構造の NumVFs メンバーと VF Enable ビットをクリアします。
注 PF ミニポート ドライバーは、NIC スイッチの静的な作成と構成をサポートしている場合、MiniportHaltEx が呼び出されたときにのみ、NdisMEnableVirtualization を呼び出す必要があります。
詳細については、「NIC スイッチの削除」を参照してください。
状態コードを返す
ミニポート ドライバーの MiniportOidRequest 関数は、この要求に対して次のいずれかの値を返します。
用語 | 説明 |
---|---|
NDIS_STATUS_SUCCESS |
ミニポート ドライバーが要求を正常に完了しました。 |
NDIS_STATUS_PENDING |
ミニポート ドライバーは、非同期的に要求を完了します。 ミニポート ドライバーは、すべての処理を完了した後、NdisMOidRequestComplete 関数を呼び出して要求を成功させ、Status パラメーターの NDIS_STATUS_SUCCESS を渡す必要があります。 |
NDIS_STATUS_NOT_ACCEPTED |
ミニポート ドライバーがリセット中です。 |
NDIS_STATUS_REQUEST_ABORTED |
ミニポート ドライバーが要求の処理を停止しました。 たとえば、NDIS は、MiniportResetEx 関数を呼び出しました。 |
NDIS は、この要求に対して次のいずれかの状態コードを返します。
用語 | 説明 |
---|---|
NDIS_STATUS_SUCCESS |
OID 要求は正常に完了しました。 |
NDIS_STATUS_NOT_SUPPORTED |
PF ミニポート ドライバーが SR-IOV インターフェイスをサポートしていないか、インターフェイスの使用が有効になっていません。 |
NDIS_STATUS_FILE_NOT_FOUND |
NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS 構造体の 1 つ以上のメンバーに無効な値が含まれています。 |
NDIS_STATUS_INVALID_LENGTH |
情報バッファーが小さすぎます。 NDIS は、NDIS_OID_REQUEST 構造体の DATA.SET_INFORMATION.BytesNeeded メンバーに必要最小限のバッファー サイズを設定します。 |
要件
バージョン |
NDIS 6.30 以降でサポートされています。 |
ヘッダー |
Ntddndis.h (Ndis.h を含む) |