Ä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:
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.
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:
Eine NDIS_RECEIVE_FILTER_PARAMETERS-Struktur , die die Parameter für den NDIS-Empfangsfilter angibt.
Ein Array von NDIS_RECEIVE_FILTER_FIELD_PARAMETERS Strukturen, das das Filtertestkriterium für ein Feld in einem Netzwerkpaketheader angibt.
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.
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.