DXSFCREATE enumeration

Enables you to set special properties of DXSurface objects that are created with the IDXSurfaceFactory interface.

Syntax

typedef enum DXSFCREATE { 
  DXSF_FORMAT_IS_CLSID     = ( 1L << 0 ),
  DXSF_NO_LAZY_DDRAW_LOCK  = ( 1L << 1 )
} DXSFCREATE;

Constants

  • DXSF_FORMAT_IS_CLSID
    If this flag is set in the dwflags parameter of the IDXSurfaceFactory::CreateSurface method, the pFormatID parameter is used to create the surface. If this flag is not set, the pFormatID parameter is ignored, and the default value (CLSID_DXSurface) is used. This gives you the option of creating custom DXSurface formats.

  • DXSF_NO_LAZY_DDRAW_LOCK
    Enables you to cancel the selection of "lazy DDraw locking" for the surface.

Remarks

By default, DXSurfaces are locked using a lazy lock of an underlying DirectDrawSurface. This technique locks the DirectDrawSurface the first time the DXSurface is locked, retrieves the pointer to the DirectDrawSurface, and immediately unlocks the DirectDrawSurface. Subsequent locks operations increment a counter. Lazy locking improves code performance markedly, but you should not use it if other operations on the DirectDrawSurface are occurring.

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows 2000 Server

Header

Dxtrans.h

IDL

Dxtrans.idl