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

Consulte también

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb