PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB função de retorno de chamada (d3dumddi.h)

A função pfnSetDisplayPrivateDriverFormatCb altera o atributo de formato privado de uma fonte presente de vídeo.

Sintaxe

PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB Pfnd3dddiSetdisplayprivatedriverformatcb;

HRESULT Pfnd3dddiSetdisplayprivatedriverformatcb(
  HANDLE hDevice,
  const D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT *unnamedParam2
)
{...}

Parâmetros

hDevice

Um identificador para o dispositivo de exibição (contexto gráfico).

unnamedParam2

pData [in]

Um ponteiro para uma estrutura D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT que descreve como formatar uma fonte de vídeo presente.

Retornar valor

pfnSetDisplayPrivateDriverFormatCb retorna um dos seguintes valores:

Código de retorno Descrição
S_OK A fonte presente do vídeo foi alterada com êxito.
E_INVALIDARG Os parâmetros foram validados e determinados como incorretos.
E_FAIL pfnSetDisplayPrivateDriverFormatCb não pôde alterar o atributo de formato privado da fonte presente do vídeo.

Essa função também pode retornar outros valores HRESULT.

Comentários

Alterar o atributo de formato privado de uma fonte presente de vídeo é útil para acomodar um aplicativo DirectX de tela inteira que cria sua alteração de inversão quando a superfície primária GDI compartilhada está em um formato privado não ideal para o aplicativo DirectX de tela inteira. Por exemplo, suponha que o driver de miniporto de exibição sempre crie a superfície primária compartilhada GDI como deswizzled. No entanto, por motivos de desempenho, o driver de exibição do modo de usuário requer que todas as superfícies em uma cadeia de inversão de tela inteira sejam giradas. O driver de exibição do modo de usuário pode criar os buffers de fundo como girados e chamar pfnSetDisplayPrivateDriverFormatCb para alterar a superfície primária GDI compartilhada para girada.

Se a chamada para pfnSetDisplayPrivateDriverFormatCb falhar, o driver de exibição do modo de usuário deverá continuar sem alterar o atributo de formato privado da fonte presente do vídeo. No exemplo anterior, o driver pode deixar o primário compartilhado como deswizzled e ter os buffers traseiros girados ou o driver pode alterar os buffers traseiros para o formato deswizzled.

Se o driver de exibição do modo de usuário receber o erro D3DDDIERR_INCOMPATIBLEPRIVATEFORMAT de uma chamada para a função pfnSetDisplayModeCb , o driver poderá fazer um dos seguintes procedimentos:

  • Altere o atributo de formato privado da superfície primária e chame pfnSetDisplayModeCb novamente.
  • Chame pfnSetDisplayPrivateDriverFormatCb e tente alterar o atributo de formato privado da fonte presente do vídeo. Em seguida, o driver pode chamar pfnSetDisplayModeCb novamente.
O driver de exibição do modo de usuário pode chamar pfnSetDisplayPrivateDriverFormatCb somente se o membro Version da estrutura D3DDDIARG_CREATEDEVICE foi definido como maior que sete quando o dispositivo de exibição (especificado pelo parâmetro hDevice ) foi criado em uma chamada para a função CreateDevice do driver.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho d3dumddi.h (inclua D3dumddi.h)

Confira também

Createdevice

D3DDDIARG_CREATEDEVICE

D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT

D3DDDI_DEVICECALLBACKS

pfnSetDisplayModeCb