Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
DOT11_BYTE_ARRAY
Collapse the table of content
Expand the table of content

DOT11_BYTE_ARRAY (Compact 2013)

3/26/2014

This structure comes before a list of variable-length structures in the InformationBuffer member of the MiniportOidRequest function’s OidRequest parameter.


typedef struct DOT11_BYTE_ARRAY {
  NDIS_OBJECT_HEADER  Header;
  ULONG  uNumOfBytes;
  ULONG  uTotalNumOfBytes;
  UCHAR  ucBuffer[1];
} DOT11_BYTE_ARRAY, *PDOT11_BYTE_ARRAY;

Header

The type and size of the DOT11_BYTE_ARRAY 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 the revision of the variable-length structures which follow the DOT11_BYTE_ARRAY structure. For more information about the revision of these structures, refer to the object identifiers (OIDS) listed in the See Also section.

Size

This member must be set to sizeof(DOT11_BYTE_ARRAY)

uNumOfBytes

Number of entries in the ucBuffer array.

uTotalNumOfBytes

Maximum number of bytes that the ucBuffer array requires

ucBuffer

The list of variable-length structures

The type of structures stored in the ucBuffer array depends on the OID set and query request. For example, when queried by OID_DOT11_ENUM_BSS_LIST, a miniport driver stores one or more DOT11_BSS_ENTRY structures in the ucBuffer array.

When queried by an OID that uses the DOT11_BYTE_ARRAY structure, the miniport driver must verify that the InformationBuffer member of the MiniportOidRequest function’s OidRequest parameter is large enough to return the complete structure, including all entries in the ucBuffer 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_BYTE_ARRAY 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_BYTE_ARRAY 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_BYTE_ARRAY structure, the miniport driver must do the following to complete a successful query request:
    • For the DOT11_BYTE_ARRAY structure, set the uNumOfBytes and uTotalNumOfBytes members to the total number of entries in the ucBuffer array.
    • For the OidRequest parameter, set the BytesNeeded member to zero and the BytesWritten member to the length, in bytes, of the complete DOT11_BYTE_ARRAY structure. The miniport driver must also copy the complete DOT11_BYTE_ARRAY structure to the InformationBuffer member.
    • Return NDIS_STATUS_SUCCESS from its MiniportOidRequest function.

Header

windot11.h

Show:
© 2015 Microsoft