DXLOCKSURF enumeration

Determines how a surface should be locked by the IDXSurface::LockSurface method.

Syntax

typedef enum DXLOCKSURF { 
  DXLOCKF_READ              = 0,
  DXLOCKF_READWRITE         = ( 1 << 0 ),
  DXLOCKF_EXISTINGINFOONLY  = ( 1 << 1 ),
  DXLOCKF_WANTRUNINFO       = ( 1 << 2 ),
  DXLOCKF_NONPREMULT        = ( 1 << 16 ),
  DXLOCKF_VALIDFLAGS        = ( DXLOCKF_READWRITE | DXLOCKF_EXISTINGINFOONLY | DXLOCKF_WANTRUNINFO | DXLOCKF_NONPREMULT )
} DXLOCKSURF;

Constants

  • DXLOCKF_READ
    Surface to lock is read-only.

  • DXLOCKF_READWRITE
    Surface to lock is read/write.

  • DXLOCKF_EXISTINGINFOONLY
    Lock should use existing sample runmap information.

  • DXLOCKF_WANTRUNINFO
    Lock should produce a sample runmap, if one does not exist.

  • DXLOCKF_NONPREMULT
    Surface to lock uses a sample format that is not alpha premultiplied.

  • DXLOCKF_VALIDFLAGS
    Bitwise OR of all flags that is used to test for invalid input.

Remarks

A call to IDXSurface::LockSurface typically uses either DXLOCKF_READ or DXLOCKF_READWRITE. DXLOCKF_EXISTINGINFOONLY, if used in conjunction with DXLOCKF_WANTRUNINFO, prevents creation of a pixel runmap, if one does not exist.

The flags in the high word should be specific to the type of pointer that is requested. These flags define ARGB flags; they are optional for ARGB locks.

For DXLOCKF_NONPREMULT, the caller requests data that is not alpha premultiplied.

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows 2000 Server

Header

Dxtrans.h

IDL

Dxtrans.idl