OID_GEN_CURRENT_PACKET_FILTER

Als Abfrage meldet die OID_GEN_CURRENT_PACKET_FILTER OID die Typen von Netzpaketen, die sich in Empfangsanzeigen von einem Miniporttreiber befinden.

Als Satz gibt die OID_GEN_CURRENT_PACKET_FILTER-OID die Typen von Netzpaketen an, für die ein Protokoll Hinweise von einem Miniporttreiber empfängt.

Versionsinformationen

Windows Vista und höhere Versionen von Windows
Unterstützt.

Miniporttreiber NDIS 6.0 und höher
Erforderlich. (siehe Abschnitt Hinweise)

NDIS 5.1-Miniporttreiber
Erforderlich.

Windows XP
Unterstützt.

NDIS 5.1-Miniporttreiber
Erforderlich.

Bemerkungen

Für Miniporttreiber mit NDIS 6.0 und höher wird die Abfrage nicht angefordert, und der Satz ist obligatorisch. NDIS verarbeitet die Abfrage für Miniporttreiber. Der Miniporttreiber meldet die Paketfilterinformationen während der Initialisierung.

Der Miniporttreiber meldet seinen mittleren Typ als einen, für den das System eine Filterbibliothek bereitstellt. Der Paketfilter verwendet den OR-Vorgang, um die folgenden Typen inklusive zu kombinieren:

NDIS_PACKET_TYPE_DIRECTED
Gerichtete Pakete. Gerichtete Pakete enthalten eine Zieladresse, die der Stationsadresse der NIC entspricht.

NDIS_PACKET_TYPE_MULTICAST
Multicastadresspakete, die an Adressen in der Multicastadressenliste gesendet werden.

Ein Protokolltreiber kann Ethernet-Multicastpakete (802.3) empfangen, indem er den Multicast- oder Funktionsadresspakettyp angibt. Das Festlegen der Multicastadressenliste oder der Funktionsadresse bestimmt, welche Multicastadressgruppen der NIC-Treiber aktiviert.

NDIS_PACKET_TYPE_ALL_MULTICAST
Alle Multicast-Adresspakete, nicht nur diejenigen, die in der Multicastadressenliste aufgelistet sind.

NDIS_PACKET_TYPE_BROADCAST
Broadcastpakete.

NDIS_PACKET_TYPE_PROMISCUOUS
Gibt alle Pakete an, unabhängig davon, ob die VLAN-Filterung aktiviert ist oder nicht und ob der VLAN-Bezeichner übereinstimmt oder nicht.

NDIS_PACKET_TYPE_ALL_FUNCTIONAL
Alle funktionalen Adresspakete, nicht nur diejenigen in der aktuellen funktionalen Adresse.

NDIS_PACKET_TYPE_ALL_LOCAL
Alle Pakete, die von installierten Protokollen gesendet werden, und alle Pakete, die von der NIC angegeben werden, die durch ein bestimmtes NdisBindingHandle identifiziert wird.

NDIS_PACKET_TYPE_FUNCTIONAL
Funktionsadresspakete, die an Adressen gesendet werden, die in der aktuellen Funktionsadresse enthalten sind.

NDIS_PACKET_TYPE_GROUP
Pakete, die an die aktuelle Gruppenadresse gesendet werden.

NDIS_PACKET_TYPE_MAC_FRAME
NIC-Treiberframes, die eine Token Ring-NIC empfängt.

NDIS_PACKET_TYPE_SMT
SMT-Pakete, die eine FDDI-NIC empfängt.

NDIS_PACKET_TYPE_SOURCE_ROUTING
Alle Quellroutingpakete. Wenn der Protokolltreiber dieses Bit festlegt, versucht die NDIS-Bibliothek, als Quellroutingbrücke zu fungieren.

Für Miniportadapter, deren Medientyp NdisMedium802_3 oder NdisMedium802_5 ist, deaktiviert NDIS den Paketempfang zusammen mit Multicast- und Funktionsadressen während eines Aufrufs der NdisOpenAdapterEx-Funktion .

