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.

93 lines
1.8 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1997.
  5. //
  6. // File: dslookup.hxx
  7. //
  8. // Contents: DocStoreLookUp code
  9. //
  10. // Classes: CClientDocStoreLocator
  11. //
  12. // History: 1-16-97 srikants Created
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #include <ciintf.h>
  17. class CCatArray;
  18. extern long gulcInstances;
  19. class CClientDocStoreLocator : public ICiCDocStoreLocator
  20. {
  21. public:
  22. CClientDocStoreLocator()
  23. : _refCount(1)
  24. {
  25. InterlockedIncrement( &gulcInstances );
  26. }
  27. ~CClientDocStoreLocator()
  28. {
  29. InterlockedDecrement( &gulcInstances );
  30. }
  31. //
  32. // IUnknown methods.
  33. //
  34. STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppiuk );
  35. STDMETHOD_(ULONG, AddRef) (THIS);
  36. STDMETHOD_(ULONG, Release) (THIS);
  37. //
  38. // ICiCDocStoreLocator methods.
  39. //
  40. STDMETHOD(LookUpDocStore) (
  41. IDBProperties * pIDBProperties,
  42. ICiCDocStore ** ppICiCDocStore,
  43. BOOL fMustAlreadyBeOpen );
  44. STDMETHOD(Shutdown) (void);
  45. STDMETHOD(GetDocStoreState) (
  46. WCHAR const * pwcDocStore,
  47. ICiCDocStore ** ppICiCDocStore,
  48. DWORD * pdwState );
  49. STDMETHOD(IsMarkedReadOnly) (
  50. WCHAR const * wcsCat,
  51. BOOL * pfReadOnly );
  52. STDMETHOD(IsVolumeOrDirRO) (
  53. WCHAR const * wcsCat,
  54. BOOL * pfReadOnly );
  55. STDMETHOD(OpenAllDocStores) ();
  56. STDMETHOD(StopCatalogsOnVol) (
  57. WCHAR wcVol,
  58. void * pRequestQueue );
  59. STDMETHOD(StartCatalogsOnVol) (
  60. WCHAR wcVol,
  61. void * pRequestQueue );
  62. STDMETHOD(AddStoppedCat) (
  63. DWORD dwOldState,
  64. WCHAR const * wcsCatName );
  65. private:
  66. long _refCount;
  67. };