|
|
#define COMPUTER_Group 1
#define DOMAIN_Group 2
class CNDSGroup;
class CNDSGroup : INHERIT_TRACKING, public ISupportErrorInfo, public IADsGroup, public IDirectoryObject, public IDirectorySearch, public IDirectorySchemaMgmt, public IADsPropertyList
{ public:
/* IUnknown methods */ STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
DECLARE_STD_REFCOUNTING
DECLARE_IDispatch_METHODS
DECLARE_ISupportErrorInfo_METHODS
DECLARE_IADs_METHODS
DECLARE_IDirectoryObject_METHODS
DECLARE_IDirectorySearch_METHODS
DECLARE_IDirectorySchemaMgmt_METHODS
DECLARE_IADsGroup_METHODS
DECLARE_IADsPropertyList_METHODS
CNDSGroup::CNDSGroup();
CNDSGroup::~CNDSGroup();
static HRESULT CNDSGroup::CreateGroup( IADs *pADs, CCredentials& Credentials, REFIID riid, void **ppvObj );
static HRESULT CNDSGroup::AllocateGroupObject( IADs * pADs, CCredentials& Credentials, CNDSGroup ** ppGroup );
protected:
IADs FAR * _pADs;
IDirectoryObject FAR * _pDSObject;
IDirectorySearch FAR * _pDSSearch;
IDirectorySchemaMgmt FAR * _pDSSchemaMgmt;
IADsPropertyList FAR * _pADsPropList;
CDispatchMgr FAR * _pDispMgr;
CCredentials _Credentials; };
HRESULT VarFindEntry( LPWSTR pszNDSPathName, VARIANT varMembers );
HRESULT VarAddEntry( LPWSTR pszNDSPathName, VARIANT varMembers, VARIANT * pvarNewMembers );
HRESULT VarMultipleAddEntry( LPWSTR pszNDSPathName, VARIANT varMembers, VARIANT * pvarNewMembers );
HRESULT VarSingleAddEntry( LPWSTR pszNDSPathName, VARIANT varMembers, VARIANT * pvarNewMembers );
HRESULT VarRemoveEntry( LPWSTR pszNDSPathName, VARIANT varMembers, VARIANT * pvarNewMembers );
HRESULT VarMultipleRemoveEntry( LPWSTR pszNDSPathName, VARIANT varMembers, VARIANT * pvarNewMembers );
HRESULT VarSingleRemoveEntry( LPWSTR pszNDSPathName, VARIANT varMembers, VARIANT * pvarNewMembers );
HRESULT AddEntry( IADs * pADs, LPWSTR pszAttribute, LPWSTR pszValue );
HRESULT RemoveEntry( IADs * pADs, LPWSTR pszAttribute, LPWSTR pszValue );
|