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.

77 lines
2.2 KiB

  1. //
  2. // Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
  3. //
  4. // ***************************************************************************
  5. //
  6. // Original Author: Rajesh Rao
  7. //
  8. // $Author: rajeshr $
  9. // $Date: 6/11/98 4:43p $
  10. // $Workfile:adsiinst.h $
  11. //
  12. // $Modtime: 6/11/98 11:21a $
  13. // $Revision: 1 $
  14. // $Nokeywords: $
  15. //
  16. //
  17. // Description: Contains the declaration for the CADSIInstance which encapsulates an ADSI instance
  18. //
  19. //***************************************************************************
  20. #ifndef ADSI_INSTANCE_H
  21. #define ADSI_INSTANCE_H
  22. class CADSIInstance : public CRefCountedObject
  23. {
  24. public:
  25. //***************************************************************************
  26. //
  27. // CADSIInstance::CADSIInstance
  28. //
  29. // Purpose : Constructor
  30. //
  31. // Parameters:
  32. // lpszADSIPath : The ADSI Path to the object
  33. //***************************************************************************
  34. CADSIInstance(LPCWSTR lpszADSIPath, IDirectoryObject *pObject);
  35. virtual ~CADSIInstance();
  36. //***************************************************************************
  37. //
  38. // CADSIInstance::GetDirectoryObject
  39. //
  40. // Purpose : Returns the IDirectoryObject interface on the Directory object
  41. // It is the responsibility of the caller to Release() it when done.
  42. //
  43. //***************************************************************************
  44. IDirectoryObject *GetDirectoryObject();
  45. //***************************************************************************
  46. //
  47. // CADSIInstance :: GetADSIClassName
  48. //
  49. // Purpose : Returns the class name of this instance
  50. //***************************************************************************
  51. LPCWSTR GetADSIClassName();
  52. PADS_ATTR_INFO GetAttributes(DWORD *pdwNumAttributes);
  53. void SetAttributes(PADS_ATTR_INFO pAttributes, DWORD dwNumAttributes);
  54. PADS_OBJECT_INFO GetObjectInfo();
  55. void SetObjectInfo(PADS_OBJECT_INFO pObjectInfo);
  56. protected:
  57. // The Attribute list
  58. PADS_ATTR_INFO m_pAttributes;
  59. DWORD m_dwNumAttributes;
  60. // The object info
  61. PADS_OBJECT_INFO m_pObjectInfo;
  62. // The IDirectoryObject pointer
  63. IDirectoryObject *m_pDirectoryObject;
  64. };
  65. #endif /* ADSI_INSTANCE_H */