Compartir a través de


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)

Consulte también

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb de