DOT11_CIPHER_ALGORITHM_LIST (Compact 2013)

3/26/2014

This structure defines a list of DOT11_CIPHER_ALGORITHM structures that can be enabled on the 802.11 station.

Syntax

typedef struct DOT11_CIPHER_ALGORITHM_LIST {
  NDIS_OBJECT_HEADER  Header;
  ULONG  uNumOfEntries;
  ULONG  uTotalNumOfEntries;
  DOT11_CIPHER_ALGORITHM  AlgorithmIds[1];
} DOT11_CIPHER_ALGORITHM_LIST, *PDOT11_CIPHER_ALGORITHM_LIST;

Members

  • Header
    The type, revision, and size of the DOT11_CIPHER_ALGORITHM_LIST structure. This member is formatted as an NDIS_OBJECT_HEADER structure.

    The miniport driver must set the members of Header to the following values:

    Type

    This member must be set to NDIS_OBJECT_TYPE_DEFAULT

    Revision

    This member must be set to DOT11_CIPHER_ALGORITHM_LIST_REVISION_1

    Size

    This member must be set to sizeof(DOT11_CIPHER_ALGORITHM_LIST)

  • uNumOfEntries
    The maximum number of entries in the AlgorithmIds array
  • uTotalNumOfEntries
    The maximum number of entries that the AlgorithmIds array can contain
  • AlgorithmIDs
    The cipher algorithm, which is defined by a DOT11_CIPHER_ALGORITHM enumerator value.

    The list of cipher algorithms is sorted by preference. AlgorithmIds[0] defines the cipher algorithm with the highest preference.

Remarks

A miniport driver returns the DOT11_CIPHER_ALGORITHM_LIST structure when it is queried by either OID_DOT11_SUPPORTED_UNICAST_ALGORITHM_PAIR or OID_DOT11_SUPPORTED_MULTICAST_ALGORITHM_PAIR.

When these OIDs are queried, the miniport driver must verify that the InformationBuffer member of the MiniportOidRequest function’s OidRequest parameter is large enough to return the complete DOT11_CIPHER_ALGORITHM_LIST structure, including all entries in the AlgorithmIds array. The value of the InformationBufferLength member of the OidRequest parameter determines what the miniport driver must do, as the following list shows:

  • If the value of the InformationBufferLength member is less than the length, in bytes, of the complete DOT11_CIPHER_ALGORITHM_LIST structure, the miniport driver must do the following:
    • For the OidRequest parameter, set the BytesWritten member to zero and the BytesNeeded member to the length, in bytes, of the complete DOT11_CIPHER_ALGORITHM_LIST structure.
    • Fail the query request by returning NDIS_STATUS_BUFFER_OVERFLOW from its MiniportOidRequest function.
  • If the value of the InformationBufferLength member is greater than or equal to the length, in bytes, of the complete DOT11_CIPHER_ALGORITHM_LIST structure, the miniport driver must do the following to complete a successful query request:
    • For the DOT11_CIPHER_ALGORITHM_LIST structure, set the uNumOfEntries and uTotalNumOfEntries members to the total number of entries in the AlgorithmIds array.
    • For the OidRequest parameter, set the BytesNeeded member to zero and the BytesWritten member to the length, in bytes, of the complete DOT11_CIPHER_ALGORITHM_LIST structure. The miniport driver must also copy the complete DOT11_CIPHER_ALGORITHM_LIST structure to the InformationBuffer member.
    • Return NDIS_STATUS_SUCCESS from its MiniportOidRequest function.

Requirements

Header

windot11.h

See Also

Reference

Native 802.11 Data Types
NDIS_OBJECT_HEADER
OID_DOT11_SUPPORTED_UNICAST_ALGORITHM_PAIR
OID_DOT11_SUPPORTED_MULTICAST_ALGORITHM_PAIR
MiniportOidRequest
Native 802.11 Wireless LAN Reference

Other Resources

DOT11_CIPHER_ALGORITHM