PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB fonction de rappel (d3dumddi.h)
La fonction pfnSignalSynchronizationObjectCb insère un signal sur les objets de synchronisation spécifiés dans le flux DMA de contexte spécifié.
Syntaxe
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB Pfnd3dddiSignalsynchronizationobjectcb;
HRESULT Pfnd3dddiSignalsynchronizationobjectcb(
HANDLE hDevice,
const D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT *unnamedParam2
)
{...}
Paramètres
hDevice
Handle vers un appareil d’affichage (autrement dit, le contexte graphique).
unnamedParam2
pData [in]
Pointeur vers une structure D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT qui décrit les objets de synchronisation et le flux DMA de contexte sur lequel la signalisation est configurée.
Valeur de retour
pfnSignalSynchronizationObjectCb retourne l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
S_OK | La signalisation a été correctement configurée. |
E_INVALIDARG | Les paramètres ont été validés et déterminés comme incorrects. |
Cette fonction peut également retourner d’autres valeurs HRESULT.
Remarques
Direct3D Version 11 Remarque : Pour plus d’informations sur la façon dont le pilote appelle pfnSignalSynchronizationObjectCb, consultez Modifications de Direct3D 10.
Exemples
L’exemple de code suivant montre comment insérer un signal sur des objets de synchronisation.
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;
}
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows. |
plateforme cible | Bureau |
d’en-tête | d3dumddi.h (include D3dumddi.h) |