152 lines
2.7 KiB
C++
152 lines
2.7 KiB
C++
|
|
||
|
class CNDSGenObject;
|
||
|
|
||
|
|
||
|
class CNDSGenObject : INHERIT_TRACKING,
|
||
|
public CCoreADsObject,
|
||
|
public IADs,
|
||
|
public IADsContainer,
|
||
|
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_IADs_METHODS
|
||
|
|
||
|
DECLARE_IADsPropertyList_METHODS
|
||
|
|
||
|
DECLARE_IADsContainer_METHODS
|
||
|
|
||
|
DECLARE_IDirectoryObject_METHODS
|
||
|
|
||
|
DECLARE_IDirectorySearch_METHODS
|
||
|
|
||
|
DECLARE_IDirectorySchemaMgmt_METHODS
|
||
|
|
||
|
CNDSGenObject::CNDSGenObject();
|
||
|
|
||
|
CNDSGenObject::~CNDSGenObject();
|
||
|
|
||
|
static
|
||
|
HRESULT
|
||
|
CNDSGenObject::CreateGenericObject(
|
||
|
BSTR bstrADsPath,
|
||
|
BSTR ClassName,
|
||
|
CCredentials& Credentials,
|
||
|
DWORD dwObjectState,
|
||
|
REFIID riid,
|
||
|
void **ppvObj
|
||
|
);
|
||
|
|
||
|
static
|
||
|
HRESULT
|
||
|
CNDSGenObject::CreateGenericObject(
|
||
|
BSTR Parent,
|
||
|
BSTR CommonName,
|
||
|
BSTR ClassName,
|
||
|
CCredentials& Credentials,
|
||
|
DWORD dwObjectState,
|
||
|
REFIID riid,
|
||
|
void **ppvObj
|
||
|
);
|
||
|
|
||
|
static
|
||
|
HRESULT
|
||
|
CNDSGenObject::AllocateGenObject(
|
||
|
CCredentials& Credentials,
|
||
|
CNDSGenObject ** ppGenObject
|
||
|
);
|
||
|
|
||
|
STDMETHOD(GetInfo)(
|
||
|
BOOL fExplicit
|
||
|
);
|
||
|
|
||
|
HRESULT
|
||
|
CNDSGenObject::NDSSetObject();
|
||
|
|
||
|
HRESULT
|
||
|
CNDSGenObject::NDSCreateObject();
|
||
|
|
||
|
void
|
||
|
CNDSGenObject::InitSearchPrefs();
|
||
|
|
||
|
|
||
|
protected:
|
||
|
|
||
|
IUnknown FAR * _pOuterUnknown;
|
||
|
|
||
|
BOOL _fIsAggregated;
|
||
|
|
||
|
VARIANT _vFilter;
|
||
|
|
||
|
CPropertyCache FAR * _pPropertyCache;
|
||
|
|
||
|
CDispatchMgr FAR * _pDispMgr;
|
||
|
|
||
|
CCredentials _Credentials;
|
||
|
|
||
|
NDS_SEARCH_PREF _SearchPref;
|
||
|
|
||
|
NDS_CONTEXT_HANDLE _hADsContext;
|
||
|
|
||
|
LPWSTR _pszNDSTreeName;
|
||
|
LPWSTR _pszNDSDn;
|
||
|
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
HRESULT
|
||
|
ConvertSafeArrayToVariantArray(
|
||
|
VARIANT varSafeArray,
|
||
|
PVARIANT * ppVarArray,
|
||
|
PDWORD pdwNumVariants
|
||
|
);
|
||
|
|
||
|
|
||
|
HRESULT
|
||
|
ConvertByRefSafeArrayToVariantArray(
|
||
|
VARIANT varSafeArray,
|
||
|
PVARIANT * ppVarArray,
|
||
|
PDWORD pdwNumVariants
|
||
|
);
|
||
|
|
||
|
|
||
|
HRESULT
|
||
|
CreatePropEntry(
|
||
|
LPWSTR szPropName,
|
||
|
DWORD ADsType,
|
||
|
DWORD numValues,
|
||
|
VARIANT varData,
|
||
|
REFIID riid,
|
||
|
LPVOID * ppDispatch
|
||
|
);
|
||
|
|
||
|
|
||
|
HRESULT
|
||
|
ConvertNdsValuesToVariant(
|
||
|
BSTR bstrPropName,
|
||
|
LPNDSOBJECT pNdsSrcObjects,
|
||
|
DWORD dwNumValues,
|
||
|
PVARIANT pVarProp
|
||
|
);
|
||
|
|
||
|
HRESULT
|
||
|
ConvertVariantToNdsValues(
|
||
|
VARIANT varData,
|
||
|
LPWSTR szPropertyName,
|
||
|
PDWORD pdwControlCode,
|
||
|
PNDSOBJECT * ppNdsDestObjects,
|
||
|
PDWORD pdwNumValues,
|
||
|
PDWORD dwSyntaxId
|
||
|
);
|