Compartir a través de


estructura DOT11_BYTE_ARRAY (windot11.h)

Importante La interfaz LAN inalámbrica nativa 802.11 está en desuso en Windows 10 y versiones posteriores. En su lugar, use la interfaz del controlador de dispositivos WLAN (WDI). Para obtener más información sobre WDI, consulta Modelo de controlador universal de Windows WLAN.
 
La estructura DOT11_BYTE_ARRAY precede a una lista de estructuras de longitud variable en el miembro InformationBuffer del parámetro OidRequest de la función MiniportOidRequest.

Sintaxis

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

Miembros

Header

Tipo, revisión y tamaño de la estructura DOT11_BYTE_ARRAY. Este miembro tiene formato de estructura NDIS_OBJECT_HEADER .

El controlador de minipuerto debe establecer los miembros de Header en los valores siguientes:

Tipo

Este miembro debe establecerse en NDIS_OBJECT_TYPE_DEFAULT.

Revisión

Este miembro debe establecerse en la revisión de las estructuras de longitud variable que siguen la estructura de DOT11_BYTE_ARRAY. Para obtener más información sobre la revisión de estas estructuras, consulte los identificadores de objeto (OIDS) enumerados en la sección "Ver también".

Size

Este miembro debe establecerse en sizeof(DOT11_BYTE_ARRAY).

Para obtener más información sobre estos miembros, consulte NDIS_OBJECT_HEADER.

uNumOfBytes

Número de bytes de la matriz ucBuffer .

uTotalNumOfBytes

Número máximo de bytes que requiere la matriz ucBuffer .

ucBuffer[1]

Lista de estructuras de longitud variable.

Comentarios

El tipo de estructuras almacenadas en la matriz ucBuffer depende del conjunto de OID y la solicitud de consulta. Por ejemplo, cuando OID_DOT11_ENUM_BSS_LIST consulta, un controlador de minipuerto almacena una o varias estructuras de DOT11_BSS_ENTRY en la matriz ucBuffer .

Cuando se consulta mediante un OID que usa la estructura de DOT11_BYTE_ARRAY, el controlador de miniporte debe comprobar que el miembro InformationBuffer del parámetro OidRequest de la función MiniportOidRequest es lo suficientemente grande como para devolver toda la estructura, incluidas todas las entradas de la matriz ucBuffer. El valor del miembro InformationBufferLength del parámetro OidRequest determina lo que debe hacer el controlador de minipuerto, como se muestra en la lista siguiente:

  • Si el valor del miembro InformationBufferLength es menor que la longitud, en bytes, de toda la estructura de DOT11_BYTE_ARRAY, el controlador de miniporte debe hacer lo siguiente:
    • Para el parámetro OidRequest , establezca el miembro BytesWritten en cero y el miembro BytesNeeded en la longitud, en bytes, de toda la estructura DOT11_BYTE_ARRAY
    • Realice un error en la solicitud de consulta devolviendo NDIS_STATUS_BUFFER_OVERFLOW de su función MiniportOidRequest .
  • Si el valor del miembro InformationBufferLength es mayor o igual que la longitud, en bytes, de toda la estructura de DOT11_BYTE_ARRAY, el controlador de minipuerto debe hacer lo siguiente para completar una solicitud de consulta correcta:
    • Para la estructura de DOT11_BYTE_ARRAY, establezca los miembros uNumOfBytes y uTotalNumOfBytes en el número total de entradas de la matriz ucBuffer .
    • Para el parámetro OidRequest , establezca el miembro BytesNeeded en cero y el miembro BytesWritten en la longitud, en bytes, de toda la estructura DOT11_BYTE_ARRAY. El controlador de minipuerto también debe copiar toda la estructura de DOT11_BYTE_ARRAY en el miembro InformationBuffer .
    • Devuelve NDIS_STATUS_SUCCESS de su función MiniportOidRequest .

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
Encabezado windot11.h (incluye Ndis.h)

Consulte también

OID_DOT11_CIPHER_KEY_MAPPING_KEY

OID_DOT11_ENUM_BSS_LIST

NDIS_OBJECT_HEADER