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.

93 lines
1.9 KiB

  1. /*++
  2. Copyright (c) 1998-2000 Microsoft Corporation
  3. Module Name:
  4. w32drman
  5. Abstract:
  6. This module defines a special subclass of the Win32 client-side RDP
  7. printer redirection "device" class. The subclass, W32DrManualPrn
  8. manages a queue that is manually installed by a user by attaching
  9. a server-side queue to a client-side redirected printing port.
  10. Author:
  11. Tad Brockway 3/23/99
  12. Revision History:
  13. --*/
  14. #ifndef __W32DRMAN_H__
  15. #define __W32DRMAN_H__
  16. #include "w32drprn.h"
  17. ///////////////////////////////////////////////////////////////
  18. //
  19. // W32DrManualPrn
  20. //
  21. //
  22. class W32DrManualPrn : public W32DrPRN
  23. {
  24. private:
  25. BOOL _isSerialPort;
  26. //
  27. // Parse the cached printer information for specific information
  28. // about this printer.
  29. //
  30. BOOL ParsePrinterCacheInfo();
  31. public:
  32. //
  33. // Constructor/Destructor
  34. //
  35. W32DrManualPrn(ProcObj *processObject, const DRSTRING printerName,
  36. const DRSTRING driverName,
  37. const DRSTRING portName, BOOL defaultPrinter, ULONG id);
  38. virtual ~W32DrManualPrn();
  39. //
  40. // Post-IRP_MJ_CREATE initialization.
  41. //
  42. virtual DWORD InitializeDevice(DrFile* fileObj);
  43. //
  44. // Enumerate devices of this type.
  45. //
  46. static DWORD Enumerate(ProcObj *procObj, DrDeviceMgr *deviceMgr);
  47. //
  48. // To notify the printer object that the cached data has been restored
  49. // in case it needs to read information out of the cached data.
  50. //
  51. virtual VOID CachedDataRestored();
  52. //
  53. // Get the device type. See "Device Types" section of rdpdr.h
  54. //
  55. virtual ULONG GetDeviceType() { return RDPDR_DTYP_PRINT; }
  56. //
  57. // Return the class name.
  58. //
  59. virtual DRSTRING ClassName() { return TEXT("W32DrManualPrn"); }
  60. };
  61. #endif