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