802.11 WLAN Adapter Communication Channel

 

The operating system provides a pass-through communication channel between the IHV Extensions DLL and the Native 802.11 miniport driver. The IHV Extensions DLL accesses the communication channel for the following operations.

Sending/Receiving Proprietary Configuration Data
The IHV Extensions DLL sends NDIS 6.0 or later object identifier (OID) method requests to the Native 802.11 miniport driver through calls to the Dot11ExtNicSpecificExtension function. Internally, this function issues a method request of OID_DOT11_NIC_SPECIFIC_EXTENSION to the miniport driver. For more information about NDIS OID method requests, see NDIS_OID_REQUEST.

Typically, the IHV Extensions DLL calls Dot11ExtNicSpecificExtension to do the following:

  • Set proprietary configuration parameters for the miniport driver or WLAN adapter.

  • Query proprietary configuration parameters or status data from the miniport driver or WLAN adapter.

Receiving Notifications/Indications
The IHV Extensions DLL asynchronously receives notifications from the Native 802.11 miniport driver through calls to the Dot11ExtIhvReceiveIndication IHV Handler function. The operating system calls this function whenever the miniport driver makes a media-specific indication through a call to NdisMIndicateStatusEx. For more information about this type of indication, see NDIS_STATUS_MEDIA_SPECIFIC_INDICATION.

Sending 802.11 Packets
The IHV Extensions DLL sends 802.11 packets to the Native 802.11 miniport driver through calls to the Dot11ExtSendPacket function. The miniport driver queues the packet on the WLAN adapter for transmission. When the packet has been transmitted, the operating system calls the Dot11ExtIhvSendPacketCompletion IHV Handler function. For more information about sending packets by the IHV Extensions DLL, see Send Operations.

Typically, the IHV Extensions DLL calls Dot11ExtSendPacket to send security packets during the post-association operation. The security packets are based on the authentication algorithm supported by the DLL and enabled on the WLAN adapter.

Receiving 802.11 Packets
The IHV Extensions DLL receives 802.11 packets from the Native 802.11 miniport driver through calls to the Dot11ExtIhvReceivePacket function. The operating system calls this function for every received packet that has an IEEE EtherType that matches an entry in the list of EtherTypes registered by the DLL through a call to Dot11ExtSetEtherTypeHandling. For more information about receiving packets by the IHV Extensions DLL, see Receive Operations.

The following points apply to the communication channel between the IHV Extensions DLL and the Native 802.11 miniport driver.

  • Configuration, notification, or indication data transferred over this channel has a format defined by the independent hardware vendor (IHV), which is opaque to the operating system.

  • All data received through this channel is serialized and delivered in the order the data was sent by the IHV Extensions DLL or Native 802.11 miniport driver.