Synchronization Issues for Display Drivers

Synchronization Issues for Display Drivers

Microsoft advises that the display driver not call any GDI functions while holding a lock. It is especially important that the display driver not call any of the following functions while holding a mutex. Doing so can lead to a deadlock.

  • BRUSHOBJ_hGetColorTransform

  • BRUSHOBJ_pvAllocRbrush

  • BRUSHOBJ_pvGetRbrush

  • BRUSHOBJ_ulGetBrushColor

  • CLIPOBJ_bEnum

  • CLIPOBJ_cEnumStart

  • CLIPOBJ_ppoGetPath

  • EngAcquireSemaphore

  • EngAllocMem

  • EngAllocPrivateUserMem

  • EngAllocUserMem

  • EngAlphaBlend

  • EngAssociateSurface

  • EngBitBlt

  • EngCheckAbort

  • EngComputeGlyphSet

  • EngControlSprites

  • EngCopyBits

  • EngCreateBitmap

  • EngCreateClip

  • EngCreateDeviceBitmap

  • EngCreateDeviceSurface

  • EngCreateDriverObj

  • EngCreateEvent

  • EngCreatePalette

  • EngCreatePath

  • EngCreateSemaphore

  • EngCreateWnd

  • EngDeleteClip

  • EngDeleteDriverObj

  • EngDeleteEvent

  • EngDeletePalette

  • EngDeletePath

  • EngDeleteSafeSemaphore

  • EngDeleteSemaphore

  • EngDeleteSurface

  • EngDeleteWnd

  • EngDxIoctl

  • EngEraseSurface

  • EngFillPath

  • EngFntCacheAlloc

  • EngFntCacheFault

  • EngFntCacheLookUp

  • EngFreeMem

  • EngFreeModule

  • EngFreePrivateUserMem

  • EngFreeUserMem

  • EngGetType1FontList

  • EngGradientFill

  • EngHangNotification

  • EngInitializeSafeSemaphore

  • EngLineTo

  • EngLoadImage

  • EngLoadModule

  • EngLoadModuleForWrite

  • EngLockDirectDrawSurface

  • EngLockDriverObj

  • EngLockSurface

  • EngMapEvent

  • EngMapFile

  • EngMapFontFileFD

  • EngMarkBandingSurface

  • EngModifySurface

  • EngMovePointer

  • EngNineGrid

  • EngPaint

  • EngPlgBlt

  • EngQueryPalette

  • EngReleaseSemaphore

  • EngSetPointerShape

  • EngStretchBlt

  • EngStretchBltROP

  • EngStrokeAndFillPath

  • EngStrokePath

  • EngTextOut

  • EngTransparentBlt

  • EngUnloadImage

  • EngUnlockDirectDrawSurface

  • EngUnlockDriverObj

  • EngUnlockSurface

  • EngUnmapEvent

  • EngUnmapFile

  • EngUnmapFontFile

  • EngUnmapFontFileFD

  • EngWaitForSingleObject

  • FONTOBJ_cGetAllGlyphHandles

  • FONTOBJ_cGetGlyphs

  • FONTOBJ_pifi

  • FONTOBJ_pjOpenTypeTablePointer

  • FONTOBJ_pQueryGlyphAttrs

  • FONTOBJ_pvTrueTypeFontFile

  • FONTOBJ_pxoGetXform

  • FONTOBJ_vGetInfo

  • HeapVidMemAllocAligned

  • PALOBJ_cGetColors

  • PATHOBJ_bEnumClipLines

  • PATHOBJ_bMoveTo

  • PATHOBJ_bPolyBezierTo

  • PATHOBJ_vEnumStartClipLines

  • PATHOBJ_vGetBounds

  • STROBJ_bEnum

  • VidMemFree

  • WNDOBJ_bEnum

  • WNDOBJ_cEnumStart

  • WNDOBJ_vSetConsumer

  • XFORMOBJ_bApplyXform

  • XFORMOBJ_iGetFloatObjXform

  • XFORMOBJ_iGetXform

  • XLATEOBJ_cGetPalette

  • XLATEOBJ_hGetColorTransform

  • XLATEOBJ_iXlate

  • XLATEOBJ_piVector

 

 

Send comments about this topic to Microsoft

Show:
© 2016 Microsoft