OID_GEN_CURRENT_PACKET_FILTER (Windows Embedded CE 6.0)

1/6/2010

This object specifies the types of net packets for which a protocol receives indications from a NIC driver.

The NIC driver reports its medium type as one for which the system provides a filter library. The following table shows the types that the packet filter combines using an inclusive OR operation.

Type Description

NDIS_PACKET_TYPE_ALL_FUNCTIONAL

All functional address packets, not just the ones in the current functional address.

NDIS_PACKET_TYPE_ALL_MULTICAST

All multicast address packets, not just the ones enumerated in the multicast address list.

NDIS_PACKET_TYPE_ALL_LOCAL

All packets sent by installed protocols and all packets indicated by the NIC that is identified by a given NdisBindingHandle.

NDIS_PACKET_TYPE_BROADCAST

Broadcast packets.

NDIS_PACKET_TYPE_DIRECTED

Directed packets. Directed packets contain a destination address equal to the station address of the NIC.

NDIS_PACKET_TYPE_FUNCTIONAL

Functional address packets sent to addresses included in the current functional address.

NDIS_PACKET_TYPE_GROUP

Packets sent to the current group address.

NDIS_PACKET_TYPE_MAC_FRAME

NIC driver frames that a Token Ring NIC receives.

NDIS_PACKET_TYPE_SMT

SMT packets that an FDDI NIC receives.

NDIS_PACKET_TYPE_MULTICAST

Multicast address packets sent to addresses in the multicast address list. A protocol driver can receive Ethernet (802.3) multicast packets or Token Ring (802.5) functional address packets by specifying the multicast or functional address packet type. Setting the multicast address list or functional address determines which multicast address groups the NIC driver enables.

NDIS_PACKET_TYPE_PROMISCUOUS

Specifies all packets.

NDIS_PACKET_TYPE_SOURCE_ROUTING

All source routing packets. If the protocol driver sets this bit, the NDIS library attempts to act as a source routing bridge.

During a call to NdisOpenAdapter, NDIS disables packet reception, along with multicast and functional addresses.

For a query, NDIS returns the binding filters that are combined using the OR operator.

For a set, the specified packet filter replaces the previous packet filter for the binding. If the NIC driver previously enabled a packet type but the protocol driver does not specify that type in a new filter, the protocol driver will not receive packets of this type.

If the NIC driver does not set a bit for a particular packet type in response to this query, the protocol driver will not receive packets of that type. Consequently, a protocol driver can disable packet reception by calling the NdisRequest function using a filter of 0. In these circumstances, if promiscuous mode is enabled with the NDIS_PACKET_TYPE_PROMISCUOUS bit, the protocol driver continues to receive packets even if the sending network node does not direct them to it. NDIS then sends the protocol driver all packets the NIC receives.

Setting a specific packet filter does not alter the packet filter for other protocols that are bound to (or above) the same NIC. For example, if one bound protocol enables promiscuous mode, other bound protocols do not receive packets that they have not specifically requested with their own packet filters.

Requirements

Header ntddndis.h
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

General Object Identifiers
MiniportQueryInformation
NdisOpenAdapter
NdisRequest
NDIS_REQUEST