Source code of Windows XP (NT5)
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.

106 lines
3.7 KiB

  1. ;/* spoolmsg.inc
  2. if 0
  3. Description:
  4. Created: Chia-Chi Teng
  5. */
  6. // ----------------------------------------------------------------
  7. // C stuff goes here
  8. #define SPOOL_PROCESS_CLASS "SpoolProcessClass"
  9. #define MAX_PARAM 10
  10. #define WM_OPENPRINTER WM_USER + 1
  11. #define WM_STARTDOCPRINTER WM_USER + 2
  12. #define WM_STARTPAGEPRINTER WM_USER + 3
  13. #define WM_WRITEPRINTER WM_USER + 4
  14. #define WM_ENDPAGEPRINTER WM_USER + 5
  15. #define WM_ENDDOCPRINTER WM_USER + 6
  16. #define WM_CLOSEPRINTER WM_USER + 7
  17. #define WM_ABORTPRINTER WM_USER + 8
  18. #define WM_ENUMPRINTERS WM_USER + 9
  19. #define WM_SETJOB WM_USER + 10
  20. #define WM_GETJOB WM_USER + 11
  21. #define WM_ENUMJOBS WM_USER + 12
  22. #define WM_ADDPRINTER WM_USER + 13
  23. #define WM_DELETEPRINTER WM_USER + 14
  24. #define WM_ADDPRINTERCONNECTION WM_USER + 15
  25. #define WM_DELETEPRINTERCONNECTION WM_USER + 16
  26. #define WM_SETPRINTER WM_USER + 17
  27. #define WM_GETPRINTER WM_USER + 18
  28. #define WM_ADDPRINTERDRIVER WM_USER + 19
  29. #define WM_ENUMPRINTERDRIVERS WM_USER + 20
  30. #define WM_GETPRINTERDRIVER WM_USER + 21
  31. #define WM_GETPRINTERDRIVERDIRECTORY WM_USER + 22
  32. #define WM_DELETEPRINTERDRIVER WM_USER + 23
  33. #define WM_ADDPRINTPROCESSOR WM_USER + 24
  34. #define WM_ENUMPRINTPROCESSORS WM_USER + 25
  35. #define WM_GETPRINTPROCESSORDIRECTORY WM_USER + 26
  36. #define WM_ENUMPRINTPROCESSORDATATYPES WM_USER + 27
  37. #define WM_READPRINTER WM_USER + 28
  38. #define WM_ADDJOB WM_USER + 29
  39. #define WM_SCHEDULEJOB WM_USER + 30
  40. #define WM_GETPRINTERDATA WM_USER + 31
  41. #define WM_SETPRINTERDATA WM_USER + 32
  42. #define WM_WAITFORPRINTERCHANGE WM_USER + 33
  43. #define WM_ENUMPORTS WM_USER + 34
  44. #define WM_ENUMMONITORS WM_USER + 35
  45. #define WM_ADDPORT WM_USER + 36
  46. #define WM_CONFIGUREPORT WM_USER + 37
  47. #define WM_PRINTERMESSAGEBOX WM_USER + 38
  48. #define WM_ADDMONITOR WM_USER + 39
  49. #define WM_DELETEMONITOR WM_USER + 40
  50. #define WM_DELETEPRINTPROCESSOR WM_USER + 41
  51. #define WM_ADDPRINTPROVIDOR WM_USER + 42
  52. #define WM_DELETEPRINTPROVIDOR WM_USER + 43
  53. #define WM_DELETEPORT WM_USER + 44
  54. #define WM_ENUMPORTSEX WM_USER + 45
  55. #define WM_ADDPORTEX WM_USER + 46
  56. #define WM_ABORTANDCLOSEPRINTER WM_USER + 47
  57. // this is for the real IPC
  58. #define SPOOL_MUTEX "SpoolMutex"
  59. #define SPOOL_DATA_EVENT "SpoolDataEvent"
  60. #define SPOOL_RETURN_EVENT "SpoolReturnEvent"
  61. typedef struct _SPOOLER_IPC_DATA {
  62. DWORD dwProcID;
  63. HANDLE hMutex;
  64. HANDLE hDataEvent;
  65. HANDLE hReturnEvent;
  66. struct _SPOOLER_IPC_DATA *pNext;
  67. DWORD flFlags;
  68. DWORD dwReserved1;
  69. DWORD dwReserved2;
  70. } SPOOLER_IPC_DATA, *PSPOOLER_IPC_DATA;
  71. /*
  72. endif
  73. ; ----------------------------------------------------------------
  74. ; ASM stuff goes here
  75. WM_OPENPRINTER EQU 0401h
  76. WM_CLOSEPRINTER EQU 0407h
  77. SPOOLSTRUC struc
  78. spool_id dd ? ;ProcessID
  79. spool_h1 dd ? ;Handle
  80. spool_h2 dd ? ;Handle
  81. spool_h3 dd ? ;Handle
  82. spool_pnext dd ? ;Pointer to Next
  83. spool_flfalgs dd ? ;flFlags
  84. spool_resv1 dd ? ;reserved
  85. spool_resv2 dd ? ;reserved
  86. SPOOLSTRUC ends
  87. ;*/