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