PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB Rückruffunktion (d3dumddi.h)

Die Funktion pfnSignalSynchronizationObjectCb fügt ein Signal für die angegebenen Synchronisierungsobjekte im angegebenen Kontext-DMA-Stream ein.

Syntax

PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB Pfnd3dddiSignalsynchronizationobjectcb;

HRESULT Pfnd3dddiSignalsynchronizationobjectcb(
  HANDLE hDevice,
  const D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT *unnamedParam2
)
{...}

Parameter

hDevice

Ein Handle für ein Anzeigegerät (d. b. den Grafikkontext).

unnamedParam2

pData [in]

Ein Zeiger auf eine D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT Struktur, die die Synchronisierungsobjekte und den Kontext-DMA-Stream beschreibt, für den die Signalisierung eingerichtet ist.

Rückgabewert

pfnSignalSynchronizationObjectCb gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
S_OK Die Signalisierung wurde erfolgreich eingerichtet.
E_INVALIDARG Parameter wurden überprüft und als falsch ermittelt.

Diese Funktion kann auch andere HRESULT-Werte zurückgeben.

Hinweise

Direct3D Version 11 Hinweis: Weitere Informationen dazu, wie der Treiber pfnSignalSynchronizationObjectCb aufruft, finden Sie unter Änderungen von Direct3D 10.

Beispiele

Das folgende Codebeispiel zeigt, wie ein Signal in Synchronisierungsobjekte eingefügt wird.

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;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Zielplattform Desktop
Kopfzeile d3dumddi.h (include D3dumddi.h)

Weitere Informationen

D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT