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 è configurata la segnalazione.
Valore restituito
pfnSignalSynchronizationObjectCb restituisce uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
S_OK | La segnalazione è stata configurata correttamente. |
E_INVALIDARG | I parametri sono stati convalidati e sono stati determinati in modo che non siano corretti. |
Questa funzione potrebbe restituire anche altri valori HRESULT.
Osservazioni
Direct3D versione 11 Nota: Per altre informazioni su come il driver chiama pfnSignalSynchronizationObjectCb, vedere modifiche da Direct3D 10.
Esempi
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;
}
Fabbisogno
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) |