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

Voir aussi

IRequestCallbackRequestCompletion ::OnCompletion

IWDFIoRequest2

IWDFIoRequest ::SetCompletionCallback