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.

148 lines
3.1 KiB

  1. /*****************************************************************/
  2. /** Microsoft LAN Manager **/
  3. /** Copyright(c) Microsoft Corp., 1992 **/
  4. /*****************************************************************/
  5. /*
  6. * lmoeuse.hxx
  7. *
  8. * History:
  9. * Yi-HsinS 09-Jun-1992 Created
  10. *
  11. */
  12. #ifndef _LMOEUSE_HXX_
  13. #define _LMOEUSE_HXX_
  14. #include "lmoenum.hxx"
  15. /**********************************************************\
  16. NAME: USE_ENUM
  17. WORKBOOK:
  18. SYNOPSIS: USE_ENUM class
  19. INTERFACE:
  20. PARENT: LOC_LM_ENUM
  21. USES:
  22. CAVEATS:
  23. NOTES:
  24. HISTORY:
  25. Yi-HsinS 09-Jun-1992 Created
  26. \**********************************************************/
  27. DLL_CLASS USE_ENUM : public LOC_LM_ENUM
  28. {
  29. private:
  30. virtual APIERR CallAPI( BYTE ** ppbBuffer,
  31. UINT * pcEntriesRead );
  32. protected:
  33. USE_ENUM( const TCHAR * pszServer, UINT uLevel );
  34. }; // class USE_ENUM
  35. /**********************************************************\
  36. NAME: USE1_ENUM
  37. WORKBOOK:
  38. SYNOPSIS: USE ENUM level 1 object
  39. INTERFACE:
  40. USE1_ENUM() - constructor
  41. ~USE1_ENUM() - constructor
  42. PARENT: USE_ENUM
  43. USES:
  44. CAVEATS:
  45. NOTES:
  46. HISTORY:
  47. Yi-HsinS 09-Jun-1992 Created
  48. \**********************************************************/
  49. DLL_CLASS USE1_ENUM : public USE_ENUM
  50. {
  51. public:
  52. USE1_ENUM( const TCHAR * pszServer );
  53. }; // class USE1_ENUM
  54. /*************************************************************************
  55. NAME: USE1_ENUM_OBJ
  56. SYNOPSIS: This is basically the return type from the USE1_ENUM_ITER
  57. iterator.
  58. INTERFACE: USE1_ENUM_OBJ - Class constructor.
  59. ~USE1_ENUM_OBJ - Class destructor.
  60. QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
  61. QueryLocalDevice -
  62. QueryRemoteResource -
  63. QueryStatus -
  64. QueryResourceType -
  65. QueryRefCount -
  66. QueryUseCount -
  67. PARENT: ENUM_OBJ_BASE
  68. HISTORY:
  69. Yi-HsinS 09-Jun-1992 Created.
  70. **************************************************************************/
  71. DLL_CLASS USE1_ENUM_OBJ : public ENUM_OBJ_BASE
  72. {
  73. public:
  74. //
  75. // Provide properly-casted buffer Query/Set methods.
  76. //
  77. const struct use_info_1 * QueryBufferPtr( VOID ) const
  78. { return (const struct use_info_1 *)ENUM_OBJ_BASE::QueryBufferPtr(); }
  79. VOID SetBufferPtr( const struct use_info_1 * pBuffer );
  80. //
  81. // Accessors.
  82. //
  83. DECLARE_ENUM_ACCESSOR( QueryLocalDevice, const TCHAR *, ui1_local );
  84. DECLARE_ENUM_ACCESSOR( QueryRemoteResource, const TCHAR *, ui1_remote );
  85. DECLARE_ENUM_ACCESSOR( QueryStatus, UINT, ui1_status );
  86. DECLARE_ENUM_ACCESSOR( QueryResourceType, UINT, ui1_asg_type );
  87. DECLARE_ENUM_ACCESSOR( QueryRefCount, UINT, ui1_refcount );
  88. DECLARE_ENUM_ACCESSOR( QueryUseCount, UINT, ui1_usecount );
  89. }; // class USE1_ENUM_OBJ
  90. DECLARE_LM_ENUM_ITER_OF( USE1, struct use_info_1 );
  91. #endif // _LMOEUSE_HXX_