WindowsXP-SP1/ds/adsi/ldap/crootdse.hxx

85 lines
1.6 KiB
C++

class CLDAPRootDSE : INHERIT_TRACKING,
public CCoreADsObject,
public ISupportErrorInfo,
public IADs,
public IADsPropertyList,
public IGetAttributeSyntax,
public IADsObjectOptions
{
public:
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
DECLARE_STD_REFCOUNTING
DECLARE_IDispatch_METHODS
DECLARE_ISupportErrorInfo_METHODS
DECLARE_IADs_METHODS
DECLARE_IADsPropertyList_METHODS
DECLARE_IGetAttributeSyntax_METHODS
DECLARE_IADsObjectOptions_METHODS
CLDAPRootDSE::CLDAPRootDSE();
CLDAPRootDSE::~CLDAPRootDSE();
static
HRESULT
CLDAPRootDSE::CreateRootDSE(
BSTR Parent,
BSTR CommonName,
BSTR LdapClassName,
CCredentials& Credentials,
DWORD dwObjectState,
REFIID riid,
void **ppvObj
);
static
HRESULT
CLDAPRootDSE::AllocateGenObject(
CCredentials& Credentials,
CLDAPRootDSE ** ppGenObject
);
STDMETHOD(GetInfo)(
DWORD dwFlags
);
STDMETHOD(GetInfo)(
LPWSTR szPropertyName,
DWORD dwSyntaxId,
BOOL fExplicit
);
HRESULT
CLDAPRootDSE::LDAPSetObject();
protected:
VARIANT _vFilter;
VARIANT _vHints;
CPropertyCache FAR * _pPropertyCache;
CAggregatorDispMgr FAR * _pDispMgr;
LPWSTR _pszLDAPServer;
LPWSTR _pszLDAPDn;
PADSLDP _pLdapHandle;
CCredentials _Credentials;
DWORD _dwPort;
};