Leaked source code of windows server 2003
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.

82 lines
1.7 KiB

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