Bei Miniportadaptern mit allen anderen Medientypen kann der Protokolltreiber während des NdisOpenAdapterEx-Aufrufs jederzeit mit dem Empfang von Paketen beginnen. Beachten Sie, dass das Protokoll sogar Pakete empfangen kann, bevor NdisOpenAdapterEx zurückgibt. Im Allgemeinen ist die Paketfilterung die beste Anstrengung, und Protokolltreiber müssen darauf vorbereitet sein, Empfangsanzeigen zu verarbeiten, auch wenn der Paketfilter 0 ist.

Für eine Abfrage gibt NDIS die Bindungsfilter zurück, die mit dem OR-Operator kombiniert werden.

Für einen Satz ersetzt der angegebene Paketfilter den vorherigen Paketfilter für die Bindung. Wenn der Miniporttreiber zuvor einen Pakettyp aktiviert hat, der Protokolltreiber diesen Typ jedoch nicht in einem neuen Filter angibt, empfängt der Protokolltreiber keine Pakete dieses Typs.

Bei Miniportadaptern, deren Medientyp NdisMedium802_3 oder NdisMedium802_5 ist, empfängt der Protokolltreiber keine Pakete dieses Typs, wenn der Miniporttreiber als Reaktion auf diese Abfrage kein Bit für einen bestimmten Pakettyp festgelegt. Folglich kann ein Protokolltreiber den Paketempfang deaktivieren, indem er die Funktion NdisOidRequest oder NdisCoOidRequest mit einem Filter von 0 aufruft.

Bei Miniportadaptern mit allen anderen Medientypen überprüft NDIS den Pakettyp nicht. Für diese Medientypen kann ein Protokolltreiber den Paketempfang nicht deaktivieren, indem er einen Filter von 0 angibt.

Wenn die MiniportInitializeEx-Funktion eines Miniporttreibers aufgerufen wird, sollte der Paketfilter des Miniporttreibers auf Null festgelegt werden. Wenn der Paketfilter 0 ist, sind Empfangsanzeigen deaktiviert. Nachdem die MiniportInitializeEx-Funktion eines Miniporttreibers zurückgegeben wurde, kann ein Protokolltreiber OID_GEN_CURRENT_PACKET_FILTER auf einen Nonzero-Wert festlegen, sodass der Miniporttreiber empfangene Pakete für dieses Protokoll angeben kann.

Wenn der promiscuous-Modus mit dem NDIS_PACKET_TYPE_PROMISCUOUS Bit aktiviert ist, empfängt der Protokolltreiber weiterhin Pakete, auch wenn der sendende Netzwerkknoten sie nicht an ihn weiter leitet. NDIS sendet dann dem Protokolltreiber alle Pakete, die die NIC empfängt.

Das Festlegen eines bestimmten Paketfilters ändert nicht den Paketfilter für andere Protokolltreiber, die an dieselbe NIC (oder höher) gebunden sind. Wenn beispielsweise ein gebundenes Protokoll den promiscuous-Modus aktiviert, empfangen andere gebundene Protokolltreiber keine Pakete, die sie nicht speziell mit ihren eigenen Paketfiltern angefordert haben.

Native 802.11-Paketfilter

Der Native 802.11-Miniporttreiber darf nur die folgenden Standardpaketfiltertypen unterstützen:

  • NDIS_PACKET_TYPE_DIRECTED

  • NDIS_PACKET_TYPE_MULTICAST

  • NDIS_PACKET_TYPE_BROADCAST

  • NDIS_PACKET_TYPE_PROMISCUOUS

Wenn sie aktiviert sind, gelten diese Standardpaketfilter nur für 802.11-Datenpakete.

Darüber hinaus muss der Native 802.11-Miniporttreiber die folgenden Paketfiltertypen unterstützen, die für native 802.11-Medien spezifisch sind:

NDIS_PACKET_TYPE_802_11_RAW_DATA
Ein MPDU-Frame (802.11 Media Access Control), der alle Daten im Format enthält, das von der Station 802.11 empfangen wird. Wenn dieser Filter festgelegt ist, muss der Treiber jedes nicht geänderte MPDU-Fragment angeben, bevor er das aus den MPDU-Fragmenten neu zusammengesetzte MAC Service Data Unit (MSDU)-Paket angibt.

Wenn ein MPDU-Fragment verschlüsselt ist, darf es das Fragment nicht entschlüsseln, bevor es angegeben wird. Der Miniporttreiber muss jedoch jedes MPDU-Fragment entschlüsseln, bevor er das MSDU-Paket neu zusammenfügt und angibt.

