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.

74 lines
1.9 KiB

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1998, Microsoft Corp. All rights reserved.
  4. //
  5. // FILE
  6. //
  7. // adsstore.h
  8. //
  9. // SYNOPSIS
  10. //
  11. // This file declares the class ADsDataStore.
  12. //
  13. // MODIFICATION HISTORY
  14. //
  15. // 02/20/1998 Original version.
  16. //
  17. ///////////////////////////////////////////////////////////////////////////////
  18. #ifndef _ADSSTORE_H_
  19. #define _ADSSTORE_H_
  20. #include <iasads.h>
  21. #include <resource.h>
  22. ///////////////////////////////////////////////////////////////////////////////
  23. //
  24. // CLASS
  25. //
  26. // ADsDataStore
  27. //
  28. // DESCRIPTION
  29. //
  30. // This class implements IDataStore2 and provides the gateway into the
  31. // ADSI object space.
  32. //
  33. ///////////////////////////////////////////////////////////////////////////////
  34. class ATL_NO_VTABLE ADsDataStore
  35. : public CComObjectRootEx< CComMultiThreadModel >,
  36. public CComCoClass< ADsDataStore, &__uuidof(ADsDataStore) >,
  37. public IDispatchImpl< IDataStore2,
  38. &__uuidof(IDataStore2),
  39. &__uuidof(DataStore2Lib) >
  40. {
  41. public:
  42. IAS_DECLARE_REGISTRY(ADsDataStore, 1, IAS_REGISTRY_AUTO, DataStore2Lib)
  43. DECLARE_NOT_AGGREGATABLE(ADsDataStore)
  44. BEGIN_COM_MAP(ADsDataStore)
  45. COM_INTERFACE_ENTRY(IDataStore2)
  46. COM_INTERFACE_ENTRY(IDispatch)
  47. END_COM_MAP()
  48. //////////
  49. // IDataStore2
  50. //////////
  51. STDMETHOD(get_Root)(/*[out, retval]*/ IDataStoreObject** ppObject);
  52. STDMETHOD(Initialize)(
  53. /*[in]*/ BSTR bstrDSName,
  54. /*[in]*/ BSTR bstrUserName,
  55. /*[in]*/ BSTR bstrPassword
  56. );
  57. STDMETHOD(OpenObject)(
  58. /*[in]*/ BSTR bstrPath,
  59. /*[out, retval]*/ IDataStoreObject** ppObject
  60. );
  61. STDMETHOD(Shutdown)();
  62. protected:
  63. _bstr_t userName;
  64. _bstr_t password;
  65. CComPtr<IDataStoreObject> root;
  66. };
  67. #endif // _ADSSTORE_H_