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

/*++
Copyright (c) Microsoft Corporation
Module Name:
sxsasmcache.h
Abstract:
CAssemblyCache implementation for installation
Author:
Xiaoyu Wu (xiaoyuw) April 2000
Revision History:
--*/
#if !defined(_FUSION_SXS_ASMCACHE_H_INCLUDED_)
#define _FUSION_SXS_ASMCACHE_H_INCLUDED_
#pragma once
#include "fusion.h"
// CAssemblyCache declaration.
class CAssemblyCache : public IAssemblyCache
{
public:
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid,void ** ppv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
// IAssemblyCache methods
STDMETHOD (UninstallAssembly)(
/* [in] */ DWORD dwFlags,
/* [in] */ LPCWSTR pszAssemblyName, // uncanonicalized, comma separted name=value pairs.
/* [in] */ LPCFUSION_INSTALL_REFERENCE lpReference,
/* [out, optional] */ ULONG *pulDisposition
);
STDMETHOD (QueryAssemblyInfo)(
/* [in] */ DWORD dwFlags,
/* [in] */ LPCWSTR pszAssemblyName,
/* [in, out] */ ASSEMBLY_INFO *pAsmInfo
);
STDMETHOD (CreateAssemblyCacheItem)(
/* [in] */ DWORD dwFlags,
/* [in] */ PVOID pvReserved,
/* [out] */ IAssemblyCacheItem **ppAsmItem,
/* [in, optional] */ LPCWSTR pszAssemblyName // uncanonicalized, comma separted name=value pairs.
);
STDMETHOD (InstallAssembly)( // if you use this, fusion will do the streaming & commit.
/* [in] */ DWORD dwFlags,
/* [in] */ LPCWSTR pszManifestFilePath,
/* [in] */ LPCFUSION_INSTALL_REFERENCE lpReference
);
STDMETHOD(CreateAssemblyScavenger) (
/* [out] */ IAssemblyScavenger **ppAsmScavenger
);
CAssemblyCache():m_cRef(0)
{
}
~CAssemblyCache()
{
ASSERT_NTC(m_cRef == 0);
}
private :
ULONG m_cRef;
};
#endif // _FUSION_SXS_ASMCACHE_H_INCLUDED_