80 lines
1.5 KiB
C++
80 lines
1.5 KiB
C++
|
class CNDSProperty : INHERIT_TRACKING,
|
||
|
public CCoreADsObject,
|
||
|
public IADsProperty
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
|
||
|
DECLARE_STD_REFCOUNTING
|
||
|
|
||
|
/* Other methods */
|
||
|
DECLARE_IDispatch_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,
|
||
|
NDS_CONTEXT_HANDLE hADsContext,
|
||
|
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
|
||
|
);
|