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.