blob: 04a4cf9407bbdcceddec10a24ade19236d3432d7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
import "unknwn.idl";
// Forward declarations
interface ICLRPrivAppXDomain;
interface ICLRPrivAppXRuntime;
/**************************************************************************************
** ICLRPrivAppXRuntime
**************************************************************************************/
[
uuid(6D2DF5A4-FA3A-4481-8BA0-0422FD21720F),
version(1.0),
local
]
interface ICLRPrivAppXRuntime : IUnknown
{
/**********************************************************************************
** Use to create and initialize the AppX domain. Should only be called once; all
** subsequent calls will fail. Thread safe.
**
** wzFriendlyName - the domain friendly name.
**********************************************************************************/
HRESULT InitializeAppXDomain(
[in] LPCWSTR wzFriendlyName);
/**********************************************************************************
** Use to retrieve the AppX domain. InitializeAppXDomain must have been
** successfully called previously. May be called multiple times. Thread safe.
**
** riidDomain - the IID of the interface to be returned in ppvDomain.
** ppIAppXDomain - receives the ICLRPrivAppXDomain interface.
**********************************************************************************/
HRESULT GetAppXDomain(
[in] REFIID riidDomain,
[out] LPVOID * ppvDomain);
}
/**************************************************************************************
** ICLRPrivAppXDomain
**************************************************************************************/
[
uuid(6633398E-823D-4361-B30E-824043BD4686),
version(1.0),
local
]
interface ICLRPrivAppXDomain : IUnknown
{
/**********************************************************************************
** Use to create a delegate to a static method.
**
** wzAssemblyName - the name of the assembly that contains the target type.
** wzTypeName - the name of the type that contains the target method.
** wzMethodName - the static method for which to create a delegate.
** ppvDelegate - receives the native-callable function pointer corresponding to
** the specified static method.
**********************************************************************************/
HRESULT CreateDelegate(
[in] LPCWSTR wzAssemblyName,
[in] LPCWSTR wzTypeName,
[in] LPCWSTR wzMethodName,
[out] LPVOID * ppvDelegate);
};
|