Skip to content

Latest commit

 

History

History
113 lines (86 loc) · 3.82 KB

nc-d3dumddi-pfnd3dddi_signalsynchronizationobjectcb.md

File metadata and controls

113 lines (86 loc) · 3.82 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NC:d3dumddi.PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB (d3dumddi.h)
The pfnSignalSynchronizationObjectCb function inserts a signal on the specified synchronization objects in the specified context DMA stream.
display\pfnsignalsynchronizationobjectcb.htm
display
05/10/2018
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB callback function
D3Druntime_Functions_7bda6d91-797a-4f72-9182-e30b9fb1963a.xml, PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB, PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB callback, d3dumddi/pfnSignalSynchronizationObjectCb, display.pfnsignalsynchronizationobjectcb, pfnSignalSynchronizationObjectCb, pfnSignalSynchronizationObjectCb callback function [Display Devices]
d3dumddi.h
D3dumddi.h
Desktop
Available in Windows Vista and later versions of the Windows operating systems.
Windows
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB
d3dumddi/PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB
APIRef
kbSyntax
UserDefined
d3dumddi.h
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB

PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB callback function

-description

The pfnSignalSynchronizationObjectCb function inserts a signal on the specified synchronization objects in the specified context DMA stream.

-parameters

-param hDevice

A handle to a display device (that is, the graphics context).

-param unnamedParam2

pData [in]

A pointer to a D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT structure that describes the synchronization objects and context DMA stream that signaling is set up on.

-returns

pfnSignalSynchronizationObjectCb returns one of the following values:

Return code Description
S_OK The signaling was successfully set up.
E_INVALIDARG Parameters were validated and determined to be incorrect.

This function might also return other HRESULT values.

-remarks

Direct3D Version 11 Note:  For more information about how the driver calls pfnSignalSynchronizationObjectCb, see Changes from Direct3D 10.

Examples

The following code example shows how to insert a signal on synchronization objects.

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

-see-also

D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT