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

  1. /*++
  2. Copyright (c) 1990-2003 Microsoft Corporation
  3. All rights reserved
  4. Module Name:
  5. winprint.h
  6. // @@BEGIN_DDKSPLIT
  7. Abstract:
  8. Author:
  9. Environment:
  10. User Mode -Win32
  11. Revision History:
  12. // @@END_DDKSPLIT
  13. --*/
  14. // for driver related defines and typedefs
  15. #include <winddiui.h>
  16. #include <strsafe.h>
  17. typedef struct _PRINTPROCESSORDATA {
  18. DWORD signature;
  19. DWORD cb;
  20. struct _PRINTPROCESSORDATA *pNext;
  21. DWORD fsStatus;
  22. HANDLE semPaused;
  23. DWORD uDatatype;
  24. HANDLE hPrinter;
  25. LPWSTR pPrinterName;
  26. LPWSTR pDocument;
  27. LPWSTR pOutputFile;
  28. LPWSTR pDatatype;
  29. LPWSTR pParameters;
  30. DWORD JobId;
  31. DWORD Copies; /** Number of copies to print **/
  32. DWORD TabSize;
  33. HDC hDC;
  34. DEVMODEW *pDevmode;
  35. LPWSTR pPrinterNameFromOpenData;
  36. } PRINTPROCESSORDATA, *PPRINTPROCESSORDATA;
  37. #define PRINTPROCESSORDATA_SIGNATURE 0x5051 /* 'QP' is the signature value */
  38. /* Define flags for fsStatus field */
  39. #define PRINTPROCESSOR_ABORTED 0x0001
  40. #define PRINTPROCESSOR_CLOSED 0x0004
  41. #define PRINTPROCESSOR_PAUSED 0x0008
  42. #define PRINTPROCESSOR_RESERVED 0xFFF8
  43. /** Flags used for the GetKey routing **/
  44. #define VALUE_STRING 0x01
  45. #define VALUE_ULONG 0x02
  46. /** Buffer sizes we'll use **/
  47. #define READ_BUFFER_SIZE 0x10000
  48. #define BASE_PRINTER_BUFFER_SIZE 2048
  49. PPRINTPROCESSORDATA
  50. ValidateHandle(
  51. HANDLE hPrintProcessor
  52. );
  53. /** Data types we support **/
  54. // @@BEGIN_DDKSPLIT
  55. #define PRINTPROCESSOR_TYPE_RAW 0
  56. #define PRINTPROCESSOR_TYPE_RAW_FF 1
  57. #define PRINTPROCESSOR_TYPE_RAW_FF_AUTO 2
  58. #define PRINTPROCESSOR_TYPE_EMF_40 3
  59. #define PRINTPROCESSOR_TYPE_EMF_50_1 4
  60. #define PRINTPROCESSOR_TYPE_EMF_50_2 5
  61. #define PRINTPROCESSOR_TYPE_EMF_50_3 6
  62. #define PRINTPROCESSOR_TYPE_TEXT 7
  63. /** Data types we support for the DDK **/
  64. #if 0
  65. // @@END_DDKSPLIT
  66. #define PRINTPROCESSOR_TYPE_RAW 0
  67. #define PRINTPROCESSOR_TYPE_EMF_50_1 1
  68. #define PRINTPROCESSOR_TYPE_EMF_50_2 2
  69. #define PRINTPROCESSOR_TYPE_EMF_50_3 3
  70. #define PRINTPROCESSOR_TYPE_TEXT 4
  71. // @@BEGIN_DDKSPLIT
  72. #endif
  73. // @@END_DDKSPLIT