次の方法で共有


OID_RECEIVE_FILTER_CURRENT_CAPABILITIES

上部のドライバーは、OID_RECEIVE_FILTER_CURRENT_CAPABILITIES の OID クエリ要求を発行して、ネットワーク アダプターの現在有効な受信フィルター機能を取得します。

OID クエリ要求から正常に返されると、NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_RECEIVE_FILTER_CAPABILITIES 構造体へのポインターが含まれます。

解説

NDIS 受信フィルターは、次の NDIS インターフェイスで使用されます。

NDIS 6.20 以降では、ミニポート ドライバーは、MiniportInitializeEx 関数が呼び出されたとき、ネットワーク アダプターの現在有効な受信フィルター ハードウェア機能を登録します。 ミニポート ドライバーは、次の手順に従ってこれらの機能を登録します。

  1. ドライバーは、現在有効になっている受信フィルター ハードウェア機能を使用して、NDIS_RECEIVE_FILTER_CAPABILITIES 構造体を初期化します。

  2. ドライバーは、NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 構造体を初期化し、CurrentReceiveFilterCapabilities メンバーを NDIS_RECEIVE_FILTER_CAPABILITIES 構造体へのポインターに設定します。

  3. ミニポート ドライバーは 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 を含む)

関連項目

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OID_REQUEST

NDIS_RECEIVE_FILTER_CAPABILITIES