24 DPRINT1(
"WinSpooler.Drv Did not load!\n");
31 if ((!lpwszDevice) && (!lpwszDriver))
38 if ((lpwszDevice) && (
wcslen(lpwszDevice) != 0))
82 Dc_Attr->pvLDC = pLDC;
85 DbgPrint(
"DC_ATTR Allocated -> 0x%x\n",Dc_Attr);
109 if (pdcattr->pvLIcm) IcmCompatibleDC(hdcNew,
hdc, pdcattr);
138 if (lpszDriver !=
NULL)
148 if (lpszDevice !=
NULL)
158 if (lpszOutput !=
NULL)
168 if (lpdvmInit !=
NULL)
174 lpdvmInit ? dvmInitW :
NULL,
238 LPWSTR lpszDriverW, lpszDeviceW, lpszOutputW;
263 lpdvmInit ? dvmInitW :
NULL,
435 if ((uObjectType ==
OBJ_PEN) ||
453 return pdcattr->
hpen;
516 if (!ObjectsCount)
return 0;
572 if (!NtGdiGetDeviceCapsAll(
hdc, &pldc->
DevCaps) )
583 if ( pdcattr ==
NULL )
758 ulMFId != EMR_MAX + 1 )
773 if (!NtGdiGetAndSetDCDword(
hdc,
u,
dwIn, &dwResult))
854 return NtGdiGetAppClipBox(
hdc,
lprc);
1010 if (pdcattr ==
NULL)
1041 if (pdcattr ==
NULL)
1067 if (pdcattr ==
NULL)
1093 if (pdcattr ==
NULL)
1099 return pdcattr->
jROP2;
1118 if (pdcattr ==
NULL)
1133 rop2Old = pdcattr->
jROP2;
1152 if (pdcattr ==
NULL)
1169 _In_ int iPolyFillMode)
1171 INT iOldPolyFillMode;
1178 if (pdcattr ==
NULL)
1196 return iOldPolyFillMode;
1211 if (pdcattr ==
NULL)
1242 if (pdcattr ==
NULL)
1308 BOOL ForceBackground);
1315 BOOL bForceBackground)
1352 if (pdcattr ==
NULL)
1368 _In_ int iStretchMode)
1377 if (pdcattr ==
NULL)
1405 if (pdcattr ==
NULL)
1439 if (pdcattr ==
NULL)
1446 hbrOld = pdcattr->
hbrush;
1469 if (pdcattr ==
NULL)
1476 hpenOld = pdcattr->
hpen;
1477 if (hpenOld ==
hpen)
1499 if (pdcattr ==
NULL)
1507 if (hfontOld ==
hfont)
HDC WINAPI CreateICA(LPCSTR lpszDriver, LPCSTR lpszDevice, LPCSTR lpszOutput, CONST DEVMODEA *lpdvmInit)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
BOOL EMFDC_SelectPalette(LDC *dc_attr, HPALETTE palette) DECLSPEC_HIDDEN
int WINAPI GetStretchBltMode(HDC hdc)
#define ERROR_INVALID_PARAMETER
VOID HEAP_free(LPVOID memory)
#define EMR_SETARCDIRECTION
__kernel_entry W32KAPI BOOL APIENTRY NtGdiGetDCDword(_In_ HDC hdc, _In_ UINT u, _Out_ DWORD *Result)
HDC WINAPI ResetDCA(_In_ HDC hdc, _In_ CONST DEVMODEA *lpInitData)
HPALETTE WINAPI SelectPalette(HDC hdc, HPALETTE hpal, BOOL bForceBackground)
_In_ int _Inout_ LPRECT lprc
HCOLORSPACE WINAPI SetColorSpace(_In_ HDC, _In_ HCOLORSPACE)
DWORD WINAPI GetDCDWord(_In_ HDC hdc, _In_ UINT u, _In_ DWORD dwError)
#define ERROR_INVALID_FUNCTION
INT WINAPI SetArcDirection(_In_ HDC hdc, _In_ INT nDirection)
HPALETTE WINAPI NtUserSelectPalette(HDC hDC, HPALETTE hpal, BOOL ForceBackground)
FORCEINLINE PDC_ATTR GdiGetDcAttr(HDC hdc)
__kernel_entry W32KAPI ULONG APIENTRY NtGdiEnumObjects(_In_ HDC hdc, _In_ INT iObjectType, _In_ ULONG cjBuf, _Out_writes_bytes_opt_(cjBuf) PVOID pvBuf)
#define MAXSTRETCHBLTMODE
BOOL WINAPI METADC_SetD(_In_ HDC hdc, _In_ DWORD dwIn, _In_ USHORT usMF16Id)
#define ERROR_INVALID_HANDLE
HDC WINAPI ResetDCW(_In_ HDC hdc, _In_ CONST DEVMODEW *lpInitData)
HFONT WINAPI GetHFONT(HDC hdc)
#define HANDLE_METADC16(_RetType, _Func, dwError, hdc,...)
__kernel_entry W32KAPI HDC APIENTRY NtGdiOpenDCW(_In_opt_ PUNICODE_STRING pustrDevice, _In_ DEVMODEW *pdm, _In_ PUNICODE_STRING pustrLogAddr, _In_ ULONG iType, _In_ BOOL bDisplay, _In_opt_ HANDLE hspool, _At_((PUMDHPDEV *) pUMdhpdev, _Out_) PVOID pUMdhpdev)
_Check_return_ _CRTIMP int __cdecl _wcsnicmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiRestoreDC(_In_ HDC hdc, _In_ INT iLevel)
__kernel_entry W32KAPI HBITMAP APIENTRY NtGdiSelectBitmap(_In_ HDC hdc, _In_ HBITMAP hbm)
#define ERROR_NOT_ENOUGH_MEMORY
IN PVOID IN PVOID IN USHORT IN USHORT Size
int WINAPI SetStretchBltMode(_In_ HDC hdc, _In_ int iStretchMode)
int WINAPI GetClipBox(HDC hdc, LPRECT lprc)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiCancelDC(_In_ HDC hdc)
BOOL WINAPI CancelDC(HDC hDC)
DEVMODEW *WINAPI GdiConvertToDevmodeW(const DEVMODEA *)
#define HANDLE_METADC(_RetType, _Func, dwError, hdc,...)
int WINAPI GetROP2(_In_ HDC hdc)
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
DWORD WINAPI GetRelAbs(_In_ HDC hdc, _In_ DWORD dwIgnore)
int WINAPI StartPage(_In_ HDC)
__kernel_entry W32KAPI DWORD APIENTRY NtGdiSetBoundsRect(_In_ HDC hdc, _In_ LPRECT prc, _In_ DWORD f)
#define DC_PRIMARY_DISPLAY
int WINAPI ExtSelectClipRgn(_In_ HDC, _In_opt_ HRGN, _In_ int)
__kernel_entry W32KAPI INT APIENTRY NtGdiSaveDC(_In_ HDC hdc)
#define LDC_KILL_DOCUMENT
BOOL WINAPI GdiCleanCacheDC(HDC hdc)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
UINT WINAPI SetBoundsRect(HDC hdc, CONST RECT *prc, UINT flags)
COLORREF WINAPI SetDCBrushColor(_In_ HDC hdc, _In_ COLORREF crColor)
BOOL WINAPI EMFDC_SetD(_In_ PLDC pldc, _In_ DWORD dwIn, _In_ ULONG ulMFId)
INT WINAPI GetArcDirection(_In_ HDC hdc)
int WINAPI GetDeviceCaps(_In_ HDC hdc, _In_ int nIndex)
int WINAPI EnumObjects(HDC hdc, int nObjectType, GOBJENUMPROC lpObjectFunc, LPARAM lParam)
HBITMAP WINAPI GdiSelectBitmap(_In_ HDC hdc, _In_ HBITMAP hbmp)
NTSTATUS HEAP_strdupA2W(LPWSTR *ppszW, LPCSTR lpszA)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
int WINAPI GetBkMode(HDC hdc)
#define LDC_INIT_DOCUMENT
BOOL WINAPI DeleteDC(HDC hdc)
INT WINAPI SaveDC(IN HDC hdc)
HGDIOBJ WINAPI GdiFixUpHandle(HGDIOBJ hGO)
#define GDI_OBJECT_TYPE_PALETTE
__kernel_entry W32KAPI HANDLE APIENTRY NtGdiGetDCObject(_In_ HDC hdc, _In_ INT itype)
#define GDI_HANDLE_GET_TYPE(h)
__kernel_entry W32KAPI NTSTATUS APIENTRY NtGdiFlush(VOID)
__kernel_entry W32KAPI HFONT APIENTRY NtGdiSelectFont(_In_ HDC hdc, _In_ HFONT hf)
VOID GdiSAPCallback(PLDC pldc)
PLDC FASTCALL GdiGetLDC(HDC hDC)
int WINAPI SetBkMode(_In_ HDC hdc, _In_ int iBkMode)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
int WINAPI GetPolyFillMode(HDC hdc)
BOOL WINAPI GetAspectRatioFilterEx(HDC hdc, LPSIZE lpAspectRatio)
#define NT_SUCCESS(StatCode)
#define UlongToHandle(ul)
#define HANDLE_EMETAFDC(_RetType, _Func, dwError, hdc,...)
HFONT WINAPI GdiSelectFont(_In_ HDC hdc, _In_ HFONT hfont)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
HBRUSH WINAPI GdiSelectBrush(_In_ HDC hdc, _In_ HBRUSH hbr)
#define GDI_OBJECT_TYPE_METADC
BOOL METADC_SelectPalette(HDC hdc, HPALETTE palette) DECLSPEC_HIDDEN
COLORREF WINAPI GetBkColor(_In_ HDC hdc)
#define GDI_OBJECT_TYPE_DC
#define GDI_OBJECT_TYPE_BITMAP
BOOL APIENTRY NtGdiGetDCPoint(HDC hDC, UINT iPoint, PPOINTL Point)
HGDIOBJ WINAPI GetCurrentObject(_In_ HDC hdc, _In_ UINT uObjectType)
_Must_inspect_result_ _In_ WDFDEVICE Device
INT WINAPI SetRelAbs(HDC hdc, INT Mode)
__kernel_entry W32KAPI HDC APIENTRY NtGdiCreateCompatibleDC(_In_opt_ HDC hdc)
HDC WINAPI CreateICW(LPCWSTR lpszDriver, LPCWSTR lpszDevice, LPCWSTR lpszOutput, CONST DEVMODEW *lpdvmInit)
DWORD WINAPI GetAndSetDCDWord(_In_ HDC hdc, _In_ UINT u, _In_ DWORD dwIn, _In_ ULONG ulMFId, _In_ USHORT usMF16Id, _In_ DWORD dwError)
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiDeleteObjectApp(_In_ HANDLE hobj)
int WINAPI SetPolyFillMode(_In_ HDC hdc, _In_ int iPolyFillMode)
HDC FASTCALL IntCreateDICW(LPCWSTR lpwszDriver, LPCWSTR lpwszDevice, LPCWSTR lpwszOutput, PDEVMODEW lpInitData, ULONG iType)
int WINAPI SetROP2(_In_ HDC hdc, _In_ int rop2)
COLORREF WINAPI GetDCBrushColor(_In_ HDC hdc)
NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
#define HANDLE_METADC1P(_RetType, _Func, dwError, hdc,...)
HDC WINAPI CreateDCA(LPCSTR lpszDriver, LPCSTR lpszDevice, LPCSTR lpszOutput, CONST DEVMODEA *lpdvmInit)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiResetDC(_In_ HDC hdc, _In_ LPDEVMODEW pdm, _Out_ PBOOL pbBanding, _In_opt_ DRIVER_INFO_2W *pDriverInfo2, _At_((PUMDHPDEV *) ppUMdhpdev, _Out_) PVOID ppUMdhpdev)
HGDIOBJ WINAPI SelectObject(_In_ HDC hdc, _In_ HGDIOBJ hobj)
_In_ UINT _In_ DWORD dwIn
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
BOOL WINAPI GdiReleaseDC(HDC hdc)
COLORREF WINAPI GetDCPenColor(_In_ HDC hdc)
DWORD APIENTRY NtGdiGetBoundsRect(IN HDC hdc, OUT LPRECT prc, IN DWORD flags)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
COLORREF WINAPI SetDCPenColor(_In_ HDC hdc, _In_ COLORREF crColor)
BOOL WINAPI RestoreDC(IN HDC hdc, IN INT iLevel)
__kernel_entry W32KAPI INT APIENTRY NtGdiGetDeviceCaps(_In_ HDC hdc, _In_ INT i)
UINT WINAPI GetBoundsRect(HDC hdc, LPRECT lprcBounds, UINT flags)
COLORREF WINAPI SetBkColor(_In_ HDC hdc, _In_ COLORREF crColor)
FORCEINLINE PVOID GdiAllocBatchCommand(HDC hdc, USHORT Cmd)
BOOL FASTCALL LoadTheSpoolerDrv(VOID)
HDC WINAPI CreateCompatibleDC(_In_ HDC hdc)
struct tagLOGBRUSH LOGBRUSH
#define GDI_OBJECT_TYPE_FONT
#define HeapFree(x, y, z)
int WINAPI GetGraphicsMode(HDC hdc)
HPEN WINAPI GdiSelectPen(_In_ HDC hdc, _In_ HPEN hpen)
BOOL WINAPI GdiValidateHandle(HGDIOBJ)
int WINAPI SetGraphicsMode(_In_ HDC hdc, _In_ int iMode)
HDC WINAPI GdiConvertAndCheckDC(HDC hdc)
HDC WINAPI CreateDCW(LPCWSTR lpwszDriver, LPCWSTR lpwszDevice, LPCWSTR lpwszOutput, CONST DEVMODEW *lpInitData)
BOOL WINAPI METADC_RosGlueDeleteDC(_In_ HDC hdc)