структура DOT11_BYTE_ARRAY (windot11.h)
Синтаксис
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) |