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