DDRAWI_DDRAWSURFACE_GBL_MORE (Windows CE 5.0)

Send Feedback

This structure contains additional global DirectDrawSurface data that can be shared between object instances.

typedef struct _DDRAWI_DDRAWSURFACE_GBL_MORE {DWORDdwSize;union{DWORDdwPhysicalPageTable;FLATPTRfpPhysicalVidMem;};LPDWORDpPageTable;DWORDcPages;DWORDdwSavedDCContext;FLATPTRfpAliasedVidMem;ULONG_PTRdwDriverReserved;ULONG_PTRdwHELReserved;DWORDcPageUnlocks;DWORDhKernelSurface;DWORDdwKernelRefCnt;LPDDCOLORCONTROLlpColorInfo;FLATPTRfpNTAlias;DWORDdwContentsStamp;LPVOIDlpDDRAWReserved1;LPVOIDlpDDRAWReserved2;DWORDdwDDRAWReserved1;DWORDdwDDRAWReserved2;} DDRAWI_DDRAWSURFACE_GBL_MORE;

Members

  • dwSize**
    Size of the structure. This member must be initialized before the structure is used.
  • dwPhysicalPageTable**
    Physical address of the page table, which is an array of physical addresses at one per 4 KB page. This is the physical address of the table of physical addresses of the pages that hold the page locked system memory surface. This table will be valid whenever the dwPageLockCount member of the DDRAWI_DDRAWSURFACE_MORE structure is non-zero.
  • fpPhysicalVidMem**
    Physical address of the surface (nonlocal display memory only).
  • pPageTable**
    Linear address of the page table whose physical address is given in dwPhysicalPageTable.
  • cPages**
    Indicates the count of elements in the array pointed to by dwPhysicalPageTable and pPageTable. This is equal to the number of physical pages representing the surface.
  • dwSavedDCContext**
    This member is used by DirectDraw and should not be filled in by the driver.
  • fpAliasedVidMem**
    This member is used by DirectDraw and should not be filled in by the driver.
  • dwDriverReserved**
    Reserved for driver use for both system and display memory surfaces.
  • dwHELReserved**
    This member is used by DirectDraw and should not be filled in by the driver.
  • cPageUnlocks**
    This value is incremented whenever the surface is page unlocked. Drivers can cache the physical page table of a surface, then check this value whenever a new DMA request is received. If the value has changed, then the driver's cache of the physical page table needs to be updated. If not, the surface has remained page-locked since the last time it was passed to the driver.
  • hKernelSurface**
    Kernel handle for this surface.
  • dwKernelRefCnt**
    This member is used by DirectDraw and should not be filled in by the driver.
  • lpColorInfo**
    This member is used by DirectDraw and should not be filled in by the driver.
  • fpNTAlias**
    This member is used internally by Microsoft® Windows NT® DirectDraw and should not be filled in by the driver.
  • dwContentsStamp**
    Changes when the surface data may have changed. 0 means no information.
  • lpDDRAWReserved1, lpDDRAWReserved2
    Reserved for future use.
  • dwDDRAWReserved1, dwDDRAWReserved2
    Reserved for future use.

Remarks

Driver writers should use the GET_LPDDRAWSURFACE_GBL_MORE macro to traverse from a DDRAWI_DDRAWSURFACE_GBL address to the DDRAWI_DDRAWSURFACE_GBL_MORE structure.

Requirements

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

See Also

DDRAWI_DDRAWSURFACE_MORE | GET_LPDDRAWSURFACE_GBL_MORE | DDRAWI_DDRAWSURFACE_GBL | DirectDrawSurface Structures

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.