IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL (bthioctl.h)
Die IOCTL_BTH_SDP_ATTRIBUTE_SEARCH Anforderung ruft Attribute für den angegebenen SDP-Eintrag ab.
Hauptcode
Eingabepuffer
Das AssociatedIrp.SystemBuffer Member enthält einen BTH_SDP_ATTRIBUTE_SEARCH_REQUEST Struktur, die den Remotecomputerbereich von Attributen angibt, die durchsucht werden sollen, sowie andere Schlüsselmber.
Eingabepufferlänge
Die Länge eines BTH_SDP_ATTRIBUTE_SEARCH_REQUEST Struktur.
Ausgabepuffer
Der AssociatedIrp.SystemBuffer Member verweist auf einen Puffer, der eine BTH_SDP_STREAM_RESPONSE Struktur enthält, auf die ein unformatierter SDP-Datenstrom mit variabler Länge folgt.
Länge des Ausgabepuffers
Die Länge einer BTH_SDP_STREAM_RESPONSE Struktur.
Statusblock
Wenn die Anforderung erfolgreich ist, wird das Information Element der STATUS_BLOCK Struktur auf die Größe des BTH_SDP_STREAM_RESPONSE oder der Größe des Ausgabepuffers festgelegt, je nachdem, welcher Wert kleiner ist. Andernfalls wird der Information Member auf Null festgelegt.
Der Status Member wird auf einen der Werte in der folgenden Tabelle festgelegt.
Statuswert | Beschreibung |
---|---|
STATUS_SUCCESS | Die IOCTL wurde erfolgreich abgeschlossen. |
STATUS_DEVICE_NOT_CONNECTED | Das Gerät, auf dem sich der SDP-Dienst befindet, war nicht verbunden. |
STATUS_INSUFFICIENT_RESOURCES | Es war nicht genügend Arbeitsspeicher vorhanden, um diesen Vorgang abzuschließen. |
STATUS_INVALID_BUFFER_SIZE | Der Ausgabepuffer wurde falsch angepasst. |
STATUS_INVALID_PARAMETER | Einer der Werte im Eingabepuffer war ungültig. |
STATUS_REQUEST_NOT_ACCEPTED | Der SDP-Dienst hat die Anforderung abgelehnt. |
STATUS_TOO_MANY_GUIDS_REQUESTED | Der SDP-Dienst konnte die Anzahl der im Eingabepuffer übergebenen GUIDs nicht verarbeiten. |
Bemerkungen
In den meisten Fällen können Profiltreiber SDP-Dienst- und Attributsuchen kombinieren, indem sie die IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH IOCTL. Wenn ein Profiltreiber die Menge des SDP-Datenverkehrs reduzieren muss, der über die Bluetooth-Verbindung übertragen wird, oder informationen vom SDP-Server mithilfe einer kleinen Anzahl von Nachrichtenübertragungseinheiten (Message Transfer Units, MTUs) extrahieren muss, sollte der Profiltreiber die IOCTL_BTH_SDP_SERVICE_SEARCH IOCTL, um eine Dienstsuche auszuführen. Der Profiltreiber sollte dann die IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL aufrufen, um eine Attributsuche auszuführen.
Die im Ausgabepuffer zurückgegebene BTH_SDP_STREAM_RESPONSE Struktur enthält Informationen über die Größe des gesamten SDP-Datensatzes, die Größe des unformatierten SDP-Datensatzdatenstroms, der auf die BTH_SDP_STREAM_RESPONSE Struktur folgt, und das erste Byte dieses Datenstroms. Der Datenstrom mit variabler Länge ist die SDP-Datensatzattribute, die von der Suche zurückgegeben werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Versionen:_Supported in Windows Vista und höher. |
Header- | bthioctl.h (include Bthioctl.h) |
IRQL- | <= PASSIVE_LEVEL |