Wenn dieser Filtertyp aktiviert ist, wirkt sich dieser Filtertyp nur auf andere Standardpaketfilter aus, z. B. NDIS_PACKET_TYPE_DIRECTED oder NDIS_PACKET_TYPE_BROADCAST.

Weitere Informationen zur Methode zum Angeben von unformatierten 802.11-Datenpaketen finden Sie unter Angeben von unformatierten 802.11-Paketen.

NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT
Gesteuerte 802.11-Verwaltungspakete. Gerichtete Pakete enthalten eine Zieladresse, die der Stationsadresse der NIC entspricht.

NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT
Multicast 802.11-Verwaltungspakete, die an Adressen in der Multicastadressenliste gesendet werden.

NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_MGMT
Alle multicast 802.11-Verwaltungspakete, die von der Station 802.11 empfangen werden, unabhängig davon, ob die Zieladresse im MAC-Header 802.11 in der Multicastadressenliste enthalten ist.

NDIS_PACKET_TYPE_802_11_BROADCAST_MGMT
Senden Sie 802.11-Verwaltungspakete, die von der 802.11-Station empfangen wurden.

NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT
Alle 802.11-Verwaltungspakete, die von der Station 802.11 empfangen werden.

NDIS_PACKET_TYPE_802_11_RAW_MGMT
Ein 802.11 MPDU-Verwaltungsframe, der alle Daten im Format enthält, das von der Station 802.11 empfangen wird. Wenn dieser Filter festgelegt ist, muss der Treiber jedes nicht geänderte MPDU-Fragment angeben, bevor er das aus den MPDU-Fragmenten neu zusammengesetzte PAKET des MAC Management Protocol Data Unit (MMPDU) angibt.

Wenn dieser Filtertyp aktiviert ist, wirkt sich dieser Filtertyp nur auf andere 802.11-Verwaltungspaketfilter aus, z. B. NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT oder NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT.

Weitere Informationen zur Methode zum Angeben von unformatierten 802.11-Verwaltungspaketen finden Sie unter Angeben von unformatierten 802.11-Paketen.

NDIS_PACKET_TYPE_802_11_DIRECTED_CTRL
Gesteuerte 802.11-Steuerpakete. Gerichtete Pakete enthalten eine Zieladresse, die der Stationsadresse der NIC entspricht.

NDIS_PACKET_TYPE_802_11_BROADCAST_CTRL
Senden Sie 802.11-Steuerpakete, die von der 802.11-Station empfangen wurden.

NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL
Alle 802.11-Steuerpakete, die von der Station 802.11 empfangen werden.

Wenn ein Miniporttreiber im Modus Native 802.11 Network Monitor (NetMon) oder Extensible Access Point (AP) ausgeführt wird, muss der Treiber die folgenden Paketfilter über eine festgelegte Anforderung von OID_GEN_CURRENT_PACKET_FILTER aktivieren.

  • NDIS_PACKET_TYPE_PROMISCUOUS

  • NDIS_PACKET_TYPE_802_11_RAW_DATA

  • NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT

  • NDIS_PACKET_TYPE_802_11_RAW_MGMT

  • NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL

Ein Miniporttreiber, der neben NetMon in anderen nativen 802.11-Modi arbeitet, darf diese Paketfiltereinstellungen mit Ausnahme von NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL nicht aktivieren. Ein Miniporttreiber, der nicht im NetMon-Modus arbeitet, kann optional NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL über eine festgelegte Anforderung von OID_GEN_CURRENT_PACKET_FILTER aktivieren.

Hinweis Wenn sich der Miniporttreiber in einem anderen nativen 802.11-Modus als NetMon befindet und OID_GEN_CURRENT_PACKET_FILTER festgelegt ist, darf der Treiber die Setanforderung nicht ausführen, wenn promiskuous oder unformatierte Filtereinstellungen in den OID-Daten aktiviert sind.

Weitere Informationen zu den Betriebsmodi NetMon und ExtAP finden Sie in den folgenden Themen:

Netzwerkmonitor-Betriebsmodus

Erweiterbarer Access Point-Betriebsmodus

Anforderungen

Header

Ntddndis.h (include Ndis.h)

Weitere Informationen

MiniportInitializeEx

NdisCoOidRequest

NdisOidRequest

NdisOpenAdapterEx