UID | title | description | tech.root | ms.date | 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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NS:d3dukmdt._D3DDDI_SYNCHRONIZATIONOBJECTINFO2 |
D3DDDI_SYNCHRONIZATIONOBJECTINFO2 (d3dukmdt.h) |
Learn more about the D3DDDI_SYNCHRONIZATIONOBJECTINFO2 structure. |
display |
04/12/2024 |
|
d3dukmdt.h |
D3dumddi.h, D3dkmddi.h |
Windows |
Windows 7 |
Windows |
D3DDDI_SYNCHRONIZATIONOBJECTINFO2 |
|
|
|
|
|
The D3DDDI_SYNCHRONIZATIONOBJECTINFO2 structure contains information about a second-generation synchronization object.
[in] A value of type D3DDDI_SYNCHRONIZATIONOBJECT_TYPE that indicates the type of synchronization object.
[in] A D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS structure that specifies, in bit-field flags, attributes of the synchronization object.
A structure that contains information about a synchronization mutex. If the Type member is equal to D3DDDI_SYNCHRONIZATION_MUTEX, the union in D3DDDI_SYNCHRONIZATIONOBJECTINFO2 holds a SynchronizationMutex structure.
A Boolean value that indicates whether the synchronization mutex is initially owned by an object. A value of TRUE indicates that the mutex is owned; FALSE indicates that the mutex is not owned.
A structure that contains information about a semaphore. If the Type member is equal to D3DDDI_SEMAPHORE, the union in D3DDDI_SYNCHRONIZATIONOBJECTINFO2 holds a Semaphore structure.
The maximum number of events that an object can be waiting for.
The initial number of events that an object is waiting for.
A structure that contains information about a fence. If the Type member is equal to D3DDDI_FENCE, the union in D3DDDI_SYNCHRONIZATIONOBJECTINFO2 holds a Fence structure.
A 64-bit value that specifies the initial fence value.
A structure that contains information about a CPU notification. If the Type member is equal to D3DDDI_CPU_NOTIFICATION, the union in D3DDDI_SYNCHRONIZATIONOBJECTINFO2 holds a CPUNotification structure.
The handle to the CPU notification event.
A structure that contains information about a monitored fence. If the Type member is equal to D3DDDI_MONITORED_FENCE, the union in D3DDDI_SYNCHRONIZATIONOBJECTINFO2 holds a MonitoredFence structure.
Monitored fences can be shared only by using NT handles for security reasons, so the NtSecuritySharing flag must be set when using a monitored fence.
Supported starting with Windows 10.
[in] A 64-bit value that specifies the initial fence value.
Supported starting with Windows 10.
[out] A read-only mapping of the fence value for the CPU. This is a user mode address readable from the process that created the monitored fence object. For 32 bit platforms that support 64 bit atomic reads via methods such as InterlockedCompareExchange64(pointer,0,0)
, the mapping will be made read-write instead of read-only to avoid an access violation during the interlocked operation. Depending on the value of No64BitAtomics cap, this address points to either a 32 bit or a 64 bit underlying value.
Supported starting with Windows 10.
[out] A read-write mapping of the fence value for the GPU. A driver can signal a new fence value by inserting a GPU write command for this address into a command buffer, and Dxgkrnl will unblock waiters for this fence object value. Depending on the value of No64BitAtomics cap, this address points to either a 32 bit or a 64 bit underlying value. If the device doesn’t support cache coherency with the CPU, it shouldn't write to the fence value using the GPU virtual address. Access to the fence value should be done only by the CPU.
Supported starting with Windows 10.
[in] A bit field, where each bit position (starting from zero) defines a physical adapter index in a link display adapter (LDA) link where the GPU virtual address will be committed. Zero means that the GPU virtual address will be committed to all physical adapters.
Supported starting with Windows 10.
A structure that contains information about a periodic monitored fence. If the Type member is equal to D3DDDI_PERIODIC_MONITORED_FENCE, the union in D3DDDI_SYNCHRONIZATIONOBJECTINFO2 holds a MonitoredFence structure.
Supported starting with Windows 10.
[out] The output ID that the compositor wishes to receive notifications for.
[in] A handle to the adapter associated with VidPnSourceID
[out] Represents an offset before the VSync (time of VSync – Time parameter). The Time value may not be longer than a VSync interval (1 / DisplayModeRefresh). Time is specified in units of 100ns.
[in] Read-only mapping of the fence value for the CPU
[in] Read-only mapping of the fence value for the GPU
[in] Defines physical adapters where the GPU VA will be mapped
A structure that is reserved for future use. This structure contains the following member:
An array of 64-bit values that are reserved for future use.
[out] A handle to the shared synchronization object if a shared handle currently exists. The driver should share synchronization objects using NT handles. It should set the D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS::NtSecuritySharing to indicate that the object will be shared using NT handles and call D3DKMTShareObjects to get an NT handle. Using global handles is not secure. Any process can guess a global handle and open a shared objects. Global handles are supported only for compatibility reasons with old D3D runtimes.
D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS
D3DDDI_SYNCHRONIZATIONOBJECT_TYPE