Send Operations
When performing a post-association operation, initiated through a call to Dot11ExtIhvPerformPostAssociate, the IHV Extensions DLL can send packets through the wireless LAN (WLAN) adapter. For more information about the post-association operation, see Post-Association Operations.
Typically, the DLL sends security packets to an access point (AP) for data port authentication by using the algorithm enabled through Dot11ExtSetAuthAlgorithm. The IHV Extensions DLL calls Dot11ExtSetAuthAlgorithm during the pre-association operation. For more information about this operation, see Pre-Association Operations.
Note For Windows Vista, the IHV Extensions DLL supports only infrastructure basic service set (BSS) networks.
When sending packets, the IHV Extensions DLL must follow these guidelines.
The IHV Extensions DLL must allocate the memory for a complete 802.11 data packet, including 802.11 media access control (MAC) header, LLC encapsulation (if necessary), and payload data.
The following table describes which fields and subfields within the 802.11 MAC header are set by the IHV Extensions DLL or WLAN adapter.
Field name Subfield name Set by IHV Extension DLL Set by WLAN adapter Frame Control
Protocol Version
X
Frame Control
Type
X
Frame Control
Subtype
X
Frame Control
To DS
X
Frame Control
From DS
X
Frame Control
More Fragments
X
Frame Control
Retry
X
Frame Control
Pwr Mgt
X
Frame Control
More Data
X
Frame Control
Protected Frame
X
Frame Control
Order
X
Duration/ID
X
Address 1
X
Address 2
X
Address 3
X
Sequence Control
Fragment Number
X
Sequence Control
Sequence Number
X
The IHV Extensions DLL calls the Dot11ExtSendPacket function to send the packet through the wireless LAN (WLAN) adapter. The DLL passes a unique handle value, which identifies the packet, to the function's hSendCompletion parameter. Typically, the DLL passes the address of the allocated buffer that contains the packet to the hSendCompletion parameter. Note Only unicast packets can be sent through calls to the Dot11ExtSendPacket function.
When the WLAN adapter has sent the packet, the operating system calls the Dot11ExtIhvSendPacketCompletion function. The operating system passes the packet's handle value to the hSendCompletion parameter of the function. This handle value will be the same value used by the IHV Extensions DLL in its call to Dot11ExtSendPacket.
When Dot11ExtIhvSendPacketCompletion is called, the IHV Extensions DLL must release the memory it allocated for the packet.
Note The IHV Extensions DLL must not free the resources allocated for a packet sent through Dot11ExtSendPacket until the corresponding call to Dot11ExtIhvSendPacketCompletion is made.