22 _In_ PCLR_PROCESS_SUPPORT Support
26 _In_ PCLR_PROCESS_SUPPORT Support,
28 _Out_opt_ PULONG64 Displacement
41 _In_ ICLRDataTarget *Target,
57 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
63 ULONG (STDMETHODCALLTYPE *AddRef)(
67 ULONG (STDMETHODCALLTYPE *Release)(
71 HRESULT (STDMETHODCALLTYPE *Flush)(
75 HRESULT (STDMETHODCALLTYPE *StartEnumTasks)(
80 HRESULT (STDMETHODCALLTYPE *EnumTask)(
86 HRESULT (STDMETHODCALLTYPE *EndEnumTasks)(
91 HRESULT (STDMETHODCALLTYPE *GetTaskByOSThreadID)(
105 HRESULT (STDMETHODCALLTYPE *GetRuntimeNameByAddress)(
123 #define IXCLRDataProcess_QueryInterface(This, riid, ppvObject) \
124 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
126 #define IXCLRDataProcess_AddRef(This) \
127 ((This)->lpVtbl->AddRef(This))
129 #define IXCLRDataProcess_Release(This) \
130 ((This)->lpVtbl->Release(This))
132 #define IXCLRDataProcess_GetRuntimeNameByAddress(This, address, flags, bufLen, nameLen, nameBuf, displacement) \
133 ((This)->lpVtbl->GetRuntimeNameByAddress(This, address, flags, bufLen, nameLen, nameBuf, displacement))
135 #define IXCLRDataProcess_Flush(This) \
136 ((This)->lpVtbl->Flush(This))
138 #define IXCLRDataProcess_StartEnumTasks(This, handle) \
139 ((This)->lpVtbl->StartEnumTasks(This, handle))
141 #define IXCLRDataProcess_EnumTask(This, handle, task) \
142 ((This)->lpVtbl->EnumTask(This, handle, task))
144 #define IXCLRDataProcess_EndEnumTasks(This, handle) \
145 ((This)->lpVtbl->EndEnumTasks(This, handle))
147 #define IXCLRDataProcess_GetTaskByOSThreadID(This, osThreadID, task) \
148 ((This)->lpVtbl->GetTaskByOSThreadID(This, osThreadID, task))
152 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
158 ULONG (STDMETHODCALLTYPE *AddRef)(
162 ULONG (STDMETHODCALLTYPE *Release)(
166 HRESULT (STDMETHODCALLTYPE *GetProcess)(
171 HRESULT (STDMETHODCALLTYPE *GetName)(
178 HRESULT (STDMETHODCALLTYPE *GetUniqueID)(
191 #define IXCLRDataAppDomain_QueryInterface(This, riid, ppvObject) \
192 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
194 #define IXCLRDataAppDomain_AddRef(This) \
195 ((This)->lpVtbl->AddRef(This))
197 #define IXCLRDataAppDomain_Release(This) \
198 ((This)->lpVtbl->Release(This))
200 #define IXCLRDataAppDomain_GetProcess(This, process) \
201 ((This)->lpVtbl->GetProcess(This, process))
203 #define IXCLRDataAppDomain_GetName(This, bufLen, nameLen, name) \
204 ((This)->lpVtbl->GetName(This, bufLen, nameLen, name))
206 #define IXCLRDataAppDomain_GetUniqueID(This, id) \
207 ((This)->lpVtbl->GetUniqueID(This, id))
211 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
217 ULONG (STDMETHODCALLTYPE *AddRef)(
221 ULONG (STDMETHODCALLTYPE *Release)(
225 HRESULT (STDMETHODCALLTYPE *GetProcess)(
230 HRESULT (STDMETHODCALLTYPE *GetCurrentAppDomain)(
235 HRESULT (STDMETHODCALLTYPE *GetUniqueID)(
240 HRESULT (STDMETHODCALLTYPE *GetFlags)(
250 HRESULT (STDMETHODCALLTYPE *CreateStackWalk)(
256 HRESULT (STDMETHODCALLTYPE *GetOSThreadID)(
266 HRESULT (STDMETHODCALLTYPE *GetName)(
281 #define IXCLRDataTask_QueryInterface(This, riid, ppvObject) \
282 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
284 #define IXCLRDataTask_AddRef(This) \
285 ((This)->lpVtbl->AddRef(This))
287 #define IXCLRDataTask_Release(This) \
288 ((This)->lpVtbl->Release(This))
290 #define IXCLRDataTask_GetProcess(This, process) \
291 ((This)->lpVtbl->GetProcess(This, process))
293 #define IXCLRDataTask_GetCurrentAppDomain(This, appDomain) \
294 ((This)->lpVtbl->GetCurrentAppDomain(This, appDomain))
296 #define IXCLRDataTask_GetUniqueID(This, id) \
297 ((This)->lpVtbl->GetUniqueID(This, id))
299 #define IXCLRDataTask_GetFlags(This, flags) \
300 ((This)->lpVtbl->GetFlags(This, flags))
302 #define IXCLRDataTask_CreateStackWalk(This, flags, stackWalk) \
303 ((This)->lpVtbl->CreateStackWalk(This, flags, stackWalk))
305 #define IXCLRDataTask_GetOSThreadID(This, id) \
306 ((This)->lpVtbl->GetOSThreadID(This, id))
308 #define IXCLRDataTask_GetName(This, bufLen, nameLen, name) \
309 ((This)->lpVtbl->GetName(This, bufLen, nameLen, name))
347 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
353 ULONG (STDMETHODCALLTYPE *AddRef)(
357 ULONG (STDMETHODCALLTYPE *Release)(
361 HRESULT (STDMETHODCALLTYPE *GetContext)(
371 HRESULT (STDMETHODCALLTYPE *Next)(
375 HRESULT (STDMETHODCALLTYPE *GetStackSizeSkipped)(
380 HRESULT (STDMETHODCALLTYPE *GetFrameType)(
386 HRESULT (STDMETHODCALLTYPE *GetFrame)(
391 HRESULT (STDMETHODCALLTYPE *Request)(
400 HRESULT (STDMETHODCALLTYPE *SetContext2)(
413 #define IXCLRDataStackWalk_QueryInterface(This, riid, ppvObject) \
414 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
416 #define IXCLRDataStackWalk_AddRef(This) \
417 ((This)->lpVtbl->AddRef(This))
419 #define IXCLRDataStackWalk_Release(This) \
420 ((This)->lpVtbl->Release(This))
422 #define IXCLRDataStackWalk_GetContext(This, contextFlags, contextBufSize, contextSize, contextBuf) \
423 ((This)->lpVtbl->GetContext(This, contextFlags, contextBufSize, contextSize, contextBuf))
425 #define IXCLRDataStackWalk_Next(This) \
426 ((This)->lpVtbl->Next(This))
428 #define IXCLRDataStackWalk_GetStackSizeSkipped(This, stackSizeSkipped) \
429 ((This)->lpVtbl->GetStackSizeSkipped(This, stackSizeSkipped))
431 #define IXCLRDataStackWalk_GetFrameType(This, simpleType, detailedType) \
432 ((This)->lpVtbl->GetFrameType(This, simpleType, detailedType))
434 #define IXCLRDataStackWalk_GetFrame(This, frame) \
435 ((This)->lpVtbl->GetFrame(This, frame))
437 #define IXCLRDataStackWalk_Request(This, reqCode, inBufferSize, inBuffer, outBufferSize, outBuffer) \
438 ((This)->lpVtbl->SetContext2(This, reqCode, inBufferSize, inBuffer, outBufferSize, outBuffer))
440 #define IXCLRDataStackWalk_SetContext2(This, flags, contextSize, context) \
441 ((This)->lpVtbl->SetContext2(This, flags, contextSize, context))
445 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
451 ULONG (STDMETHODCALLTYPE *AddRef)(
455 ULONG (STDMETHODCALLTYPE *Release)(
459 HRESULT (STDMETHODCALLTYPE *GetFrameType)(
465 HRESULT (STDMETHODCALLTYPE *GetContext)(
479 HRESULT (STDMETHODCALLTYPE *GetCodeName)(
493 #define IXCLRDataFrame_QueryInterface(This, riid, ppvObject) \
494 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
496 #define IXCLRDataFrame_AddRef(This) \
497 ((This)->lpVtbl->AddRef(This))
499 #define IXCLRDataFrame_Release(This) \
500 ((This)->lpVtbl->Release(This))
502 #define IXCLRDataFrame_GetFrameType(This, simpleType, detailedType) \
503 ((This)->lpVtbl->GetFrameType(This, simpleType, detailedType))
505 #define IXCLRDataFrame_GetContext(This, contextFlags, contextBufSize, contextSize, contextBuf) \
506 ((This)->lpVtbl->GetContext(This, contextFlags, contextBufSize, contextSize, contextBuf))
508 #define IXCLRDataFrame_GetCodeName(This, flags, bufLen, nameLen, nameBuf) \
509 ((This)->lpVtbl->GetCodeName(This, flags, bufLen, nameLen, nameBuf))
529 _In_ ICLRDataTarget *This,
535 _In_ ICLRDataTarget *This
539 _In_ ICLRDataTarget *This
543 _In_ ICLRDataTarget *This,
544 _Out_ ULONG32 *machineType
548 _In_ ICLRDataTarget *This,
549 _Out_ ULONG32 *pointerSize
553 _In_ ICLRDataTarget *This,
554 _In_ LPCWSTR imagePath,
555 _Out_ CLRDATA_ADDRESS *baseAddress
559 _In_ ICLRDataTarget *This,
560 _In_ CLRDATA_ADDRESS address,
562 _In_ ULONG32 bytesRequested,
563 _Out_ ULONG32 *bytesRead
567 _In_ ICLRDataTarget *This,
568 _In_ CLRDATA_ADDRESS address,
570 _In_ ULONG32 bytesRequested,
571 _Out_ ULONG32 *bytesWritten
575 _In_ ICLRDataTarget *This,
576 _In_ ULONG32 threadID,
578 _Out_ CLRDATA_ADDRESS *value
582 _In_ ICLRDataTarget *This,
583 _In_ ULONG32 threadID,
585 _In_ CLRDATA_ADDRESS value
589 _In_ ICLRDataTarget *This,
590 _Out_ ULONG32 *threadID
594 _In_ ICLRDataTarget *This,
595 _In_ ULONG32 threadID,
596 _In_ ULONG32 contextFlags,
597 _In_ ULONG32 contextSize,
602 _In_ ICLRDataTarget *This,
603 _In_ ULONG32 threadID,
604 _In_ ULONG32 contextSize,
609 _In_ ICLRDataTarget *This,
610 _In_ ULONG32 reqCode,
611 _In_ ULONG32 inBufferSize,
613 _In_ ULONG32 outBufferSize,
614 _Out_ BYTE *outBuffer