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) |