Réutilisation d’objets de requête d’infrastructure dans UMDF
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.
Les exemples UMDF 1 archivés sont disponibles dans la mise à jour des exemples de pilotes Windows 11, version 22H2 - Mai 2022.
Pour plus d’informations, consultez Prise en main avec UMDF.
Pour améliorer les performances des pilotes, les pilotes basés sur l’infrastructure qui créent et envoient de nombreuses requêtes asynchrones presque identiques à une cible d’E/S peuvent réutiliser des objets de requête au lieu de créer un objet de requête pour chaque requête. Un pilote peut réutiliser un objet de requête une fois la demande terminée.
Si un pilote a créé un objet de requête en appelant IWDFDevice::CreateRequest, il peut réutiliser la demande en appelant IWDFIoRequest2::Reuse. Un pilote peut également réutiliser les objets de requête qu’il a reçus de l’infrastructure dans ses files d’attente d’E/S.
Si votre pilote fournit une fonction de rappel IRequestCallbackRequestCompletion::OnCompletion pour un objet de demande qu’il réutilise, le pilote doit appeler IWDFIoRequest::SetCompletionCallback après avoir appelé Reuse.