windows-nt/Source/XPSP1/NT/ds/adsi/nwnds/cprpobj.hxx

80 lines
1.5 KiB
C++
Raw Normal View History

2020-09-26 03:20:57 -05:00
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
);