The operating system creates a new port for network access for each access point (AP) or peer station with which the 802.11 station successfully completes an association operation. For more information about this operation, see Association Operations.
The operating system creates the port following the NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION indication made by the miniport driver. After this port has been authorized, the 802.11 station can send or receive media access control (MAC) service data unit (MSDU) packets.
The following guidelines describe how the operating system sets the port to an authorized state:
If the miniport driver manages port-based authentication, the driver must perform the authentication before it completes the association operation. If the authentication is successful, the miniport driver must set the bPortAuthorized member of the NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION indication to TRUE.
In this situation, the operating system creates the port and sets it to the authorized state following the NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION indication.
If the operating system manages port-based authentication, the operating system creates the port and sets it to the unauthorized state following the NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION indication. The operating system performs the authentication and sets the port to the authorized state if the authentication succeeds.
If the independent hardware vendor (IHV) installs an IHV Extensions DLL to manage the port-based authentication, the operating system first creates the port and sets it to the unauthorized state following the NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION indication. The operating system then notifies the IHV Extensions DLL about the new port through a call to the DLL's Dot11ExtIhvPerformPostAssociate function.
Following this call, the service performs the authentication. When the authentication completes, the IHV Extensions DLL notifies the operating system regarding the authorization state of the port through a call to Dot11ExtPostAssociateCompletion.
After the port is set to an authorized state, the operating system notifies the miniport driver through a set request of OID_DOT11_PORT_STATE_NOTIFICATION. The operating system sets the bOpen member to TRUE in the DOT11_PORT_STATE_NOTIFICATION structure that accompanies the set request.
The following figure shows the sequence of events during port creation and authorization.
For more information about the IHV Extensions DLL, see Native 802.11 IHV Extensions DLL.