DOT11_BYTE_ARRAY-Struktur (windot11.h)

Wichtig Die native WLAN-Schnittstelle 802.11 ist in Windows 10 und höher veraltet. Verwenden Sie stattdessen die WLAN Device Driver Interface (WDI). Weitere Informationen zu WDI finden Sie unter Wlan Universal Windows driver model.
 
Die DOT11_BYTE_ARRAY-Struktur geht einer Liste von Strukturen variabler Länge im InformationBuffer-Member des OidRequest-Parameters der MiniportOidRequest-Funktion voran.

Syntax

typedef struct DOT11_BYTE_ARRAY {
  NDIS_OBJECT_HEADER Header;
  ULONG              uNumOfBytes;
  ULONG              uTotalNumOfBytes;
  UCHAR              ucBuffer[1];
} DOT11_BYTE_ARRAY, *PDOT11_BYTE_ARRAY;

Member

Header

Typ, Revision und Größe der DOT11_BYTE_ARRAY-Struktur. Dieser Member ist als NDIS_OBJECT_HEADER-Struktur formatiert.

Der Miniporttreiber muss die Member von Header auf die folgenden Werte festlegen:

Typ

Dieser Member muss auf NDIS_OBJECT_TYPE_DEFAULT festgelegt werden.

Revision

Dieser Member muss auf die Revision der Strukturen variabler Länge festgelegt werden, die der DOT11_BYTE_ARRAY-Struktur folgen. Weitere Informationen zur Überarbeitung dieser Strukturen finden Sie in den objektbezeichnern (OIDS), die im Abschnitt "Siehe auch" aufgeführt sind.

Size

Dieser Member muss auf sizeof(DOT11_BYTE_ARRAY) festgelegt werden.

Weitere Informationen zu diesen Membern finden Sie unter NDIS_OBJECT_HEADER.

uNumOfBytes

Die Anzahl der Bytes im ucBuffer-Array .

uTotalNumOfBytes

Die maximale Anzahl von Bytes, die das ucBuffer-Array benötigt.

ucBuffer[1]

Die Liste der Strukturen variabler Länge.

Hinweise

Der Typ der im ucBuffer-Array gespeicherten Strukturen hängt vom OID-Satz und der Abfrageanforderung ab. Wenn sie beispielsweise von OID_DOT11_ENUM_BSS_LIST abgefragt werden, speichert ein Miniporttreiber mindestens eine DOT11_BSS_ENTRY Strukturen im ucBuffer-Array .

Wenn er von einer OID abgefragt wird, die die DOT11_BYTE_ARRAY-Struktur verwendet, muss der Miniporttreiber überprüfen, ob der InformationBuffer-Member des OidRequest-Parameters der MiniportOidRequest-Funktion groß genug ist, um die gesamte Struktur einschließlich aller Einträge im ucBuffer-Array zurückzugeben. Der Wert des InformationBufferLength-Elements des OidRequest-Parameters bestimmt, was der Miniporttreiber tun muss, wie in der folgenden Liste gezeigt:

  • Wenn der Wert des InformationBufferLength-Elements kleiner als die Länge der gesamten DOT11_BYTE_ARRAY-Struktur in Bytes ist, muss der Miniporttreiber die folgenden Schritte ausführen:
    • Legen Sie für den OidRequest-Parameter das BytesWritten-Element auf 0 und das BytesNeeded-Element auf die Länge (in Bytes) der gesamten DOT11_BYTE_ARRAY-Struktur fest.
    • Führen Sie einen Fehler für die Abfrageanforderung durch Zurückgeben von NDIS_STATUS_BUFFER_OVERFLOW von der MiniportOidRequest-Funktion aus.
  • Wenn der Wert des InformationBufferLength-Elements größer oder gleich der Länge (in Byte) der gesamten DOT11_BYTE_ARRAY-Struktur ist, muss der Miniporttreiber die folgenden Schritte ausführen, um eine erfolgreiche Abfrageanforderung abzuschließen:
    • Legen Sie für die DOT11_BYTE_ARRAY-Struktur die Elemente uNumOfBytes und uTotalNumOfBytes auf die Gesamtzahl der Einträge im ucBuffer-Array fest.
    • Legen Sie für den OidRequest-Parameter das BytesNeeded-Element auf 0 und das BytesWritten-Element auf die Länge der gesamten DOT11_BYTE_ARRAY-Struktur in Bytes fest. Der Miniporttreiber muss auch die gesamte DOT11_BYTE_ARRAY-Struktur in den InformationBuffer-Member kopieren.
    • Gibt NDIS_STATUS_SUCCESS aus der MiniportOidRequest-Funktion zurück.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Kopfzeile windot11.h (include Ndis.h)

Weitere Informationen

OID_DOT11_CIPHER_KEY_MAPPING_KEY

OID_DOT11_ENUM_BSS_LIST

NDIS_OBJECT_HEADER