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.

95 lines
2.2 KiB

  1. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  2. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  3. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  4. // PARTICULAR PURPOSE.
  5. //
  6. // Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved.
  7. //
  8. // FILE: OEMUNI.H
  9. //
  10. //
  11. // PURPOSE: Define common data types, and external function prototypes
  12. // for debug.cpp.
  13. //
  14. // PLATFORMS:
  15. //
  16. // Windows 2000, Windows XP, Windows Server 2003
  17. //
  18. //
  19. #ifndef _OEMUNI_H
  20. #define _OEMUNI_H
  21. #include "OEM.H"
  22. #include "DEVMODE.H"
  23. ////////////////////////////////////////////////////////
  24. // OEM Defines
  25. ////////////////////////////////////////////////////////
  26. #define DLLTEXT(s) TEXT("OEMUNI: ") TEXT(s)
  27. #define ERRORTEXT(s) TEXT("ERROR ") DLLTEXT(s)
  28. ///////////////////////////////////////////////////////
  29. // Warning: the following enum order must match the
  30. // order in OEMHookFuncs[].
  31. ///////////////////////////////////////////////////////
  32. typedef enum tag_Hooks {
  33. UD_DrvRealizeBrush,
  34. UD_DrvDitherColor,
  35. UD_DrvCopyBits,
  36. UD_DrvBitBlt,
  37. UD_DrvStretchBlt,
  38. UD_DrvTextOut,
  39. UD_DrvStrokePath,
  40. UD_DrvFillPath,
  41. UD_DrvStrokeAndFillPath,
  42. UD_DrvPaint,
  43. UD_DrvLineTo,
  44. UD_DrvStartPage,
  45. UD_DrvSendPage,
  46. UD_DrvEscape,
  47. UD_DrvStartDoc,
  48. UD_DrvEndDoc,
  49. UD_DrvNextBand,
  50. UD_DrvStartBanding,
  51. UD_DrvQueryFont,
  52. UD_DrvQueryFontTree,
  53. UD_DrvQueryFontData,
  54. UD_DrvQueryAdvanceWidths,
  55. UD_DrvFontManagement,
  56. UD_DrvGetGlyphMode,
  57. UD_DrvStretchBltROP,
  58. UD_DrvPlgBlt,
  59. UD_DrvTransparentBlt,
  60. UD_DrvAlphaBlend,
  61. UD_DrvGradientFill,
  62. MAX_DDI_HOOKS,
  63. } ENUMHOOKS;
  64. typedef struct _OEMPDEV {
  65. //
  66. // define whatever needed, such as working buffers, tracking information,
  67. // etc.
  68. //
  69. // This test DLL hooks out every drawing DDI. So it needs to remember
  70. // Unidrv's hook function pointer so it call back.
  71. //
  72. PFN pfnUnidrv[MAX_DDI_HOOKS];
  73. //
  74. // define whatever needed, such as working buffers, tracking information,
  75. // etc.
  76. //
  77. DWORD dwReserved[1];
  78. } OEMPDEV, *POEMPDEV;
  79. #endif