estructura VIDEO_SHARE_MEMORY_INFORMATION (ntddvdeo.h)
La estructura VIDEO_SHARE_MEMORY_INFORMATION se usa para comunicarse con el controlador de pantalla de que se ha cumplido una solicitud de un bloque de memoria en modo de usuario.
typedef struct _VIDEO_SHARE_MEMORY_INFORMATION {
ULONG SharedViewOffset;
ULONG SharedViewSize;
PVOID VirtualAddress;
} VIDEO_SHARE_MEMORY_INFORMATION, *PVIDEO_SHARE_MEMORY_INFORMATION;
SharedViewOffset
Indica el desplazamiento, en bytes, desde el principio del búfer de fotogramas.
SharedViewSize
Indica el tamaño, en bytes, del búfer de fotogramas. El valor de este miembro siempre será un múltiplo de 64 KB.
VirtualAddress
Indica la dirección en memoria virtual en la que se asignó la memoria solicitada.
Cuando una aplicación debe tener acceso a la memoria de vídeo en modo de usuario, el controlador de pantalla puede llamar al controlador de miniporte de vídeo mediante el envío de una solicitud de IOCTL_VIDEO_SHARE_VIDEO_MEMORY . El controlador de minipuerto usa una estructura de VIDEO_SHARE_MEMORY como un búfer de entrada y se comunica de nuevo con el controlador de pantalla una estructura VIDEO_SHARE_MEMORY_INFORMATION.
El controlador de minipuerto de vídeo rellena una estructura de VIDEO_SHARE_MEMORY_INFORMATION basada en la información de una estructura VIDEO_SHARE_MEMORY. En la tabla siguiente se resume cómo se usa la información:
VIDEO_SHARE_MEMORY miembro | Resultado en VIDEO_SHARE_MEMORY_INFORMATION |
---|---|
ProcessHandle | No se usa. |
ViewOffset | Copiado directamente en SharedViewOffset. |
ViewSize | Los valores que son múltiplos de 64 KB se copian directamente en SharedViewSize. Otros valores se redondean al siguiente múltiplo mayor de 64 KB. |
RequestedVirtualAddress | Si es NULL, el controlador de minipuerto determina la dirección de un búfer de fotogramas que se asignará a VirtualAddress. Si no es NULL, el controlador de minipuerto intenta asignar ese valor a VirtualAddress. |
Requisito | Valor |
---|---|
Header | ntddvdeo.h (include Ntddvdeo.h) |