IOCTL_VIDEO_SHARE_VIDEO_MEMORY IOCTL (ntddvdeo.h)
Este IOCTL lo llama un proceso que compartirá la memoria de vídeo en modo de usuario como un búfer de fotogramas lineales. Los controladores de minipuerto controlan este IOCTL asignando el búfer de fotogramas al espacio de direcciones del autor de la llamada con VideoPortMapBankedMemory. De lo contrario, este IOCTL es el mismo que IOCTL_VIDEO_MAP_VIDEO_MEMORY.
Esta solicitud es modal y nomodal: el controlador de minipuerto debe devolver el tamaño de ubicación del búfer de fotogramas dentro de la memoria de vídeo, y el tamaño y la ubicación del búfer de fotogramas pueden variar de modo a modo (característica modal), pero una operación de modo establecido posterior (en el mismo modo) no debe hacer que la memoria de vídeo cambie la ubicación (característica nomodal).
Este IOCTL es solo DCI.
Código principal
Búfer de entrada
InputBuffer de VRP contiene una estructura de VIDEO_SHARE_MEMORY que especifica un identificador para el proceso que asigna el búfer de fotogramas y el tamaño de vista solicitado y el desplazamiento en la memoria compartida. El tamaño de vista más el desplazamiento no debe superar el tamaño de memoria del adaptador.
Búfer de salida
El controlador de minipuerto devuelve la estructura VIDEO_SHARE_MEMORY_INFORMATION en outputBuffer de VRP. Esta salida contiene la dirección virtual donde se asigna la memoria de vídeo, el tamaño de vista en bytes de la memoria asignada y el desplazamiento en la vista.
Bloque de estado
Si el controlador de minipuerto asigna correctamente la memoria, establece el miembro Information de la estructura STATUS_BLOCKen sizeof(VIDEO_SHARE_MEMORY_INFORMATION); de lo contrario, el controlador de minipuerto establece este miembro en cero.
Requisitos
Requisito | Valor |
---|---|
Header | ntddvdeo.h |