PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB función de devolución de llamada (d3dumddi.h)
La función pfnSignalSynchronizationObjectCb inserta una señal en los objetos de sincronización especificados en el flujo DMA de contexto especificado.
Sintaxis
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB Pfnd3dddiSignalsynchronizationobjectcb;
HRESULT Pfnd3dddiSignalsynchronizationobjectcb(
HANDLE hDevice,
const D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT *unnamedParam2
)
{...}
Parámetros
hDevice
Identificador de un dispositivo de visualización (es decir, el contexto de gráficos).
unnamedParam2
pData [in]
Puntero a una estructura de D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT que describe los objetos de sincronización y el flujo DMA de contexto en el que se configura la señalización.
Valor devuelto
pfnSignalSynchronizationObjectCb devuelve uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
S_OK | La señalización se configuró correctamente. |
E_INVALIDARG | Los parámetros se validaron y determinaron que son incorrectos. |
Esta función también puede devolver otros valores HRESULT.
Observaciones
Direct3D versión 11 Nota: Para obtener más información sobre cómo llama el controlador pfnSignalSynchronizationObjectCb, vea Cambios de Direct3D 10.
Ejemplos
En el ejemplo de código siguiente se muestra cómo insertar una señal en los objetos de sincronización.
HRESULT CD3DContext::SyncEngines(DWORD dwEngineReleasingControl, DWORD dwEngineAcquiringControl) {
HRESULT hr;
D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT sWaitObject;
D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT sSignalObject;
sSignalObject.hContext = m_sContexts[dwEngineReleasingControl].hContext;
sSignalObject.ObjectCount = 1;
sSignalObject.ObjectHandleArray[0] = m_hEngineSyncObject;
hr = m_d3dCallbacks.pfnSignalSynchronizationObjectCb(m_hD3D, &sSignalObject);
if (FAILED(hr)) {
DBG_BREAK;
return hr;
}
sWaitObject.hContext = m_sContexts[dwEngineAcquiringControl].hContext;
sWaitObject.ObjectCount = 1;
sWaitObject.ObjectHandleArray[0] = m_hEngineSyncObject;
hr = m_d3dCallbacks.pfnWaitForSynchronizationObjectCb(m_hD3D, &sWaitObject);
if (FAILED(hr)) {
DBG_BREAK;
}
return hr;
}
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 | d3dumddi.h (incluya D3dumddi.h) |