Compartir a través de


estructura VIDEO_SHARE_MEMORY (ntddvdeo.h)

La estructura VIDEO_SHARE_MEMORY se usa en una solicitud al controlador de minipuerto de vídeo para un bloque de memoria en modo de usuario que se va a compartir con el proceso especificado.

Sintaxis

typedef struct _VIDEO_SHARE_MEMORY {
  HANDLE ProcessHandle;
  ULONG  ViewOffset;
  ULONG  ViewSize;
  PVOID  RequestedVirtualAddress;
} VIDEO_SHARE_MEMORY, *PVIDEO_SHARE_MEMORY;

Miembros

ProcessHandle

Es un identificador para el proceso actual. Este miembro se establece normalmente en NtCurrentProcess, una macro definida en Ntddk.h.

ViewOffset

Indica el desplazamiento de bytes desde el principio del búfer de fotogramas. Este miembro normalmente se establece en 0.

ViewSize

Indica el tamaño, en bytes, del búfer de fotogramas.

RequestedVirtualAddress

Indica la ubicación del búfer de fotogramas solicitado en la memoria del proceso. Normalmente, este miembro se establece en NULL, lo que significa que el escritor del controlador de pantalla no se preocupa por la ubicación precisa de la memoria solicitada. Si este miembro se establece en un valor distinto de NULL , el escritor de controladores de pantalla pretende que el búfer de fotogramas se encuentre en esa dirección. En este caso, el escritor del controlador de pantalla debe estar seguro de que la ubicación especificada aún no está en uso para otro propósito.

Comentarios

VIDEO_SHARE_MEMORY se proporciona para que las aplicaciones como Direct Draw puedan tener una vista de la memoria de vídeo. Aunque el controlador de pantalla no puede proporcionar directamente este acceso a la memoria de vídeo, puede llamar al controlador de minipuerto de vídeo para este propósito. El controlador de pantalla lo hace enviando una solicitud de IOCTL_VIDEO_SHARE_VIDEO_MEMORY al controlador de minipuerto. Cuando el controlador de miniporte cumple esta solicitud, usa la información de la estructura VIDEO_SHARE_MEMORY y rellena una estructura de VIDEO_SHARE_MEMORY_INFORMATION con la ubicación real de la memoria solicitada, si no se especificó ninguna ubicación. Cuando la aplicación ya no necesita la memoria compartida, el controlador de pantalla puede liberar esta memoria realizando una solicitud de IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY , que también usa una estructura de VIDEO_SHARE_MEMORY como búfer de entrada.

Para ver las estructuras usadas en la asignación en memoria de vídeo en modo kernel, consulte VIDEO_MEMORY y VIDEO_MEMORY_INFORMATION.

Requisitos

Requisito Valor
Header ntddvdeo.h (include Ntddvdeo.h)

Consulte también

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY

VIDEO_SHARE_MEMORY_INFORMATION