DOT11_CIPHER_ALGORITHM_LIST structure (windot11.h)

Important

WiFiCx is the new Wi-Fi driver model released in Windows 11. We recommend that you use WiFiCx to take advantage of the latest features. The WDI driver model is now in maintenance mode and will only receive high priority fixes.

The DOT11_CIPHER_ALGORITHM_LIST 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).

For more information about these members, see NDIS_OBJECT_HEADER.

uNumOfEntries

The number of entries in the AlgorithmIds array.

uTotalNumOfEntries

The maximum number of entries that the AlgorithmIds array can contain.

AlgorithmIds[1]

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 entire 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 entire 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 entire 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 entire 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 entire DOT11_CIPHER_ALGORITHM_LIST structure. The miniport driver must also copy the entire DOT11_CIPHER_ALGORITHM_LIST structure to the InformationBuffer member.
    • Return NDIS_STATUS_SUCCESS from its MiniportOidRequest function.

Requirements

Requirement Value
Minimum supported client Available starting with Windows Vista.
Header windot11.h (include Ndis.h)

See also

OID_DOT11_SUPPORTED_UNICAST_ALGORITHM_PAIR

OID_DOT11_SUPPORTED_MULTICAST_ALGORITHM_PAIR

DOT11_CIPHER_ALGORITHM

NDIS_OBJECT_HEADER