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