Source code of Windows XP (NT5)
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.

79 lines
1.5 KiB

  1. class CNDSProperty : INHERIT_TRACKING,
  2. public CCoreADsObject,
  3. public IADsProperty
  4. {
  5. public:
  6. /* IUnknown methods */
  7. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
  8. DECLARE_STD_REFCOUNTING
  9. /* Other methods */
  10. DECLARE_IDispatch_METHODS
  11. DECLARE_IADs_METHODS
  12. DECLARE_IADsProperty_METHODS
  13. /* Constructors, Destructors, ... */
  14. CNDSProperty::CNDSProperty();
  15. CNDSProperty::~CNDSProperty();
  16. static
  17. HRESULT
  18. CNDSProperty::CreateProperty(
  19. BSTR bstrParent,
  20. BSTR bstrName,
  21. LPNDS_ATTR_DEF lpAttrDef,
  22. CCredentials& Credentials,
  23. DWORD dwObjectState,
  24. REFIID riid,
  25. void **ppvObj
  26. );
  27. static
  28. HRESULT
  29. CNDSProperty::CreateProperty(
  30. BSTR bstrParent,
  31. BSTR bstrName,
  32. NDS_CONTEXT_HANDLE hADsContext,
  33. CCredentials& Credentials,
  34. DWORD dwObjectState,
  35. REFIID riid,
  36. void **ppvObj
  37. );
  38. static
  39. HRESULT
  40. CNDSProperty::AllocatePropertyObject(
  41. CNDSProperty **ppProperty
  42. );
  43. protected:
  44. CDispatchMgr FAR * _pDispMgr;
  45. /* Properties */
  46. VARIANT _vADsNames;
  47. VARIANT _vDsNames;
  48. BSTR _bstrOID;
  49. BSTR _bstrSyntax;
  50. long _lMaxRange;
  51. long _lMinRange;
  52. VARIANT_BOOL _fMultiValued;
  53. };
  54. HRESULT
  55. MapSyntaxIdtoADsSyntax(
  56. DWORD dwSyntaxId,
  57. LPWSTR pszADsSyntax
  58. );
  59. HRESULT
  60. MapSyntaxIdtoNDSSyntax(
  61. DWORD dwSyntaxId,
  62. LPWSTR pszNDSSyntax
  63. );