fusion.idl revision 930b5f872e89407f445d4000d4e4aaecaa6a0998
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Copyright 2008 James Hawkins
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * This library is free software; you can redistribute it and/or
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * modify it under the terms of the GNU Lesser General Public
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * License as published by the Free Software Foundation; either
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * version 2.1 of the License, or (at your option) any later version.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * This library is distributed in the hope that it will be useful,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * but WITHOUT ANY WARRANTY; without even the implied warranty of
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Lesser General Public License for more details.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte *
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * You should have received a copy of the GNU Lesser General Public
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * License along with this library; if not, write to the Free Software
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/*
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * a choice of LGPL license versions is made available with the language indicating
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * that LGPLv2 or any later version may be used, or where a choice of which version
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * of the LGPL is applied is otherwise unspecified.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteimport "objidl.idl";
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinterface IAssemblyCache;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinterface IAssemblyCacheItem;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinterface IAssemblyEnum;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinterface IAssemblyName;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef enum
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte{
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CACHE_ZAP = 0x1,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CACHE_GAC = 0x2,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CACHE_DOWNLOAD = 0x4,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CACHE_ROOT = 0x8,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CACHE_ROOT_EX = 0x80
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} ASM_CACHE_FLAGS;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef enum
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte{
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte peNone = 0x00000000,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte peMSIL = 0x00000001,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte peI386 = 0x00000002,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte peIA64 = 0x00000003,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte peAMD64 = 0x00000004,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte peARM = 0x00000005,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte peInvalid = 0xffffffff
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} PEKIND;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef enum _tagAssemblyComparisonResult
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte{
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_Unknown,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_EquivalentFullMatch,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_EquivalentWeakNamed,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_EquivalentFXUnified,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_EquivalentUnified,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_NonEquivalentVersion,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_NonEquivalent,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_EquivalentPartialMatch,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_EquivalentPartialWeakNamed,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_EquivalentPartialUnified,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_EquivalentPartialFXUnified,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ACR_NonEquivalentPartialVersion
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte} AssemblyComparisonResult;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte[
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte local,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte object,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uuid(e707dcde-d1cd-11d2-bab9-00c04f8eceae),
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte pointer_default(unique)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte]
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinterface IAssemblyCache : IUnknown
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte{
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte typedef struct _FUSION_INSTALL_REFERENCE_
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte DWORD cbSize;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte DWORD dwFlags;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte GUID guidScheme;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte LPCWSTR szIdentifier;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte LPCWSTR szNonCannonicalData;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte } FUSION_INSTALL_REFERENCE, *LPFUSION_INSTALL_REFERENCE;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte typedef const FUSION_INSTALL_REFERENCE *LPCFUSION_INSTALL_REFERENCE;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte typedef struct _ASSEMBLY_INFO
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ULONG cbAssemblyInfo;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte DWORD dwAssemblyFlags;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ULARGE_INTEGER uliAssemblySizeInKB;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte LPWSTR pszCurrentAssemblyPathBuf;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ULONG cchBuf;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte } ASSEMBLY_INFO;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHE_INSTALL_FLAG_REFRESH 0x00000001")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHE_INSTALL_FLAG_FORCE_REFRESH 0x00000002")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_UNINSTALLED 1")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_STILL_IN_USE 2")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_ALREADY_UNINSTALLED 3")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_DELETE_PENDING 4")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_HAS_INSTALL_REFERENCES 5")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_REFERENCE_NOT_FOUND 6")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define QUERYASMINFO_FLAG_VALIDATE 0x00000001")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define QUERYASMINFO_FLAG_GETSIZE 0x00000002")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define ASSEMBLYINFO_FLAG_INSTALLED 0x00000001")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define ASSEMBLYINFO_FLAG_PAYLOADRESIDENT 0x00000002")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT UninstallAssembly(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD dwFlags,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] LPCWSTR pszAssemblyName,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] LPCFUSION_INSTALL_REFERENCE pRefData,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [out, optional] ULONG *pulDisposition);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT QueryAssemblyInfo(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD dwFlags,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] LPCWSTR pszAssemblyName,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in, out] ASSEMBLY_INFO *pAsmInfo);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT CreateAssemblyCacheItem(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD dwFlags,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] PVOID pvReserved,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [out] IAssemblyCacheItem **ppAsmItem,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in, optional] LPCWSTR pszAssemblyName);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT CreateAssemblyScavenger([out] IUnknown **ppUnkReserved);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT InstallAssembly(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD dwFlags,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] LPCWSTR pszManifestFilePath,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] LPCFUSION_INSTALL_REFERENCE pRefData);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte}
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte[
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte local,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte object,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uuid(9e3aaeb4-d1cd-11d2-bab9-00c04f8eceae),
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte pointer_default(unique)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte]
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinterface IAssemblyCacheItem : IUnknown
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte{
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define STREAM_FORMAT_COMPLIB_MODULE 0")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define STREAM_FORMAT_COMPLIB_MANIFEST 1")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define STREAM_FORMAT_WIN32_MODULE 2")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define STREAM_FORMAT_WIN32_MANIFEST 4")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHEITEM_COMMIT_FLAG_REFRESH 0x00000001")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHEITEM_COMMIT_FLAG_FORCE_REFRESH 0x00000002")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_INSTALLED 1")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_REFRESHED 2")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte cpp_quote("#define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_ALREADY_INSTALLED 3")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT CreateStream(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD dwFlags,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] LPCWSTR pszStreamName,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD dwFormat,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD dwFormatFlags,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [out] IStream **ppIStream,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in, optional] ULARGE_INTEGER *puliMaxSize);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT Commit(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD dwFlags,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [out, optional] ULONG *pulDisposition);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT AbortItem();
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte}
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte[
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte local,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte object,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uuid(CD193BC0-B4BC-11d2-9833-00C04FC31D2E),
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte pointer_default(unique)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte]
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinterface IAssemblyName: IUnknown
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte{
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte typedef [unique] IAssemblyName *LPASSEMBLYNAME;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte typedef enum
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte CANOF_PARSE_DISPLAY_NAME = 0x1,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte CANOF_SET_DEFAULT_VALUES = 0x2,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte CANOF_VERIFY_FRIEND_ASSEMBLYNAME = 0x4,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte CANOF_PARSE_FRIEND_DISPLAY_NAME = CANOF_PARSE_DISPLAY_NAME |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte CANOF_VERIFY_FRIEND_ASSEMBLYNAME
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte } CREATE_ASM_NAME_OBJ_FLAGS;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte typedef enum
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_PUBLIC_KEY = 0,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_PUBLIC_KEY_TOKEN,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_HASH_VALUE,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_NAME,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_MAJOR_VERSION,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_MINOR_VERSION,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_BUILD_NUMBER,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_REVISION_NUMBER,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_CULTURE,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_PROCESSOR_ID_ARRAY,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_OSINFO_ARRAY,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_HASH_ALGID,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_ALIAS,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_CODEBASE_URL,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_CODEBASE_LASTMOD,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_NULL_PUBLIC_KEY,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_NULL_PUBLIC_KEY_TOKEN,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_CUSTOM,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_NULL_CUSTOM,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_MVID,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_FILE_MAJOR_VERSION,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_FILE_MINOR_VERSION,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_FILE_BUILD_NUMBER,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_FILE_REVISION_NUMBER,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_RETARGET,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_SIGNATURE_BLOB,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_CONFIG_MASK,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_ARCHITECTURE,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_NAME_MAX_PARAMS
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte } ASM_NAME;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte typedef enum
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_VERSION = 0x1,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_CULTURE = 0x2,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_PUBLIC_KEY_TOKEN = 0x4,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_PUBLIC_KEY = 0x8,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_CUSTOM = 0x10,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_PROCESSORARCHITECTURE = 0x20,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_LANGUAGEID = 0x40,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_RETARGET = 0x80,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_CONFIG_MASK = 0x100,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_MVID = 0x200,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_FULL = ASM_DISPLAYF_VERSION |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_CULTURE |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_PUBLIC_KEY_TOKEN |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_RETARGET |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_DISPLAYF_PROCESSORARCHITECTURE,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte } ASM_DISPLAY_FLAGS;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte typedef enum
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte {
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_NAME = 0x1,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_MAJOR_VERSION = 0x2,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_MINOR_VERSION = 0x4,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_BUILD_NUMBER = 0x8,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_REVISION_NUMBER = 0x10,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_VERSION = ASM_CMPF_MAJOR_VERSION |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_MINOR_VERSION |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_BUILD_NUMBER |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_REVISION_NUMBER,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_PUBLIC_KEY_TOKEN = 0x20,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_CULTURE = 0x40,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_CUSTOM = 0x80,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_DEFAULT = 0x100,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_RETARGET = 0x200,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_ARCHITECTURE = 0x400,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_CONFIG_MASK = 0x800,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_MVID = 0x1000,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_SIGNATURE = 0x2000,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_IL_ALL = ASM_CMPF_NAME |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_VERSION |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_PUBLIC_KEY_TOKEN |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_CULTURE,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_IL_NO_VERSION = ASM_CMPF_NAME |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_PUBLIC_KEY_TOKEN |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ASM_CMPF_CULTURE
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte } ASM_CMP_FLAGS;
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT SetProperty(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD PropertyId,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] LPVOID pvProperty,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD cbProperty);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT GetProperty(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD PropertyId,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [out] LPVOID pvProperty,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in, out] LPDWORD pcbProperty);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT Finalize();
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT GetDisplayName(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [out] LPOLESTR szDisplayName,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in, out] LPDWORD pccDisplayName,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD dwDisplayFlags);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT Reserved(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] REFIID refIID,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] IUnknown *pUnkReserved1,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] IUnknown *pUnkReserved2,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] LPCOLESTR szReserved,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] LONGLONG llReserved,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] LPVOID pvReserved,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD cbReserved,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [out] LPVOID *ppReserved);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT GetName(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in, out] LPDWORD lpcwBuffer,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [out] WCHAR *pwzName);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT GetVersion(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [out] LPDWORD pdwVersionHi,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [out] LPDWORD pdwVersionLow);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT IsEqual(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] IAssemblyName *pName,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD dwCmpFlags);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT Clone([out] IAssemblyName **pName);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte}
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte[
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte local,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte object,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uuid(21b8916c-f28e-11d2-a473-00c04f8ef448),
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte pointer_default(unique)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte]
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinterface IAssemblyEnum : IUnknown
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte{
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT GetNextAssembly(
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] LPVOID pvReserved,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [out] IAssemblyName **ppName,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte [in] DWORD dwFlags);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT Reset(void);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte HRESULT Clone([out] IAssemblyEnum **ppEnum);
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte}
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte[
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte local,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte object,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uuid(582dac66-e678-449f-aba6-6faaec8a9394),
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte pointer_default(unique)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte]
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinterface IInstallReferenceItem : IUnknown
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte{
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte}
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte[
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte local,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte object,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte uuid(56b1a988-7c0c-4aa2-8639-c3eb5a90226f),
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte pointer_default(unique)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte]
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forteinterface IInstallReferenceEnum : IUnknown
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte{
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte}
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortecpp_quote("HRESULT WINAPI ClearDownloadCache(void);")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortecpp_quote("HRESULT WINAPI CompareAssemblyIdentity(LPCWSTR,BOOL,LPCWSTR,BOOL,BOOL*,AssemblyComparisonResult*);")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortecpp_quote("HRESULT WINAPI CreateAssemblyCache(IAssemblyCache**,DWORD);")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortecpp_quote("HRESULT WINAPI CreateAssemblyEnum(IAssemblyEnum**,IUnknown*,IAssemblyName*,DWORD,LPVOID);")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortecpp_quote("HRESULT WINAPI CreateAssemblyNameObject(LPASSEMBLYNAME*,LPCWSTR,DWORD,LPVOID);")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortecpp_quote("HRESULT WINAPI CreateInstallReferenceEnum(IInstallReferenceEnum**,IAssemblyName*,DWORD,LPVOID);")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortecpp_quote("HRESULT WINAPI GetAssemblyIdentityFromFile(LPCWSTR,REFIID,IUnknown**);")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortecpp_quote("HRESULT WINAPI GetCachePath(ASM_CACHE_FLAGS,LPWSTR,PDWORD);")
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte