83 lines
1.6 KiB
C++
83 lines
1.6 KiB
C++
class CNDSProperty : INHERIT_TRACKING,
|
|
public ISupportErrorInfo,
|
|
public CCoreADsObject,
|
|
public IADsProperty
|
|
{
|
|
public:
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
|
|
DECLARE_STD_REFCOUNTING
|
|
|
|
/* Other methods */
|
|
DECLARE_IDispatch_METHODS
|
|
|
|
DECLARE_ISupportErrorInfo_METHODS
|
|
|
|
DECLARE_IADs_METHODS
|
|
|
|
DECLARE_IADsProperty_METHODS
|
|
|
|
/* Constructors, Destructors, ... */
|
|
CNDSProperty::CNDSProperty();
|
|
|
|
CNDSProperty::~CNDSProperty();
|
|
|
|
static
|
|
HRESULT
|
|
CNDSProperty::CreateProperty(
|
|
BSTR bstrParent,
|
|
BSTR bstrName,
|
|
LPNDS_ATTR_DEF lpAttrDef,
|
|
CCredentials& Credentials,
|
|
DWORD dwObjectState,
|
|
REFIID riid,
|
|
void **ppvObj
|
|
);
|
|
|
|
static
|
|
HRESULT
|
|
CNDSProperty::CreateProperty(
|
|
BSTR bstrParent,
|
|
BSTR bstrName,
|
|
HANDLE hTree,
|
|
CCredentials& Credentials,
|
|
DWORD dwObjectState,
|
|
REFIID riid,
|
|
void **ppvObj
|
|
);
|
|
|
|
static
|
|
HRESULT
|
|
CNDSProperty::AllocatePropertyObject(
|
|
CNDSProperty **ppProperty
|
|
);
|
|
|
|
protected:
|
|
|
|
CDispatchMgr FAR * _pDispMgr;
|
|
|
|
/* Properties */
|
|
VARIANT _vADsNames;
|
|
VARIANT _vDsNames;
|
|
|
|
BSTR _bstrOID;
|
|
BSTR _bstrSyntax;
|
|
|
|
long _lMaxRange;
|
|
long _lMinRange;
|
|
VARIANT_BOOL _fMultiValued;
|
|
};
|
|
|
|
HRESULT
|
|
MapSyntaxIdtoADsSyntax(
|
|
DWORD dwSyntaxId,
|
|
LPWSTR pszADsSyntax
|
|
);
|
|
|
|
HRESULT
|
|
MapSyntaxIdtoNDSSyntax(
|
|
DWORD dwSyntaxId,
|
|
LPWSTR pszNDSSyntax
|
|
);
|