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
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 |