estructura VIDEO_SHARE_MEMORY (ntddvdeo.h)
La estructura VIDEO_SHARE_MEMORY se usa en una solicitud al controlador de miniporte 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 del 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 marco de . 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 sistema de escritura del controlador de pantalla no se preocupa por la ubicación precisa de la memoria solicitada. Si este miembro se establece en un valor que no esNULL, el escritor de controladores de visualización 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.
Observaciones
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 miniporte 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 miniporte. 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 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 |
---|---|
encabezado de | ntddvdeo.h (include Ntddvdeo.h) |
Consulte también
IOCTL_VIDEO_SHARE_VIDEO_MEMORY