Compartilhar via


PDD_MAPMEMORY função de retorno de chamada (ddrawint.h)

A função de retorno de chamada DdMapMemory mapeia partes modificáveis pelo aplicativo do buffer de quadros para o espaço de endereço no modo de usuário do processo especificado ou memória não mapeada.

Sintaxe

PDD_MAPMEMORY PddMapmemory;

DWORD PddMapmemory(
  PDD_MAPMEMORYDATA unnamedParam1
)
{...}

Parâmetros

unnamedParam1

Aponta para uma estrutura DD_MAPMEMORYDATA que contém detalhes para a operação de mapeamento ou desmapeamento de memória.

Retornar valor

DdMapMemory retorna um dos seguintes códigos de retorno de chamada:

Comentários

DdMapMemory é chamado para executar o mapeamento de memória antes da primeira chamada ao DdLock. O identificador retornado pelo driver no membro fpProcess da estrutura DD_MAPMEMORYDATA em lpMapMemory será passado para cada chamada DdLock feita no driver.

DdMapMemory também é chamado para remover o mapa de memória após a última chamada DdUnlock ser feita.

Para evitar falhas de driver, o driver não deve mapear nenhuma parte do buffer de quadros que não deve ser modificada por um aplicativo.

O driver de exibição deve chamar o driver de miniporto de vídeo para executar o mapeamento de memória ou desmapear. Para enviar uma solicitação síncrona ao driver de miniporto de vídeo para mapear a memória, o driver de exibição chama a função GDI EngDeviceIoControl com IOCTL_VIDEO_SHARE_VIDEO_MEMORY ou IOCTL_VIDEO_MAP_VIDEO_MEMORY. O driver de vídeo envia IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY ou IOCTL_VIDEO_UNMAP_VIDEO_MEMORY para o driver de miniporto de vídeo para desmapear a memória. Para obter mais informações, consulte Comunicando IOCTLs ao Driver de Miniporto de Vídeo.

DdMapMemory só pode ser chamado com um PDEV desabilitado para desmapear a memória. Um PDEV é desabilitado ou habilitado chamando a função DrvAssertMode do driver de exibição. Consulte Gerenciando PDEVs para obter mais informações.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho ddrawint.h (inclua Winddi.h)

Confira também

DD_MAPMEMORYDATA

DdLock

DdUnlock

EngDeviceIoControl

IOCTL_VIDEO_MAP_VIDEO_MEMORY

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

IOCTL_VIDEO_UNMAP_VIDEO_MEMORY

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY