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.

160 lines
2.7 KiB

  1. /*++
  2. Copyright (C) Microsoft Corporation, 1998 - 1998
  3. All rights reserved.
  4. Module Name:
  5. walkreg.hxx
  6. Abstract:
  7. Printer data walking class declaration.
  8. Author:
  9. Adina Trufinescu (AdinaTru) 15-Oct-1998
  10. Revision History:
  11. --*/
  12. #ifndef _WALKPRNDATA_HXX_
  13. #define _WALKPRNDATA_HXX_
  14. #include "memory.hxx"
  15. class WalkPrinterData : public TAllocator
  16. {
  17. public:
  18. enum EResourceType
  19. {
  20. kResourceServer,
  21. kResourcePrinter,
  22. kResourceUnknown,
  23. };
  24. enum EAccessType
  25. {
  26. kAccessFull,
  27. kAccessRead,
  28. kAccessUnknown,
  29. };
  30. WalkPrinterData::
  31. WalkPrinterData(
  32. VOID
  33. );
  34. WalkPrinterData::
  35. WalkPrinterData(
  36. IN TString& pszPrinter,
  37. IN WalkPrinterData::EResourceType eResourceType,
  38. IN WalkPrinterData::EAccessType eAccessType
  39. );
  40. WalkPrinterData::
  41. WalkPrinterData(
  42. IN HANDLE hPrinter
  43. );
  44. WalkPrinterData::
  45. ~WalkPrinterData (
  46. VOID
  47. );
  48. BOOL
  49. WalkPrinterData::
  50. bValid (
  51. VOID
  52. ) const;
  53. VOID
  54. WalkPrinterData::
  55. BindToPrinter(
  56. IN HANDLE hPrinter
  57. );
  58. BOOL
  59. WalkPrinterData::
  60. bInternalWalk (
  61. IN TString& pszKey,
  62. OUT LPDWORD lpcItems
  63. );
  64. protected:
  65. virtual
  66. BOOL
  67. WalkPrinterData::
  68. bWalkPre (
  69. IN TString& pszKey,
  70. OUT LPDWORD lpcItems
  71. );
  72. virtual
  73. BOOL
  74. WalkPrinterData::
  75. bWalkPost (
  76. IN TString& pszKey,
  77. OUT LPDWORD lpcItems
  78. );
  79. virtual
  80. BOOL
  81. WalkPrinterData::
  82. bWalkIn (
  83. IN TString& pszKey,
  84. OUT LPDWORD lpcItems
  85. );
  86. LPTSTR
  87. WalkPrinterData::
  88. NextStrT(
  89. IN LPCTSTR lpszStr
  90. );
  91. TString m_strPrnName;
  92. HANDLE m_hPrinter;
  93. EAccessType m_eAccessType;
  94. BOOL m_bAcceptedHandle;
  95. enum EDataType
  96. {
  97. kDataTypeBool,
  98. kDataTypeDword,
  99. kDataTypeString,
  100. kDataTypeStruct,
  101. kDataTypeMultiString,
  102. kDataTypeUnknown,
  103. };
  104. ACCESS_MASK
  105. WalkPrinterData::
  106. PrinterAccessFlags(
  107. IN EResourceType eResourceType,
  108. IN EAccessType eAccessType
  109. ) const;
  110. VOID
  111. WalkPrinterData::
  112. InitializeClassVariables(
  113. VOID
  114. );
  115. BOOL
  116. WalkPrinterData::
  117. bHasSubKeys(
  118. IN TString& lpszKey,
  119. OUT LPTSTR* aszSubKeys
  120. );
  121. };
  122. #endif // end _PRNDATAWALK_HXX_