Compartilhar via


estrutura DOT11_BYTE_ARRAY (windot11.h)

Importante

WiFiCx é o novo modelo de driver Wi-Fi lançado no Windows 11. Recomendamos que você use o WiFiCx para aproveitar os recursos mais recentes. O modelo de driver WDI agora está no modo de manutenção e receberá apenas correções de alta prioridade.

A estrutura DOT11_BYTE_ARRAY precede uma lista de estruturas de comprimento variável no membro InformationBuffer do parâmetro MiniportOidRequest da função OidRequest.

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 miniporto deve definir os membros do 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 de DOT11_BYTE_ARRAY. Para obter mais informações sobre a revisão dessas estruturas, consulte os OIDS (identificadores de objeto) listados na seção "Veja 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 de ucBuffer.

uTotalNumOfBytes

O número máximo de bytes que a ucBuffer matriz requer.

ucBuffer[1]

A lista de estruturas de comprimento variável.

Observações

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

Quando consultado por um OID que usa a estrutura DOT11_BYTE_ARRAY, o driver de miniporto deve verificar se o InformationBuffer membro do miniportOidRequest parâmetro da função OidRequest é grande o suficiente para retornar toda a estrutura, incluindo todas as entradas na matriz ucBuffer. O valor do InformationBufferLength membro 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 de 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 ao comprimento, em bytes, de toda a estrutura DOT11_BYTE_ARRAY
    • Fail the query request by returning NDIS_STATUS_BUFFER_OVERFLOW from its MiniportOidRequest function.
  • Se o valor do membro InformationBufferLength for maior ou igual ao comprimento, em bytes, de toda a estrutura de DOT11_BYTE_ARRAY, o driver de miniporto deverá fazer o seguinte para concluir uma solicitação de consulta bem-sucedida:
    • Para a estrutura de DOT11_BYTE_ARRAY, defina o uNumOfBytes e membros uTotalNumOfBytes para o número total de entradas na matriz ucBuffer.
    • Para o parâmetro OidRequest, defina o membro BytesNeeded como zero e o membro BytesWritten ao comprimento, em bytes, de toda a estrutura DOT11_BYTE_ARRAY. O driver de miniporto também deve copiar toda a estrutura de DOT11_BYTE_ARRAY para o membro do InformationBuffer.
    • Retorne NDIS_STATUS_SUCCESS de sua função MiniportOidRequest.

Requisitos

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

Consulte também

OID_DOT11_CIPHER_KEY_MAPPING_KEY

OID_DOT11_ENUM_BSS_LIST

NDIS_OBJECT_HEADER