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.

181 lines
5.5 KiB

  1. #if 0 // unsupported in NT product 1
  2. /**********************************************************************/
  3. /** Microsoft LAN Manager **/
  4. /** Copyright(c) Microsoft Corp., 1990, 1991 **/
  5. /**********************************************************************/
  6. /*
  7. lmoeprt.hxx
  8. This file contains the class declarations for the PRINTQ_ENUM
  9. and PRINTQ1_ENUM enumerator classes and their associated iterator
  10. classes.
  11. PRINTQ_ENUM is a base enumeration class intended to be subclassed for
  12. the desired info level. PRINTQ1_ENUM is an info level 1 enumerator.
  13. FILE HISTORY:
  14. KeithMo 28-Jul-1991 Created.
  15. KeithMo 07-Oct-1991 Win32 Conversion.
  16. */
  17. #ifndef _LMOEPRT_HXX
  18. #define _LMOEPRT_HXX
  19. /*************************************************************************
  20. NAME: PRINTQ_ENUM
  21. SYNOPSIS: This is a base enumeration class intended to be subclassed
  22. for the desired info level.
  23. INTERFACE: PRINTQ_ENUM() - Class constructor.
  24. CallAPI() - Invoke the enumeration API.
  25. PARENT: LOC_LM_ENUM
  26. USES: None.
  27. CAVEATS:
  28. NOTES:
  29. HISTORY:
  30. KeithMo 28-Jul-1991 Created.
  31. KeithMo 07-Oct-1991 Changed all USHORT to UINT.
  32. **************************************************************************/
  33. DLL_CLASS PRINTQ_ENUM : public LOC_LM_ENUM
  34. {
  35. private:
  36. virtual APIERR CallAPI( BYTE ** ppbBuffer,
  37. UINT * pcEntriesRead );
  38. protected:
  39. PRINTQ_ENUM( const TCHAR * pszServer,
  40. UINT uLevel );
  41. }; // class PRINTQ_ENUM
  42. /*************************************************************************
  43. NAME: PRINTQ1_ENUM
  44. SYNOPSIS: PRINTQ1_ENUM is an enumerator for enumerating the
  45. connections to a particular server.
  46. INTERFACE: PRINTQ1_ENUM() - Class constructor.
  47. PARENT: PRINTQ_ENUM
  48. USES: None.
  49. CAVEATS:
  50. NOTES:
  51. HISTORY:
  52. KeithMo 28-Jul-1991 Created.
  53. KeithMo 07-Oct-1991 Changed all USHORT to UINT.
  54. **************************************************************************/
  55. DLL_CLASS PRINTQ1_ENUM : public PRINTQ_ENUM
  56. {
  57. public:
  58. PRINTQ1_ENUM( const TCHAR * pszServerName );
  59. }; // class PRINTQ1_ENUM
  60. /*************************************************************************
  61. NAME: PRINTQ1_ENUM_OBJ
  62. SYNOPSIS: This is basically the return type from the PRINTQ1_ENUM_ITER
  63. iterator.
  64. INTERFACE: PRINTQ1_ENUM_OBJ - Class constructor.
  65. ~PRINTQ1_ENUM_OBJ - Class destructor.
  66. QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
  67. QueryName - Returns the name of the
  68. printer queue.
  69. QueryPriority - Returns the queue priority.
  70. QueryStartTime - Returns the time to start the queue.
  71. QueryUntilTime - Returns the time to stop the queue.
  72. QuerySeparator - Returns the name of the separator
  73. file.
  74. QueryProcessor - Returns the name of the print
  75. processor.
  76. QueryDestinations - Returns the destination list for
  77. the printer queue.
  78. QueryParmas - Returns the parameter string.
  79. QueryComment - Returns the queue comment.
  80. QueryStatus - Returns the queue status.
  81. QueryJobCount - Returns the number of jobs in the
  82. queue.
  83. PARENT: ENUM_OBJ_BASE
  84. HISTORY:
  85. KeithMo 07-Oct-1991 Created.
  86. **************************************************************************/
  87. DLL_CLASS PRINTQ1_ENUM_OBJ : public ENUM_OBJ_BASE
  88. {
  89. public:
  90. //
  91. // Provide properly-casted buffer Query/Set methods.
  92. //
  93. const struct prq_info * QueryBufferPtr( VOID ) const
  94. { return (const struct prq_info *)ENUM_OBJ_BASE::QueryBufferPtr(); }
  95. VOID SetBufferPtr( const struct prq_info * pBuffer );
  96. //
  97. // Accessors.
  98. //
  99. DECLARE_ENUM_ACCESSOR( QueryName, const TCHAR *, prq_name );
  100. DECLARE_ENUM_ACCESSOR( QueryPriority, UINT, prq_priority );
  101. DECLARE_ENUM_ACCESSOR( QueryStartTime, UINT, prq_starttime );
  102. DECLARE_ENUM_ACCESSOR( QueryUntilTime, UINT, prq_untiltime );
  103. DECLARE_ENUM_ACCESSOR( QuerySeparator, const TCHAR *, prq_separator );
  104. DECLARE_ENUM_ACCESSOR( QueryProcessor, const TCHAR *, prq_processor );
  105. DECLARE_ENUM_ACCESSOR( QueryDestinations, const TCHAR *, prq_destinations );
  106. DECLARE_ENUM_ACCESSOR( QueryParms, const TCHAR *, prq_parms );
  107. DECLARE_ENUM_ACCESSOR( QueryComment, const TCHAR *, prq_comment );
  108. DECLARE_ENUM_ACCESSOR( QueryStatus, UINT, prq_status );
  109. DECLARE_ENUM_ACCESSOR( QueryJobCount, UINT, prq_jobcount );
  110. }; // class PRINTQ1_ENUM_OBJ
  111. DECLARE_LM_ENUM_ITER_OF( PRINTQ1, struct prq_info );
  112. #endif // _LMOEPRT_HXX
  113. #endif // 0