diff options
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/metahost.idl')
-rw-r--r-- | src/VBox/Devices/Graphics/shaderlib/wine/include/metahost.idl | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/metahost.idl b/src/VBox/Devices/Graphics/shaderlib/wine/include/metahost.idl new file mode 100644 index 00000000..ea287c57 --- /dev/null +++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/metahost.idl @@ -0,0 +1,215 @@ +/* + * Copyright 2010 Vincent Povirk for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* + * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice + * other than GPL or LGPL is available it will apply instead, Oracle elects to use only + * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where + * a choice of LGPL license versions is made available with the language indicating + * that LGPLv2 or any later version may be used, or where a choice of which version + * of the LGPL is applied is otherwise unspecified. + */ + +import "unknwn.idl"; +import "oaidl.idl"; +import "ocidl.idl"; +import "mscoree.idl"; + +cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") +cpp_quote("#undef LoadLibrary") +cpp_quote("#endif") + +typedef enum +{ + METAHOST_POLICY_HIGHCOMPAT = 0, + METAHOST_POLICY_APPLY_UPGRADE_POLICY = 0x08, + METAHOST_POLICY_EMULATE_EXE_LAUNCH = 0x10, + METAHOST_POLICY_SHOW_ERROR_DIALOG = 0x20, + METAHOST_POLICY_USE_PROCESS_IMAGE_PATH = 0x40, + METAHOST_POLICY_ENSURE_SKU_SUPPORTED = 0x80 +} METAHOST_POLICY_FLAGS; + +typedef enum +{ + CLR_DEBUGGING_MANAGED_EVENT_PENDING = 1 +} CLR_DEBUGGING_PROCESS_FLAGS; + +typedef struct _CLR_DEBUGGING_VERSION +{ + WORD wStructVersion; + WORD wMajor; + WORD wMinor; + WORD wBuild; + WORD wRevision; +} CLR_DEBUGGING_VERSION; + +[ + object, + local, + uuid(bd39d1d2-ba2f-486a-89b0-b4b0cb466891) +] +interface ICLRRuntimeInfo : IUnknown +{ + HRESULT GetVersionString( + [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer, + [in, out] DWORD *pcchBuffer); + + HRESULT GetRuntimeDirectory( + [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer, + [in, out] DWORD *pcchBuffer); + + HRESULT IsLoaded( + [in] HANDLE hndProcess, + [out, retval] BOOL *pbLoaded); + + HRESULT LoadErrorString( + [in] UINT iResourceID, + [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer, + [in, out] DWORD *pcchBuffer, + [in] LONG iLocaleid); + + HRESULT LoadLibrary( + [in] LPCWSTR pwzDllName, + [out, retval] HMODULE *phndModule); + + HRESULT GetProcAddress( + [in] LPCSTR pszProcName, + [out, retval] LPVOID *ppProc); + + HRESULT GetInterface( + [in] REFCLSID rclsid, + [in] REFIID riid, + [out, iid_is(riid), retval] LPVOID *ppUnk); + + HRESULT IsLoadable( + [out, retval] BOOL *pbLoadable); + + HRESULT SetDefaultStartupFlags( + [in] DWORD dwStartupFlags, + [in] LPCWSTR pwzHostConfigFile); + + HRESULT GetDefaultStartupFlags( + [out] DWORD *pdwStartupFlags, + [out, size_is(*pcchHostConfigFile)] LPWSTR pwzHostConfigFile, + [in, out] DWORD *pcchHostConfigFile); + + HRESULT BindAsLegacyV2Runtime(); + + HRESULT IsStarted( + [out] BOOL *pbStarted, + [out] DWORD *pdwStartupFlags); +}; + +typedef HRESULT (__stdcall *CallbackThreadSetFnPtr)(); +typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)(); + +typedef void (__stdcall *RuntimeLoadedCallbackFnPtr)( + ICLRRuntimeInfo *pRuntimeInfo, + CallbackThreadSetFnPtr pfnCallbackThreadSet, + CallbackThreadUnsetFnPtr pfnCallbackThreadUnset); + +cpp_quote("DEFINE_GUID(CLSID_CLRDebuggingLegacy, 0xDF8395B5,0xA4BA,0x450b,0xA7,0x7C,0xA9,0xA4,0x77,0x62,0xC5,0x20);") +cpp_quote("DEFINE_GUID(CLSID_CLRMetaHost, 0x9280188d,0x0e8e,0x4867,0xb3,0x0c,0x7f,0xa8,0x38,0x84,0xe8,0xde);") + +[ + object, + local, + uuid(d332db9e-b9b3-4125-8207-a14884f53216) +] +interface ICLRMetaHost : IUnknown +{ + HRESULT GetRuntime( + [in] LPCWSTR pwzVersion, + [in] REFIID iid, + [out, iid_is(iid), retval] LPVOID *ppRuntime); + + HRESULT GetVersionFromFile( + [in] LPCWSTR pwzFilePath, + [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer, + [in, out] DWORD *pcchBuffer); + + HRESULT EnumerateInstalledRuntimes( + [out, retval] IEnumUnknown **ppEnumerator); + + HRESULT EnumerateLoadedRuntimes( + [in] HANDLE hndProcess, + [out, retval] IEnumUnknown **ppEnumerator); + + HRESULT RequestRuntimeLoadedNotification( + [in] RuntimeLoadedCallbackFnPtr pCallbackFunction); + + HRESULT QueryLegacyV2RuntimeBinding( + [in] REFIID riid, + [out, iid_is(riid), retval] LPVOID *ppUnk); + + HRESULT ExitProcess( + [in] INT32 iExitCode); +}; + +[ + object, + local, + uuid(e2190695-77b2-492e-8e14-c4b3a7fdd593) +] +interface ICLRMetaHostPolicy : IUnknown +{ + HRESULT GetRequestedRuntime([in] METAHOST_POLICY_FLAGS dwPolicyFlags, + [in] LPCWSTR pwzBinary, [in] IStream *pCfgStream, + [in, out] LPWSTR pwzVersion, [in, out] DWORD *pcchVersion, + [out] LPWSTR pwzImageVersion, [out, in] DWORD *pcchImageVersion, + [out] DWORD *pdwConfigFlags, [in] REFIID riid, [retval, out] LPVOID *ppRuntime); +} + +[ + uuid(2ebcd49a-1b47-4a61-b13a-4a03701e594b) +] +coclass CLRMetaHostPolicy +{ + [default] interface ICLRMetaHostPolicy; +} + +[ + object, + local, + uuid(3151c08d-4d09-4f9b-8838-2880bf18fe51) +] +interface ICLRDebuggingLibraryProvider : IUnknown +{ + HRESULT ProvideLibrary([in] const WCHAR *pwszFileName, + [in] DWORD dwTimestamp, [in] DWORD dwSizeOfImage, + [out] HMODULE *phModule); +} + +[ + object, + local, + uuid(d28f3c5a-9634-4206-a509-477552eefb10) +] +interface ICLRDebugging : IUnknown +{ + HRESULT OpenVirtualProcess([in] ULONG64 moduleBaseAddress, + [in] IUnknown *pDataTarget, [in] ICLRDebuggingLibraryProvider *pLibraryProvider, + [in] CLR_DEBUGGING_VERSION *pMaxDebuggerSupportedVersion, + [in] REFIID riidProcess, [out] IUnknown **ppProcess, + [out, in] CLR_DEBUGGING_VERSION *pVersion, + [out] CLR_DEBUGGING_PROCESS_FLAGS *pdwFlags); + + HRESULT CanUnloadNow(HMODULE hModule); +} + +cpp_quote("HRESULT WINAPI CLRCreateInstance(REFCLSID clsid, REFIID riid, LPVOID *ppInterface);") |