Freigeben über


Ändern von Paket-Koalescing-Empfangsfiltern

Um einen Empfangsfilter für einen Miniporttreiber zu ändern, der paketverknen unterstützt, führt ein überlyingendes Protokoll oder Filtertreiber die folgenden Schritte aus:

  1. Um eine Liste aller paketverknenden Empfangsfilter abzurufen, die in einen Miniporttreiber heruntergeladen wurden, stellt der überlastende Treiber eine OID-Methodenanforderung von OID_RECEIVE_FILTER_ENUM_FILTERS aus. Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur enthält einen Zeiger auf eine NDIS_RECEIVE_FILTER_INFO_ARRAY Struktur.

    Hinweis Wenn der überlastende Treiber oder die überlastende Anwendung die NDIS_RECEIVE_FILTER_INFO_ARRAY-Struktur initialisiert, muss der QueueId-Member auf NDIS_DEFAULT_RECEIVE_QUEUE_ID festgelegt werden.

    Nach erfolgreicher Rückgabe der OID-Methodenanforderung von OID_RECEIVE_FILTER_ENUM_FILTERS enthält das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur einen Zeiger auf eine aktualisierte NDIS_RECEIVE_FILTER_INFO_ARRAY-Struktur , der mindestens eine NDIS_RECEIVE_FILTER_INFO-Strukturen folgt. Jede NDIS_RECEIVE_FILTER_INFO Struktur gibt den Bezeichner (ID) für einen Filter an, der für den Netzwerkadapter festgelegt ist.

  2. Um die Parameter eines bestimmten Paket-Koalescing-Empfangsfilters abzurufen, der in den Miniporttreiber heruntergeladen wurde, stellt der überlastende Treiber die OID-Methodenanforderung von OID_RECEIVE_FILTER_PARAMETERS aus. Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur enthält einen Zeiger auf eine NDIS_RECEIVE_FILTER_PARAMETERS-Struktur . Der überlastende Treiber oder die überlastende Anwendung initialisiert die NDIS_RECEIVE_FILTER_PARAMETERS-Struktur , indem der FilterId-Member auf den Wert nonzero ID des Filters festgelegt wird, dessen Parameter zurückgegeben werden sollen.

    Nach erfolgreicher Rückgabe der OID-Methodenanforderung enthält das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur einen Zeiger auf einen Puffer. Dieser Puffer ist so formatiert, dass er Folgendes enthält:

  3. Der überlastende Treiber ändert den Empfangsfilter, um den Testkriteriumsatz des Filters hinzuzufügen, zu löschen oder zu ändern. Dazu fügt der Treiber einzelne NDIS_RECEIVE_FILTER_FIELD_PARAMETERS Strukturen aus dem Feldparameterarray hinzu, die von der NDIS_RECEIVE_FILTER_PARAMETERS-Struktur angegeben wird.

    Wenn der überlastende Treiber die Änderungen am Testkriterium abgeschlossen hat, muss er die Member der NDIS_RECEIVE_FILTER_PARAMETERS Struktur aktualisieren, um die Änderungen widerzuspiegeln, die am Empfangsfilter vorgenommen wurden. Beispielsweise muss der überlastende Treiber den FieldParametersArrayNumElements-Member aktualisieren, um die neue Anzahl von Elementen im Array zu enthalten.

    Weitere Informationen finden Sie unter Angeben eines Paket-Koalescing-Empfangsfilters.

  4. Der überladende Treiber gibt eine OID-Methodenanforderung von OID_RECEIVE_FILTER_SET_FILTER aus, um den geänderten Empfangsfilter auf den Miniporttreiber herunterzuladen.

    Weitere Informationen finden Sie unter Festlegen eines Paket-Koalescing-Empfangsfilters.