PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECT2CB callback function

Inserts a signal on the specified synchronization objects in the specified context direct memory access (DMA) stream. Used by WDDM 1.2 and later user-mode display drivers.

Syntax

PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECT2CB Pfnd3dddiSignalsynchronizationobject2cb;

HRESULT Pfnd3dddiSignalsynchronizationobject2cb(
  HANDLE hDevice,
  const D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT2 *Arg2
)
{...}

Parameters

hDevice

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

Arg2

pData [in]

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

Return Value

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

The pfnCreateSynchronizationObject2Cb function returns a kernel-mode handle to the newly created synchronization object in the hSyncObject member of the D3DDDICB_CREATESYNCHRONIZATIONOBJECT2 structure that the pData parameter points to. The user-mode display driver passes this handle in calls to the following functions:

The pfnSignalSynchronizationObject2Cb function submits a signal command to the command stream of all Microsoft Direct3D contexts that are specified by the hContext and BroadcastContext members of the D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT2 structure. The synchronization objects are signaled only when all submitted signal commands are processed.

If synchronization objects are of type D3DDDI_FENCE (where D3DDDI_SYNCHRONIZATIONOBJECTINFO2.Type = D3DDDI_FENCE), they must be submitted only one at a time, and D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT2.ObjectCount must have a value of 1.

Requirements

   
Minimum supported client Windows 8
Minimum supported server Windows Server 2012
Target Platform Desktop
Header d3dumddi.h (include D3dumddi.h)

See Also

D3DDDICB_CREATESYNCHRONIZATIONOBJECT2

D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT2

pfnCreateSynchronizationObject2Cb

pfnDestroySynchronizationObjectCb

pfnWaitForSynchronizationObject2Cb