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


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

Важный

WiFiCx — это новая модель драйвера Wi-Fi, выпущенная в Windows 11. Мы рекомендуем использовать WiFiCx для использования новейших функций. Модель драйвера WDI теперь находится в режиме обслуживания и получит только исправления с высоким приоритетом.

Структура DOT11_BYTE_ARRAY предшествует списку структур переменной длины в элементе InformationBuffer элемента функции MiniportOidRequest параметра OidRequest.

Синтаксис

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.

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

Тип

Этот элемент должен иметь значение NDIS_OBJECT_TYPE_DEFAULT.

Пересмотр

Этот элемент должен быть установлен на редакцию структур переменной длины, которые соответствуют DOT11_BYTE_ARRAY структуре. Дополнительные сведения о редакции этих структур см. в разделе "См. также".

Размер

Этот элемент должен иметь значение 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 члена функции MiniportOidRequestOidRequest параметр достаточно велик, чтобы вернуть всю структуру, включая все записи в массиве ucBuffer. Значение элемента InformationBufferLength параметра OidRequest определяет, что должен сделать драйвер минипорта, как показано в следующем списке:

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows Vista и более поздних версиях операционных систем Windows.
заголовка windot11.h (include Ndis.h)

См. также

OID_DOT11_CIPHER_KEY_MAPPING_KEY

OID_DOT11_ENUM_BSS_LIST

NDIS_OBJECT_HEADER