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