IWDFObject ::AssignContext, méthode (wudfddi.h)

[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.]

La méthode AssignContext inscrit un contexte et une fonction de rappel de nettoyage fournie par le pilote pour l’objet .

Syntaxe

HRESULT AssignContext(
  [in, optional] __drv_aliasesMem IObjectCleanup *pCleanupCallback,
  [in, optional] __drv_aliasesMem void           *pContext
);

Paramètres

[in, optional] pCleanupCallback

Pointeur vers l’interface IObjectCleanup qui contient la fonction de rappel de nettoyage, qui effectue des opérations de nettoyage pour l’objet s’il devient non valide. Ce paramètre est facultatif. Le pilote peut passer la valeur NULL si le pilote ne nécessite pas de notification lorsque l’objet est nettoyé.

[in, optional] pContext

Pointeur vers le contexte à inscrire. NULL est un contexte valide.

Valeur retournée

AssignContext retourne S_OK si l’opération réussit. Sinon, cette méthode retourne l’un des codes d’erreur définis dans Winerror.h.

Remarques

Un pilote appelle AssignContext pour inscrire un contexte et demander une notification lorsque l’objet devient non valide. Dans un appel AssignContext , le pilote passe un pointeur vers l’interface IObjectCleanup dans le paramètre pCleanupCallback pour inscrire IObjectCleanup. Notez que l’infrastructure contient en interne une référence à l’interface IObjectCleanup fournie pendant que l’objet est valide. Lorsque l’objet devient non valide, le framework appelle la méthode IObjectCleanup ::OnCleanup pour avertir le pilote. Le framework libère automatiquement la référence au IObjectCleanup fourni après avoir appelé IObjectCleanup ::OnCleanup.

À un moment donné, un seul contexte associé à chaque objet instance peut exister. Les tentatives d’inscription de contextes supplémentaires échouent.

Un contexte ne peut être associé qu’à un objet dans un état valide. Par exemple, une tentative d’association d’un contexte à un objet en cours de suppression échoue.

Étant donné que le contexte n’est pas une interface COM (Component Object Model), le pilote ne doit pas traiter le contexte comme tel. Par exemple, le pilote ne peut pas appeler la méthode AddRef sur le contexte.

La méthode IWDFObject ::RetrieveContext peut être utilisée pour récupérer le contexte précédemment inscrit via AssignContext.

Exemples

Pour obtenir un exemple de code montrant comment utiliser la méthode AssignContext , consultez IWDFIoTarget ::FormatRequestForWrite.

Configuration requise

Condition requise Valeur
Fin de la prise en charge Non disponible dans UMDF 2.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
Version UMDF minimale 1.5
En-tête wudfddi.h (inclure Wudfddi.h)
DLL WUDFx.dll

Voir aussi

IObjectCleanup

IObjectCleanup ::OnCleanup

IWDFObject

IWDFObject ::RetrieveContext