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 como NULL indica "nenhuma pré-indicação". Se hQuery for 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 seguintes comandos de renderização e manipulação de recursos não serão executados.

Retornar valor

Nenhum

Comentários

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 o retorno de uma chamada para a função QueryGetData . 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 para 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 precisará 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
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 d3d10umddi.h (inclua D3d10umddi.h)

Confira também

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb