Source code of Windows XP (NT5)
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.

140 lines
2.3 KiB

  1. #define COMPUTER_Group 1
  2. #define DOMAIN_Group 2
  3. class CNDSGroup;
  4. class CNDSGroup : INHERIT_TRACKING,
  5. public IADsGroup,
  6. public IDirectoryObject,
  7. public IDirectorySearch,
  8. public IDirectorySchemaMgmt,
  9. public IADsPropertyList
  10. {
  11. public:
  12. /* IUnknown methods */
  13. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
  14. DECLARE_STD_REFCOUNTING
  15. DECLARE_IDispatch_METHODS
  16. DECLARE_IADs_METHODS
  17. DECLARE_IDirectoryObject_METHODS
  18. DECLARE_IDirectorySearch_METHODS
  19. DECLARE_IDirectorySchemaMgmt_METHODS
  20. DECLARE_IADsGroup_METHODS
  21. DECLARE_IADsPropertyList_METHODS
  22. CNDSGroup::CNDSGroup();
  23. CNDSGroup::~CNDSGroup();
  24. static
  25. HRESULT
  26. CNDSGroup::CreateGroup(
  27. IADs *pADs,
  28. CCredentials& Credentials,
  29. REFIID riid,
  30. void **ppvObj
  31. );
  32. static
  33. HRESULT
  34. CNDSGroup::AllocateGroupObject(
  35. IADs * pADs,
  36. CCredentials& Credentials,
  37. CNDSGroup ** ppGroup
  38. );
  39. protected:
  40. IADs FAR * _pADs;
  41. IDirectoryObject FAR * _pDSObject;
  42. IDirectorySearch FAR * _pDSSearch;
  43. IDirectorySchemaMgmt FAR * _pDSAttrMgmt;
  44. IADsPropertyList FAR * _pADsPropList;
  45. CDispatchMgr FAR * _pDispMgr;
  46. CCredentials _Credentials;
  47. };
  48. HRESULT
  49. VarFindEntry(
  50. LPWSTR pszNDSPathName,
  51. VARIANT varMembers
  52. );
  53. HRESULT
  54. VarAddEntry(
  55. LPWSTR pszNDSPathName,
  56. VARIANT varMembers,
  57. VARIANT * pvarNewMembers
  58. );
  59. HRESULT
  60. VarMultipleAddEntry(
  61. LPWSTR pszNDSPathName,
  62. VARIANT varMembers,
  63. VARIANT * pvarNewMembers
  64. );
  65. HRESULT
  66. VarSingleAddEntry(
  67. LPWSTR pszNDSPathName,
  68. VARIANT varMembers,
  69. VARIANT * pvarNewMembers
  70. );
  71. HRESULT
  72. VarRemoveEntry(
  73. LPWSTR pszNDSPathName,
  74. VARIANT varMembers,
  75. VARIANT * pvarNewMembers
  76. );
  77. HRESULT
  78. VarMultipleRemoveEntry(
  79. LPWSTR pszNDSPathName,
  80. VARIANT varMembers,
  81. VARIANT * pvarNewMembers
  82. );
  83. HRESULT
  84. VarSingleRemoveEntry(
  85. LPWSTR pszNDSPathName,
  86. VARIANT varMembers,
  87. VARIANT * pvarNewMembers
  88. );
  89. HRESULT
  90. AddEntry(
  91. IADs * pADs,
  92. LPWSTR pszAttribute,
  93. LPWSTR pszValue
  94. );
  95. HRESULT
  96. RemoveEntry(
  97. IADs * pADs,
  98. LPWSTR pszAttribute,
  99. LPWSTR pszValue
  100. );