150 lines
2.7 KiB
C++
150 lines
2.7 KiB
C++
|
||
class CNDSGenObject;
|
||
|
||
|
||
class CNDSGenObject : INHERIT_TRACKING,
|
||
public CCoreADsObject,
|
||
public ISupportErrorInfo,
|
||
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_ISupportErrorInfo_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;
|
||
|
||
};
|
||
|
||
|
||
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 dwSyntaxId,
|
||
DWORD dwNumValues,
|
||
PVARIANT pVarProp
|
||
);
|
||
|
||
HRESULT
|
||
ConvertVariantToNdsValues(
|
||
VARIANT varData,
|
||
LPWSTR szPropertyName,
|
||
PDWORD pdwControlCode,
|
||
PNDSOBJECT * ppNdsDestObjects,
|
||
PDWORD pdwNumValues,
|
||
PDWORD dwSyntaxId
|
||
);
|
||
|