Méthode IWDFIoRequest2 ::Reuse (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 Reuse réinitialise un objet de demande d’infrastructure afin qu’il puisse être réutilisé.
Syntaxe
void Reuse(
[in] HRESULT hrNewStatus
);
Paramètres
[in] hrNewStatus
Valeur de status de type HRESULT que l’infrastructure affecte à la demande.
Valeur de retour
None
Remarques
Si un pilote basé sur l’infrastructure appelle IWDFDevice ::CreateRequest pour créer des objets de requête, le pilote peut réutiliser ces objets de requête. Les pilotes peuvent également réutiliser les objets de requête qu’ils reçoivent de l’infrastructure dans leurs files d’attente d’E/S.
Un pilote peut réutiliser un objet de requête une fois la demande d’origine terminée. Une fois qu’un pilote a appelé Réutilisation, le contenu de la demande doit être réinitialisé.
Si vous souhaitez que la demande réutilisée ait une fonction de rappel IRequestCallbackRequestCompletion ::OnCompletion , le pilote doit appeler IWDFIoRequest ::SetCompletionCallback après avoir appelé Reuse.
Pour plus d’informations sur la réutilisation, consultez Réutilisation d’objets de demande d’infrastructure.
Exemples
L’exemple de code suivant montre comment une fonction de rappel IRequestCallbackRequestCompletion ::OnCompletion peut obtenir l’interface IWDFIoRequest2 , puis appeler Reuse.
void
STDMETHODCALLTYPE
CMyRemoteDevice::OnCompletion(
__in IWDFIoRequest* FxRequest,
__in IWDFIoTarget* FxTarget,
__in IWDFRequestCompletionParams* Params,
__in void* Context
)
{
...
CComQIPtr<IWDFIoRequest2> fxRequest2(FxRequest);
fxRequest2->Reuse(S_OK);
...
}
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,9 |
En-tête | wudfddi.h (inclure Wudfddi.h) |
DLL | WUDFx.dll |