Método IWDFIoRequest::GetOutputMemory (wudfddi.h)
[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. Para obtener más información, consulta Introducción con UMDF.
El método GetOutputMemory recupera el objeto de memoria que representa el búfer de salida de una solicitud de E/S.
Sintaxis
void GetOutputMemory(
[out] IWDFMemory **ppWdfMemory
);
Parámetros
[out] ppWdfMemory
Puntero a una variable que recibe un puntero a la interfaz IWDFMemory con recuento de referencias para el objeto de memoria. Tenga en cuenta que devolver NULL es válido; en esta situación, no hay memoria de salida asociada a la solicitud de E/S.
Valor devuelto
None
Observaciones
Los controladores que usan el método de acceso de E/S almacenado en búfer pueden llamar a GetOutputMemory para obtener el búfer de salida de una solicitud de E/S.
Antes de que un controlador complete una solicitud de E/S, el controlador debe llamar al método IWDFMemory::Release para el objeto de memoria. El objeto de memoria subyacente se libera cuando se completa la solicitud.
El búfer de salida asociado a la solicitud de E/S contiene información (por ejemplo, datos de un disco) que el controlador proporciona al autor de la solicitud. El controlador puede llamar a GetOutputMemory para obtener el búfer de salida de una solicitud de lectura o una solicitud de control de E/S de dispositivo, pero no para una solicitud de escritura (porque las solicitudes de escritura no proporcionan datos de salida). Para acceder al búfer de salida, el controlador debe llamar al método IWDFMemory::GetDataBuffer .
UMDF crea los objetos de memoria de una solicitud de E/S cuando recibe la solicitud de E/S antes de agregar la solicitud de E/S a la cola de E/S de un controlador. Si UMDF no puede asignar memoria para los objetos de memoria, completa la solicitud de E/S con un estado de devolución de error y no entrega la solicitud de E/S al controlador.
Para obtener más información sobre el acceso a los búferes de datos de una solicitud de E/S, consulte Acceso a los búferes de datos en UMDF-Based controladores.
Ejemplos
Para obtener un ejemplo de código sobre cómo usar el método GetOutputMemory , vea IWDFIoQueue::RetrieveNextRequest.
Requisitos
Requisito | Value |
---|---|
Finalización del soporte técnico | No disponible en UMDF 2.0 y versiones posteriores. |
Plataforma de destino | Escritorio |
Versión mínima de UMDF | 1.5 |
Encabezado | wudfddi.h (incluya Wudfddi.h) |
Archivo DLL | WUDFx.dll |