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