Query for 802.1Q Support (NDIS 5.1)
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
Upper link-layer drivers send queries to underlying miniport drivers to determine the capabilities of those miniport drivers or their NICs. If miniport drivers support 802.1Q, they should be implemented to process these queries and to return information that indicates their support. These upper link-layer drivers call the NdisRequestfunction for a connectionless miniport driver and the NdisCoRequestfunction for a connection-oriented miniport driver and pass in a NDIS_REQUESTstructure that is filled with the following OID_ XXXcode for the query.
Note A miniport driver that supports 802.1Q must also support 802.1p.
OID_GEN_MAC_OPTIONS (NDIS 5.1)
The OID_GEN_MAC_OPTIONS query returns a bitmask to the upper link-layer driver. This bitmask defines optional properties of the underlying miniport driver or of the miniport driver's NIC. A protocol that initiates this query can determine which flags in the bitmask are set by the underlying miniport driver. Such a protocol can also take advantage of the miniport driver properties that are associated with the flags. For example, a miniport driver can set the NDIS_MAC_OPTION_8021P_PRIORITY and NDIS_MAC_OPTION_8021Q_VLAN flags in the bitmask to indicate that it supports those properties. Such a miniport driver can receive priority values and VLAN identifiers in per-packet information of NDIS_PACKETstructures from higher-layer drivers. This miniport driver can then generate the appropriate information in the MAC headers of packets to transmit over the network. This miniport driver also supports extracting the appropriate information from the MAC headers of packets received from the network. After the information is extracted, the miniport driver uses NDIS_PACKET structures to indicate the information to higher-layer drivers. If the miniport driver or the miniport driver's NIC supports other optional properties, the miniport driver should also set flags for those properties in the bitmask. The Windows Driver Kit (WDK) defines all bitmask flags for OID_GEN_MAC_OPTIONS.