include: Add interfaces ICLRMetaHostPolicy,ICLRDebugging

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Tue Oct 1 21:51:11 CDT 2013


Hi,


Changelog:
     include: Add interfaces ICLRMetaHostPolicy,ICLRDebugging


Best Regards
  Alistair Leslie-Hughes
-------------- next part --------------
>From 9c930e50f3251eff7b25d3c6b7598426ff6d44b7 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Wed, 2 Oct 2013 11:57:45 +1000
Subject: [PATCH] Add interfaces ICLRMetaHostPolicy,ICLRDebugging
To: wine-patches <wine-patches at winehq.org>

---
 include/metahost.idl | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/include/metahost.idl b/include/metahost.idl
index 51cd784..df6225f 100644
--- a/include/metahost.idl
+++ b/include/metahost.idl
@@ -25,6 +25,30 @@ 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,
@@ -128,4 +152,55 @@ interface ICLRMetaHost : IUnknown
         [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);")
-- 
1.8.1.2



More information about the wine-patches mailing list