_D3DDDICB_LOCKFLAGS structure

The D3DDDICB_LOCKFLAGS structure identifies how to lock an allocation.

Syntax

typedef struct _D3DDDICB_LOCKFLAGS {
  union {
    struct {
      UINT ReadOnly  :1;
      UINT WriteOnly  :1;
      UINT DonotWait  :1;
      UINT IgnoreSync  :1;
      UINT LockEntire  :1;
      UINT DonotEvict  :1;
      UINT AcquireAperture  :1;
      UINT Discard  :1;
      UINT NoExistingReference  :1;
      UINT UseAlternateVA  :1;
      UINT IgnoreReadSync  :1;
      UINT Reserved  :21;
    };
    UINT   Value;
  };
} D3DDDICB_LOCKFLAGS;

Members

Remarks

When you use a D3DDDICB_LOCKFLAGS structure to specify how to lock an allocation, you must adhere to the following rules:

  • Simultaneously specifying the ReadOnly and WriteOnly members is invalid.
  • The IgnoreSync member has no effect if specified with the Discard member.
  • The DonotWait member has no effect if specified with the Discard member.
  • Simultaneously specifying the IgnoreSync and AcquireAperture members is invalid.
  • Because specifying the UseAlternateVA member indicates that an aperture is acquired, the AcquireAperture member must also be set.
  • Retired or offered allocations cannot be locked. See also Requesting to Rename an Allocation.
  • An allocation can be locked only if it was created with the CpuVisible member set in the DXGK_ALLOCATIONINFOFLAGS structure.
  • Only the owner (creator) of a shared allocation can lock it, unless it's a GDI non-managed primary allocation.
  • An allocation that is locked with a swizzled range must be unlocked before it can be locked again.

Requirements

   
Windows version Available in Windows Vista and later versions of the Windows operating systems. Available in Windows Vista and later versions of the Windows operating systems.
Header d3dukmdt.h (include D3dukmdt.h)

See Also

D3DDDICB_LOCK

pfnLockCb

DXGK_ALLOCATIONINFOFLAGS

DxgkDdiAcquireSwizzlingRange

Send comments about this topic to Microsoft