estrutura DOT11_BYTE_ARRAY (windot11.h)
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) |