Dot11ExtPostAssociateCompletion function

The IHV Extensions DLL calls the Dot11ExtPostAssociateCompletion function to asynchronously complete a post-association operation initiated through a call to the Dot11ExtIhvPerformPostAssociate IHV Handler function.

Syntax


DWORD APIENTRY Dot11ExtPostAssociateCompletion(
  _In_opt_  HANDLE hDot11SvcHandle,
  _In_opt_  HANDLE hSecuritySessionID,
  _In_opt_  PDOT11_MAC_ADDRESS pPeer,
  _In_      DWORD dwReasonCode,
  _In_      DWORD dwWin32Error
);

Parameters

hDot11SvcHandle [in, optional]

The handle used by the operating system to reference the wireless LAN (WLAN) adapter. This handle value was specified through a previous call to the Dot11ExtIhvInitAdapter IHV Handler function.

hSecuritySessionID [in, optional]

The handle of the security session identifier (ID) returned through a previous call to the Dot11ExtIhvPerformPostAssociate IHV Handler function.

pPeer [in, optional]

The media access control (MAC) address of the access point (AP) with which the IHV Extensions DLL performed a security operation. This parameter is formatted as a DOT11_MAC_ADDRESS structure.

Note  For Windows Vista, the IHV Extensions DLL supports only infrastructure basic service set (BSS) networks.

dwReasonCode [in]

A value that provides additional information for the completion status of the post-association operation. The IHV Extensions DLL must set dwReasonCode to an L2_REASON_CODE_xxxx value, which are defined in L2cmn.h.

The IHV Extensions DLL returns the general completion status of the post-association operation through the dwWin32Error parameter. Typically, the IHV Extensions DLL sets dwReasonCode to a value within the range from L2_REASON_CODE_IHV_BASE to (L2_REASON_CODE_IHV_BASE+ L2_REASON_CODE_GROUP_SIZE-1).

dwWin32Error [in]

The completion status of the post-association operation as defined by an error code within Winerror.h. If the operation completes successfully, the IHV Extensions DLL must set dwWin32Error to ERROR_SUCCESS.

Return value

If the call succeeds, the function returns ERROR_SUCCESS. Otherwise, it returns an error code defined in Winerror.h.

Remarks

The IHV Extensions DLL calls the Dot11ExtPostAssociateCompletion function to do any of the following:

  • Complete the post-association operation initiated by a call to the Dot11ExtIhvPerformPostAssociate IHV Handler function.

  • After completing the post-association operation, indicate a change in the port state for the security session referenced by the hSecuritySessionID parameter.

    For example, if the authorization state of the port changes, the IHV Extensions DLL can notify the operating system by calling Dot11ExtPostAssociateCompletion.

The IHV Extensions DLL must follow these guidelines when calling the Dot11ExtPostAssociateCompletion function.

  • If the post-association operation completed successfully, the IHV Extensions DLL must set dwReasonCode to one of the following:

    • L2_REASON_CODE_SUCCESS.

    • An IHV-defined value in the range from L2_REASON_CODE_IHV_BASE to (L2_REASON_CODE_IHV_BASE+ L2_REASON_CODE_GROUP_SIZE-1).

    In this situation, the IHV Extensions DLL must set dwWin32Error to ERROR_SUCCESS.

    Note  If the IHV Extensions DLL sets dwWin32Error to ERROR_SUCCESS, the operating system will assume that the port state for the security session is in an authorized state. After the port is in an authorized state, the operating system allows all data packets to be sent through the WLAN adapter.

  • If the post-association operation completed with a failure, the IHV Extensions DLL must not set dwReasonCode to L2_REASON_CODE_SUCCESS. Instead, the DLL must set dwReasonCode to one of the following:

    • An appropriate L2_REASON_CODE_xxxx error value.

    • An IHV-defined value in the range from L2_REASON_CODE_IHV_BASE to (L2_REASON_CODE_IHV_BASE+ L2_REASON_CODE_GROUP_SIZE-1).

    In this situation, the IHV Extensions DLL must not set dwWin32Error to ERROR_SUCCESS. Instead, the DLL must set dwWin32Error to an appropriate error code defined in Winerror.h.

    Note  If the IHV Extensions DLL does not set dwWin32Error to ERROR_SUCCESS, the operating system will assume the port state for the security session is in an unauthorized state. After the port is in an unauthorized state, the operating system allows security packets, including packets sent through the Dot11ExtSendPacket IHV Extensions function, to be sent through the WLAN adapter.

  • The IHV Extensions DLL must call Dot11ExtPostAssociateCompletion to cancel all pending post-association operation whenever the Dot11ExtIhvAdapterReset or Dot11ExtIhvDeinitAdapter IHV Handler functions are called. In this situation, the DLL must set the dwStatus parameter to ERROR_CANCELLED.

Requirements

Version

Available in Windows Vista and later versions of the Windows operating systems.

Header

Wlanihv.h (include Wlanihv.h)

See also

DOT11_MAC_ADDRESS
Dot11ExtIhvAdapterReset
Dot11ExtIhvDeinitAdapter
Dot11ExtIhvInitAdapter
Dot11ExtIhvPerformPostAssociate
Dot11ExtSendPacket
Native 802.11 IHV Handler Functions

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft