IFunctionDiscoveryProvider ::Query, méthode (functiondiscoveryprovider.h)
[La découverte de fonctions peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il peut être modifié ou indisponible dans les versions suivantes.]
Récupère une collection d’instances de fonction qui répondent aux contraintes spécifiées.
Syntaxe
HRESULT Query(
[in] IFunctionDiscoveryProviderQuery *pIFunctionDiscoveryProviderQuery,
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
Paramètres
[in] pIFunctionDiscoveryProviderQuery
Pointeur vers une interface IFunctionDiscoveryProviderQuery qui contient des paramètres qui définissent les critères de requête.
[out] ppIFunctionInstanceCollection
Pointeur vers une interface IFunctionInstanceCollection que le fournisseur doit utiliser pour retourner des instances de fonction de façon synchrone en réponse à la requête donnée.
Lorsque vous implémentez la méthode Query , vous pouvez définir ce paramètre sur NULL si votre fournisseur prend en charge les notifications, c’est-à-dire que votre fournisseur retourne des résultats de façon asynchrone. Les résultats asynchrones doivent être retournés à l’aide de l’interface IFunctionDiscoveryNotification passée à la méthode Initialize du fournisseur.
Si l’application cliente n’a pas implémenté de notifications, elle peut passer un paramètre NULL .
Valeur retournée
Les valeurs de retour possibles incluent, sans s’y limiter, les éléments suivants.
Code de retour | Description |
---|---|
|
La méthode s’est terminée correctement et les résultats sont retournés de manière synchrone. |
|
Le paramètre pIFunctionDiscoveryProviderQuery est NULL. |
|
La méthode s’est terminée correctement et les résultats sont retournés de manière asynchrone. |
Remarques
Une requête active est terminée par la découverte de fonction avec un appel à la méthode EndQuery . Notez que EndQuery est appelé uniquement si le client a spécifié une interface IFunctionDiscoveryNotification pour la requête. Si un IFunctionDiscoveryNotification n’a pas été fourni, la requête doit être considérée comme terminée par le fournisseur une fois l’appel de requête terminé.
Un client peut réexécutar une requête à tout moment après le retour de l’appel de requête précédent. L’implémentation de Query doit être en mesure de retourner un IFunctionInstanceCollection pour la nouvelle requête. EndQuery est appelé uniquement avant un appel de requête suivant lorsqu’un client a passé une interface IFunctionDiscoveryNotification passée à la méthode Initialize du fournisseur.
Si query retourne E_PENDING, le fournisseur doit appeler la méthode OnEvent de l’interface IFunctionDiscoveryNotification avec FD_EVENTID_SEARCHCOMPLETE pour indiquer que l’énumération des résultats est terminée. L’échec de l’envoi de l’événement FD_EVENTID_SEARCHCOMPLETE peut entraîner la suspension indéfinie des clients
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | functiondiscoveryprovider.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour