Share via


DDCAPS

This structure represents the capabilities of the hardware exposed through the DirectDraw object. This structure contains a DDSCAPS structure used in this context to describe what kinds of DirectDrawSurface objects can be created. It may not be possible to simultaneously create all of the surfaces described by these capabilities. This structure is used with the IDirectDraw4::GetCaps method.

The Ddraw.h header file contains multiple versions of this structure. See Remarks for more information.

typedef struct _DDCAPS { 
  DWORD dwSize;
  DWORD dwCaps;
  DWORD dwCaps2;
  DWORD dwCKeyCaps;
  DWORD dwFXCaps;
  DWORD dwFXAlphaCaps;
  DWORD dwPalCaps;
  DWORD dwSVCaps;
  DWORD dwAlphaBltConstBitDepths;
  DWORD dwAlphaBltPixelBitDepths;
  DWORD dwAlphaBltSurfaceBitDepths;
  DWORD dwAlphaOverlayConstBitDepths;
  DWORD dwAlphaOverlayPixelBitDepths;
  DWORD dwAlphaOverlaySurfaceBitDepths;
  DWORD dwZBufferBitDepths;
  DWORD dwVidMemTotal;
  DWORD dwVidMemFree;
  DWORD dwMaxVisibleOverlays;
  DWORD dwCurrVisibleOverlays;
  DWORD dwNumFourCCCodes;
  DWORD dwAlignBoundarySrc;
  DWORD dwAlignSizeSrc;
  DWORD dwAlignBoundaryDest;
  DWORD dwAlignSizeDest;
  DWORD dwAlignStrideAlign;
  DWORD dwRops[DD_ROP_SPACE];
  DWORD dwReservedCaps;
  DWORD dwMinOverlayStretch;
  DWORD dwMaxOverlayStretch;
  DWORD dwMinLiveVideoStretch;
  DWORD dwMaxLiveVideoStretch;
  DWORD dwMinHwCodecStretch;
  DWORD dwMaxHwCodecStretch;
  DWORD dwReserved1;
  DWORD dwReserved2;
  DWORD dwReserved3;
  DWORD dwSVBCaps;
  DWORD dwSVBCKeyCaps;
  DWORD dwSVBFXCaps;
  DWORD dwSVBRops[DD_ROP_SPACE];
  DWORD dwVSBCaps;
  DWORD dwVSBCKeyCaps;
  DWORD dwVSBFXCaps;
  DWORD dwVSBRops[DD_ROP_SPACE];
  DWORD dwSSBCaps;
  DWORD dwSSBCKeyCaps;
  DWORD dwSSBCFXCaps;
  DWORD dwSSBRops[DD_ROP_SPACE];
  DWORD dwMaxVideoPorts;
  DWORD dwCurrVideoPorts;
  DWORD dwSVBCaps2;
  DWORD dwNLVBCaps;
  DWORD dwNLVBCaps2;
  DWORD dwNLVBCKeyCaps;
  DWORD dwNLVBFXCaps;
  DWORD dwNLVBRops[DD_ROP_SPACE];
  DDSCAPS2 ddsCaps;
} DDCAPS,FAR *LPDDCAPS;  

Members

  • dwSize
    Size of the structure, in bytes. This member must be initialized before the structure is used.
  • dwCaps
    Driver-specific capabilities. The following table shows the possible flags.
    Flag Description
    DDCAPS_3D Indicates that the display hardware has 3-D acceleration.
    DDCAPS_ALIGNBOUNDARYDEST Indicates that DirectDraw will support only those overlay destination rectangles with the x-axis aligned to the dwAlignBoundaryDest boundaries of the surface.
    DDCAPS_ALIGNBOUNDARYSRC Indicates that DirectDraw will support only those overlay source rectangles with the x-axis aligned to the dwAlignBoundarySrc boundaries of the surface.
    DDCAPS_ALIGNSIZEDEST Indicates that DirectDraw will support only those overlay destination rectangles whose x-axis sizes, in pixels, are dwAlignSizeDest multiples.
    DDCAPS_ALIGNSIZESRC Indicates that DirectDraw will support only those overlay source rectangles whose x-axis sizes, in pixels, are dwAlignSizeSrc multiples.
    DDCAPS_ALIGNSTRIDE Indicates that DirectDraw will create display memory surfaces that have a stride alignment equal to the dwAlignStrideAlign value.
    DDCAPS_ALPHA Indicates that the display hardware supports alpha-only surfaces. (See alpha channel)
    DDCAPS_BANKSWITCHED Indicates that the display hardware is bank-switched and is potentially very slow at random access to display memory.
    DDCAPS_BLT Indicates that display hardware is capable of blit operations.
    DDCAPS_BLTCOLORFILL Indicates that display hardware is capable of color filling with a blitter.
    DDCAPS_BLTDEPTHFILL Indicates that display hardware is capable of depth filling Z-buffers with a blitter.
    DDCAPS_BLTFOURCC Indicates that display hardware is capable of color-space conversions during blit operations.
    DDCAPS_BLTQUEUE Indicates that display hardware is capable of asynchronous blit operations.
    DDCAPS_BLTSTRETCH Indicates that display hardware is capable of stretching during blit operations.
    DDCAPS_CANBLTSYSMEM Indicates that display hardware is capable of blitting to or from system memory.
    DDCAPS_CANCLIP Indicates that display hardware is capable of clipping with blitting.
    DDCAPS_CANCLIPSTRETCHED Indicates that display hardware is capable of clipping while stretch-blitting.
    DDCAPS_COLORKEY Supports some form of color key in either overlay or blit operations. More specific color key capability information can be found in the dwCKeyCaps member.
    DDCAPS_GDI Indicates that display hardware is shared with GDI.
    DDCAPS_NOHARDWARE Indicates that there is no hardware support.
    DDCAPS_OVERLAY Indicates that display the hardware supports overlays.
    DDCAPS_OVERLAYCANTCLIP Indicates that display the hardware supports overlays but cannot clip them.
    DDCAPS_OVERLAYFOURCC Indicates that overlay hardware is capable of color-space conversions during overlay operations.
    DDCAPS_OVERLAYSTRETCH Indicates that overlay hardware is capable of stretching. The dwMinOverlayStretch and dwMaxOverlayStretch members contain valid data.
    DDCAPS_PALETTE Indicates that DirectDraw is capable of creating and supporting DirectDrawPalette objects for more surfaces than only the primary surface.
    DDCAPS_PALETTEVSYNC Indicates that DirectDraw is capable of updating a palette synchronized with the vertical refresh.
    DDCAPS_READSCANLINE Indicates that display hardware is capable of returning the current scan line.
    DDCAPS_STEREOVIEW Indicates that display hardware has stereo vision capabilities.
    DDCAPS_VBI Indicates that display hardware is capable of generating a vertical-blank interrupt.
    DDCAPS_ZBLTS Supports the use of Z-buffers with blit operations.
    DDCAPS_ZOVERLAYS Supports the use of the IDirectDrawSurface5::UpdateOverlayZOrder method as a Z-value for overlays to control their layering.
  • dwCaps2
    Additional driver-specific capabilities. The following table shows the possible flags.
    Flag Description
    DDCAPS2_AUTOFLIPOVERLAY The overlay can be automatically flipped to the next surface in the flip chain each time a video port VSYNC occurs, allowing the video port and the overlay to double buffer the video without CPU overhead. This option is only valid when the surface is receiving data from a video port. If the video port data is non-interlaced or non-interleaved, it will flip on every VSYNC. If the data is being interleaved in memory, it will flip on every other VSYNC.
    DDCAPS2_CANBOBHARDWARE The overlay hardware can display each field of an interlaced video stream individually.
    DDCAPS2_CANBOBINTERLEAVED The overlay hardware can display each field of an interlaced video stream individually while it is interleaved in memory without causing any artifacts that might normally occur without special hardware support. This option is only valid when the surface is receiving data from a video port and is only valid when the video is zoomed at least two times in the vertical direction.
    DDCAPS2_CANBOBNONINTERLEAVED The overlay hardware can display each field of an interlaced video stream individually while it is not interleaved in memory without causing any artifacts that might normally occur without special hardware support. This option is only valid when the surface is receiving data from a video port and is only valid when the video is zoomed at least two times in the vertical direction.
    DDCAPS2_CANDROPZ16BIT 16-bit RGBZ values can be converted into 16-bit RGB values. (The system does not support 8-bit conversions.)
    DDCAPS2_CANFLIPODDEVEN The driver is capable of performing odd and even flip operations, as specified by the DDFLIP_ODD and DDFLIP_EVEN flags used with the IDirectDrawSurface5::Flip method.
    DDCAPS2_CANRENDERWINDOWED The driver is capable of rendering in windowed mode.
    DDCAPS2_CERTIFIED Indicates that display hardware is certified.
    DDCAPS2_COLORCONTROLPRIMARY The primary surface contains color controls (for instance, gamma).
    DDCAPS2_COLORCONTROLOVERLAY The overlay surface contains color controls, such as brightness and sharpness.
    DDCAPS2_COPYFOURCC Indicates that the driver supports blitting any FOURCC surface to another surface of the same FOURCC.
    DDCAPS2_FLIPINTERVAL Indicates that the driver will respond to the DDFLIP_INTERVAL* flags. (see IDirectDrawSurface5::Flip).
    DDCAPS2_FLIPNOVSYNC Indicates that the driver will respond to the DDFLIP_NOVSYNC flag (see IDirectDrawSurface5::Flip).
    DDCAPS2_NO2DDURING3DSCENE Indicates that 2-D operations such as IDirectDrawSurface5::Blt and IDirectDrawSurface5::Lock cannot be performed on any surfaces that Direct3D® is using between calls to the IDirect3DDevice3::BeginScene and IDirect3DDevice3::EndScene methods.
    DDCAPS2_NONLOCALVIDMEM Indicates that the display driver supports surfaces in non-local video memory.
    DDCAPS2_NONLOCALVIDMEMCAPS Indicates that blit capabilities for non-local video memory surfaces differ from local video memory surfaces. If this flag is present, the DDCAPS2_NONLOCALVIDMEM flag will also be present.
    DDCAPS2_NOPAGELOCKREQUIRED DMA blit operations are supported on system memory surfaces that are not page locked.
    DDCAPS2_PRIMARYGAMMA Supports dynamic gamma ramps for the primary surface.
    DDCAPS2_VIDEOPORT Indicates that display hardware supports live video.
    DDCAPS2_WIDESURFACES Indicates that the display surfaces supports surfaces wider than the primary surface.
  • dwCKeyCaps
    Color-key capabilities. The following table shows the possible flags.
    Flag Description
    DDCKEYCAPS_DESTBLT Supports transparent blitting with a color key that identifies the replaceable bits of the destination surface for RGB colors.
    DDCKEYCAPS_DESTBLTCLRSPACE Supports transparent blitting with a color space that identifies the replaceable bits of the destination surface for RGB colors.
    DDCKEYCAPS_DESTBLTCLRSPACEYUV Supports transparent blitting with a color space that identifies the replaceable bits of the destination surface for YUV colors.
    DDCKEYCAPS_DESTBLTYUV Supports transparent blitting with a color key that identifies the replaceable bits of the destination surface for YUV colors.
    DDCKEYCAPS_DESTOVERLAY Supports overlaying with color keying of the replaceable bits of the destination surface being overlaid for RGB colors.
    DDCKEYCAPS_DESTOVERLAYCLRSPACE Supports a color space as the color key for the destination of RGB colors.
    DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV Supports a color space as the color key for the destination of YUV colors.
    DDCKEYCAPS_DESTOVERLAYONEACTIVE Supports only one active destination color key value for visible overlay surfaces.
    DDCKEYCAPS_DESTOVERLAYYUV Supports overlaying using color keying of the replaceable bits of the destination surface being overlaid for YUV colors.
    DDCKEYCAPS_NOCOSTOVERLAY Indicates there are no bandwidth trade-offs for using the color key with an overlay.
    DDCKEYCAPS_SRCBLT Supports transparent blitting using the color key for the source with this surface for RGB colors.
    DDCKEYCAPS_SRCBLTCLRSPACE Supports transparent blitting using a color space for the source with this surface for RGB colors.
    DDCKEYCAPS_SRCBLTCLRSPACEYUV Supports transparent blitting using a color space for the source with this surface for YUV colors.
    DDCKEYCAPS_SRCBLTYUV Supports transparent blitting using the color key for the source with this surface for YUV colors.
    DDCKEYCAPS_SRCOVERLAY Supports overlaying using the color key for the source with this overlay surface for RGB colors.
    DDCKEYCAPS_SRCOVERLAYCLRSPACE Supports overlaying using a color space as the source color key for the overlay surface for RGB colors.
    DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV Supports overlaying using a color space as the source color key for the overlay surface for YUV colors.
    DDCKEYCAPS_SRCOVERLAYONEACTIVE Supports only one active source color key value for visible overlay surfaces.
    DDCKEYCAPS_SRCOVERLAYYUV Supports overlaying using the color key for the source with this overlay surface for YUV colors.
  • dwFXCaps
    Driver-specific stretching and effects capabilities. The following table shows the possible flags.
    Flag Description
    DDFXCAPS_BLTALPHA Supports alpha-blended blit operations.
    DDFXCAPS_BLTARITHSTRETCHY Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink surfaces during a blit operation. Occurs along the y-axis (vertically).
    DDFXCAPS_BLTARITHSTRETCHYN Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink surfaces during a blit operation. Occurs along the y-axis (vertically), and works only for integer stretching (×1, ×2, and so on).
    DDFXCAPS_BLTFILTER Driver can do surface-reconstruction filtering for warped blits.
    DDFXCAPS_BLTMIRRORLEFTRIGHT Supports mirroring left to right in a blit operation.
    DDFXCAPS_BLTMIRRORUPDOWN Supports mirroring top to bottom in a blit operation.
    DDFXCAPS_BLTROTATION Supports arbitrary rotation in a blit operation.
    DDFXCAPS_BLTROTATION90 Supports 90-degree rotations in a blit operation.
    DDFXCAPS_BLTSHRINKX Supports arbitrary shrinking of a surface along the x-axis (horizontally). This flag is valid only for blit operations.
    DDFXCAPS_BLTSHRINKXN Supports integer shrinking (×1, ×2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for blit operations.
    DDFXCAPS_BLTSHRINKY Supports arbitrary shrinking of a surface along the y-axis (vertically). This flag is valid only for blit operations.
    DDFXCAPS_BLTSHRINKYN Supports integer shrinking (×1, ×2, and so on) of a surface along the y-axis (vertically). This flag is valid only for blit operations.
    DDFXCAPS_BLTSTRETCHX Supports arbitrary stretching of a surface along the x-axis (horizontally). This flag is valid only for blit operations.
    DDFXCAPS_BLTSTRETCHXN Supports integer stretching (×1, ×2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for blit operations.
    DDFXCAPS_BLTSTRETCHY Supports arbitrary stretching of a surface along the y-axis (vertically). This flag is valid only for blit operations.
    DDFXCAPS_BLTSTRETCHYN Supports integer stretching (×1, ×2, and so on) of a surface along the y-axis (vertically). This flag is valid only for blit operations.
    DDFXCAPS_BLTTRANSFORM Supports geometric transformations (or warps) for blitted sprites. Transformations are not currently supported for explicit blit operations.
    DDFXCAPS_OVERLAYALPHA Supports alpha blending for overlay surfaces.
    DDFXCAPS_OVERLAYARITHSTRETCHY Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink overlay surfaces. Occurs along the y-axis (vertically).
    DDFXCAPS_OVERLAYARITHSTRETCHYN Uses arithmetic operations, rather than pixel-doubling techniques, to stretch and shrink overlay surfaces. Occurs along the y-axis (vertically), and works only for integer stretching (×1, ×2, and so on).
    DDFXCAPS_OVERLAYFILTER Supports surface-reconstruction filtering for warped overlay sprites. Filtering is not currently supported for explicitly displayed overlay surfaces (those displayed with calls to IDirectDrawSurface5::UpdateOverlay).
    DDFXCAPS_OVERLAYMIRRORLEFTRIGHT Supports mirroring of overlays across the vertical axis.
    DDFXCAPS_OVERLAYMIRRORUPDOWN Supports mirroring of overlays across the horizontal axis.
    DDFXCAPS_OVERLAYSHRINKX Supports arbitrary shrinking of a surface along the x-axis (horizontally). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available.
    DDFXCAPS_OVERLAYSHRINKXN Supports integer shrinking (×1, ×2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available.
    DDFXCAPS_OVERLAYSHRINKY Supports arbitrary shrinking of a surface along the y-axis (vertically). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available.
    DDFXCAPS_OVERLAYSHRINKYN Supports integer shrinking (×1, ×2, and so on) of a surface along the y-axis (vertically). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that shrinking is available.
    DDFXCAPS_OVERLAYSTRETCHX Supports arbitrary stretching of a surface along the x-axis (horizontally). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that stretching is available.
    DDFXCAPS_OVERLAYSTRETCHXN Supports integer stretching (×1, ×2, and so on) of a surface along the x-axis (horizontally). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that stretching is available.
    DDFXCAPS_OVERLAYSTRETCHY Supports arbitrary stretching of a surface along the y-axis (vertically). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that stretching is available.
    DDFXCAPS_OVERLAYSTRETCHYN Supports integer stretching (×1, ×2, and so on) of a surface along the y-axis (vertically). This flag is valid only for DDSCAPS_OVERLAY surfaces. This flag indicates only the capabilities of a surface; it does not indicate that stretching is available.
    DDFXCAPS_OVERLAYTRANSFORM Supports geometric transformations (or warps) for overlay sprites. Transformations are not currently supported for explicitly displayed overlay surfaces (those displayed with calls to IDirectDrawSurface5::UpdateOverlay).
  • dwFXAlphaCaps
    Driver-specific alpha capabilities. The following table shows the possible flags.
    Flag Description
    DDFXALPHACAPS_BLTALPHAEDGEBLEND Supports alpha blending around the edge of a source color-keyed surface. Used for blit operations.
    DDFXALPHACAPS_BLTALPHAPIXELS Supports alpha information in pixel format. The bit depth of alpha information in the pixel format can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, zero is always the fully transparent value. Used for blit operations.
    DDFXALPHACAPS_BLTALPHAPIXELSNEG Supports alpha information in pixel format. The bit depth of alpha information in the pixel format can be 1, 2, 4, or 8. The alpha value becomes more transparent as the alpha value increases. Regardless of the depth of the alpha information, zero is always the fully opaque value. This flag can be used only if DDCAPS_ALPHA is set. Used for blit operations.
    DDFXALPHACAPS_BLTALPHASURFACES Supports alpha-only surfaces. The bit depth of an alpha-only surface can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, zero is always the fully transparent value. Used for blit operations.
    DDFXALPHACAPS_BLTALPHASURFACESNEG Indicates that the alpha channel becomes more transparent as the alpha value increases. The depth of the alpha channel data can be 1, 2, 4, or 8. Regardless of the depth of the alpha information, zero is always the fully opaque value. This flag can be set only if DDCAPS_ALPHA has been set. Used for blit operations.
    DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND Supports alpha blending around the edge of a source color-keyed surface. Used for overlays.
    DDFXALPHACAPS_OVERLAYALPHAPIXELS Supports alpha information in pixel format. The bit depth of alpha information in pixel format can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, zero is always the fully transparent value. Used for overlays.
    DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG Supports alpha information in pixel format. The bit depth of alpha information in pixel format can be 1, 2, 4, or 8. The alpha value becomes more transparent as the alpha value increases. Regardless of the depth of the alpha information, zero is always the fully opaque value. This flag can be used only if DDCAPS_ALPHA has been set. Used for overlays.
    DDFXALPHACAPS_OVERLAYALPHASURFACES Supports alpha-only surfaces. The bit depth of an alpha-only surface can be 1, 2, 4, or 8. The alpha value becomes more opaque as the alpha value increases. Regardless of the depth of the alpha information, zero is always the fully transparent value. Used for overlays.
    DDFXALPHACAPS_OVERLAYALPHASURFACESNEG Indicates that the alpha channel becomes more transparent as the alpha value increases. The depth of the alpha channel data can be 1, 2, 4, or 8. Regardless of the depth of the alpha information, zero is always the fully opaque value. This flag can be used only if DDCAPS_ALPHA has been set. Used for overlays.
  • dwPalCaps
    Palette capabilities. The following table shows the possible flags.
    Flag Description
    DDPCAPS_8BIT Supports palettes that contain 8-bit color entries (256 colors).
    DDPCAPS_8BITENTRIES Specifies an index to an 8-bit color index. This field is valid only when used with the DDPCAPS_1BIT, DDPCAPS_2BIT, or DDPCAPS_4BIT capability and when the target surface is in 8 bits per pixel (BPP). Each color entry is one byte long and is an index to an 8-BPP palette on the destination surface.
    DDPCAPS_ALPHA Supports palettes that include an alpha component. For alpha-capable palettes, the peFlags member of for each PALETTEENTRY structure the palette contains is to be interpreted as a single 8-bit alpha value (in addition to the color data in the peRed, peGreen, and peBlue members). A palette created with this flag can only be attached to a texture surface.
    DDPCAPS_ALLOW256 Supports palettes that can have all 256 entries defined.
    DDPCAPS_PRIMARYSURFACE Indicates that the palette is attached to the primary surface. Changing the palette has an immediate effect on the display unless the DDPCAPS_VSYNC capability is specified and supported.
    DDPCAPS_PRIMARYSURFACELEFT Not supported in Windows CE.
    DDPCAPS_VSYNC Indicates that the palette can be modified synchronously with the monitor's refresh rate.
    DDPCAPS_1BIT, DDPCAPS_2BIT, DDPCAPS_4BIT These flags are not supported in Windows CE.
  • dwSVCaps
    Stereo vision capabilities. The following table shows the possible flags.
    Flag Description
    DDSVCAPS_ENIGMA Indicates that the stereo view is accomplished using Enigma encoding.
    DDSVCAPS_FLICKER Indicates that the stereo view is accomplished using high-frequency flickering.
    DDSVCAPS_REDBLUE Indicates that the stereo view is accomplished when the viewer looks at the image through red and blue filters placed over the left and right eyes. All images must adapt their color spaces for this process.
    DDSVCAPS_SPLIT Indicates that the stereo view is accomplished with split-screen technology.
  • dwAlphaBltConstBitDepths
    DDBD_2, DDBD_4, or DDBD_8. (Indicates 2-, 4-, or 8-bits per pixel.)
  • dwAlphaBltPixelBitDepths
    DDBD_1, DDBD_2, DDBD_4, or DDBD_8. (Indicates 1-, 2-, 4-, or 8-bits per pixel.)
  • dwAlphaBltSurfaceBitDepths
    DDBD_1, DDBD_2, DDBD_4, or DDBD_8. (Indicates 1-, 2-, 4-, or 8-bits per pixel.)
  • dwAlphaOverlayConstBitDepths
    DDBD_2, DDBD_4, or DDBD_8. (Indicates 2-, 4-, or 8-bits per pixel.)
  • dwAlphaOverlayPixelBitDepths
    DDBD_1, DDBD_2, DDBD_4, or DDBD_8. (Indicates 1-, 2-, 4-, or 8-bits per pixel.)
  • dwAlphaOverlaySurfaceBitDepths
    DDBD_1, DDBD_2, DDBD_4, or DDBD_8. (Indicates 1-, 2-, 4-, or 8-bits per pixel.)
  • dwZBufferBitDepths
    DDBD_8, DDBD_16, DDBD_24, or DDBD_32. (Indicates 8-, 16-, 24-,or 32-bits per pixel.) This member is obsolete for DirectX 6.0 and later. Use the IDirect3D3::EnumZBufferFormats to retrieve information about supported depth buffer formats.
  • dwVidMemTotal
    Total amount of display memory on the device, in bytes, minus the memory reserved for the primary surface and any private data structures reserved by the driver. (This value is the same as the total video memory reported by the IDirectDraw4::GetAvailableVidMem method.)
  • dwVidMemFree
    Free display memory. This value equals the value in dwVidMemTotal, minus any memory currently allocated by the application for surfaces. Unlike the GetAvailableVidMem method, which reports the memory available for a particular type of surface, such as a texture, this value reflects the memory available for any type of surface.
  • dwMaxVisibleOverlays
    Maximum number of visible overlays or overlay sprites.
  • dwCurrVisibleOverlays
    Current number of visible overlays or overlay sprites.
  • dwNumFourCCCodes
    Number of FourCC codes.
  • dwAlignBoundarySrc
    Source rectangle alignment, in pixels, for an overlay surface.
  • dwAlignSizeSrc
    Source rectangle size alignment, in pixels, for an overlay surface. Overlay source rectangles must have a pixel width that is a multiple of this value.
  • dwAlignBoundaryDest
    Destination rectangle alignment, in pixels, for an overlay surface.
  • dwAlignSizeDest
    Destination rectangle size alignment, in pixels, for an overlay surface. Overlay destination rectangles must have a pixel width that is a multiple of this value.
  • dwAlignStrideAlign
    Stride alignment.
  • dwRops[DD_ROP_SPACE]
    Raster operations supported.
  • dwReservedCaps
    Reserved. Prior to DirectX 6.0, this member contained general surface capabilities, which are now contained in the ddsCaps member (a DDSCAPS2 structure).
  • dwMinOverlayStretch and dwMaxOverlayStretch
    Minimum and maximum overlay stretch factors multiplied by 1000. For example, 1.3 x 1000 = 1300.
  • dwMinLiveVideoStretch and dwMaxLiveVideoStretch
    These members are obsolete; do not use.
  • dwMinHwCodecStretch and dwMaxHwCodecStretch
    These members are obsolete; do not use.
  • dwReserved1, dwReserved2, and dwReserved3
    Reserved for future use.
  • dwSVBCaps
    Driver-specific capabilities for system-memory-to-display-memory blits. Valid flags are identical to the blit-related flags used with the dwCaps member.
  • dwSVBCKeyCaps
    Driver color-key capabilities for system-memory-to-display-memory blits. Valid flags are identical to the blit-related flags used with for the dwCKeyCaps member.
  • dwSVBFXCaps
    Driver FX capabilities for system-memory-to-display-memory blits. Valid flags are identical to the blit-related flags used with the dwFXCaps member.
  • dwSVBRops[DD_ROP_SPACE]
    Raster operations supported for system-memory-to-display-memory blits.
  • dwVSBCaps
    Driver-specific capabilities for display-memory-to-system-memory blits. Valid flags are identical to the blit-related flags used with the dwCaps member.
  • dwVSBCKeyCaps
    Driver color-key capabilities for display-memory-to-system-memory blits. Valid flags are identical to the blit-related flags used with the dwCKeyCaps member.
  • dwVSBFXCaps
    Driver FX capabilities for display-memory-to-system-memory blits. Valid flags are identical to the blit-related flags used with the dwFXCaps member.
  • dwVSBRops*[DD_ROP_SPACE]*
    Raster operations supported for display-memory-to-system-memory blits.
  • dwSSBCaps
    Driver-specific capabilities for system-memory-to-system-memory blits. Valid flags are identical to the blit-related flags used with the dwCaps member.
  • dwSSBCKeyCaps
    Driver color-key capabilities for system-memory-to-system-memory blits. Valid flags are identical to the blit-related flags used with the dwCKeyCaps member.
  • dwSSBCFXCaps
    Driver FX capabilities for system-memory-to-system-memory blits. Valid flags are identical to the blit-related flags used with the dwFXCaps member.
  • dwSSBRops[DD_ROP_SPACE]
    Raster operations supported for system-memory-to-system-memory blits.
  • dwMaxVideoPorts
    Maximum number of live video ports.
  • dwCurrVideoPorts
    Current number of live video ports.
  • dwSVBCaps2
    Additional driver-specific capabilities for system-memory-to-video-memory blits. Valid flags are identical to the blit-related flags used with the dwCaps2 member.
  • dwNLVBCaps
    Driver-specific capabilities for nonlocal-to-local video memory blits. Valid flags are identical to the blit-related flags used with the dwCaps member.
  • dwNLVBCaps2
    Additional driver-specific capabilities for nonlocal-to-local video memory blits. Valid flags are identical to the blit-related flags used with the dwCaps2 member.
  • dwNLVBCKeyCaps
    Driver color-key capabilities for nonlocal-to-local video memory blits. Valid flags are identical to the blit-related flags used with for the dwCKeyCaps member.
  • dwNLVBFXCaps
    Driver FX capabilities for nonlocal-to-local video memory blits. Valid flags are identical to the blit-related flags used with the dwFXCaps member.
  • dwNLVBRops[DD_ROP_SPACE]
    Raster operations supported for nonlocal-to-local video memory blits.
  • ddsCaps
    DDSCAPS2 structure with general surface capabilities.

Remarks

For backward compatibility with previous versions of DirectX, the Ddraw.h header file contains multiple definitions for the DDCAPS structure. The version that passes the preprocessor is determined by the value of the DIRECTDRAW_VERSION constant.

Requirements

OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.
Header: Ddraw.h.

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.