structure DOT11_BYTE_ARRAY (windot11.h)
Syntaxe
typedef struct DOT11_BYTE_ARRAY {
NDIS_OBJECT_HEADER Header;
ULONG uNumOfBytes;
ULONG uTotalNumOfBytes;
UCHAR ucBuffer[1];
} DOT11_BYTE_ARRAY, *PDOT11_BYTE_ARRAY;
Membres
Header
Type, révision et taille de la structure DOT11_BYTE_ARRAY. Ce membre est mis en forme en tant que structure NDIS_OBJECT_HEADER .
Le pilote miniport doit définir les membres de Header sur les valeurs suivantes :
Type
Ce membre doit être défini sur NDIS_OBJECT_TYPE_DEFAULT.
Révision
Ce membre doit être défini sur la révision des structures de longueur variable qui suivent la structure DOT11_BYTE_ARRAY. Pour plus d’informations sur la révision de ces structures, reportez-vous aux identificateurs d’objets (OIDS) répertoriés dans la section « Voir aussi ».
Taille
Ce membre doit être défini sur sizeof(DOT11_BYTE_ARRAY).
Pour plus d’informations sur ces membres, consultez NDIS_OBJECT_HEADER.
uNumOfBytes
Nombre d’octets dans le tableau ucBuffer .
uTotalNumOfBytes
Nombre maximal d’octets requis par le tableau ucBuffer .
ucBuffer[1]
Liste des structures de longueur variable.
Remarques
Le type de structures stockées dans le tableau ucBuffer dépend du jeu OID et de la requête. Par exemple, lorsqu’il est interrogé par OID_DOT11_ENUM_BSS_LIST, un pilote miniport stocke une ou plusieurs structures DOT11_BSS_ENTRY dans le tableau ucBuffer .
Lorsqu’il est interrogé par un OID qui utilise la structure DOT11_BYTE_ARRAY, le pilote miniport doit vérifier que le membre InformationBuffer du paramètre OidRequest de la fonction MiniportOidRequest est suffisamment grand pour renvoyer la structure entière, y compris toutes les entrées du tableau ucBuffer. La valeur du membre InformationBufferLength du paramètre OidRequest détermine ce que le pilote miniport doit faire, comme le montre la liste suivante :
-
Si la valeur du membre InformationBufferLength est inférieure à la longueur, en octets, de l’ensemble de la structure DOT11_BYTE_ARRAY, le pilote miniport doit effectuer les opérations suivantes :
- Pour le paramètre OidRequest , définissez le membre BytesWritten sur zéro et le membre BytesNeeded sur la longueur, en octets, de la structure DOT11_BYTE_ARRAY entière
- Échec de la requête en retournant NDIS_STATUS_BUFFER_OVERFLOW à partir de sa fonction MiniportOidRequest .
-
Si la valeur du membre InformationBufferLength est supérieure ou égale à la longueur, en octets, de l’ensemble de la structure DOT11_BYTE_ARRAY, le pilote miniport doit effectuer les opérations suivantes pour effectuer une demande de requête réussie :
- Pour la structure DOT11_BYTE_ARRAY, définissez les membres uNumOfBytes et uTotalNumOfBytes sur le nombre total d’entrées dans le tableau ucBuffer .
- Pour le paramètre OidRequest , définissez le membre BytesNeeded sur zéro et le membre BytesWritten sur la longueur, en octets, de la structure DOT11_BYTE_ARRAY entière. Le pilote miniport doit également copier l’intégralité de la structure DOT11_BYTE_ARRAY dans le membre InformationBuffer .
- Retourne NDIS_STATUS_SUCCESS à partir de sa fonction MiniportOidRequest .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et les versions ultérieures des systèmes d’exploitation Windows. |
En-tête | windot11.h (inclure Ndis.h) |