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 podría devolver otros valores HRESULT.
Comentarios
Nota de Direct3D versión 11: Para obtener más información sobre cómo el controlador llama a 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 | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Escritorio |
Encabezado | d3dumddi.h (incluya D3dumddi.h) |