Partager via


Méthode IFunctionDiscoveryNotification ::OnError (functiondiscoveryapi.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.]

Reçoit des erreurs qui se produisent pendant le traitement asynchrone des requêtes.

Syntaxe

HRESULT OnError(
  [in] HRESULT        hr,
  [in] FDQUERYCONTEXT fdqcQueryContext,
  [in] const WCHAR    *pszProvider
);

Paramètres

[in] hr

Erreur de requête signalée.

[in] fdqcQueryContext

Contexte inscrit pour la notification de modification. Le type FDQUERYCONTEXT est défini en tant que DWORDLONG.

[in] pszProvider

Nom du fournisseur.

Valeur retournée

L’implémentation de la méthode OnError par le programme client doit retourner l’une des valeurs HRESULT suivantes à l’appelant.

Code de retour Description
S_OK
La commande s'est correctement terminée.
E_INVALIDARG
La valeur de l’un des paramètres d’entrée n’est pas valide.

Remarques

En règle générale, les clients s’attendent à ce que toute erreur asynchrone soit irrécupérable et que la requête cesse de retourner des résultats, mais la documentation du fournisseur personnalisé peut indiquer le contraire pour des codes d’erreur spécifiques.

N’appelez pas Release sur l’objet de requête à partir de cette méthode. Cela pourrait entraîner un interblocage. Si Release est appelé sur un objet de requête à partir d’un autre thread alors qu’un rappel est en cours, l’objet n’est pas libéré tant que le rappel n’est pas terminé.

Toutes les notifications transmises à la découverte de fonction par les fournisseurs sont mises en file d’attente et retournées au client une par une. Les rappels sont synchronisés afin qu’un client ne reçoive qu’une seule notification à la fois.

Étant donné que d’autres appels de méthode IFunctionDiscoveryNotification peuvent être effectués dans d’autres threads, toutes les modifications apportées à l’état du thread pendant l’appel doivent être restaurées avant de quitter la méthode.

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 functiondiscoveryapi.h

Voir aussi

IFunctionDiscoveryNotification