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

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY

VIDEO_SHARE_MEMORY_INFORMATION