OID_NIC_SWITCH_CURRENT_CAPABILITIES
上部のドライバーは、OID_NIC_SWITCH_CURRENT_CAPABILITIES のオブジェクト識別子 (OID) クエリ要求を発行して、ネットワーク アダプターの NIC スイッチの現在有効なハードウェア機能を取得します。
OID クエリ要求から正常に返されると、NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_NIC_SWITCH_CAPABILITIES 構造体へのポインターが含まれています。
解説
NDIS 6.20 以降では、ミニポート ドライバーは、MiniportInitializeEx 関数が呼び出されたとき、ネットワーク アダプターで現在有効になっている NIC スイッチのハードウェア機能を提供します。 ドライバーは、NIC スイッチのハードウェア機能を使用して NDIS_NIC_SWITCH_CAPABILITIES構造体を初期化し、NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 構造体の CurrentNicSwitchCapabilities メンバーを NDIS_NIC_SWITCH_CAPABILITIES 構造体へのポインターに設定します。 次に、ミニポート ドライバーは NdisMSetMiniportAttributes 関数を呼び出し、 MiniportAttributes パラメーターを NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 構造体へのポインターに設定します。
注 NDIS 6.30 以降では、シングル ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートするミニポート ドライバーは、NIC スイッチの有効なハードウェア機能を登録する必要があります。 ドライバーは、NdisMSetMiniportAttributes を呼び出すことによって、これらの機能を登録します。
上部のプロトコル ドライバーとフィルター ドライバーは、OID_NIC_SWITCH_CURRENT_CAPABILITIES の OID クエリ要求を発行する必要はありません。 NDIS は、次の方法でこれらのドライバーにネットワーク アダプターの現在有効な NIC スイッチ ハードウェア機能を提供します。
NDIS はバインド操作中に、基板となるネットワーク アダプターの現在有効な NIC スイッチ のハードウェア機能を、NDIS_BIND_PARAMETERS 構造体の NicSwitchCapabilities メンバーの上部のプロトコル ドライバーに報告します。
NDIS はアタッチ操作中に、基板となるネットワーク アダプターの現在有効な NIC スイッチ のハードウェア機能を、NDIS_FILTER_ATTACH_PARAMETERS 構造体の NicSwitchCapabilities メンバーの上部のフィルター ドライバーに報告します。
状態コードを返す
NDIS は、ミニポート ドライバーの OID_NIC_SWITCH_CURRENT_CAPABILITIES 要求の OID クエリ要求を処理します。 ドライバーは、この OID 要求を発行しません。
NDIS は、OID_NIC_SWITCH_CURRENT_CAPABILITIES 要求を処理するとき、次の状態コードのいずれかを返します。
状態コード | 説明 |
---|---|
NDIS_STATUS_SUCCESS |
要求は正常に完了しました。 InformationBuffer は NDIS_NIC_SWITCH_CAPABILITIES 構造体を指します。 |
NDIS_STATUS_NOT_SUPPORTED |
ミニポート ドライバーがシングル ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートしていないか、インターフェイスの使用が有効になっていません。 |
NDIS_STATUS_INVALID_LENGTH |
情報バッファーの長さが sizeof(NDIS_NIC_SWITCH_CAPABILITIES) 未満です。 ミニポートは、 NDIS_OID_REQUEST 構造体の DATA.QUERY_INFORMATION.BytesNeeded メンバーに必要最小限のバッファーサイズを設定する必要があります。 |
NDIS_STATUS_FAILURE |
その他の理由で要求に失敗しました。 |
要件
バージョン |
NDIS 6.20 以降でサポートされています。 |
ヘッダー |
Ntddndis.h (Ndis.h を含む) |