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.
 
 
 
 
 
 

145 lines
2.4 KiB

#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
);