Partager via


structure DOT11_BYTE_ARRAY (windot11.h)

Important L’interface LAN sans fil Native 802.11 est déconseillée dans Windows 10 et versions ultérieures. Utilisez plutôt l’interface WDI (WLAN Device Driver Interface). Pour plus d’informations sur WDI, consultez Modèle de pilote Windows universel WLAN.
 
La structure DOT11_BYTE_ARRAY précède une liste de structures de longueur variable dans le membre InformationBuffer du paramètre OidRequest de la fonction MiniportOidRequest.

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)

Voir aussi

OID_DOT11_CIPHER_KEY_MAPPING_KEY

OID_DOT11_ENUM_BSS_LIST

NDIS_OBJECT_HEADER