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
2.2 KiB

  1. //+------------------------------------------------------------------
  2. //
  3. // Copyright (C) Microsoft Corporation, 1991 - 1997
  4. //
  5. // File: defprop.hxx
  6. //
  7. // Contents: Deferred property retriever
  8. //
  9. // Classes: CCiCDeferredPropRetriever
  10. //
  11. // History: 12-Jan-97 SitaramR Created
  12. //
  13. //-------------------------------------------------------------------
  14. #pragma once
  15. #include <ciintf.h>
  16. #include <catalog.hxx>
  17. #include <imprsnat.hxx>
  18. #include <pidremap.hxx>
  19. #include <seccache.hxx>
  20. //+---------------------------------------------------------------------------
  21. //
  22. // Class: CDeferredPropRetriever
  23. //
  24. // Purpose: Retrieves deferred properties
  25. //
  26. // History: 12-Jan-97 SitaramR Created
  27. //
  28. //----------------------------------------------------------------------------
  29. class CCiCDeferredPropRetriever : public ICiCDeferredPropRetriever
  30. {
  31. public:
  32. //
  33. // From IUnknown
  34. //
  35. SCODE STDMETHODCALLTYPE QueryInterface( REFIID riid, void **ppvObject );
  36. ULONG STDMETHODCALLTYPE AddRef();
  37. ULONG STDMETHODCALLTYPE Release();
  38. //
  39. // From ICiCDeferredPropRetriever
  40. //
  41. SCODE STDMETHODCALLTYPE RetrieveDeferredValueByPid( WORKID wid,
  42. PROPID pid,
  43. PROPVARIANT *pVar )
  44. {
  45. return E_NOTIMPL;
  46. }
  47. SCODE STDMETHODCALLTYPE RetrieveDeferredValueByPropSpec( WORKID wid,
  48. const FULLPROPSPEC *pPropSpec,
  49. PROPVARIANT *pVar );
  50. //
  51. // Local methods
  52. //
  53. CCiCDeferredPropRetriever( PCatalog & cat,
  54. CSecurityCache & secCache,
  55. BOOL fUsePathAlias );
  56. private:
  57. virtual ~CCiCDeferredPropRetriever( );
  58. ULONG _cRefs;
  59. CImpersonateRemoteAccess _remoteAccess;
  60. PCatalog & _cat;
  61. BOOL _fUsePathAlias; // Is the query from a remote client ?
  62. CSecurityCache & _secCache; // cache of AccessCheck results
  63. };