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