Partager via


IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL (bthioctl.h)

La requête IOCTL_BTH_SDP_ATTRIBUTE_SEARCH obtient les attributs de l’enregistrement SDP spécifié.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Le membre AssociatedIrp.SystemBuffer contient un BTH_SDP_ATTRIBUTE_SEARCH_REQUEST structure qui spécifie la plage d’attributs des ordinateurs distants à rechercher ainsi que d’autres membres clés.

Longueur de la mémoire tampon d’entrée

Longueur d’un BTH_SDP_ATTRIBUTE_SEARCH_REQUEST structure.

Mémoire tampon de sortie

Le membre AssociatedIrp.SystemBuffer pointe vers une mémoire tampon qui contient une structure BTH_SDP_STREAM_RESPONSE suivie d’un flux SDP brut de longueur variable.

Longueur de la mémoire tampon de sortie

Longueur d’une structure BTH_SDP_STREAM_RESPONSE .

Bloc d’état

Si la demande réussit, le membre Information de la structure STATUS_BLOCK est défini sur la taille, en octets, du BTH_SDP_STREAM_RESPONSE ou de la taille de la mémoire tampon de sortie, selon la plus petite des deux. Sinon, le membre Information est défini sur zéro.

Le membre Status est défini sur l’une des valeurs du tableau suivant.

Valeur d’état Description
STATUS_SUCCESS Le IOCTL s’est terminé avec succès.
STATUS_DEVICE_NOT_CONNECTED L’appareil sur lequel réside le service SDP n’était pas connecté.
STATUS_INSUFFICIENT_RESOURCES La mémoire n’était pas suffisante pour effectuer cette opération.
STATUS_INVALID_BUFFER_SIZE La mémoire tampon de sortie a été correctement dimensionnée.
STATUS_INVALID_PARAMETER L’une des valeurs de la mémoire tampon d’entrée n’était pas valide.
STATUS_REQUEST_NOT_ACCEPTED Le service SDP a rejeté la demande.
STATUS_TOO_MANY_GUIDS_REQUESTED Le service SDP n’a pas pu traiter le nombre de GUID passés dans la mémoire tampon d’entrée.

Remarques

Dans la plupart des cas, les pilotes de profil peuvent combiner le service SDP et les recherches d’attributs en appelant le IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH IOCTL. Si un pilote de profil doit réduire la quantité de trafic SDP transmis via la liaison Bluetooth ou extraire des informations du serveur SDP à l’aide d’un petit nombre d’unités de transfert de messages (MTU), le pilote de profil doit appeler le IOCTL_BTH_SDP_SERVICE_SEARCH IOCTL pour effectuer une recherche de service. Le pilote de profil doit ensuite appeler le IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL pour effectuer une recherche d’attribut.

La structure BTH_SDP_STREAM_RESPONSE retournée dans la mémoire tampon de sortie contient des informations sur la taille de l’enregistrement SDP entier, la taille, en octets, du flux d’enregistrement SDP brut qui suit la structure BTH_SDP_STREAM_RESPONSE et le premier octet de ce flux. Le flux de longueur variable est les attributs d’enregistrement SDP retournés par la recherche.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Versions :_Supported dans Windows Vista et versions ultérieures.
En-tête bthioctl.h (inclure Bthioctl.h)
IRQL <= PASSIVE_LEVEL

Voir aussi

BTH_SDP_ATTRIBUTE_SEARCH_REQUEST

BTH_SDP_STREAM_RESPONSE

IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH

IOCTL_BTH_SDP_SERVICE_SEARCH