mirror of https://github.com/tongzx/nt5src
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.
150 lines
2.7 KiB
150 lines
2.7 KiB
|
|
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
|
|
);
|
|
|