Compartir a través de


Reutilización de objetos de solicitud de marco en UMDF

Advertencia

UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2.

Los ejemplos de UMDF 1 archivados se pueden encontrar en la Windows 11, versión 22H2 : actualización de ejemplos de controladores de mayo de 2022.

Para obtener más información, consulta Introducción con UMDF.

Para mejorar el rendimiento del controlador, los controladores basados en marcos que crean y envían muchas solicitudes asincrónicas casi idénticas a un destino de E/S pueden reutilizar objetos de solicitud en lugar de crear un nuevo objeto de solicitud para cada solicitud. Un controlador puede reutilizar un objeto de solicitud una vez completada la solicitud.

Si un controlador ha creado un objeto de solicitud llamando a IWDFDevice::CreateRequest, puede reutilizar la solicitud llamando a IWDFIoRequest2::Reuse. Un controlador también puede reutilizar los objetos de solicitud que ha recibido del marco en sus colas de E/S.

Si el controlador proporciona una función de devolución de llamada IRequestCallbackRequestCompletion::OnCompletion para un objeto de solicitud que reutiliza, el controlador debe llamar a IWDFIoRequest::SetCompletionCallback después de llamar a Reuse.