Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

98 lines
2.2 KiB

/******************************Module*Header**********************************\
*
* *******************
* * GDI SAMPLE CODE *
* *******************
*
* Module Name: heap.h
*
* This module contains all the definitions for heap related stuff
*
* Copyright (c) 1994-1998 3Dlabs Inc. Ltd. All rights reserved.
* Copyright (c) 1995-1999 Microsoft Corporation. All rights reserved.
\*****************************************************************************/
#ifndef __HEAP__H__
#define __HEAP__H__
//
// This function is called whenever we switch in or out of full-screen mode
//
BOOL bAssertModeOffscreenHeap(PDev*, BOOL);
//
// Off-screen heap initialization
//
BOOL bEnableOffscreenHeap(PDev*);
//
// Move the oldest memory block out of video memory
//
BOOL bMoveOldestBMPOut(PDev* ppdev);
//
// Create a DSURF* in video memory
//
Surf* pCreateSurf(PDev* ppdev, LONG lWidth, LONG lHeight);
//
// Video memory allocation
//
ULONG ulVidMemAllocate(PDev* ppdev, LONG lWidth, LONG lHeight, LONG lPelSize, LONG* plDelta,
VIDEOMEMORY** ppvmHeap, ULONG* pulPackedPP, BOOL bDiscardable);
//
// Blank the screen
//
VOID vBlankScreen(PDev* ppdev);
//
// Adds the surface to the surface list
//
VOID vAddSurfToList(PPDev ppdev, Surf* psurf);
//
// Frees any resources allocated by the off-screen heap
//
VOID vDisableOffscreenHeap(PDev*);
//
// Removes the surface from the surface list
//
VOID vRemoveSurfFromList(PPDev ppdev, Surf* psurf);
//
// Shifts the surface from its current position in the surface list to the
// end of surface list
//
VOID vShiftSurfToListEnd(PPDev ppdev, Surf* psurf);
//
// Informs the heap manager that the surface has been accessed
//
VOID vSurfUsed(PPDev ppdev, Surf* psurf);
//
// Free a DSURF structure
//
void vDeleteSurf(Surf* psurf);
//
// Moves the surface from VM to SM
//
BOOL bDemote(Surf* psurf);
//
// Attempts to move the surface from SM to VM
//
void vPromote(Surf* psurf);
//
// Move all surfaces to SM
//
BOOL bDemoteAll(PPDev ppdev);
#endif // __HEAP__H__