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.

49 lines
1.3 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1999.
  5. //
  6. // File: ADSIObj.h
  7. //
  8. // Contents: Classes CACLAdsiObject
  9. //
  10. //
  11. //----------------------------------------------------------------------------
  12. #ifndef __ADSIOBJ_ADUTILS_H
  13. #define __ADSIOBJ_ADUTILS_H
  14. #include "stdafx.h"
  15. #include "util.h"
  16. class CACLAdsiObject : public CAdsiObject
  17. {
  18. public:
  19. HRESULT GetPrincipalSelfSid (PSID& principalSelfSid);
  20. CACLAdsiObject () : CAdsiObject ()
  21. {
  22. }
  23. virtual ~CACLAdsiObject () {};
  24. HRESULT BuildObjectTypeList (
  25. POBJECT_TYPE_LIST* pObjectTypeList,
  26. size_t& objectTypeListLength);
  27. LPCWSTR GetSchemaCommonName ()
  28. {
  29. return m_strSchemaCommonName.c_str ();
  30. }
  31. virtual HRESULT Bind(LPCWSTR lpszLdapPath);
  32. protected:
  33. HRESULT ReadSchemaCommonName ();
  34. HRESULT AddAttrGUIDToList (
  35. const BSTR pszAttrName,
  36. list<POBJECT_TYPE_LIST>& rGuidList);
  37. HRESULT ReadSchemaAttributeCommonName (
  38. const BSTR pszAttrName,
  39. BSTR* attrCommonName);
  40. private:
  41. wstring m_strSchemaCommonName;
  42. };
  43. #endif