Partilhar via


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

IRP_MJ_DEVICE_CONTROL

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

Consulte também

IOCTL_VIDEO_MAP_VIDEO_MEMORY

STATUS_BLOCK

VIDEO_SHARE_MEMORY

VIDEO_SHARE_MEMORY_INFORMATION

VideoPortMapBankedMemory