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