Alistair Leslie-Hughes : include: Add interfaces ICLRMetaHostPolicy, ICLRDebugging.

Alexandre Julliard julliard at winehq.org
Thu Oct 3 15:18:02 CDT 2013


Module: wine
Branch: master
Commit: fcb2c9690b6e6a235c70b3407ad9d968ef3b7e21
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fcb2c9690b6e6a235c70b3407ad9d968ef3b7e21

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Wed Oct  2 11:57:45 2013 +1000

include: Add interfaces ICLRMetaHostPolicy, ICLRDebugging.

---

 include/metahost.idl |   75 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/include/metahost.idl b/include/metahost.idl
index 51cd784..549d664 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);")




More information about the wine-cvs mailing list