Share via


PDD_MAPMEMORY función de devolución de llamada (ddrawint.h)

La función de devolución de llamada DdMapMemory asigna partes modificables de la aplicación del búfer de fotogramas al espacio de direcciones en modo de usuario del proceso especificado o anula el mapa de memoria.

Sintaxis

PDD_MAPMEMORY PddMapmemory;

DWORD PddMapmemory(
  PDD_MAPMEMORYDATA unnamedParam1
)
{...}

Parámetros

unnamedParam1

Apunta a una estructura de DD_MAPMEMORYDATA que contiene detalles para la asignación de memoria o la operación de desasignación de memoria.

Valor devuelto

DdMapMemory devuelve uno de los siguientes códigos de devolución de llamada:

Comentarios

Se llama a DdMapMemory para realizar la asignación de memoria antes de la primera llamada a DdLock. El controlador devuelto por el controlador en el miembro fpProcess de la estructura de DD_MAPMEMORYDATA en lpMapMemory se pasará a cada llamada DdLock realizada en el controlador.

También se llama a DdMapMemory para anular el mapa de la memoria después de realizar la última llamada DdUnlock.

Para evitar bloqueos de controladores, el controlador no debe asignar ninguna parte del búfer de fotogramas que una aplicación no debe modificar.

El controlador de pantalla debe llamar al controlador de miniporte de vídeo para realizar la asignación de memoria o desasignar. Para enviar una solicitud sincrónica al controlador de miniporte de vídeo para asignar la memoria, el controlador de pantalla llama a la función GDI EngDeviceIoControl con IOCTL_VIDEO_SHARE_VIDEO_MEMORY o IOCTL_VIDEO_MAP_VIDEO_MEMORY. El controlador de pantalla envía IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY o IOCTL_VIDEO_UNMAP_VIDEO_MEMORY al controlador de minipuerto de vídeo para desasignación de la memoria. Para obtener más información, consulte Comunicación de ICTLs con el controlador de minipuerto de vídeo.

Solo se puede llamar a DdMapMemory con un PDEV deshabilitado para desasignación de memoria. Un PDEV está deshabilitado o habilitado llamando a la función DrvAssertMode del controlador de pantalla. Consulte Administración de PDEV para obtener más información.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado ddrawint.h (incluya Winddi.h)

Consulte también

DD_MAPMEMORYDATA

DdLock

DdUnlock

EngDeviceIoControl

IOCTL_VIDEO_MAP_VIDEO_MEMORY

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

IOCTL_VIDEO_UNMAP_VIDEO_MEMORY

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY