estrutura VIDEO_SHARE_MEMORY (ntddvdeo.h)
A estrutura VIDEO_SHARE_MEMORY é usada em uma solicitação para o driver de miniporto de vídeo para que um bloco de memória do modo de usuário seja compartilhado com o processo especificado.
Sintaxe
typedef struct _VIDEO_SHARE_MEMORY {
HANDLE ProcessHandle;
ULONG ViewOffset;
ULONG ViewSize;
PVOID RequestedVirtualAddress;
} VIDEO_SHARE_MEMORY, *PVIDEO_SHARE_MEMORY;
Membros
ProcessHandle
É um identificador para o processo atual. Esse membro geralmente é definido como NtCurrentProcess, uma macro definida em Ntddk.h.
ViewOffset
Indica o deslocamento de bytes do início do buffer de quadros. Esse membro geralmente é definido como 0.
ViewSize
Indica o tamanho, em bytes, do buffer de quadro.
RequestedVirtualAddress
Indica o local do buffer de quadro solicitado na memória do processo. Esse membro normalmente é definido como NULL, o que significa que o gravador do driver de exibição não se importa com o local preciso da memória solicitada. Se esse membro for definido como um valor não NULL , o gravador do driver de exibição pretende que o buffer de quadros esteja localizado nesse endereço. Nesse caso, o gravador do driver de exibição deve ter certeza de que o local especificado ainda não está em uso para outra finalidade.
Comentários
VIDEO_SHARE_MEMORY é fornecido para que aplicativos como o Direct Draw possam ter uma exibição de memória de vídeo. Embora o driver de exibição não possa fornecer diretamente esse acesso à memória de vídeo, ele pode chamar o driver de miniporto de vídeo para essa finalidade. O driver de exibição faz isso enviando uma solicitação IOCTL_VIDEO_SHARE_VIDEO_MEMORY para o driver de miniporte. Quando o driver de miniporto atende a essa solicitação, ele usa as informações na estrutura VIDEO_SHARE_MEMORY e preenche uma estrutura VIDEO_SHARE_MEMORY_INFORMATION com o local real da memória solicitada, se nenhum local foi especificado. Quando o aplicativo não precisa mais da memória compartilhada, o driver de exibição pode liberar essa memória fazendo uma solicitação IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY , que também usa uma estrutura VIDEO_SHARE_MEMORY como um buffer de entrada.
Para estruturas usadas no mapeamento para memória de vídeo no modo kernel, consulte VIDEO_MEMORY e VIDEO_MEMORY_INFORMATION.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ntddvdeo.h (inclua Ntddvdeo.h) |
Confira também
IOCTL_VIDEO_SHARE_VIDEO_MEMORY