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

metahost.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2010 Vincent Povirk 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 "unknwn.idl";
00020 import "oaidl.idl";
00021 import "ocidl.idl";
00022 import "mscoree.idl";
00023 
00024 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
00025 cpp_quote("#undef LoadLibrary")
00026 cpp_quote("#endif")
00027 
00028 [
00029     object,
00030     local,
00031     uuid(bd39d1d2-ba2f-486a-89b0-b4b0cb466891)
00032 ]
00033 interface ICLRRuntimeInfo : IUnknown
00034 {
00035     HRESULT GetVersionString(
00036         [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer,
00037         [in, out] DWORD *pcchBuffer);
00038 
00039     HRESULT GetRuntimeDirectory(
00040         [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer,
00041         [in, out] DWORD *pcchBuffer);
00042 
00043     HRESULT IsLoaded(
00044         [in] HANDLE hndProcess,
00045         [out, retval] BOOL *pbLoaded);
00046 
00047     HRESULT LoadErrorString(
00048         [in] UINT iResourceID,
00049         [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer,
00050         [in, out] DWORD *pcchBuffer,
00051         [in] LONG iLocaleid);
00052 
00053     HRESULT LoadLibrary(
00054         [in] LPCWSTR pwzDllName,
00055         [out, retval] HMODULE *phndModule);
00056 
00057     HRESULT GetProcAddress(
00058         [in] LPCSTR pszProcName,
00059         [out, retval] LPVOID *ppProc);
00060 
00061     HRESULT GetInterface(
00062         [in] REFCLSID rclsid,
00063         [in] REFIID riid,
00064         [out, iid_is(riid), retval] LPVOID *ppUnk);
00065 
00066     HRESULT IsLoadable(
00067         [out, retval] BOOL *pbLoadable);
00068 
00069     HRESULT SetDefaultStartupFlags(
00070         [in] DWORD dwStartupFlags,
00071         [in] LPCWSTR pwzHostConfigFile);
00072 
00073     HRESULT GetDefaultStartupFlags(
00074         [out] DWORD *pdwStartupFlags,
00075         [out, size_is(*pcchHostConfigFile)] LPWSTR pwzHostConfigFile,
00076         [in, out] DWORD *pcchHostConfigFile);
00077 
00078     HRESULT BindAsLegacyV2Runtime();
00079 
00080     HRESULT IsStarted(
00081         [out] BOOL *pbStarted,
00082         [out] DWORD *pdwStartupFlags);
00083 };
00084 
00085 typedef HRESULT (__stdcall *CallbackThreadSetFnPtr)();
00086 typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();
00087 
00088 typedef void (__stdcall *RuntimeLoadedCallbackFnPtr)(
00089     ICLRRuntimeInfo *pRuntimeInfo,
00090     CallbackThreadSetFnPtr pfnCallbackThreadSet,
00091     CallbackThreadUnsetFnPtr pfnCallbackThreadUnset);
00092 
00093 cpp_quote("DEFINE_GUID(CLSID_CLRDebuggingLegacy, 0xDF8395B5,0xA4BA,0x450b,0xA7,0x7C,0xA9,0xA4,0x77,0x62,0xC5,0x20);")
00094 cpp_quote("DEFINE_GUID(CLSID_CLRMetaHost, 0x9280188d,0x0e8e,0x4867,0xb3,0x0c,0x7f,0xa8,0x38,0x84,0xe8,0xde);")
00095 
00096 [
00097     object,
00098     local,
00099     uuid(d332db9e-b9b3-4125-8207-a14884f53216)
00100 ]
00101 interface ICLRMetaHost : IUnknown
00102 {
00103     HRESULT GetRuntime(
00104         [in] LPCWSTR pwzVersion,
00105         [in] REFIID iid,
00106         [out, iid_is(iid), retval] LPVOID *ppRuntime);
00107 
00108     HRESULT GetVersionFromFile(
00109         [in] LPCWSTR pwzFilePath,
00110         [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer,
00111         [in, out] DWORD *pcchBuffer);
00112 
00113     HRESULT EnumerateInstalledRuntimes(
00114         [out, retval] IEnumUnknown **ppEnumerator);
00115 
00116     HRESULT EnumerateLoadedRuntimes(
00117         [in] HANDLE hndProcess,
00118         [out, retval] IEnumUnknown **ppEnumerator);
00119 
00120     HRESULT RequestRuntimeLoadedNotification(
00121         [in] RuntimeLoadedCallbackFnPtr pCallbackFunction);
00122 
00123     HRESULT QueryLegacyV2RuntimeBinding(
00124         [in] REFIID riid,
00125         [out, iid_is(riid), retval] LPVOID *ppUnk);
00126 
00127     HRESULT ExitProcess(
00128         [in] INT32 iExitCode);
00129 };
00130 
00131 cpp_quote("HRESULT WINAPI CLRCreateInstance(REFCLSID clsid, REFIID riid, LPVOID *ppInterface);")

Generated on Sun May 27 2012 04:31:39 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.