PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB funzione di callback (d3dumddi.h)
La funzione pfnSignalSynchronizationObjectCb inserisce un segnale negli oggetti di sincronizzazione specificati nel flusso DMA di contesto specificato.
Sintassi
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB Pfnd3dddiSignalsynchronizationobjectcb;
HRESULT Pfnd3dddiSignalsynchronizationobjectcb(
HANDLE hDevice,
const D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT *unnamedParam2
)
{...}
Parametri
hDevice
Handle per un dispositivo di visualizzazione, ovvero il contesto grafico.
unnamedParam2
pData [in]
Puntatore a una struttura D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT che descrive gli oggetti di sincronizzazione e il flusso DMA di contesto su cui è configurato il segnale.
Valore restituito
pfnSignalSynchronizationObjectCb restituisce uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
S_OK | Il segnale è stato configurato correttamente. |
E_INVALIDARG | I parametri sono stati convalidati e determinati per essere non corretti. |
Questa funzione potrebbe anche restituire altri valori HRESULT.
Commenti
Nota direct3D versione 11: Per altre informazioni su come il driver chiama pfnSignalSynchronizationObjectCb, vedere Modifiche da Direct3D 10.
Esempio
Nell'esempio di codice seguente viene illustrato come inserire un segnale negli oggetti di sincronizzazione.
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;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Desktop |
Intestazione | d3dumddi.h (include D3dumddi.h) |