Expand Minimize

D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS structure

Identifies attributes of a synchronization object.

Syntax


typedef struct _D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS {
  union {
    struct {
      UINT Shared  :1;
      UINT NtSecuritySharing  :1;
#if ((DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3) || \
     (D3D_UMD_INTERFACE_VERSION >= D3D_UMD_INTERFACE_VERSION_WDDM1_3))
      UINT CrossAdapter  :1;
      UINT Reserved  :28;
#else 
      UINT Reserved  :29;
#endif 
      UINT D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS_RESERVED0  :1;
    };
    UINT Value;
  };
} D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS;

Members

Shared

A UINT value that specifies whether the synchronization object is shared.

If Shared is set to 1 (TRUE), the synchronization object is shared. If Shared is set to zero (FALSE), the synchronization object is not shared.

For more information, see the Remarks section.

NtSecuritySharing

A UINT value that specifies whether the synchronization object is shared with an NT handle, meaning that it does not have a global D3DKMT_HANDLE kernel-mode handle to the resource.

If NtSecuritySharing is set to 1 (TRUE), the synchronization object is shared but does not have a global D3DKMT_HANDLE handle to the resource.

Note  If NtSecuritySharing is set to 1, Shared must be set to 1.

For more information, see the Remarks section.

Supported starting with Windows 8.

CrossAdapter

A UINT value that specifies whether the synchronization object is a shared cross-adapter object on a hybrid system.

If CrossAdapter is set to 1 (TRUE), the synchronization object is a shared cross-adapter object. If CrossAdapter is set to zero (FALSE), the synchronization object is not a shared cross-adapter object.

For more information, see Using cross-adapter resources in a hybrid system.

Reserved

This member is reserved and should be set to zero.

Reserved

This member is reserved and should be set to zero.

D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS_RESERVED0

This member is reserved and should be set to zero.

Supported starting with Windows 8.

Value

[in] A member in the union that is contained in D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS that can hold one 32-bit value that identifies attributes of a synchronization object.

Remarks

Objects to be shared by using the D3DKMTShareObjects function must first be created with the NtSecuritySharing flag value set. This flag value is available in the D3DKMT_CREATEALLOCATIONFLAGS, D3DKMT_CREATEKEYEDMUTEX2_FLAGS, and D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS structures.

Drivers should follow these guidelines on D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS flags:

  • If the synchronization object is not shared, set both Shared and NtSecuritySharing to 0.
  • If the synchronization object is shared with a D3DKMT_HANDLE data type, set Shared = 1 and NtSecuritySharing = 0.
  • If the synchronization object is shared with an NT handle to the process (and without a global D3DKMT_HANDLE kernel-mode handle to the resource), set Shared = 1 and NtSecuritySharing = 1.

Requirements

Version

D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS is supported beginning with the Windows 7 operating system.

Header

D3dukmdt.h (include D3dumddi.h or D3dkmddi.h)

See also

D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS
D3DDDI_SYNCHRONIZATIONOBJECTINFO2
D3DKMT_CREATEALLOCATIONFLAGS
D3DKMT_CREATEKEYEDMUTEX2_FLAGS
D3DKMTShareObjects

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft