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
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 |