структура 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) |