Compartilhar 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 linear. Os drivers de miniportar 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 miniporte deve retornar o tamanho do local do buffer de quadros 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 modo definido 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 de VIDEO_SHARE_MEMORY especificando um identificador para o processo mapeando o buffer de quadro 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 OutputBuffer do VRP. Essa saída contém o endereço virtual em que a memória de 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 miniporte mapear com êxito a memória, ele definirá o membro Informações da estrutura STATUS_BLOCK como sizeof(VIDEO_SHARE_MEMORY_INFORMATION); caso contrário, o driver de miniporto define esse membro como zero.

Requisitos

Requisito Valor
Cabeçalho ntddvdeo.h

Confira também

IOCTL_VIDEO_MAP_VIDEO_MEMORY

STATUS_BLOCK

VIDEO_SHARE_MEMORY

VIDEO_SHARE_MEMORY_INFORMATION

VideoPortMapBankedMemory