OID_RECEIVE_FILTER_CURRENT_CAPABILITIES
上部のドライバーは、OID_RECEIVE_FILTER_CURRENT_CAPABILITIES の OID クエリ要求を発行して、ネットワーク アダプターの現在有効な受信フィルター機能を取得します。
OID クエリ要求から正常に返されると、NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_RECEIVE_FILTER_CAPABILITIES 構造体へのポインターが含まれます。
解説
NDIS 受信フィルターは、次の NDIS インターフェイスで使用されます。
NDIS Packet Coalescing。 このインターフェイスで受信フィルターを使用する方法の詳細については、「パケット結合受信フィルターの管理」を参照してください。
シングル ルート I/O 仮想化 (SR-IOV)。 このインターフェイスで受信フィルターを使用する方法の詳細については、「仮想ポートでの受信フィルターの設定」を参照してください。
仮想マシン キュー (VMQ)。 このインターフェイスで受信フィルターを使用する方法の詳細については、「VMQ フィルターの設定とクリア」を参照してください。
NDIS 6.20 以降では、ミニポート ドライバーは、MiniportInitializeEx 関数が呼び出されたとき、ネットワーク アダプターの現在有効な受信フィルター ハードウェア機能を登録します。 ミニポート ドライバーは、次の手順に従ってこれらの機能を登録します。
ドライバーは、現在有効になっている受信フィルター ハードウェア機能を使用して、NDIS_RECEIVE_FILTER_CAPABILITIES 構造体を初期化します。
ドライバーは、NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 構造体を初期化し、CurrentReceiveFilterCapabilities メンバーを NDIS_RECEIVE_FILTER_CAPABILITIES 構造体へのポインターに設定します。
ミニポート ドライバーは NdisMSetMiniportAttributes 関数を呼び出し、MiniportAttributes パラメーターを NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 構造体へのポインターに設定します。
上部のプロトコル ドライバーとフィルター ドライバーは、OID_RECEIVE_FILTER_CURRENT_CAPABILITIES の OID クエリ要求を発行する必要はありません。 NDIS は、次の方法でこれらのドライバーに現在有効な受信フィルター機能を提供します。
NDIS は、バインド操作中に、NDIS_BIND_PARAMETERS 構造体の ReceiveFilterCapabilities メンバーの上部のプロトコル ドライバーに基になるネットワーク アダプターの現在有効な受信フィルター機能を提供します。
NDIS は、接続操作中に、NDIS_FILTER_ATTACH_PARAMETERS 構造体の ReceiveFilterCapabilities メンバーの上部のフィルター ドライバーに基になるネットワーク アダプターの現在有効な受信フィルター機能を提供します。
状態コードを返す
NDIS は、ミニポート ドライバーに対する OID_RECEIVE_FILTER_CURRENT_CAPABILITIES の OID クエリ要求を処理し、次のいずれかの状態コードを返します。
NDIS_STATUS_SUCCESS
要求は正常に完了しました。 InformationBuffer は、NDIS_RECEIVE_FILTER_CAPABILITIES 構造体を指します。
NDIS_STATUS_PENDING
要求の完了が保留中です。 NDIS は、要求が完了した後、呼び出し元の OID 要求完了ハンドラーに最終的な状態コードと結果を渡します。
NDIS_STATUS_INVALID_LENGTH
情報バッファーが短すぎました。 NDIS は、NDIS_OID_REQUEST 構造体の DATA.QUERY_INFORMATION.BytesNeeded メンバーに必要最小限のバッファー サイズを設定します。
NDIS_STATUS_NOT_SUPPORTED
ネットワーク アダプターは、受信フィルター処理をサポートしていません。
NDIS_STATUS_FAILURE
その他の理由で要求に失敗しました。
要件
バージョン |
NDIS 6.20 以降でサポートされています。 |
ヘッダー |
Ntddndis.h (Ndis.h を含む) |