Compartilhar via


estrutura DOT11_BYTE_ARRAY (windot11.h)

Importante A interface lan sem fio Native 802.11 foi preterida no Windows 10 e posterior. Em vez disso, use a WDI (Interface de Driver de Dispositivo) da WLAN. Para obter mais informações sobre o WDI, consulte Modelo de driver universal do Windows da WLAN.
 
A estrutura DOT11_BYTE_ARRAY precede uma lista de estruturas de comprimento variável no membro InformationBuffer do parâmetro OidRequest da função MiniportOidRequest.

Sintaxe

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

Membros

Header

O tipo, a revisão e o tamanho da estrutura DOT11_BYTE_ARRAY. Esse membro é formatado como uma estrutura NDIS_OBJECT_HEADER .

O driver de miniporta deve definir os membros de Header para os seguintes valores:

Tipo

Esse membro deve ser definido como NDIS_OBJECT_TYPE_DEFAULT.

Revisão

Esse membro deve ser definido como a revisão das estruturas de comprimento variável que seguem a estrutura DOT11_BYTE_ARRAY. Para obter mais informações sobre a revisão dessas estruturas, consulte os identificadores de objeto (OIDS) listados na seção "Consulte também".

Tamanho

Esse membro deve ser definido como sizeof(DOT11_BYTE_ARRAY).

Para obter mais informações sobre esses membros, consulte NDIS_OBJECT_HEADER.

uNumOfBytes

O número de bytes na matriz ucBuffer .

uTotalNumOfBytes

O número máximo de bytes exigidos pela matriz ucBuffer .

ucBuffer[1]

A lista de estruturas de comprimento variável.

Comentários

O tipo de estruturas armazenadas na matriz ucBuffer depende do conjunto de OID e da solicitação de consulta. Por exemplo, quando consultado por OID_DOT11_ENUM_BSS_LIST, um driver de miniporta armazena uma ou mais estruturas DOT11_BSS_ENTRY na matriz ucBuffer .

Quando consultado por um OID que usa a estrutura DOT11_BYTE_ARRAY, o driver de miniporto deve verificar se o membro InformationBuffer do parâmetro OidRequest da função MiniportOidRequest é grande o suficiente para retornar toda a estrutura, incluindo todas as entradas na matriz ucBuffer. O valor do membro InformationBufferLength do parâmetro OidRequest determina o que o driver de miniporto deve fazer, como mostra a lista a seguir:

  • Se o valor do membro InformationBufferLength for menor que o comprimento, em bytes, de toda a estrutura DOT11_BYTE_ARRAY, o driver de miniporto deverá fazer o seguinte:
    • Para o parâmetro OidRequest , defina o membro BytesWritten como zero e o membro BytesNeeded para o comprimento, em bytes, de toda a estrutura DOT11_BYTE_ARRAY
    • Falha na solicitação de consulta retornando NDIS_STATUS_BUFFER_OVERFLOW de sua função MiniportOidRequest .
  • Se o valor do membro InformationBufferLength for maior ou igual ao comprimento, em bytes, de toda a estrutura DOT11_BYTE_ARRAY, o driver de miniporto deverá fazer o seguinte para concluir uma solicitação de consulta bem-sucedida:
    • Para a estrutura DOT11_BYTE_ARRAY, defina os membros uNumOfBytes e uTotalNumOfBytes como o número total de entradas na matriz ucBuffer .
    • Para o parâmetro OidRequest , defina o membro BytesNeeded como zero e o membro BytesWritten para o comprimento, em bytes, de toda a estrutura DOT11_BYTE_ARRAY. O driver de miniporta também deve copiar toda a estrutura DOT11_BYTE_ARRAY para o membro InformationBuffer .
    • Retorne NDIS_STATUS_SUCCESS de sua função MiniportOidRequest .

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
Cabeçalho windot11.h (inclua Ndis.h)

Confira também

OID_DOT11_CIPHER_KEY_MAPPING_KEY

OID_DOT11_ENUM_BSS_LIST

NDIS_OBJECT_HEADER