Поделиться через


структура DOT11_BYTE_ARRAY (windot11.h)

ВажноСобственный интерфейс беспроводной локальной сети 802.11 не рекомендуется использовать в Windows 10 и более поздних версиях. Вместо этого используйте WLAN Device Driver Interface (WDI). Дополнительные сведения о WDI см. в статье Модель универсального драйвера WLAN для Windows.
 
Структура DOT11_BYTE_ARRAY предшествует списку структур переменной длины в элементе InformationBuffer параметра OidRequest функции MiniportOidRequest.

Синтаксис

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

Члены

Header

Тип, редакция и размер структуры DOT11_BYTE_ARRAY. Этот элемент имеет формат структуры NDIS_OBJECT_HEADER .

Драйвер мини-порта должен задать для членов Header следующие значения:

Тип

Для этого элемента должно быть задано значение NDIS_OBJECT_TYPE_DEFAULT.

Редакция

Для этого элемента необходимо задать изменение структур переменной длины, которые соответствуют DOT11_BYTE_ARRAY структуре. Дополнительные сведения о пересмотре этих структур см. в статье Идентификаторы объектов (OIDS), перечисленные в разделе "См. также".

Размер

Для этого элемента необходимо задать значение sizeof(DOT11_BYTE_ARRAY).

Дополнительные сведения об этих членах см. в разделе NDIS_OBJECT_HEADER.

uNumOfBytes

Число байтов в массиве ucBuffer .

uTotalNumOfBytes

Максимальное число байтов, требуемое массиву ucBuffer .

ucBuffer[1]

Список структур переменной длины.

Комментарии

Тип структур, хранящихся в массиве ucBuffer , зависит от набора OID и запроса. Например, при запросе OID_DOT11_ENUM_BSS_LIST драйвер мини-порта сохраняет одну или несколько DOT11_BSS_ENTRY структур в массиве ucBuffer .

При запросе OID, использующего структуру DOT11_BYTE_ARRAY, драйвер мини-порта должен убедиться, что элемент InformationBuffer параметра OidRequest функции MiniportOidRequest достаточно велик, чтобы вернуть всю структуру, включая все записи в массиве ucBuffer. Значение элемента InformationBufferLength параметра OidRequest определяет, что должен делать драйвер мини-порта, как показано в следующем списке:

  • Если значение элемента InformationBufferLength меньше длины (в байтах) всей структуры DOT11_BYTE_ARRAY, драйвер мини-порта должен выполнить следующие действия:
    • Для параметра OidRequest задайте для элемента BytesWritten нулевое значение, а для элемента BytesNeeded — длину всей структуры DOT11_BYTE_ARRAY в байтах.
    • Завершите запрос, возвращая NDIS_STATUS_BUFFER_OVERFLOW из функции MiniportOidRequest .
  • Если значение элемента InformationBufferLength больше или равно длине (в байтах) всей структуры DOT11_BYTE_ARRAY, драйвер мини-порта должен выполнить следующие действия для успешного выполнения запроса:
    • Для структуры DOT11_BYTE_ARRAY задайте для элементов uNumOfBytes и uTotalNumOfBytes общее количество записей в массиве ucBuffer .
    • Для параметра OidRequest задайте для элемента BytesNeeded значение ноль, а для элемента BytesWritten — длину всей структуры DOT11_BYTE_ARRAY в байтах. Драйвер мини-порта также должен скопировать всю структуру DOT11_BYTE_ARRAY в элемент InformationBuffer .
    • Возвращает NDIS_STATUS_SUCCESS из функции MiniportOidRequest .

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Верхняя часть windot11.h (включая Ndis.h)

См. также раздел

OID_DOT11_CIPHER_KEY_MAPPING_KEY

OID_DOT11_ENUM_BSS_LIST

NDIS_OBJECT_HEADER