Compartilhar via


PFND3D10DDI_SETPREDICATION função de retorno de chamada (d3d10umddi.h)

A função SetPredication especifica se os comandos de renderização e manipulação de recursos a seguir são realmente executados.

Sintaxe

PFND3D10DDI_SETPREDICATION Pfnd3d10ddiSetpredication;

void Pfnd3d10ddiSetpredication(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HQUERY unnamedParam2,
  BOOL unnamedParam3
)
{...}

Parâmetros

unnamedParam1

hDevice [in]

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

unnamedParam2

hQuery [in]

Um identificador para o objeto de consulta a ser definido como um predicado. Definir hQuery para NULL indica "nenhuma precação". Se hQuery estiver definido como NULL, o driver ignorará o valor no parâmetro PredicateValue; no entanto, o driver deve armazenar o valor do predicado para solicitações subsequentes para o valor.

unnamedParam3

predicateValue [in]

Um valor booliano a ser comparado com os dados de consulta. Se os dados de consulta forem iguais ao valor do predicado, os comandos de renderização e manipulação de recursos a seguir não serão executados.

Valor de retorno

Nenhum

Observações

O driver pode usar a função de retorno de chamada pfnSetErrorCb para definir um código de erro.

Alguns predicados são apenas dicas; portanto, eles podem não impedir que as operações sejam executadas. O runtime do Microsoft Direct3D chama principalmente SetPredication para permitir que os aplicativos emitam comandos gráficos sem levar o impacto de desempenho de girar e aguardar uma chamada para a função QueryGetData para retornar. Portanto, a pré-indicação pode ocorrer mesmo se queryGetData retornar S_FALSE. Em outras palavras, um aplicativo também pode usar a pré-indicação como um fallback se QueryGetData possivelmente retornar S_FALSE. Se QueryGetData retornar S_OK, o aplicativo poderá ignorar a chamada manual dos comandos gráficos com sua própria lógica de aplicativo.

O driver não deve encontrar nenhum erro, exceto por D3DDDIERR_DEVICEREMOVED. Portanto, se o driver passar qualquer erro, exceto por D3DDDIERR_DEVICEREMOVED, em uma chamada para a função pfnSetErrorCb, o runtime do Direct3D determinará que o erro é crítico. Mesmo que o dispositivo tenha sido removido, o driver não será necessário para retornar D3DDDIERR_DEVICEREMOVED; no entanto, se a remoção do dispositivo interferiu na operação de SetPredication (o que normalmente não deve acontecer), o driver poderá retornar D3DDDIERR_DEVICEREMOVED.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
da Plataforma de Destino Área de trabalho
cabeçalho d3d10umddi.h (inclua D3d10umddi.h)

Consulte também

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb