PFND3D10DDI_SETPREDICATION función de devolución de llamada (d3d10umddi.h)
La función SetPredication especifica si realmente se realizan comandos de representación y manipulación de recursos que siguen.
Sintaxis
PFND3D10DDI_SETPREDICATION Pfnd3d10ddiSetpredication;
void Pfnd3d10ddiSetpredication(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HQUERY unnamedParam2,
BOOL unnamedParam3
)
{...}
Parámetros
unnamedParam1
hDevice [in]
Identificador del dispositivo de visualización (contexto de gráficos).
unnamedParam2
hQuery [in]
Identificador del objeto de consulta que se va a establecer como predicado. Establecer hQuery en NULL indica "sin predicación". Si hQuery se establece en null, el controlador omite el valor del parámetro PredicateValue; sin embargo, el controlador debe almacenar el valor del predicado para las solicitudes posteriores del valor.
unnamedParam3
PredicateValue [in]
Valor booleano que se va a comparar con los datos de consulta. Si los datos de consulta son iguales al valor de predicado, no se realizan los siguientes comandos de representación y manipulación de recursos.
Valor devuelto
Ninguno
Observaciones
El controlador puede usar el pfnSetErrorCb función de devolución de llamada para establecer un código de error.
Algunos predicados son solo sugerencias; por lo tanto, es posible que realmente no impidan que se realicen operaciones. El tiempo de ejecución de Microsoft Direct3D llama principalmente a SetPredication para permitir que las aplicaciones emitan comandos gráficos sin tomar el impacto de rendimiento de girar y esperar una llamada a la función QueryGetData para devolver. Por lo tanto, el predicado puede producirse incluso si QueryGetData devuelve S_FALSE. En otras palabras, una aplicación también puede usar predicación como reserva si QueryGetData posiblemente devuelve S_FALSE. Si queryGetData devuelve S_OK, la aplicación puede omitir la llamada a los comandos gráficos manualmente con su propia lógica de aplicación.
El controlador no debe encontrar ningún error, excepto D3DDDIERR_DEVICEREMOVED. Por lo tanto, si el controlador pasa algún error, excepto por D3DDDIERR_DEVICEREMOVED, en una llamada a la función pfnSetErrorCb, el tiempo de ejecución de Direct3D determinará que el error es crítico. Incluso si se quitó el dispositivo, no es necesario que el controlador devuelva D3DDDIERR_DEVICEREMOVED; Sin embargo, si la eliminación de dispositivos interfirió con el funcionamiento de SetPredication (lo que normalmente no debería ocurrir), el controlador puede devolver D3DDDIERR_DEVICEREMOVED.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows. |
de la plataforma de destino de | Escritorio |
encabezado de | d3d10umddi.h (incluya D3d10umddi.h) |