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.

144 lines
2.5 KiB

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