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.

81 lines
2.0 KiB

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