Partager via


IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL (bthioctl.h)

La requête IOCTL_BTH_SDP_ATTRIBUTE_SEARCH obtient des attributs pour 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 d’ordinateur distant à rechercher et d’autres membres clés.

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

Longueur d’un structure BTH_SDP_ATTRIBUTE_SEARCH_REQUEST.

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 requête réussit, l'Information membre de la structure STATUS_BLOCK est défini sur la taille, en octets, de l'BTH_SDP_STREAM_RESPONSE ou de la taille de la mémoire tampon de sortie, selon la valeur la plus petite. Dans le cas contraire, 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’a pas été connecté.
STATUS_INSUFFICIENT_RESOURCES Il n’y avait pas assez de mémoire pour terminer 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 le lien 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 pilote de profil 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’attributs.

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.

Exigences

Exigence Valeur
client minimum pris en charge Versions :_Supported dans Windows Vista et versions ultérieures.
d’en-tête bthioctl.h (include 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