IOCTL_VIDEO_SHARE_VIDEO_MEMORY IOCTL (ntddvdeo.h)
Esse IOCTL é chamado por um processo que compartilhará a memória de vídeo do modo de usuário como um buffer de quadro de linear. Os drivers de miniporto lidam com esse IOCTL mapeando o buffer de quadros para o espaço de endereço do chamador com VideoPortMapBankedMemory. Caso contrário, este IOCTL é o mesmo que IOCTL_VIDEO_MAP_VIDEO_MEMORY.
Essa solicitação é modal e nãomodal: o driver de miniporto deve retornar o tamanho do local do buffer de quadro na memória do vídeo, e o tamanho e o local do buffer de quadro podem variar de modo para modo (característica modal), mas uma operação de set-mode subsequente (para o mesmo modo) não deve fazer com que a memória do vídeo altere o local (característica nãomodal).
Este IOCTL é apenas DCI.
Código principal
Buffer de entrada
O inputbuffer VRP contém uma estrutura VIDEO_SHARE_MEMORY especificando um identificador para o processo de mapeamento do buffer de quadros e o tamanho da exibição solicitado e deslocamento para a memória compartilhada. O tamanho da exibição mais o deslocamento não deve exceder o tamanho da memória do adaptador.
Buffer de saída
O driver de miniporto retorna a estrutura VIDEO_SHARE_MEMORY_INFORMATION no OutputBufferVRP. Essa saída contém o endereço virtual em que a memória do vídeo é mapeada, o tamanho da exibição em bytes da memória mapeada e o deslocamento para a exibição.
Bloco de status
Se o driver de miniporto mapear a memória com êxito, ele definirá o membro informações da estrutura STATUS_BLOCK para tamanhos de(VIDEO_SHARE_MEMORY_INFORMATION); caso contrário, o driver de miniporto define esse membro como zero.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | ntddvdeo.h |