仮想ポートでの受信フィルターの列挙
ネットワーク アダプターの NIC スイッチに仮想ポート (VPort) が作成された後、基になるドライバーとユーザー アプリケーションで次の操作を行うことが可能です。
VPort の受信フィルターのパラメーターを列挙します。
詳細については、「受信フィルターの列挙」を参照してください。
特定の受信フィルターのパラメーターを問い合わせます。
詳細は、「特定の受信フィルターのクエリを実行する」をご覧ください。
VPort を作成する方法の詳細については、「仮想ポートの作成」を参照してください。
受信フィルターの列挙
NIC スイッチの仮想ポート (VPort) に設定されているすべての受信フィルターの一覧を取得するには、上のドライバーとアプリケーションは、OID_RECEIVE_FILTER_ENUM_FILTERSのオブジェクト識別子 (OID) メソッドリクエストを発行できます。
NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、主にNDIS_RECEIVE_FILTER_INFO_ARRAY 構造体へのポインターが含まれています。
基になるドライバーまたはユーザー アプリケーションがこの OID メソッドリクエストを発行する前に、NDIS_RECEIVE_FILTER_INFO_ARRAY構造体を初期化し、次の方法でこの構造体のメンバーを設定してください。
QueueId メンバーは、NDIS_DEFAULT_RECEIVE_QUEUE_ID に設定してください。
VPortId メンバーは、VPort に関連付けられている識別子に設定してください。 上位ドライバーは、次のいずれかの方法で VPort 識別子を取得します:
OID_NIC_SWITCH_CREATE_VPORT の以前の OID メソッドリクエストから。
OID_NIC_SWITCH_ENUM_VPORTS の以前の OID メソッドリクエストから。
注: このメンバーは、ドライバーまたはアプリケーションがフラグメンバーにNDIS_RECEIVE_FILTER_INFO_ARRAY_VPORT_ID_SPECIFIEDフラグを設定する場合のみ有効です。 このフラグが設定されていない場合は、NIC スイッチのVPortすべてで設定した受信フィルターが返されます。
OID_RECEIVE_FILTER_ENUM_FILTERSの OID メソッドリクエストから正常に戻った後、NDIS_OID_REQUEST構造体の InformationBuffer メンバーには、更新されたNDIS_RECEIVE_FILTER_INFO_ARRAY構造体へのポインターを格納し、その後に 1 つ以上のNDIS_RECEIVE_FILTER_INFO構造体が続きます。 各 NDIS_RECEIVE_FILTER_INFO 構造体は、指定された VPort で設定している受信フィルターの一意識別子を指定します。
特定の受信フィルターのクエリを実行する
基になるドライバーまたはアプリケーションは、OID_RECEIVE_FILTER_PARAMETERSの OID メソッドリクエストを発行して、VPort 上の特定のフィルターのパラメーターを取得することができます。
この NDIS_OID_REQUEST 構造の InformationBuffer メンバーは、最初に NDIS_RECEIVE_FILTER_PARAMETERS 構造へのポインターを含んでいます。
基になるドライバーまたはユーザー アプリケーションがこの OID メソッドリクエストを発行する前に、NDIS_RECEIVE_FILTER_PARAMETERS構造体を初期化し、この構造体のメンバーを次の方法で設定してください。
FilterId メンバーは、パラメーターを返すフィルターの 0 以外の識別子値に設定してください。
注: 上のドライバーは、OID_RECEIVE_FILTER_Standard Edition T_FILTERまたはOID_RECEIVE_FILTER_ENUM_FILTERSの以前の OID メソッドリクエストからフィルター 認識子を取得しました。 アプリケーションは、OID_RECEIVE_FILTER_ENUM_FILTERSの以前の OID メソッドリクエストからのみフィルター 認識子を取得できます。
QueueId メンバーは、NDIS_DEFAULT_RECEIVE_QUEUE_ID に設定してください。
VPortId メンバーは、VPort に関連付けられている識別子に設定してください。 上位ドライバーは、次のいずれかの方法で VPort 識別子を取得します:
OID_NIC_SWITCH_CREATE_VPORT の以前の OID メソッドリクエストから。
OID_NIC_SWITCH_ENUM_VPORTS の以前の OID メソッドリクエストから。
NDIS は、ミニポート ドライバーの OID_RECEIVE_FILTER_ENUM_FILTERS および OID_RECEIVE_FILTER_PARAMETERS メソッド OID リクエストを処理します。 NDIS は、OID_RECEIVE_FILTER_Standard Edition T_FILTER OID リクエストから受信したデータの内部キャッシュから情報を取得しました。