ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

winsxs.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2010 Hans Leidekker for CodeWeavers
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 import "objidl.idl";
00020 import "oleidl.idl";
00021 
00022 interface IAssemblyCache;
00023 interface IAssemblyCacheItem;
00024 interface IAssemblyName;
00025 
00026 typedef struct _FUSION_INSTALL_REFERENCE_
00027 {
00028     DWORD   cbSize;
00029     DWORD   dwFlags;
00030     GUID    guidScheme;
00031     LPCWSTR szIdentifier;
00032     LPCWSTR szNonCannonicalData;
00033 } FUSION_INSTALL_REFERENCE, *LPFUSION_INSTALL_REFERENCE;
00034 
00035 typedef struct _ASSEMBLY_INFO
00036 {
00037     ULONG          cbAssemblyInfo;
00038     DWORD          dwAssemblyFlags;
00039     ULARGE_INTEGER uliAssemblySizeInKB;
00040     LPWSTR         pszCurrentAssemblyPathBuf;
00041     ULONG          cchBuf;
00042 } ASSEMBLY_INFO;
00043 
00044 typedef const struct _FUSION_INSTALL_REFERENCE_ *LPCFUSION_INSTALL_REFERENCE;
00045 
00046 [
00047     object,
00048     uuid(e707dcde-d1cd-11d2-bab9-00c04f8eceae),
00049     pointer_default(unique),
00050     local
00051 ]
00052 interface IAssemblyCache : IUnknown
00053 {
00054     HRESULT UninstallAssembly(
00055         [in] DWORD flags,
00056         [in] LPCWSTR name,
00057         [in] LPCFUSION_INSTALL_REFERENCE ref,
00058         [out, optional] ULONG *disp);
00059 
00060     HRESULT QueryAssemblyInfo(
00061         [in] DWORD flags,
00062         [in] LPCWSTR name,
00063         [in, out] ASSEMBLY_INFO *info);
00064 
00065     HRESULT CreateAssemblyCacheItem(
00066         [in] DWORD flags,
00067         [in] PVOID reserved,
00068         [out] IAssemblyCacheItem **item,
00069         [in, optional] LPCWSTR name);
00070 
00071     HRESULT Reserved(
00072         [out] IUnknown **reserved);
00073 
00074     HRESULT InstallAssembly(
00075         [in] DWORD flags,
00076         [in] LPCWSTR path,
00077         [in] LPCFUSION_INSTALL_REFERENCE ref);
00078 }
00079 
00080 [
00081     object,
00082     uuid(9e3aaeb4-d1cd-11d2-bab9-00c04f8eceae),
00083     pointer_default(unique),
00084     local
00085 ]
00086 interface IAssemblyCacheItem : IUnknown
00087 {
00088     HRESULT CreateStream(
00089         [in] DWORD flags,
00090         [in] LPCWSTR name,
00091         [in] DWORD format,
00092         [in] DWORD format_flags,
00093         [out] IStream **stream,
00094         [in, optional] ULARGE_INTEGER *max_size);
00095 
00096     HRESULT Commit(
00097         [in] DWORD flags,
00098         [out, optional] ULONG *disp);
00099 
00100     HRESULT AbortItem();
00101 }
00102 
00103 [
00104     object,
00105     uuid(cd193bc0-b4bc-11D2-9833-00c04fc31d2e),
00106     pointer_default(unique),
00107     local
00108 ]
00109 interface IAssemblyName : IUnknown
00110 {
00111     typedef [public] enum
00112     {
00113         ASM_NAME_PUBLIC_KEY,
00114         ASM_NAME_PUBLIC_KEY_TOKEN,
00115         ASM_NAME_HASH_VALUE,
00116         ASM_NAME_NAME,
00117         ASM_NAME_MAJOR_VERSION,
00118         ASM_NAME_MINOR_VERSION,
00119         ASM_NAME_BUILD_NUMBER,
00120         ASM_NAME_REVISION_NUMBER,
00121         ASM_NAME_CULTURE,
00122         ASM_NAME_PROCESSOR_ID_ARRAY,
00123         ASM_NAME_OSINFO_ARRAY,
00124         ASM_NAME_HASH_ALGID,
00125         ASM_NAME_ALIAS,
00126         ASM_NAME_CODEBASE_URL,
00127         ASM_NAME_CODEBASE_LASTMOD,
00128         ASM_NAME_NULL_PUBLIC_KEY,
00129         ASM_NAME_NULL_PUBLIC_KEY_TOKEN,
00130         ASM_NAME_CUSTOM,
00131         ASM_NAME_NULL_CUSTOM,
00132         ASM_NAME_MVID,
00133         ASM_NAME_MAX_PARAMS
00134     } ASM_NAME;
00135 
00136     typedef [public] enum
00137     {
00138         ASM_DISPLAYF_VERSION               = 0x1,
00139         ASM_DISPLAYF_CULTURE               = 0x2,
00140         ASM_DISPLAYF_PUBLIC_KEY_TOKEN      = 0x4,
00141         ASM_DISPLAYF_PUBLIC_KEY            = 0x8,
00142         ASM_DISPLAYF_CUSTOM                = 0x10,
00143         ASM_DISPLAYF_PROCESSORARCHITECTURE = 0x20,
00144         ASM_DISPLAYF_LANGUAGEID            = 0x40
00145     } ASM_DISPLAY_FLAGS;
00146 
00147     HRESULT SetProperty(
00148         [in] DWORD id,
00149         [in] LPVOID property,
00150         [in] DWORD size);
00151 
00152     HRESULT GetProperty(
00153         [in] DWORD id,
00154         [out] LPVOID buffer,
00155         [in][out] LPDWORD buflen);
00156 
00157     HRESULT Finalize();
00158 
00159     HRESULT GetDisplayName(
00160         [out] LPWSTR buffer,
00161         [in][out] LPDWORD buflen,
00162         [in] DWORD flags);
00163 
00164     HRESULT Reserved(
00165         [in] REFIID riid,
00166         [in] IUnknown *pUnkReserved1,
00167         [in] IUnknown *pUnkReserved2,
00168         [in] LPCOLESTR szReserved,
00169         [in] LONGLONG llReserved,
00170         [in] LPVOID pvReserved,
00171         [in] DWORD cbReserved,
00172         [out] LPVOID *ppReserved);
00173 
00174     HRESULT GetName(
00175         [in][out] LPDWORD buflen,
00176         [out] LPWSTR buffer);
00177 
00178     HRESULT GetVersion(
00179         [out] LPDWORD hi,
00180         [out] LPDWORD low);
00181 
00182     HRESULT IsEqual(
00183         [in] IAssemblyName *name,
00184         [in] DWORD flags);
00185 
00186     HRESULT Clone(
00187         [out] IAssemblyName **name);
00188 }
00189 
00190 typedef [unique] IAssemblyName *LPASSEMBLYNAME;
00191 typedef [public] enum
00192 {
00193     CANOF_PARSE_DISPLAY_NAME = 0x1,
00194     CANOF_SET_DEFAULT_VALUES = 0x2
00195 } CREATE_ASM_NAME_OBJ_FLAGS;
00196 
00197 cpp_quote("HRESULT WINAPI CreateAssemblyCache(IAssemblyCache**,DWORD);")
00198 cpp_quote("HRESULT WINAPI CreateAssemblyNameObject(LPASSEMBLYNAME *,LPCWSTR,DWORD,LPVOID);")

Generated on Sun May 27 2012 04:32:51 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.