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.

82 lines
2.0 KiB

  1. //depot/private/lab01_fusion/base/win32/fusion/dll/whistler/sxsasmcache.h#3 - edit change 16520 (text)
  2. /*++
  3. Copyright (c) 2000 Microsoft Corporation
  4. Module Name:
  5. sxsasmcache.h
  6. Abstract:
  7. CAssemblyCache implementation for installation
  8. Author:
  9. Xiaoyu Wu (xiaoyuw) April 2000
  10. Revision History:
  11. --*/
  12. #if !defined(_FUSION_SXS_ASMCACHE_H_INCLUDED_)
  13. #define _FUSION_SXS_ASMCACHE_H_INCLUDED_
  14. #pragma once
  15. #include "fusion.h"
  16. // CAssemblyCache declaration.
  17. class CAssemblyCache : public IAssemblyCache
  18. {
  19. public:
  20. // IUnknown methods
  21. STDMETHODIMP QueryInterface(REFIID riid,void ** ppv);
  22. STDMETHODIMP_(ULONG) AddRef();
  23. STDMETHODIMP_(ULONG) Release();
  24. // IAssemblyCache methods
  25. STDMETHOD (UninstallAssembly)(
  26. /* [in] */ DWORD dwFlags,
  27. /* [in] */ LPCWSTR pszAssemblyName, // uncanonicalized, comma separted name=value pairs.
  28. /* [in] */ LPCFUSION_INSTALL_REFERENCE lpReference,
  29. /* [out, optional] */ ULONG *pulDisposition
  30. );
  31. STDMETHOD (QueryAssemblyInfo)(
  32. /* [in] */ DWORD dwFlags,
  33. /* [in] */ LPCWSTR pszAssemblyName,
  34. /* [in, out] */ ASSEMBLY_INFO *pAsmInfo
  35. );
  36. STDMETHOD (CreateAssemblyCacheItem)(
  37. /* [in] */ DWORD dwFlags,
  38. /* [in] */ PVOID pvReserved,
  39. /* [out] */ IAssemblyCacheItem **ppAsmItem,
  40. /* [in, optional] */ LPCWSTR pszAssemblyName // uncanonicalized, comma separted name=value pairs.
  41. );
  42. STDMETHOD (InstallAssembly)( // if you use this, fusion will do the streaming & commit.
  43. /* [in] */ DWORD dwFlags,
  44. /* [in] */ LPCWSTR pszManifestFilePath,
  45. /* [in] */ LPCFUSION_INSTALL_REFERENCE lpReference
  46. );
  47. STDMETHOD(CreateAssemblyScavenger) (
  48. /* [out] */ IAssemblyScavenger **ppAsmScavenger
  49. );
  50. CAssemblyCache():m_cRef(0)
  51. {
  52. }
  53. ~CAssemblyCache()
  54. {
  55. ASSERT_NTC(m_cRef == 0);
  56. }
  57. private :
  58. ULONG m_cRef;
  59. };
  60. #endif // _FUSION_SXS_ASMCACHE_H_INCLUDED_