Partager via


IWDFDriver ::CreateWdfObject, méthode (wudfddi.h)

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

La méthode CreateWdfObject crée un objet WDF personnalisé (ou utilisateur) à partir d’un objet WDF parent.

Syntaxe

HRESULT CreateWdfObject(
  [in, optional] IUnknown   *pCallbackInterface,
  [in, optional] IWDFObject *pParentObject,
  [out]          IWDFObject **ppWdfObject
);

Paramètres

[in, optional] pCallbackInterface

Pointeur vers l’interface IUnknown utilisée par l’infrastructure pour déterminer les fonctions de rappel d’événements liées à l’objet auxquelles le pilote s’abonne sur l’objet personnalisé nouvellement créé. Ce paramètre est facultatif. Le pilote peut passer NULL si le pilote n’a pas besoin de notification. Si le pilote transmet un pointeur valide, l’infrastructure appelle QueryInterface sur l’interface IUnknown pour l’interface IObjectCleanup. Si l’infrastructure obtient l’interface IObjectCleanup du pilote, l’infrastructure peut ensuite appeler la méthode IObjectCleanup ::OnCleanup du pilote pour avertir le pilote que l’objet personnalisé est nettoyé.

[in, optional] pParentObject

Pointeur vers l’interface IWDFObject pour l’objet WDF parent. Si NULL, l’objet pilote devient le parent par défaut.

[out] ppWdfObject

Pointeur vers une mémoire tampon qui reçoit un pointeur vers l’interface IWDFObject pour l’objet WDF nouvellement créé.

Valeur de retour

CreateWdfObject 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

Le pilote peut appeler CreateWdfObject pour créer un objet de base framework général pour son propre utilisation. Le pilote peut associer la mémoire contextuelle, affecter un objet parent et inscrire une interface IObjectCleanup. L’infrastructure appelle ensuite la méthode IObjectCleanup ::OnCleanup pour nettoyer l’objet enfant.

Si aucun objet parent n’est spécifié au paramètre pParentObject, le pilote devient le parent par défaut. Par conséquent, lorsque l’objet de pilote est supprimé, l’infrastructure nettoie l’objet enfant.

Si un objet parent est affecté, l’objet enfant est supprimé lorsque l’objet parent est supprimé. En d’autres termes, la durée de vie d’un objet enfant est délimitée dans celle du parent.

Si le pilote doit nettoyer l’objet enfant avant la suppression de l’objet parent, le pilote peut appeler la méthode IWDFObject ::D eleteWdfObject.

Exigences

Exigence Valeur
fin du support Indisponible dans UMDF 2.0 et versions ultérieures.
plateforme cible Bureau
version minimale de UMDF 1.5
d’en-tête wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Voir aussi

IObjectCleanup

IObjectCleanup ::OnCleanup

IWDFDriver

IWDFObject

IWDFObject ::D eleteWdfObject