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. Si se establece hQuery en NULL , se indica "sin predicación". Si hQuery se establece en NULL, el controlador omite el valor en el 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
None
Observaciones
El controlador puede usar la función de devolución de llamada pfnSetErrorCb para establecer un código de error.
Algunos predicados son solo sugerencias; por lo tanto, es posible que no impidan realmente 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 a que se devuelva una llamada a la función QueryGetData . Por lo tanto, la predicación 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 por 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 del dispositivo interfirió con el funcionamiento de SetPredication (que normalmente no debería ocurrir), el controlador puede devolver D3DDDIERR_DEVICEREMOVED.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Escritorio |
Encabezado | d3d10umddi.h (incluya D3d10umddi.h) |