Freigeben über


IOCTL_BTH_GET_DEVICE_INFO IOCTL (bthioctl.h)

Die IOCTL_BTH_GET_DEVICE_INFO-Anforderung gibt Informationen zu allen zwischengespeicherten, zuvor entdeckten Remoteradios zurück, die Bluetooth-fähig sind.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Der AssociatedIrp.SystemBuffer Member verweist auf einen Puffer für eine BTH_DEVICE_INFO_LIST Struktur.

Eingabepufferlänge

Die Länge einer BTH_DEVICE_INFO_LIST-Struktur

Ausgabepuffer

Der AssociatedIrp.SystemBuffer Member verweist auf einen Puffer, der eine BTH_DEVICE_INFO_LIST Struktur enthält. Die numOfDevices Mitglied der BTH_DEVICE_INFO_LIST-Struktur enthält die Anzahl der Geräte, für die Informationen und ein Array von BTH_DEVICE_INFO Strukturen vorhanden sind; ein Arrayeintrag für jedes Gerät.

Länge des Ausgabepuffers

Wenn die Größe des übergebenen Ausgabepuffers nicht genau sizeof(BTH_DEVICE_INFO_LIST) und das richtige Vielfache von sizeof(BTH_DEVICE_INFO)ist, schlägt die Anforderung mit STATUS_INVALID_BUFFER_SIZE fehl.

Statusblock

Wenn die Anforderung erfolgreich ist, wird das Information Member der STATUS_BLOCK Struktur auf die Größe des Puffers festgelegt, der Informationen über das Array von Geräten enthält. Die BTH_DEVICE_INFO_LIST-Struktur enthält Speicher für die erste BTH_DEVICE_INFO Struktur. Wenn also keine Geräte zurückgegeben werden, wird das Information Member auf die Größe der ersten Struktur festgelegt.

Der Status Member wird auf einen der Werte in der folgenden Tabelle festgelegt.

Statuswert Beschreibung
STATUS_SUCCESS Die IOCTL wurde erfolgreich abgeschlossen.
STATUS_INVALID_PARAMETER Der übergebene Eingabepuffer war NULL-.
STATUS_INVALID_BUFFER_SIZE Der Ausgabepuffer wurde nicht ordnungsgemäß angepasst.

Bemerkungen

Die IOCTL_BTH_GET_DEVICE_INFO IOCTL liefert Informationen zu allen zuvor entdeckten Remotefunkgeräten.

Das numOfDevices- Mitglied der BTH_DEVICE_INFO_LIST-Struktur gibt die Gesamtanzahl der BTH_DEVICE_INFO Strukturen zurück, die von der IOCTL zurückgegeben werden. Wenn der aufrufende Treiber einen Puffer übergibt, der kleiner als der Wert des numOfDevices Member ist, wird nur ein Teil der verfügbaren Strukturen zurückgegeben. Bluetooth-Treiberentwickler sollten zuerst IOCTL_BTH_GET_DEVICE_INFO mit einem kleinen Puffer aufrufen, z. B. sizeof(BTH_DEVICE_INFO_LIST), und dann die zurückgegebenen numOfDevices Member verwenden, um den Puffer für einen nachfolgenden Aufruf korrekt zu formatieren.

Die BTH_DEVICE_INFO_LIST-Struktur enthält Speicher für die erste BTH_DEVICE_INFO Struktur. Verwenden Sie die folgende Formel, um die richtige Puffergröße für einen Aufruf von IOCTL_BTH_GET_DEVICE_INFO zu berechnen: Buffer=sizeof(BTH_DEVICE_INFO_LIST)+(NumOfDevices-1)*sizeof(BTH_DEVICE_INFO).

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Versionen:_Supported in Windows Vista und höher.
Header- bthioctl.h (include Bthioctl.h)
IRQL- <= PASSIVE_LEVEL

Siehe auch

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST