1
2
3/* this ALWAYS GENERATED file contains the definitions for the interfaces */
4
5
6 /* File created by MIDL compiler version 8.01.0622 */
7/* at Mon Jan 18 19:14:07 2038
8 */
9/* Compiler settings for C:/ssd/coreclr/src/inc/metahost.idl:
10 Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622
11 protocol : dce , ms_ext, c_ext, robust
12 error checks: allocation ref bounds_check enum stub_data
13 VC __declspec() decoration level:
14 __declspec(uuid()), __declspec(selectany), __declspec(novtable)
15 DECLSPEC_UUID(), MIDL_INTERFACE()
16*/
17/* @@MIDL_FILE_HEADING( ) */
18
19#pragma warning( disable: 4049 ) /* more than 64k source lines */
20
21
22/* verify that the <rpcndr.h> version is high enough to compile this file*/
23#ifndef __REQUIRED_RPCNDR_H_VERSION__
24#define __REQUIRED_RPCNDR_H_VERSION__ 475
25#endif
26
27#include "rpc.h"
28#include "rpcndr.h"
29
30#ifndef __RPCNDR_H_VERSION__
31#error this stub requires an updated version of <rpcndr.h>
32#endif /* __RPCNDR_H_VERSION__ */
33
34#ifndef COM_NO_WINDOWS_H
35#include "windows.h"
36#include "ole2.h"
37#endif /*COM_NO_WINDOWS_H*/
38
39#ifndef __metahost_h__
40#define __metahost_h__
41
42#if defined(_MSC_VER) && (_MSC_VER >= 1020)
43#pragma once
44#endif
45
46/* Forward Declarations */
47
48#ifndef __ICLRMetaHost_FWD_DEFINED__
49#define __ICLRMetaHost_FWD_DEFINED__
50typedef interface ICLRMetaHost ICLRMetaHost;
51
52#endif /* __ICLRMetaHost_FWD_DEFINED__ */
53
54
55#ifndef __ICLRMetaHostPolicy_FWD_DEFINED__
56#define __ICLRMetaHostPolicy_FWD_DEFINED__
57typedef interface ICLRMetaHostPolicy ICLRMetaHostPolicy;
58
59#endif /* __ICLRMetaHostPolicy_FWD_DEFINED__ */
60
61
62#ifndef __ICLRDebuggingLibraryProvider_FWD_DEFINED__
63#define __ICLRDebuggingLibraryProvider_FWD_DEFINED__
64typedef interface ICLRDebuggingLibraryProvider ICLRDebuggingLibraryProvider;
65
66#endif /* __ICLRDebuggingLibraryProvider_FWD_DEFINED__ */
67
68
69#ifndef __ICLRDebuggingLibraryProvider2_FWD_DEFINED__
70#define __ICLRDebuggingLibraryProvider2_FWD_DEFINED__
71typedef interface ICLRDebuggingLibraryProvider2 ICLRDebuggingLibraryProvider2;
72
73#endif /* __ICLRDebuggingLibraryProvider2_FWD_DEFINED__ */
74
75
76#ifndef __ICLRDebugging_FWD_DEFINED__
77#define __ICLRDebugging_FWD_DEFINED__
78typedef interface ICLRDebugging ICLRDebugging;
79
80#endif /* __ICLRDebugging_FWD_DEFINED__ */
81
82
83#ifndef __ICLRRuntimeInfo_FWD_DEFINED__
84#define __ICLRRuntimeInfo_FWD_DEFINED__
85typedef interface ICLRRuntimeInfo ICLRRuntimeInfo;
86
87#endif /* __ICLRRuntimeInfo_FWD_DEFINED__ */
88
89
90#ifndef __ICLRStrongName_FWD_DEFINED__
91#define __ICLRStrongName_FWD_DEFINED__
92typedef interface ICLRStrongName ICLRStrongName;
93
94#endif /* __ICLRStrongName_FWD_DEFINED__ */
95
96
97#ifndef __ICLRStrongName2_FWD_DEFINED__
98#define __ICLRStrongName2_FWD_DEFINED__
99typedef interface ICLRStrongName2 ICLRStrongName2;
100
101#endif /* __ICLRStrongName2_FWD_DEFINED__ */
102
103
104#ifndef __ICLRStrongName3_FWD_DEFINED__
105#define __ICLRStrongName3_FWD_DEFINED__
106typedef interface ICLRStrongName3 ICLRStrongName3;
107
108#endif /* __ICLRStrongName3_FWD_DEFINED__ */
109
110
111#ifndef __ICLRMetaHost_FWD_DEFINED__
112#define __ICLRMetaHost_FWD_DEFINED__
113typedef interface ICLRMetaHost ICLRMetaHost;
114
115#endif /* __ICLRMetaHost_FWD_DEFINED__ */
116
117
118#ifndef __ICLRMetaHostPolicy_FWD_DEFINED__
119#define __ICLRMetaHostPolicy_FWD_DEFINED__
120typedef interface ICLRMetaHostPolicy ICLRMetaHostPolicy;
121
122#endif /* __ICLRMetaHostPolicy_FWD_DEFINED__ */
123
124
125#ifndef __ICLRDebuggingLibraryProvider_FWD_DEFINED__
126#define __ICLRDebuggingLibraryProvider_FWD_DEFINED__
127typedef interface ICLRDebuggingLibraryProvider ICLRDebuggingLibraryProvider;
128
129#endif /* __ICLRDebuggingLibraryProvider_FWD_DEFINED__ */
130
131
132#ifndef __ICLRDebugging_FWD_DEFINED__
133#define __ICLRDebugging_FWD_DEFINED__
134typedef interface ICLRDebugging ICLRDebugging;
135
136#endif /* __ICLRDebugging_FWD_DEFINED__ */
137
138
139#ifndef __ICLRRuntimeInfo_FWD_DEFINED__
140#define __ICLRRuntimeInfo_FWD_DEFINED__
141typedef interface ICLRRuntimeInfo ICLRRuntimeInfo;
142
143#endif /* __ICLRRuntimeInfo_FWD_DEFINED__ */
144
145
146#ifndef __ICLRStrongName_FWD_DEFINED__
147#define __ICLRStrongName_FWD_DEFINED__
148typedef interface ICLRStrongName ICLRStrongName;
149
150#endif /* __ICLRStrongName_FWD_DEFINED__ */
151
152
153/* header files for imported files */
154#include "unknwn.h"
155#include "oaidl.h"
156#include "ocidl.h"
157#include "mscoree.h"
158
159#ifdef __cplusplus
160extern "C"{
161#endif
162
163
164/* interface __MIDL_itf_metahost_0000_0000 */
165/* [local] */
166
167#include <winapifamily.h>
168#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
169STDAPI CLRCreateInstance(REFCLSID clsid, REFIID riid, /*iid_is(riid)*/ LPVOID *ppInterface);
170EXTERN_GUID(CLSID_CLRStrongName, 0xB79B0ACD, 0xF5CD, 0x409b, 0xB5, 0xA5, 0xA1, 0x62, 0x44, 0x61, 0x0B, 0x92);
171EXTERN_GUID(IID_ICLRMetaHost, 0xD332DB9E, 0xB9B3, 0x4125, 0x82, 0x07, 0xA1, 0x48, 0x84, 0xF5, 0x32, 0x16);
172EXTERN_GUID(CLSID_CLRMetaHost, 0x9280188d, 0xe8e, 0x4867, 0xb3, 0xc, 0x7f, 0xa8, 0x38, 0x84, 0xe8, 0xde);
173EXTERN_GUID(IID_ICLRMetaHostPolicy, 0xE2190695, 0x77B2, 0x492e, 0x8E, 0x14, 0xC4, 0xB3, 0xA7, 0xFD, 0xD5, 0x93);
174EXTERN_GUID(CLSID_CLRMetaHostPolicy, 0x2ebcd49a, 0x1b47, 0x4a61, 0xb1, 0x3a, 0x4a, 0x3, 0x70, 0x1e, 0x59, 0x4b);
175EXTERN_GUID(IID_ICLRDebugging, 0xd28f3c5a, 0x9634, 0x4206, 0xa5, 0x9, 0x47, 0x75, 0x52, 0xee, 0xfb, 0x10);
176EXTERN_GUID(CLSID_CLRDebugging, 0xbacc578d, 0xfbdd, 0x48a4, 0x96, 0x9f, 0x2, 0xd9, 0x32, 0xb7, 0x46, 0x34);
177EXTERN_GUID(IID_ICLRRuntimeInfo, 0xBD39D1D2, 0xBA2F, 0x486a, 0x89, 0xB0, 0xB4, 0xB0, 0xCB, 0x46, 0x68, 0x91);
178EXTERN_GUID(IID_ICLRStrongName, 0x9FD93CCF, 0x3280, 0x4391, 0xB3, 0xA9, 0x96, 0xE1, 0xCD, 0xE7, 0x7C, 0x8D);
179EXTERN_GUID(IID_ICLRStrongName2, 0xC22ED5C5, 0x4B59, 0x4975, 0x90, 0xEB, 0x85, 0xEA, 0x55, 0xC0, 0x06, 0x9B);
180EXTERN_GUID(IID_ICLRStrongName3, 0x22c7089b, 0xbbd3, 0x414a, 0xb6, 0x98, 0x21, 0x0f, 0x26, 0x3f, 0x1f, 0xed);
181EXTERN_GUID(CLSID_CLRDebuggingLegacy, 0xDF8395B5, 0xA4BA, 0x450b, 0xA7, 0x7C, 0xA9, 0xA4, 0x77, 0x62, 0xC5, 0x20);
182EXTERN_GUID(CLSID_CLRProfiling, 0xbd097ed8, 0x733e, 0x43fe, 0x8e, 0xd7, 0xa9, 0x5f, 0xf9, 0xa8, 0x44, 0x8c);
183EXTERN_GUID(IID_ICLRDebuggingLibraryProvider, 0x3151c08d, 0x4d09, 0x4f9b, 0x88, 0x38, 0x28, 0x80, 0xbf, 0x18, 0xfe, 0x51);
184EXTERN_GUID(IID_ICLRDebuggingLibraryProvider2, 0xE04E2FF1, 0xDCFD, 0x45D5, 0xBC, 0xD1, 0x16, 0xFF, 0xF2, 0xFA, 0xF7, 0xBA);
185typedef HRESULT ( __stdcall *CLRCreateInstanceFnPtr )(
186 REFCLSID clsid,
187 REFIID riid,
188 LPVOID *ppInterface);
189
190typedef HRESULT ( __stdcall *CreateInterfaceFnPtr )(
191 REFCLSID clsid,
192 REFIID riid,
193 LPVOID *ppInterface);
194
195
196typedef HRESULT ( __stdcall *CallbackThreadSetFnPtr )( void);
197
198typedef HRESULT ( __stdcall *CallbackThreadUnsetFnPtr )( void);
199
200typedef void ( __stdcall *RuntimeLoadedCallbackFnPtr )(
201 ICLRRuntimeInfo *pRuntimeInfo,
202 CallbackThreadSetFnPtr pfnCallbackThreadSet,
203 CallbackThreadUnsetFnPtr pfnCallbackThreadUnset);
204
205
206
207extern RPC_IF_HANDLE __MIDL_itf_metahost_0000_0000_v0_0_c_ifspec;
208extern RPC_IF_HANDLE __MIDL_itf_metahost_0000_0000_v0_0_s_ifspec;
209
210#ifndef __ICLRMetaHost_INTERFACE_DEFINED__
211#define __ICLRMetaHost_INTERFACE_DEFINED__
212
213/* interface ICLRMetaHost */
214/* [object][local][helpstring][version][uuid] */
215
216
217EXTERN_C const IID IID_ICLRMetaHost;
218
219#if defined(__cplusplus) && !defined(CINTERFACE)
220
221 MIDL_INTERFACE("D332DB9E-B9B3-4125-8207-A14884F53216")
222 ICLRMetaHost : public IUnknown
223 {
224 public:
225 virtual HRESULT STDMETHODCALLTYPE GetRuntime(
226 /* [in] */ LPCWSTR pwzVersion,
227 /* [in] */ REFIID riid,
228 /* [retval][iid_is][out] */ LPVOID *ppRuntime) = 0;
229
230 virtual HRESULT STDMETHODCALLTYPE GetVersionFromFile(
231 /* [in] */ LPCWSTR pwzFilePath,
232 /* [annotation][size_is][out] */
233 _Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
234 /* [out][in] */ DWORD *pcchBuffer) = 0;
235
236 virtual HRESULT STDMETHODCALLTYPE EnumerateInstalledRuntimes(
237 /* [retval][out] */ IEnumUnknown **ppEnumerator) = 0;
238
239 virtual HRESULT STDMETHODCALLTYPE EnumerateLoadedRuntimes(
240 /* [in] */ HANDLE hndProcess,
241 /* [retval][out] */ IEnumUnknown **ppEnumerator) = 0;
242
243 virtual HRESULT STDMETHODCALLTYPE RequestRuntimeLoadedNotification(
244 /* [in] */ RuntimeLoadedCallbackFnPtr pCallbackFunction) = 0;
245
246 virtual HRESULT STDMETHODCALLTYPE QueryLegacyV2RuntimeBinding(
247 /* [in] */ REFIID riid,
248 /* [retval][iid_is][out] */ LPVOID *ppUnk) = 0;
249
250 virtual HRESULT STDMETHODCALLTYPE ExitProcess(
251 /* [in] */ INT32 iExitCode) = 0;
252
253 };
254
255
256#else /* C style interface */
257
258 typedef struct ICLRMetaHostVtbl
259 {
260 BEGIN_INTERFACE
261
262 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
263 ICLRMetaHost * This,
264 /* [in] */ REFIID riid,
265 /* [annotation][iid_is][out] */
266 _COM_Outptr_ void **ppvObject);
267
268 ULONG ( STDMETHODCALLTYPE *AddRef )(
269 ICLRMetaHost * This);
270
271 ULONG ( STDMETHODCALLTYPE *Release )(
272 ICLRMetaHost * This);
273
274 HRESULT ( STDMETHODCALLTYPE *GetRuntime )(
275 ICLRMetaHost * This,
276 /* [in] */ LPCWSTR pwzVersion,
277 /* [in] */ REFIID riid,
278 /* [retval][iid_is][out] */ LPVOID *ppRuntime);
279
280 HRESULT ( STDMETHODCALLTYPE *GetVersionFromFile )(
281 ICLRMetaHost * This,
282 /* [in] */ LPCWSTR pwzFilePath,
283 /* [annotation][size_is][out] */
284 _Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
285 /* [out][in] */ DWORD *pcchBuffer);
286
287 HRESULT ( STDMETHODCALLTYPE *EnumerateInstalledRuntimes )(
288 ICLRMetaHost * This,
289 /* [retval][out] */ IEnumUnknown **ppEnumerator);
290
291 HRESULT ( STDMETHODCALLTYPE *EnumerateLoadedRuntimes )(
292 ICLRMetaHost * This,
293 /* [in] */ HANDLE hndProcess,
294 /* [retval][out] */ IEnumUnknown **ppEnumerator);
295
296 HRESULT ( STDMETHODCALLTYPE *RequestRuntimeLoadedNotification )(
297 ICLRMetaHost * This,
298 /* [in] */ RuntimeLoadedCallbackFnPtr pCallbackFunction);
299
300 HRESULT ( STDMETHODCALLTYPE *QueryLegacyV2RuntimeBinding )(
301 ICLRMetaHost * This,
302 /* [in] */ REFIID riid,
303 /* [retval][iid_is][out] */ LPVOID *ppUnk);
304
305 HRESULT ( STDMETHODCALLTYPE *ExitProcess )(
306 ICLRMetaHost * This,
307 /* [in] */ INT32 iExitCode);
308
309 END_INTERFACE
310 } ICLRMetaHostVtbl;
311
312 interface ICLRMetaHost
313 {
314 CONST_VTBL struct ICLRMetaHostVtbl *lpVtbl;
315 };
316
317
318
319#ifdef COBJMACROS
320
321
322#define ICLRMetaHost_QueryInterface(This,riid,ppvObject) \
323 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
324
325#define ICLRMetaHost_AddRef(This) \
326 ( (This)->lpVtbl -> AddRef(This) )
327
328#define ICLRMetaHost_Release(This) \
329 ( (This)->lpVtbl -> Release(This) )
330
331
332#define ICLRMetaHost_GetRuntime(This,pwzVersion,riid,ppRuntime) \
333 ( (This)->lpVtbl -> GetRuntime(This,pwzVersion,riid,ppRuntime) )
334
335#define ICLRMetaHost_GetVersionFromFile(This,pwzFilePath,pwzBuffer,pcchBuffer) \
336 ( (This)->lpVtbl -> GetVersionFromFile(This,pwzFilePath,pwzBuffer,pcchBuffer) )
337
338#define ICLRMetaHost_EnumerateInstalledRuntimes(This,ppEnumerator) \
339 ( (This)->lpVtbl -> EnumerateInstalledRuntimes(This,ppEnumerator) )
340
341#define ICLRMetaHost_EnumerateLoadedRuntimes(This,hndProcess,ppEnumerator) \
342 ( (This)->lpVtbl -> EnumerateLoadedRuntimes(This,hndProcess,ppEnumerator) )
343
344#define ICLRMetaHost_RequestRuntimeLoadedNotification(This,pCallbackFunction) \
345 ( (This)->lpVtbl -> RequestRuntimeLoadedNotification(This,pCallbackFunction) )
346
347#define ICLRMetaHost_QueryLegacyV2RuntimeBinding(This,riid,ppUnk) \
348 ( (This)->lpVtbl -> QueryLegacyV2RuntimeBinding(This,riid,ppUnk) )
349
350#define ICLRMetaHost_ExitProcess(This,iExitCode) \
351 ( (This)->lpVtbl -> ExitProcess(This,iExitCode) )
352
353#endif /* COBJMACROS */
354
355
356#endif /* C style interface */
357
358
359
360
361#endif /* __ICLRMetaHost_INTERFACE_DEFINED__ */
362
363
364/* interface __MIDL_itf_metahost_0000_0001 */
365/* [local] */
366
367typedef /* [public][public] */
368enum __MIDL___MIDL_itf_metahost_0000_0001_0001
369 {
370 METAHOST_POLICY_HIGHCOMPAT = 0,
371 METAHOST_POLICY_APPLY_UPGRADE_POLICY = 0x8,
372 METAHOST_POLICY_EMULATE_EXE_LAUNCH = 0x10,
373 METAHOST_POLICY_SHOW_ERROR_DIALOG = 0x20,
374 METAHOST_POLICY_USE_PROCESS_IMAGE_PATH = 0x40,
375 METAHOST_POLICY_ENSURE_SKU_SUPPORTED = 0x80,
376 METAHOST_POLICY_IGNORE_ERROR_MODE = 0x1000
377 } METAHOST_POLICY_FLAGS;
378
379typedef /* [public] */
380enum __MIDL___MIDL_itf_metahost_0000_0001_0002
381 {
382 METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_UNSET = 0,
383 METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_TRUE = 0x1,
384 METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_FALSE = 0x2,
385 METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK = 0x3
386 } METAHOST_CONFIG_FLAGS;
387
388
389
390extern RPC_IF_HANDLE __MIDL_itf_metahost_0000_0001_v0_0_c_ifspec;
391extern RPC_IF_HANDLE __MIDL_itf_metahost_0000_0001_v0_0_s_ifspec;
392
393#ifndef __ICLRMetaHostPolicy_INTERFACE_DEFINED__
394#define __ICLRMetaHostPolicy_INTERFACE_DEFINED__
395
396/* interface ICLRMetaHostPolicy */
397/* [object][local][helpstring][version][uuid] */
398
399
400EXTERN_C const IID IID_ICLRMetaHostPolicy;
401
402#if defined(__cplusplus) && !defined(CINTERFACE)
403
404 MIDL_INTERFACE("E2190695-77B2-492e-8E14-C4B3A7FDD593")
405 ICLRMetaHostPolicy : public IUnknown
406 {
407 public:
408 virtual HRESULT STDMETHODCALLTYPE GetRequestedRuntime(
409 /* [in] */ METAHOST_POLICY_FLAGS dwPolicyFlags,
410 /* [in] */ LPCWSTR pwzBinary,
411 /* [in] */ IStream *pCfgStream,
412 /* [annotation][size_is][out][in] */
413 _Inout_updates_all_opt_(*pcchVersion) LPWSTR pwzVersion,
414 /* [out][in] */ DWORD *pcchVersion,
415 /* [annotation][size_is][out] */
416 _Out_writes_all_opt_(*pcchImageVersion) LPWSTR pwzImageVersion,
417 /* [out][in] */ DWORD *pcchImageVersion,
418 /* [out] */ DWORD *pdwConfigFlags,
419 /* [in] */ REFIID riid,
420 /* [retval][iid_is][out] */ LPVOID *ppRuntime) = 0;
421
422 };
423
424
425#else /* C style interface */
426
427 typedef struct ICLRMetaHostPolicyVtbl
428 {
429 BEGIN_INTERFACE
430
431 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
432 ICLRMetaHostPolicy * This,
433 /* [in] */ REFIID riid,
434 /* [annotation][iid_is][out] */
435 _COM_Outptr_ void **ppvObject);
436
437 ULONG ( STDMETHODCALLTYPE *AddRef )(
438 ICLRMetaHostPolicy * This);
439
440 ULONG ( STDMETHODCALLTYPE *Release )(
441 ICLRMetaHostPolicy * This);
442
443 HRESULT ( STDMETHODCALLTYPE *GetRequestedRuntime )(
444 ICLRMetaHostPolicy * This,
445 /* [in] */ METAHOST_POLICY_FLAGS dwPolicyFlags,
446 /* [in] */ LPCWSTR pwzBinary,
447 /* [in] */ IStream *pCfgStream,
448 /* [annotation][size_is][out][in] */
449 _Inout_updates_all_opt_(*pcchVersion) LPWSTR pwzVersion,
450 /* [out][in] */ DWORD *pcchVersion,
451 /* [annotation][size_is][out] */
452 _Out_writes_all_opt_(*pcchImageVersion) LPWSTR pwzImageVersion,
453 /* [out][in] */ DWORD *pcchImageVersion,
454 /* [out] */ DWORD *pdwConfigFlags,
455 /* [in] */ REFIID riid,
456 /* [retval][iid_is][out] */ LPVOID *ppRuntime);
457
458 END_INTERFACE
459 } ICLRMetaHostPolicyVtbl;
460
461 interface ICLRMetaHostPolicy
462 {
463 CONST_VTBL struct ICLRMetaHostPolicyVtbl *lpVtbl;
464 };
465
466
467
468#ifdef COBJMACROS
469
470
471#define ICLRMetaHostPolicy_QueryInterface(This,riid,ppvObject) \
472 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
473
474#define ICLRMetaHostPolicy_AddRef(This) \
475 ( (This)->lpVtbl -> AddRef(This) )
476
477#define ICLRMetaHostPolicy_Release(This) \
478 ( (This)->lpVtbl -> Release(This) )
479
480
481#define ICLRMetaHostPolicy_GetRequestedRuntime(This,dwPolicyFlags,pwzBinary,pCfgStream,pwzVersion,pcchVersion,pwzImageVersion,pcchImageVersion,pdwConfigFlags,riid,ppRuntime) \
482 ( (This)->lpVtbl -> GetRequestedRuntime(This,dwPolicyFlags,pwzBinary,pCfgStream,pwzVersion,pcchVersion,pwzImageVersion,pcchImageVersion,pdwConfigFlags,riid,ppRuntime) )
483
484#endif /* COBJMACROS */
485
486
487#endif /* C style interface */
488
489
490
491
492#endif /* __ICLRMetaHostPolicy_INTERFACE_DEFINED__ */
493
494
495/* interface __MIDL_itf_metahost_0000_0003 */
496/* [local] */
497
498typedef struct _CLR_DEBUGGING_VERSION
499 {
500 WORD wStructVersion;
501 WORD wMajor;
502 WORD wMinor;
503 WORD wBuild;
504 WORD wRevision;
505 } CLR_DEBUGGING_VERSION;
506
507typedef /* [public][public] */
508enum __MIDL___MIDL_itf_metahost_0000_0003_0001
509 {
510 CLR_DEBUGGING_MANAGED_EVENT_PENDING = 1,
511 CLR_DEBUGGING_MANAGED_EVENT_DEBUGGER_LAUNCH = 2
512 } CLR_DEBUGGING_PROCESS_FLAGS;
513
514
515
516extern RPC_IF_HANDLE __MIDL_itf_metahost_0000_0003_v0_0_c_ifspec;
517extern RPC_IF_HANDLE __MIDL_itf_metahost_0000_0003_v0_0_s_ifspec;
518
519#ifndef __ICLRDebuggingLibraryProvider_INTERFACE_DEFINED__
520#define __ICLRDebuggingLibraryProvider_INTERFACE_DEFINED__
521
522/* interface ICLRDebuggingLibraryProvider */
523/* [object][local][helpstring][version][uuid] */
524
525
526EXTERN_C const IID IID_ICLRDebuggingLibraryProvider;
527
528#if defined(__cplusplus) && !defined(CINTERFACE)
529
530 MIDL_INTERFACE("3151C08D-4D09-4f9b-8838-2880BF18FE51")
531 ICLRDebuggingLibraryProvider : public IUnknown
532 {
533 public:
534 virtual HRESULT STDMETHODCALLTYPE ProvideLibrary(
535 /* [in] */ const WCHAR *pwszFileName,
536 /* [in] */ DWORD dwTimestamp,
537 /* [in] */ DWORD dwSizeOfImage,
538 /* [out] */ HMODULE *phModule) = 0;
539
540 };
541
542
543#else /* C style interface */
544
545 typedef struct ICLRDebuggingLibraryProviderVtbl
546 {
547 BEGIN_INTERFACE
548
549 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
550 ICLRDebuggingLibraryProvider * This,
551 /* [in] */ REFIID riid,
552 /* [annotation][iid_is][out] */
553 _COM_Outptr_ void **ppvObject);
554
555 ULONG ( STDMETHODCALLTYPE *AddRef )(
556 ICLRDebuggingLibraryProvider * This);
557
558 ULONG ( STDMETHODCALLTYPE *Release )(
559 ICLRDebuggingLibraryProvider * This);
560
561 HRESULT ( STDMETHODCALLTYPE *ProvideLibrary )(
562 ICLRDebuggingLibraryProvider * This,
563 /* [in] */ const WCHAR *pwszFileName,
564 /* [in] */ DWORD dwTimestamp,
565 /* [in] */ DWORD dwSizeOfImage,
566 /* [out] */ HMODULE *phModule);
567
568 END_INTERFACE
569 } ICLRDebuggingLibraryProviderVtbl;
570
571 interface ICLRDebuggingLibraryProvider
572 {
573 CONST_VTBL struct ICLRDebuggingLibraryProviderVtbl *lpVtbl;
574 };
575
576
577
578#ifdef COBJMACROS
579
580
581#define ICLRDebuggingLibraryProvider_QueryInterface(This,riid,ppvObject) \
582 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
583
584#define ICLRDebuggingLibraryProvider_AddRef(This) \
585 ( (This)->lpVtbl -> AddRef(This) )
586
587#define ICLRDebuggingLibraryProvider_Release(This) \
588 ( (This)->lpVtbl -> Release(This) )
589
590
591#define ICLRDebuggingLibraryProvider_ProvideLibrary(This,pwszFileName,dwTimestamp,dwSizeOfImage,phModule) \
592 ( (This)->lpVtbl -> ProvideLibrary(This,pwszFileName,dwTimestamp,dwSizeOfImage,phModule) )
593
594#endif /* COBJMACROS */
595
596
597#endif /* C style interface */
598
599
600
601
602#endif /* __ICLRDebuggingLibraryProvider_INTERFACE_DEFINED__ */
603
604
605#ifndef __ICLRDebuggingLibraryProvider2_INTERFACE_DEFINED__
606#define __ICLRDebuggingLibraryProvider2_INTERFACE_DEFINED__
607
608/* interface ICLRDebuggingLibraryProvider2 */
609/* [object][local][helpstring][version][uuid] */
610
611
612EXTERN_C const IID IID_ICLRDebuggingLibraryProvider2;
613
614#if defined(__cplusplus) && !defined(CINTERFACE)
615
616 MIDL_INTERFACE("E04E2FF1-DCFD-45D5-BCD1-16FFF2FAF7BA")
617 ICLRDebuggingLibraryProvider2 : public IUnknown
618 {
619 public:
620 virtual HRESULT STDMETHODCALLTYPE ProvideLibrary2(
621 /* [in] */ const WCHAR *pwszFileName,
622 /* [in] */ DWORD dwTimestamp,
623 /* [in] */ DWORD dwSizeOfImage,
624 /* [out] */ LPWSTR *ppResolvedModulePath) = 0;
625
626 };
627
628
629#else /* C style interface */
630
631 typedef struct ICLRDebuggingLibraryProvider2Vtbl
632 {
633 BEGIN_INTERFACE
634
635 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
636 ICLRDebuggingLibraryProvider2 * This,
637 /* [in] */ REFIID riid,
638 /* [annotation][iid_is][out] */
639 _COM_Outptr_ void **ppvObject);
640
641 ULONG ( STDMETHODCALLTYPE *AddRef )(
642 ICLRDebuggingLibraryProvider2 * This);
643
644 ULONG ( STDMETHODCALLTYPE *Release )(
645 ICLRDebuggingLibraryProvider2 * This);
646
647 HRESULT ( STDMETHODCALLTYPE *ProvideLibrary2 )(
648 ICLRDebuggingLibraryProvider2 * This,
649 /* [in] */ const WCHAR *pwszFileName,
650 /* [in] */ DWORD dwTimestamp,
651 /* [in] */ DWORD dwSizeOfImage,
652 /* [out] */ LPWSTR *ppResolvedModulePath);
653
654 END_INTERFACE
655 } ICLRDebuggingLibraryProvider2Vtbl;
656
657 interface ICLRDebuggingLibraryProvider2
658 {
659 CONST_VTBL struct ICLRDebuggingLibraryProvider2Vtbl *lpVtbl;
660 };
661
662
663
664#ifdef COBJMACROS
665
666
667#define ICLRDebuggingLibraryProvider2_QueryInterface(This,riid,ppvObject) \
668 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
669
670#define ICLRDebuggingLibraryProvider2_AddRef(This) \
671 ( (This)->lpVtbl -> AddRef(This) )
672
673#define ICLRDebuggingLibraryProvider2_Release(This) \
674 ( (This)->lpVtbl -> Release(This) )
675
676
677#define ICLRDebuggingLibraryProvider2_ProvideLibrary2(This,pwszFileName,dwTimestamp,dwSizeOfImage,ppResolvedModulePath) \
678 ( (This)->lpVtbl -> ProvideLibrary2(This,pwszFileName,dwTimestamp,dwSizeOfImage,ppResolvedModulePath) )
679
680#endif /* COBJMACROS */
681
682
683#endif /* C style interface */
684
685
686
687
688#endif /* __ICLRDebuggingLibraryProvider2_INTERFACE_DEFINED__ */
689
690
691#ifndef __ICLRDebugging_INTERFACE_DEFINED__
692#define __ICLRDebugging_INTERFACE_DEFINED__
693
694/* interface ICLRDebugging */
695/* [object][local][helpstring][version][uuid] */
696
697
698EXTERN_C const IID IID_ICLRDebugging;
699
700#if defined(__cplusplus) && !defined(CINTERFACE)
701
702 MIDL_INTERFACE("D28F3C5A-9634-4206-A509-477552EEFB10")
703 ICLRDebugging : public IUnknown
704 {
705 public:
706 virtual HRESULT STDMETHODCALLTYPE OpenVirtualProcess(
707 /* [in] */ ULONG64 moduleBaseAddress,
708 /* [in] */ IUnknown *pDataTarget,
709 /* [in] */ ICLRDebuggingLibraryProvider *pLibraryProvider,
710 /* [in] */ CLR_DEBUGGING_VERSION *pMaxDebuggerSupportedVersion,
711 /* [in] */ REFIID riidProcess,
712 /* [iid_is][out] */ IUnknown **ppProcess,
713 /* [out][in] */ CLR_DEBUGGING_VERSION *pVersion,
714 /* [out] */ CLR_DEBUGGING_PROCESS_FLAGS *pdwFlags) = 0;
715
716 virtual HRESULT STDMETHODCALLTYPE CanUnloadNow(
717 HMODULE hModule) = 0;
718
719 };
720
721
722#else /* C style interface */
723
724 typedef struct ICLRDebuggingVtbl
725 {
726 BEGIN_INTERFACE
727
728 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
729 ICLRDebugging * This,
730 /* [in] */ REFIID riid,
731 /* [annotation][iid_is][out] */
732 _COM_Outptr_ void **ppvObject);
733
734 ULONG ( STDMETHODCALLTYPE *AddRef )(
735 ICLRDebugging * This);
736
737 ULONG ( STDMETHODCALLTYPE *Release )(
738 ICLRDebugging * This);
739
740 HRESULT ( STDMETHODCALLTYPE *OpenVirtualProcess )(
741 ICLRDebugging * This,
742 /* [in] */ ULONG64 moduleBaseAddress,
743 /* [in] */ IUnknown *pDataTarget,
744 /* [in] */ ICLRDebuggingLibraryProvider *pLibraryProvider,
745 /* [in] */ CLR_DEBUGGING_VERSION *pMaxDebuggerSupportedVersion,
746 /* [in] */ REFIID riidProcess,
747 /* [iid_is][out] */ IUnknown **ppProcess,
748 /* [out][in] */ CLR_DEBUGGING_VERSION *pVersion,
749 /* [out] */ CLR_DEBUGGING_PROCESS_FLAGS *pdwFlags);
750
751 HRESULT ( STDMETHODCALLTYPE *CanUnloadNow )(
752 ICLRDebugging * This,
753 HMODULE hModule);
754
755 END_INTERFACE
756 } ICLRDebuggingVtbl;
757
758 interface ICLRDebugging
759 {
760 CONST_VTBL struct ICLRDebuggingVtbl *lpVtbl;
761 };
762
763
764
765#ifdef COBJMACROS
766
767
768#define ICLRDebugging_QueryInterface(This,riid,ppvObject) \
769 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
770
771#define ICLRDebugging_AddRef(This) \
772 ( (This)->lpVtbl -> AddRef(This) )
773
774#define ICLRDebugging_Release(This) \
775 ( (This)->lpVtbl -> Release(This) )
776
777
778#define ICLRDebugging_OpenVirtualProcess(This,moduleBaseAddress,pDataTarget,pLibraryProvider,pMaxDebuggerSupportedVersion,riidProcess,ppProcess,pVersion,pdwFlags) \
779 ( (This)->lpVtbl -> OpenVirtualProcess(This,moduleBaseAddress,pDataTarget,pLibraryProvider,pMaxDebuggerSupportedVersion,riidProcess,ppProcess,pVersion,pdwFlags) )
780
781#define ICLRDebugging_CanUnloadNow(This,hModule) \
782 ( (This)->lpVtbl -> CanUnloadNow(This,hModule) )
783
784#endif /* COBJMACROS */
785
786
787#endif /* C style interface */
788
789
790
791
792#endif /* __ICLRDebugging_INTERFACE_DEFINED__ */
793
794
795#ifndef __ICLRRuntimeInfo_INTERFACE_DEFINED__
796#define __ICLRRuntimeInfo_INTERFACE_DEFINED__
797
798/* interface ICLRRuntimeInfo */
799/* [object][local][helpstring][version][uuid] */
800
801
802EXTERN_C const IID IID_ICLRRuntimeInfo;
803
804#if defined(__cplusplus) && !defined(CINTERFACE)
805
806 MIDL_INTERFACE("BD39D1D2-BA2F-486a-89B0-B4B0CB466891")
807 ICLRRuntimeInfo : public IUnknown
808 {
809 public:
810 virtual HRESULT STDMETHODCALLTYPE GetVersionString(
811 /* [annotation][size_is][out] */
812 _Out_writes_all_opt_(*pcchBuffer) LPWSTR pwzBuffer,
813 /* [out][in] */ DWORD *pcchBuffer) = 0;
814
815 virtual HRESULT STDMETHODCALLTYPE GetRuntimeDirectory(
816 /* [annotation][size_is][out] */
817 _Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
818 /* [out][in] */ DWORD *pcchBuffer) = 0;
819
820 virtual HRESULT STDMETHODCALLTYPE IsLoaded(
821 /* [in] */ HANDLE hndProcess,
822 /* [retval][out] */ BOOL *pbLoaded) = 0;
823
824 virtual HRESULT STDMETHODCALLTYPE LoadErrorString(
825 /* [in] */ UINT iResourceID,
826 /* [annotation][size_is][out] */
827 _Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
828 /* [out][in] */ DWORD *pcchBuffer,
829 /* [lcid][in] */ LONG iLocaleID) = 0;
830
831 virtual HRESULT STDMETHODCALLTYPE LoadLibrary(
832 /* [in] */ LPCWSTR pwzDllName,
833 /* [retval][out] */ HMODULE *phndModule) = 0;
834
835 virtual HRESULT STDMETHODCALLTYPE GetProcAddress(
836 /* [in] */ LPCSTR pszProcName,
837 /* [retval][out] */ LPVOID *ppProc) = 0;
838
839 virtual HRESULT STDMETHODCALLTYPE GetInterface(
840 /* [in] */ REFCLSID rclsid,
841 /* [in] */ REFIID riid,
842 /* [retval][iid_is][out] */ LPVOID *ppUnk) = 0;
843
844 virtual HRESULT STDMETHODCALLTYPE IsLoadable(
845 /* [retval][out] */ BOOL *pbLoadable) = 0;
846
847 virtual HRESULT STDMETHODCALLTYPE SetDefaultStartupFlags(
848 /* [in] */ DWORD dwStartupFlags,
849 /* [in] */ LPCWSTR pwzHostConfigFile) = 0;
850
851 virtual HRESULT STDMETHODCALLTYPE GetDefaultStartupFlags(
852 /* [out] */ DWORD *pdwStartupFlags,
853 /* [annotation][size_is][out] */
854 _Out_writes_all_opt_(*pcchHostConfigFile) LPWSTR pwzHostConfigFile,
855 /* [out][in] */ DWORD *pcchHostConfigFile) = 0;
856
857 virtual HRESULT STDMETHODCALLTYPE BindAsLegacyV2Runtime( void) = 0;
858
859 virtual HRESULT STDMETHODCALLTYPE IsStarted(
860 /* [out] */ BOOL *pbStarted,
861 /* [out] */ DWORD *pdwStartupFlags) = 0;
862
863 };
864
865
866#else /* C style interface */
867
868 typedef struct ICLRRuntimeInfoVtbl
869 {
870 BEGIN_INTERFACE
871
872 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
873 ICLRRuntimeInfo * This,
874 /* [in] */ REFIID riid,
875 /* [annotation][iid_is][out] */
876 _COM_Outptr_ void **ppvObject);
877
878 ULONG ( STDMETHODCALLTYPE *AddRef )(
879 ICLRRuntimeInfo * This);
880
881 ULONG ( STDMETHODCALLTYPE *Release )(
882 ICLRRuntimeInfo * This);
883
884 HRESULT ( STDMETHODCALLTYPE *GetVersionString )(
885 ICLRRuntimeInfo * This,
886 /* [annotation][size_is][out] */
887 _Out_writes_all_opt_(*pcchBuffer) LPWSTR pwzBuffer,
888 /* [out][in] */ DWORD *pcchBuffer);
889
890 HRESULT ( STDMETHODCALLTYPE *GetRuntimeDirectory )(
891 ICLRRuntimeInfo * This,
892 /* [annotation][size_is][out] */
893 _Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
894 /* [out][in] */ DWORD *pcchBuffer);
895
896 HRESULT ( STDMETHODCALLTYPE *IsLoaded )(
897 ICLRRuntimeInfo * This,
898 /* [in] */ HANDLE hndProcess,
899 /* [retval][out] */ BOOL *pbLoaded);
900
901 HRESULT ( STDMETHODCALLTYPE *LoadErrorString )(
902 ICLRRuntimeInfo * This,
903 /* [in] */ UINT iResourceID,
904 /* [annotation][size_is][out] */
905 _Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
906 /* [out][in] */ DWORD *pcchBuffer,
907 /* [lcid][in] */ LONG iLocaleID);
908
909 HRESULT ( STDMETHODCALLTYPE *LoadLibrary )(
910 ICLRRuntimeInfo * This,
911 /* [in] */ LPCWSTR pwzDllName,
912 /* [retval][out] */ HMODULE *phndModule);
913
914 HRESULT ( STDMETHODCALLTYPE *GetProcAddress )(
915 ICLRRuntimeInfo * This,
916 /* [in] */ LPCSTR pszProcName,
917 /* [retval][out] */ LPVOID *ppProc);
918
919 HRESULT ( STDMETHODCALLTYPE *GetInterface )(
920 ICLRRuntimeInfo * This,
921 /* [in] */ REFCLSID rclsid,
922 /* [in] */ REFIID riid,
923 /* [retval][iid_is][out] */ LPVOID *ppUnk);
924
925 HRESULT ( STDMETHODCALLTYPE *IsLoadable )(
926 ICLRRuntimeInfo * This,
927 /* [retval][out] */ BOOL *pbLoadable);
928
929 HRESULT ( STDMETHODCALLTYPE *SetDefaultStartupFlags )(
930 ICLRRuntimeInfo * This,
931 /* [in] */ DWORD dwStartupFlags,
932 /* [in] */ LPCWSTR pwzHostConfigFile);
933
934 HRESULT ( STDMETHODCALLTYPE *GetDefaultStartupFlags )(
935 ICLRRuntimeInfo * This,
936 /* [out] */ DWORD *pdwStartupFlags,
937 /* [annotation][size_is][out] */
938 _Out_writes_all_opt_(*pcchHostConfigFile) LPWSTR pwzHostConfigFile,
939 /* [out][in] */ DWORD *pcchHostConfigFile);
940
941 HRESULT ( STDMETHODCALLTYPE *BindAsLegacyV2Runtime )(
942 ICLRRuntimeInfo * This);
943
944 HRESULT ( STDMETHODCALLTYPE *IsStarted )(
945 ICLRRuntimeInfo * This,
946 /* [out] */ BOOL *pbStarted,
947 /* [out] */ DWORD *pdwStartupFlags);
948
949 END_INTERFACE
950 } ICLRRuntimeInfoVtbl;
951
952 interface ICLRRuntimeInfo
953 {
954 CONST_VTBL struct ICLRRuntimeInfoVtbl *lpVtbl;
955 };
956
957
958
959#ifdef COBJMACROS
960
961
962#define ICLRRuntimeInfo_QueryInterface(This,riid,ppvObject) \
963 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
964
965#define ICLRRuntimeInfo_AddRef(This) \
966 ( (This)->lpVtbl -> AddRef(This) )
967
968#define ICLRRuntimeInfo_Release(This) \
969 ( (This)->lpVtbl -> Release(This) )
970
971
972#define ICLRRuntimeInfo_GetVersionString(This,pwzBuffer,pcchBuffer) \
973 ( (This)->lpVtbl -> GetVersionString(This,pwzBuffer,pcchBuffer) )
974
975#define ICLRRuntimeInfo_GetRuntimeDirectory(This,pwzBuffer,pcchBuffer) \
976 ( (This)->lpVtbl -> GetRuntimeDirectory(This,pwzBuffer,pcchBuffer) )
977
978#define ICLRRuntimeInfo_IsLoaded(This,hndProcess,pbLoaded) \
979 ( (This)->lpVtbl -> IsLoaded(This,hndProcess,pbLoaded) )
980
981#define ICLRRuntimeInfo_LoadErrorString(This,iResourceID,pwzBuffer,pcchBuffer,iLocaleID) \
982 ( (This)->lpVtbl -> LoadErrorString(This,iResourceID,pwzBuffer,pcchBuffer,iLocaleID) )
983
984#define ICLRRuntimeInfo_LoadLibrary(This,pwzDllName,phndModule) \
985 ( (This)->lpVtbl -> LoadLibrary(This,pwzDllName,phndModule) )
986
987#define ICLRRuntimeInfo_GetProcAddress(This,pszProcName,ppProc) \
988 ( (This)->lpVtbl -> GetProcAddress(This,pszProcName,ppProc) )
989
990#define ICLRRuntimeInfo_GetInterface(This,rclsid,riid,ppUnk) \
991 ( (This)->lpVtbl -> GetInterface(This,rclsid,riid,ppUnk) )
992
993#define ICLRRuntimeInfo_IsLoadable(This,pbLoadable) \
994 ( (This)->lpVtbl -> IsLoadable(This,pbLoadable) )
995
996#define ICLRRuntimeInfo_SetDefaultStartupFlags(This,dwStartupFlags,pwzHostConfigFile) \
997 ( (This)->lpVtbl -> SetDefaultStartupFlags(This,dwStartupFlags,pwzHostConfigFile) )
998
999#define ICLRRuntimeInfo_GetDefaultStartupFlags(This,pdwStartupFlags,pwzHostConfigFile,pcchHostConfigFile) \
1000 ( (This)->lpVtbl -> GetDefaultStartupFlags(This,pdwStartupFlags,pwzHostConfigFile,pcchHostConfigFile) )
1001
1002#define ICLRRuntimeInfo_BindAsLegacyV2Runtime(This) \
1003 ( (This)->lpVtbl -> BindAsLegacyV2Runtime(This) )
1004
1005#define ICLRRuntimeInfo_IsStarted(This,pbStarted,pdwStartupFlags) \
1006 ( (This)->lpVtbl -> IsStarted(This,pbStarted,pdwStartupFlags) )
1007
1008#endif /* COBJMACROS */
1009
1010
1011#endif /* C style interface */
1012
1013
1014
1015
1016#endif /* __ICLRRuntimeInfo_INTERFACE_DEFINED__ */
1017
1018
1019#ifndef __ICLRStrongName_INTERFACE_DEFINED__
1020#define __ICLRStrongName_INTERFACE_DEFINED__
1021
1022/* interface ICLRStrongName */
1023/* [object][local][helpstring][version][uuid] */
1024
1025
1026EXTERN_C const IID IID_ICLRStrongName;
1027
1028#if defined(__cplusplus) && !defined(CINTERFACE)
1029
1030 MIDL_INTERFACE("9FD93CCF-3280-4391-B3A9-96E1CDE77C8D")
1031 ICLRStrongName : public IUnknown
1032 {
1033 public:
1034 virtual HRESULT STDMETHODCALLTYPE GetHashFromAssemblyFile(
1035 /* [in] */ LPCSTR pszFilePath,
1036 /* [out][in] */ unsigned int *piHashAlg,
1037 /* [length_is][size_is][out] */ BYTE *pbHash,
1038 /* [in] */ DWORD cchHash,
1039 /* [out] */ DWORD *pchHash) = 0;
1040
1041 virtual HRESULT STDMETHODCALLTYPE GetHashFromAssemblyFileW(
1042 /* [in] */ LPCWSTR pwzFilePath,
1043 /* [out][in] */ unsigned int *piHashAlg,
1044 /* [length_is][size_is][out] */ BYTE *pbHash,
1045 /* [in] */ DWORD cchHash,
1046 /* [out] */ DWORD *pchHash) = 0;
1047
1048 virtual HRESULT STDMETHODCALLTYPE GetHashFromBlob(
1049 /* [in] */ BYTE *pbBlob,
1050 /* [in] */ DWORD cchBlob,
1051 /* [out][in] */ unsigned int *piHashAlg,
1052 /* [length_is][size_is][out] */ BYTE *pbHash,
1053 /* [in] */ DWORD cchHash,
1054 /* [out] */ DWORD *pchHash) = 0;
1055
1056 virtual HRESULT STDMETHODCALLTYPE GetHashFromFile(
1057 /* [in] */ LPCSTR pszFilePath,
1058 /* [out][in] */ unsigned int *piHashAlg,
1059 /* [length_is][size_is][out] */ BYTE *pbHash,
1060 /* [in] */ DWORD cchHash,
1061 /* [out] */ DWORD *pchHash) = 0;
1062
1063 virtual HRESULT STDMETHODCALLTYPE GetHashFromFileW(
1064 /* [in] */ LPCWSTR pwzFilePath,
1065 /* [out][in] */ unsigned int *piHashAlg,
1066 /* [length_is][size_is][out] */ BYTE *pbHash,
1067 /* [in] */ DWORD cchHash,
1068 /* [out] */ DWORD *pchHash) = 0;
1069
1070 virtual HRESULT STDMETHODCALLTYPE GetHashFromHandle(
1071 /* [in] */ HANDLE hFile,
1072 /* [out][in] */ unsigned int *piHashAlg,
1073 /* [length_is][size_is][out] */ BYTE *pbHash,
1074 /* [in] */ DWORD cchHash,
1075 /* [out] */ DWORD *pchHash) = 0;
1076
1077 virtual HRESULT STDMETHODCALLTYPE StrongNameCompareAssemblies(
1078 /* [in] */ LPCWSTR pwzAssembly1,
1079 /* [in] */ LPCWSTR pwzAssembly2,
1080 /* [retval][out] */ DWORD *pdwResult) = 0;
1081
1082 virtual HRESULT STDMETHODCALLTYPE StrongNameFreeBuffer(
1083 /* [in] */ BYTE *pbMemory) = 0;
1084
1085 virtual HRESULT STDMETHODCALLTYPE StrongNameGetBlob(
1086 /* [in] */ LPCWSTR pwzFilePath,
1087 /* [length_is][size_is][out][in] */ BYTE *pbBlob,
1088 /* [out][in] */ DWORD *pcbBlob) = 0;
1089
1090 virtual HRESULT STDMETHODCALLTYPE StrongNameGetBlobFromImage(
1091 /* [size_is][in] */ BYTE *pbBase,
1092 /* [in] */ DWORD dwLength,
1093 /* [length_is][size_is][out] */ BYTE *pbBlob,
1094 /* [out][in] */ DWORD *pcbBlob) = 0;
1095
1096 virtual HRESULT STDMETHODCALLTYPE StrongNameGetPublicKey(
1097 /* [in] */ LPCWSTR pwzKeyContainer,
1098 /* [in] */ BYTE *pbKeyBlob,
1099 /* [in] */ ULONG cbKeyBlob,
1100 /* [out] */ BYTE **ppbPublicKeyBlob,
1101 /* [out] */ ULONG *pcbPublicKeyBlob) = 0;
1102
1103 virtual HRESULT STDMETHODCALLTYPE StrongNameHashSize(
1104 /* [in] */ ULONG ulHashAlg,
1105 /* [retval][out] */ DWORD *pcbSize) = 0;
1106
1107 virtual HRESULT STDMETHODCALLTYPE StrongNameKeyDelete(
1108 /* [in] */ LPCWSTR pwzKeyContainer) = 0;
1109
1110 virtual HRESULT STDMETHODCALLTYPE StrongNameKeyGen(
1111 /* [in] */ LPCWSTR pwzKeyContainer,
1112 /* [in] */ DWORD dwFlags,
1113 /* [out] */ BYTE **ppbKeyBlob,
1114 /* [out] */ ULONG *pcbKeyBlob) = 0;
1115
1116 virtual HRESULT STDMETHODCALLTYPE StrongNameKeyGenEx(
1117 /* [in] */ LPCWSTR pwzKeyContainer,
1118 /* [in] */ DWORD dwFlags,
1119 /* [in] */ DWORD dwKeySize,
1120 /* [out] */ BYTE **ppbKeyBlob,
1121 /* [out] */ ULONG *pcbKeyBlob) = 0;
1122
1123 virtual HRESULT STDMETHODCALLTYPE StrongNameKeyInstall(
1124 /* [in] */ LPCWSTR pwzKeyContainer,
1125 /* [in] */ BYTE *pbKeyBlob,
1126 /* [in] */ ULONG cbKeyBlob) = 0;
1127
1128 virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureGeneration(
1129 /* [in] */ LPCWSTR pwzFilePath,
1130 /* [in] */ LPCWSTR pwzKeyContainer,
1131 /* [in] */ BYTE *pbKeyBlob,
1132 /* [in] */ ULONG cbKeyBlob,
1133 /* [out] */ BYTE **ppbSignatureBlob,
1134 /* [out] */ ULONG *pcbSignatureBlob) = 0;
1135
1136 virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureGenerationEx(
1137 /* [in] */ LPCWSTR wszFilePath,
1138 /* [in] */ LPCWSTR wszKeyContainer,
1139 /* [in] */ BYTE *pbKeyBlob,
1140 /* [in] */ ULONG cbKeyBlob,
1141 /* [out] */ BYTE **ppbSignatureBlob,
1142 /* [out] */ ULONG *pcbSignatureBlob,
1143 /* [in] */ DWORD dwFlags) = 0;
1144
1145 virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureSize(
1146 /* [in] */ BYTE *pbPublicKeyBlob,
1147 /* [in] */ ULONG cbPublicKeyBlob,
1148 /* [in] */ DWORD *pcbSize) = 0;
1149
1150 virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureVerification(
1151 /* [in] */ LPCWSTR pwzFilePath,
1152 /* [in] */ DWORD dwInFlags,
1153 /* [retval][out] */ DWORD *pdwOutFlags) = 0;
1154
1155 virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureVerificationEx(
1156 /* [in] */ LPCWSTR pwzFilePath,
1157 /* [in] */ BOOLEAN fForceVerification,
1158 /* [retval][out] */ BOOLEAN *pfWasVerified) = 0;
1159
1160 virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureVerificationFromImage(
1161 /* [in] */ BYTE *pbBase,
1162 /* [in] */ DWORD dwLength,
1163 /* [in] */ DWORD dwInFlags,
1164 /* [retval][out] */ DWORD *pdwOutFlags) = 0;
1165
1166 virtual HRESULT STDMETHODCALLTYPE StrongNameTokenFromAssembly(
1167 /* [in] */ LPCWSTR pwzFilePath,
1168 /* [out] */ BYTE **ppbStrongNameToken,
1169 /* [out] */ ULONG *pcbStrongNameToken) = 0;
1170
1171 virtual HRESULT STDMETHODCALLTYPE StrongNameTokenFromAssemblyEx(
1172 /* [in] */ LPCWSTR pwzFilePath,
1173 /* [out] */ BYTE **ppbStrongNameToken,
1174 /* [out] */ ULONG *pcbStrongNameToken,
1175 /* [out] */ BYTE **ppbPublicKeyBlob,
1176 /* [out] */ ULONG *pcbPublicKeyBlob) = 0;
1177
1178 virtual HRESULT STDMETHODCALLTYPE StrongNameTokenFromPublicKey(
1179 /* [in] */ BYTE *pbPublicKeyBlob,
1180 /* [in] */ ULONG cbPublicKeyBlob,
1181 /* [out] */ BYTE **ppbStrongNameToken,
1182 /* [out] */ ULONG *pcbStrongNameToken) = 0;
1183
1184 };
1185
1186
1187#else /* C style interface */
1188
1189 typedef struct ICLRStrongNameVtbl
1190 {
1191 BEGIN_INTERFACE
1192
1193 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1194 ICLRStrongName * This,
1195 /* [in] */ REFIID riid,
1196 /* [annotation][iid_is][out] */
1197 _COM_Outptr_ void **ppvObject);
1198
1199 ULONG ( STDMETHODCALLTYPE *AddRef )(
1200 ICLRStrongName * This);
1201
1202 ULONG ( STDMETHODCALLTYPE *Release )(
1203 ICLRStrongName * This);
1204
1205 HRESULT ( STDMETHODCALLTYPE *GetHashFromAssemblyFile )(
1206 ICLRStrongName * This,
1207 /* [in] */ LPCSTR pszFilePath,
1208 /* [out][in] */ unsigned int *piHashAlg,
1209 /* [length_is][size_is][out] */ BYTE *pbHash,
1210 /* [in] */ DWORD cchHash,
1211 /* [out] */ DWORD *pchHash);
1212
1213 HRESULT ( STDMETHODCALLTYPE *GetHashFromAssemblyFileW )(
1214 ICLRStrongName * This,
1215 /* [in] */ LPCWSTR pwzFilePath,
1216 /* [out][in] */ unsigned int *piHashAlg,
1217 /* [length_is][size_is][out] */ BYTE *pbHash,
1218 /* [in] */ DWORD cchHash,
1219 /* [out] */ DWORD *pchHash);
1220
1221 HRESULT ( STDMETHODCALLTYPE *GetHashFromBlob )(
1222 ICLRStrongName * This,
1223 /* [in] */ BYTE *pbBlob,
1224 /* [in] */ DWORD cchBlob,
1225 /* [out][in] */ unsigned int *piHashAlg,
1226 /* [length_is][size_is][out] */ BYTE *pbHash,
1227 /* [in] */ DWORD cchHash,
1228 /* [out] */ DWORD *pchHash);
1229
1230 HRESULT ( STDMETHODCALLTYPE *GetHashFromFile )(
1231 ICLRStrongName * This,
1232 /* [in] */ LPCSTR pszFilePath,
1233 /* [out][in] */ unsigned int *piHashAlg,
1234 /* [length_is][size_is][out] */ BYTE *pbHash,
1235 /* [in] */ DWORD cchHash,
1236 /* [out] */ DWORD *pchHash);
1237
1238 HRESULT ( STDMETHODCALLTYPE *GetHashFromFileW )(
1239 ICLRStrongName * This,
1240 /* [in] */ LPCWSTR pwzFilePath,
1241 /* [out][in] */ unsigned int *piHashAlg,
1242 /* [length_is][size_is][out] */ BYTE *pbHash,
1243 /* [in] */ DWORD cchHash,
1244 /* [out] */ DWORD *pchHash);
1245
1246 HRESULT ( STDMETHODCALLTYPE *GetHashFromHandle )(
1247 ICLRStrongName * This,
1248 /* [in] */ HANDLE hFile,
1249 /* [out][in] */ unsigned int *piHashAlg,
1250 /* [length_is][size_is][out] */ BYTE *pbHash,
1251 /* [in] */ DWORD cchHash,
1252 /* [out] */ DWORD *pchHash);
1253
1254 HRESULT ( STDMETHODCALLTYPE *StrongNameCompareAssemblies )(
1255 ICLRStrongName * This,
1256 /* [in] */ LPCWSTR pwzAssembly1,
1257 /* [in] */ LPCWSTR pwzAssembly2,
1258 /* [retval][out] */ DWORD *pdwResult);
1259
1260 HRESULT ( STDMETHODCALLTYPE *StrongNameFreeBuffer )(
1261 ICLRStrongName * This,
1262 /* [in] */ BYTE *pbMemory);
1263
1264 HRESULT ( STDMETHODCALLTYPE *StrongNameGetBlob )(
1265 ICLRStrongName * This,
1266 /* [in] */ LPCWSTR pwzFilePath,
1267 /* [length_is][size_is][out][in] */ BYTE *pbBlob,
1268 /* [out][in] */ DWORD *pcbBlob);
1269
1270 HRESULT ( STDMETHODCALLTYPE *StrongNameGetBlobFromImage )(
1271 ICLRStrongName * This,
1272 /* [size_is][in] */ BYTE *pbBase,
1273 /* [in] */ DWORD dwLength,
1274 /* [length_is][size_is][out] */ BYTE *pbBlob,
1275 /* [out][in] */ DWORD *pcbBlob);
1276
1277 HRESULT ( STDMETHODCALLTYPE *StrongNameGetPublicKey )(
1278 ICLRStrongName * This,
1279 /* [in] */ LPCWSTR pwzKeyContainer,
1280 /* [in] */ BYTE *pbKeyBlob,
1281 /* [in] */ ULONG cbKeyBlob,
1282 /* [out] */ BYTE **ppbPublicKeyBlob,
1283 /* [out] */ ULONG *pcbPublicKeyBlob);
1284
1285 HRESULT ( STDMETHODCALLTYPE *StrongNameHashSize )(
1286 ICLRStrongName * This,
1287 /* [in] */ ULONG ulHashAlg,
1288 /* [retval][out] */ DWORD *pcbSize);
1289
1290 HRESULT ( STDMETHODCALLTYPE *StrongNameKeyDelete )(
1291 ICLRStrongName * This,
1292 /* [in] */ LPCWSTR pwzKeyContainer);
1293
1294 HRESULT ( STDMETHODCALLTYPE *StrongNameKeyGen )(
1295 ICLRStrongName * This,
1296 /* [in] */ LPCWSTR pwzKeyContainer,
1297 /* [in] */ DWORD dwFlags,
1298 /* [out] */ BYTE **ppbKeyBlob,
1299 /* [out] */ ULONG *pcbKeyBlob);
1300
1301 HRESULT ( STDMETHODCALLTYPE *StrongNameKeyGenEx )(
1302 ICLRStrongName * This,
1303 /* [in] */ LPCWSTR pwzKeyContainer,
1304 /* [in] */ DWORD dwFlags,
1305 /* [in] */ DWORD dwKeySize,
1306 /* [out] */ BYTE **ppbKeyBlob,
1307 /* [out] */ ULONG *pcbKeyBlob);
1308
1309 HRESULT ( STDMETHODCALLTYPE *StrongNameKeyInstall )(
1310 ICLRStrongName * This,
1311 /* [in] */ LPCWSTR pwzKeyContainer,
1312 /* [in] */ BYTE *pbKeyBlob,
1313 /* [in] */ ULONG cbKeyBlob);
1314
1315 HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureGeneration )(
1316 ICLRStrongName * This,
1317 /* [in] */ LPCWSTR pwzFilePath,
1318 /* [in] */ LPCWSTR pwzKeyContainer,
1319 /* [in] */ BYTE *pbKeyBlob,
1320 /* [in] */ ULONG cbKeyBlob,
1321 /* [out] */ BYTE **ppbSignatureBlob,
1322 /* [out] */ ULONG *pcbSignatureBlob);
1323
1324 HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureGenerationEx )(
1325 ICLRStrongName * This,
1326 /* [in] */ LPCWSTR wszFilePath,
1327 /* [in] */ LPCWSTR wszKeyContainer,
1328 /* [in] */ BYTE *pbKeyBlob,
1329 /* [in] */ ULONG cbKeyBlob,
1330 /* [out] */ BYTE **ppbSignatureBlob,
1331 /* [out] */ ULONG *pcbSignatureBlob,
1332 /* [in] */ DWORD dwFlags);
1333
1334 HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureSize )(
1335 ICLRStrongName * This,
1336 /* [in] */ BYTE *pbPublicKeyBlob,
1337 /* [in] */ ULONG cbPublicKeyBlob,
1338 /* [in] */ DWORD *pcbSize);
1339
1340 HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureVerification )(
1341 ICLRStrongName * This,
1342 /* [in] */ LPCWSTR pwzFilePath,
1343 /* [in] */ DWORD dwInFlags,
1344 /* [retval][out] */ DWORD *pdwOutFlags);
1345
1346 HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureVerificationEx )(
1347 ICLRStrongName * This,
1348 /* [in] */ LPCWSTR pwzFilePath,
1349 /* [in] */ BOOLEAN fForceVerification,
1350 /* [retval][out] */ BOOLEAN *pfWasVerified);
1351
1352 HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureVerificationFromImage )(
1353 ICLRStrongName * This,
1354 /* [in] */ BYTE *pbBase,
1355 /* [in] */ DWORD dwLength,
1356 /* [in] */ DWORD dwInFlags,
1357 /* [retval][out] */ DWORD *pdwOutFlags);
1358
1359 HRESULT ( STDMETHODCALLTYPE *StrongNameTokenFromAssembly )(
1360 ICLRStrongName * This,
1361 /* [in] */ LPCWSTR pwzFilePath,
1362 /* [out] */ BYTE **ppbStrongNameToken,
1363 /* [out] */ ULONG *pcbStrongNameToken);
1364
1365 HRESULT ( STDMETHODCALLTYPE *StrongNameTokenFromAssemblyEx )(
1366 ICLRStrongName * This,
1367 /* [in] */ LPCWSTR pwzFilePath,
1368 /* [out] */ BYTE **ppbStrongNameToken,
1369 /* [out] */ ULONG *pcbStrongNameToken,
1370 /* [out] */ BYTE **ppbPublicKeyBlob,
1371 /* [out] */ ULONG *pcbPublicKeyBlob);
1372
1373 HRESULT ( STDMETHODCALLTYPE *StrongNameTokenFromPublicKey )(
1374 ICLRStrongName * This,
1375 /* [in] */ BYTE *pbPublicKeyBlob,
1376 /* [in] */ ULONG cbPublicKeyBlob,
1377 /* [out] */ BYTE **ppbStrongNameToken,
1378 /* [out] */ ULONG *pcbStrongNameToken);
1379
1380 END_INTERFACE
1381 } ICLRStrongNameVtbl;
1382
1383 interface ICLRStrongName
1384 {
1385 CONST_VTBL struct ICLRStrongNameVtbl *lpVtbl;
1386 };
1387
1388
1389
1390#ifdef COBJMACROS
1391
1392
1393#define ICLRStrongName_QueryInterface(This,riid,ppvObject) \
1394 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1395
1396#define ICLRStrongName_AddRef(This) \
1397 ( (This)->lpVtbl -> AddRef(This) )
1398
1399#define ICLRStrongName_Release(This) \
1400 ( (This)->lpVtbl -> Release(This) )
1401
1402
1403#define ICLRStrongName_GetHashFromAssemblyFile(This,pszFilePath,piHashAlg,pbHash,cchHash,pchHash) \
1404 ( (This)->lpVtbl -> GetHashFromAssemblyFile(This,pszFilePath,piHashAlg,pbHash,cchHash,pchHash) )
1405
1406#define ICLRStrongName_GetHashFromAssemblyFileW(This,pwzFilePath,piHashAlg,pbHash,cchHash,pchHash) \
1407 ( (This)->lpVtbl -> GetHashFromAssemblyFileW(This,pwzFilePath,piHashAlg,pbHash,cchHash,pchHash) )
1408
1409#define ICLRStrongName_GetHashFromBlob(This,pbBlob,cchBlob,piHashAlg,pbHash,cchHash,pchHash) \
1410 ( (This)->lpVtbl -> GetHashFromBlob(This,pbBlob,cchBlob,piHashAlg,pbHash,cchHash,pchHash) )
1411
1412#define ICLRStrongName_GetHashFromFile(This,pszFilePath,piHashAlg,pbHash,cchHash,pchHash) \
1413 ( (This)->lpVtbl -> GetHashFromFile(This,pszFilePath,piHashAlg,pbHash,cchHash,pchHash) )
1414
1415#define ICLRStrongName_GetHashFromFileW(This,pwzFilePath,piHashAlg,pbHash,cchHash,pchHash) \
1416 ( (This)->lpVtbl -> GetHashFromFileW(This,pwzFilePath,piHashAlg,pbHash,cchHash,pchHash) )
1417
1418#define ICLRStrongName_GetHashFromHandle(This,hFile,piHashAlg,pbHash,cchHash,pchHash) \
1419 ( (This)->lpVtbl -> GetHashFromHandle(This,hFile,piHashAlg,pbHash,cchHash,pchHash) )
1420
1421#define ICLRStrongName_StrongNameCompareAssemblies(This,pwzAssembly1,pwzAssembly2,pdwResult) \
1422 ( (This)->lpVtbl -> StrongNameCompareAssemblies(This,pwzAssembly1,pwzAssembly2,pdwResult) )
1423
1424#define ICLRStrongName_StrongNameFreeBuffer(This,pbMemory) \
1425 ( (This)->lpVtbl -> StrongNameFreeBuffer(This,pbMemory) )
1426
1427#define ICLRStrongName_StrongNameGetBlob(This,pwzFilePath,pbBlob,pcbBlob) \
1428 ( (This)->lpVtbl -> StrongNameGetBlob(This,pwzFilePath,pbBlob,pcbBlob) )
1429
1430#define ICLRStrongName_StrongNameGetBlobFromImage(This,pbBase,dwLength,pbBlob,pcbBlob) \
1431 ( (This)->lpVtbl -> StrongNameGetBlobFromImage(This,pbBase,dwLength,pbBlob,pcbBlob) )
1432
1433#define ICLRStrongName_StrongNameGetPublicKey(This,pwzKeyContainer,pbKeyBlob,cbKeyBlob,ppbPublicKeyBlob,pcbPublicKeyBlob) \
1434 ( (This)->lpVtbl -> StrongNameGetPublicKey(This,pwzKeyContainer,pbKeyBlob,cbKeyBlob,ppbPublicKeyBlob,pcbPublicKeyBlob) )
1435
1436#define ICLRStrongName_StrongNameHashSize(This,ulHashAlg,pcbSize) \
1437 ( (This)->lpVtbl -> StrongNameHashSize(This,ulHashAlg,pcbSize) )
1438
1439#define ICLRStrongName_StrongNameKeyDelete(This,pwzKeyContainer) \
1440 ( (This)->lpVtbl -> StrongNameKeyDelete(This,pwzKeyContainer) )
1441
1442#define ICLRStrongName_StrongNameKeyGen(This,pwzKeyContainer,dwFlags,ppbKeyBlob,pcbKeyBlob) \
1443 ( (This)->lpVtbl -> StrongNameKeyGen(This,pwzKeyContainer,dwFlags,ppbKeyBlob,pcbKeyBlob) )
1444
1445#define ICLRStrongName_StrongNameKeyGenEx(This,pwzKeyContainer,dwFlags,dwKeySize,ppbKeyBlob,pcbKeyBlob) \
1446 ( (This)->lpVtbl -> StrongNameKeyGenEx(This,pwzKeyContainer,dwFlags,dwKeySize,ppbKeyBlob,pcbKeyBlob) )
1447
1448#define ICLRStrongName_StrongNameKeyInstall(This,pwzKeyContainer,pbKeyBlob,cbKeyBlob) \
1449 ( (This)->lpVtbl -> StrongNameKeyInstall(This,pwzKeyContainer,pbKeyBlob,cbKeyBlob) )
1450
1451#define ICLRStrongName_StrongNameSignatureGeneration(This,pwzFilePath,pwzKeyContainer,pbKeyBlob,cbKeyBlob,ppbSignatureBlob,pcbSignatureBlob) \
1452 ( (This)->lpVtbl -> StrongNameSignatureGeneration(This,pwzFilePath,pwzKeyContainer,pbKeyBlob,cbKeyBlob,ppbSignatureBlob,pcbSignatureBlob) )
1453
1454#define ICLRStrongName_StrongNameSignatureGenerationEx(This,wszFilePath,wszKeyContainer,pbKeyBlob,cbKeyBlob,ppbSignatureBlob,pcbSignatureBlob,dwFlags) \
1455 ( (This)->lpVtbl -> StrongNameSignatureGenerationEx(This,wszFilePath,wszKeyContainer,pbKeyBlob,cbKeyBlob,ppbSignatureBlob,pcbSignatureBlob,dwFlags) )
1456
1457#define ICLRStrongName_StrongNameSignatureSize(This,pbPublicKeyBlob,cbPublicKeyBlob,pcbSize) \
1458 ( (This)->lpVtbl -> StrongNameSignatureSize(This,pbPublicKeyBlob,cbPublicKeyBlob,pcbSize) )
1459
1460#define ICLRStrongName_StrongNameSignatureVerification(This,pwzFilePath,dwInFlags,pdwOutFlags) \
1461 ( (This)->lpVtbl -> StrongNameSignatureVerification(This,pwzFilePath,dwInFlags,pdwOutFlags) )
1462
1463#define ICLRStrongName_StrongNameSignatureVerificationEx(This,pwzFilePath,fForceVerification,pfWasVerified) \
1464 ( (This)->lpVtbl -> StrongNameSignatureVerificationEx(This,pwzFilePath,fForceVerification,pfWasVerified) )
1465
1466#define ICLRStrongName_StrongNameSignatureVerificationFromImage(This,pbBase,dwLength,dwInFlags,pdwOutFlags) \
1467 ( (This)->lpVtbl -> StrongNameSignatureVerificationFromImage(This,pbBase,dwLength,dwInFlags,pdwOutFlags) )
1468
1469#define ICLRStrongName_StrongNameTokenFromAssembly(This,pwzFilePath,ppbStrongNameToken,pcbStrongNameToken) \
1470 ( (This)->lpVtbl -> StrongNameTokenFromAssembly(This,pwzFilePath,ppbStrongNameToken,pcbStrongNameToken) )
1471
1472#define ICLRStrongName_StrongNameTokenFromAssemblyEx(This,pwzFilePath,ppbStrongNameToken,pcbStrongNameToken,ppbPublicKeyBlob,pcbPublicKeyBlob) \
1473 ( (This)->lpVtbl -> StrongNameTokenFromAssemblyEx(This,pwzFilePath,ppbStrongNameToken,pcbStrongNameToken,ppbPublicKeyBlob,pcbPublicKeyBlob) )
1474
1475#define ICLRStrongName_StrongNameTokenFromPublicKey(This,pbPublicKeyBlob,cbPublicKeyBlob,ppbStrongNameToken,pcbStrongNameToken) \
1476 ( (This)->lpVtbl -> StrongNameTokenFromPublicKey(This,pbPublicKeyBlob,cbPublicKeyBlob,ppbStrongNameToken,pcbStrongNameToken) )
1477
1478#endif /* COBJMACROS */
1479
1480
1481#endif /* C style interface */
1482
1483
1484
1485
1486#endif /* __ICLRStrongName_INTERFACE_DEFINED__ */
1487
1488
1489#ifndef __ICLRStrongName2_INTERFACE_DEFINED__
1490#define __ICLRStrongName2_INTERFACE_DEFINED__
1491
1492/* interface ICLRStrongName2 */
1493/* [object][local][helpstring][version][uuid] */
1494
1495
1496EXTERN_C const IID IID_ICLRStrongName2;
1497
1498#if defined(__cplusplus) && !defined(CINTERFACE)
1499
1500 MIDL_INTERFACE("C22ED5C5-4B59-4975-90EB-85EA55C0069B")
1501 ICLRStrongName2 : public IUnknown
1502 {
1503 public:
1504 virtual HRESULT STDMETHODCALLTYPE StrongNameGetPublicKeyEx(
1505 /* [in] */ LPCWSTR pwzKeyContainer,
1506 /* [in] */ BYTE *pbKeyBlob,
1507 /* [in] */ ULONG cbKeyBlob,
1508 /* [out] */ BYTE **ppbPublicKeyBlob,
1509 /* [out] */ ULONG *pcbPublicKeyBlob,
1510 /* [in] */ ULONG uHashAlgId,
1511 /* [in] */ ULONG uReserved) = 0;
1512
1513 virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureVerificationEx2(
1514 /* [in] */ LPCWSTR wszFilePath,
1515 /* [in] */ BOOLEAN fForceVerification,
1516 /* [in] */ BYTE *pbEcmaPublicKey,
1517 /* [in] */ DWORD cbEcmaPublicKey,
1518 /* [out] */ BOOLEAN *pfWasVerified) = 0;
1519
1520 };
1521
1522
1523#else /* C style interface */
1524
1525 typedef struct ICLRStrongName2Vtbl
1526 {
1527 BEGIN_INTERFACE
1528
1529 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1530 ICLRStrongName2 * This,
1531 /* [in] */ REFIID riid,
1532 /* [annotation][iid_is][out] */
1533 _COM_Outptr_ void **ppvObject);
1534
1535 ULONG ( STDMETHODCALLTYPE *AddRef )(
1536 ICLRStrongName2 * This);
1537
1538 ULONG ( STDMETHODCALLTYPE *Release )(
1539 ICLRStrongName2 * This);
1540
1541 HRESULT ( STDMETHODCALLTYPE *StrongNameGetPublicKeyEx )(
1542 ICLRStrongName2 * This,
1543 /* [in] */ LPCWSTR pwzKeyContainer,
1544 /* [in] */ BYTE *pbKeyBlob,
1545 /* [in] */ ULONG cbKeyBlob,
1546 /* [out] */ BYTE **ppbPublicKeyBlob,
1547 /* [out] */ ULONG *pcbPublicKeyBlob,
1548 /* [in] */ ULONG uHashAlgId,
1549 /* [in] */ ULONG uReserved);
1550
1551 HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureVerificationEx2 )(
1552 ICLRStrongName2 * This,
1553 /* [in] */ LPCWSTR wszFilePath,
1554 /* [in] */ BOOLEAN fForceVerification,
1555 /* [in] */ BYTE *pbEcmaPublicKey,
1556 /* [in] */ DWORD cbEcmaPublicKey,
1557 /* [out] */ BOOLEAN *pfWasVerified);
1558
1559 END_INTERFACE
1560 } ICLRStrongName2Vtbl;
1561
1562 interface ICLRStrongName2
1563 {
1564 CONST_VTBL struct ICLRStrongName2Vtbl *lpVtbl;
1565 };
1566
1567
1568
1569#ifdef COBJMACROS
1570
1571
1572#define ICLRStrongName2_QueryInterface(This,riid,ppvObject) \
1573 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1574
1575#define ICLRStrongName2_AddRef(This) \
1576 ( (This)->lpVtbl -> AddRef(This) )
1577
1578#define ICLRStrongName2_Release(This) \
1579 ( (This)->lpVtbl -> Release(This) )
1580
1581
1582#define ICLRStrongName2_StrongNameGetPublicKeyEx(This,pwzKeyContainer,pbKeyBlob,cbKeyBlob,ppbPublicKeyBlob,pcbPublicKeyBlob,uHashAlgId,uReserved) \
1583 ( (This)->lpVtbl -> StrongNameGetPublicKeyEx(This,pwzKeyContainer,pbKeyBlob,cbKeyBlob,ppbPublicKeyBlob,pcbPublicKeyBlob,uHashAlgId,uReserved) )
1584
1585#define ICLRStrongName2_StrongNameSignatureVerificationEx2(This,wszFilePath,fForceVerification,pbEcmaPublicKey,cbEcmaPublicKey,pfWasVerified) \
1586 ( (This)->lpVtbl -> StrongNameSignatureVerificationEx2(This,wszFilePath,fForceVerification,pbEcmaPublicKey,cbEcmaPublicKey,pfWasVerified) )
1587
1588#endif /* COBJMACROS */
1589
1590
1591#endif /* C style interface */
1592
1593
1594
1595
1596#endif /* __ICLRStrongName2_INTERFACE_DEFINED__ */
1597
1598
1599#ifndef __ICLRStrongName3_INTERFACE_DEFINED__
1600#define __ICLRStrongName3_INTERFACE_DEFINED__
1601
1602/* interface ICLRStrongName3 */
1603/* [object][local][helpstring][version][uuid] */
1604
1605
1606EXTERN_C const IID IID_ICLRStrongName3;
1607
1608#if defined(__cplusplus) && !defined(CINTERFACE)
1609
1610 MIDL_INTERFACE("22c7089b-bbd3-414a-b698-210f263f1fed")
1611 ICLRStrongName3 : public IUnknown
1612 {
1613 public:
1614 virtual HRESULT STDMETHODCALLTYPE StrongNameDigestGenerate(
1615 /* [in] */ LPCWSTR wszFilePath,
1616 /* [out] */ BYTE **ppbDigestBlob,
1617 /* [out] */ ULONG *pcbDigestBlob,
1618 /* [in] */ DWORD dwFlags) = 0;
1619
1620 virtual HRESULT STDMETHODCALLTYPE StrongNameDigestSign(
1621 /* [in] */ LPCWSTR wszKeyContainer,
1622 /* [size_is][in] */ BYTE *pbKeyBlob,
1623 /* [in] */ ULONG cbKeyBlob,
1624 /* [size_is][in] */ BYTE *pbDigestBlob,
1625 /* [in] */ ULONG cbDigestBlob,
1626 /* [in] */ DWORD hashAlgId,
1627 /* [out] */ BYTE **ppbSignatureBlob,
1628 /* [out] */ ULONG *pcbSignatureBlob,
1629 /* [in] */ DWORD dwFlags) = 0;
1630
1631 virtual HRESULT STDMETHODCALLTYPE StrongNameDigestEmbed(
1632 /* [in] */ LPCWSTR wszFilePath,
1633 /* [size_is][in] */ BYTE *pbSignatureBlob,
1634 /* [in] */ ULONG cbSignatureBlob) = 0;
1635
1636 };
1637
1638
1639#else /* C style interface */
1640
1641 typedef struct ICLRStrongName3Vtbl
1642 {
1643 BEGIN_INTERFACE
1644
1645 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1646 ICLRStrongName3 * This,
1647 /* [in] */ REFIID riid,
1648 /* [annotation][iid_is][out] */
1649 _COM_Outptr_ void **ppvObject);
1650
1651 ULONG ( STDMETHODCALLTYPE *AddRef )(
1652 ICLRStrongName3 * This);
1653
1654 ULONG ( STDMETHODCALLTYPE *Release )(
1655 ICLRStrongName3 * This);
1656
1657 HRESULT ( STDMETHODCALLTYPE *StrongNameDigestGenerate )(
1658 ICLRStrongName3 * This,
1659 /* [in] */ LPCWSTR wszFilePath,
1660 /* [out] */ BYTE **ppbDigestBlob,
1661 /* [out] */ ULONG *pcbDigestBlob,
1662 /* [in] */ DWORD dwFlags);
1663
1664 HRESULT ( STDMETHODCALLTYPE *StrongNameDigestSign )(
1665 ICLRStrongName3 * This,
1666 /* [in] */ LPCWSTR wszKeyContainer,
1667 /* [size_is][in] */ BYTE *pbKeyBlob,
1668 /* [in] */ ULONG cbKeyBlob,
1669 /* [size_is][in] */ BYTE *pbDigestBlob,
1670 /* [in] */ ULONG cbDigestBlob,
1671 /* [in] */ DWORD hashAlgId,
1672 /* [out] */ BYTE **ppbSignatureBlob,
1673 /* [out] */ ULONG *pcbSignatureBlob,
1674 /* [in] */ DWORD dwFlags);
1675
1676 HRESULT ( STDMETHODCALLTYPE *StrongNameDigestEmbed )(
1677 ICLRStrongName3 * This,
1678 /* [in] */ LPCWSTR wszFilePath,
1679 /* [size_is][in] */ BYTE *pbSignatureBlob,
1680 /* [in] */ ULONG cbSignatureBlob);
1681
1682 END_INTERFACE
1683 } ICLRStrongName3Vtbl;
1684
1685 interface ICLRStrongName3
1686 {
1687 CONST_VTBL struct ICLRStrongName3Vtbl *lpVtbl;
1688 };
1689
1690
1691
1692#ifdef COBJMACROS
1693
1694
1695#define ICLRStrongName3_QueryInterface(This,riid,ppvObject) \
1696 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1697
1698#define ICLRStrongName3_AddRef(This) \
1699 ( (This)->lpVtbl -> AddRef(This) )
1700
1701#define ICLRStrongName3_Release(This) \
1702 ( (This)->lpVtbl -> Release(This) )
1703
1704
1705#define ICLRStrongName3_StrongNameDigestGenerate(This,wszFilePath,ppbDigestBlob,pcbDigestBlob,dwFlags) \
1706 ( (This)->lpVtbl -> StrongNameDigestGenerate(This,wszFilePath,ppbDigestBlob,pcbDigestBlob,dwFlags) )
1707
1708#define ICLRStrongName3_StrongNameDigestSign(This,wszKeyContainer,pbKeyBlob,cbKeyBlob,pbDigestBlob,cbDigestBlob,hashAlgId,ppbSignatureBlob,pcbSignatureBlob,dwFlags) \
1709 ( (This)->lpVtbl -> StrongNameDigestSign(This,wszKeyContainer,pbKeyBlob,cbKeyBlob,pbDigestBlob,cbDigestBlob,hashAlgId,ppbSignatureBlob,pcbSignatureBlob,dwFlags) )
1710
1711#define ICLRStrongName3_StrongNameDigestEmbed(This,wszFilePath,pbSignatureBlob,cbSignatureBlob) \
1712 ( (This)->lpVtbl -> StrongNameDigestEmbed(This,wszFilePath,pbSignatureBlob,cbSignatureBlob) )
1713
1714#endif /* COBJMACROS */
1715
1716
1717#endif /* C style interface */
1718
1719
1720
1721
1722#endif /* __ICLRStrongName3_INTERFACE_DEFINED__ */
1723
1724
1725
1726#ifndef __CLRMetaHost_LIBRARY_DEFINED__
1727#define __CLRMetaHost_LIBRARY_DEFINED__
1728
1729/* library CLRMetaHost */
1730/* [version][uuid] */
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740EXTERN_C const IID LIBID_CLRMetaHost;
1741#endif /* __CLRMetaHost_LIBRARY_DEFINED__ */
1742
1743/* interface __MIDL_itf_metahost_0000_0011 */
1744/* [local] */
1745
1746#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
1747
1748
1749extern RPC_IF_HANDLE __MIDL_itf_metahost_0000_0011_v0_0_c_ifspec;
1750extern RPC_IF_HANDLE __MIDL_itf_metahost_0000_0011_v0_0_s_ifspec;
1751
1752/* Additional Prototypes for ALL interfaces */
1753
1754/* end of Additional Prototypes */
1755
1756#ifdef __cplusplus
1757}
1758#endif
1759
1760#endif
1761
1762
1763