Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3167 lines
95 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0323 */
  4. /* at Mon May 22 18:20:12 2000
  5. */
  6. /* Compiler settings for exdi.idl:
  7. Os (OptLev=s), W1, Zp8, env=Win32 (32b run)
  8. protocol : dce , ms_ext, c_ext
  9. error checks: allocation ref bounds_check enum stub_data
  10. VC __declspec() decoration level:
  11. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  12. DECLSPEC_UUID(), MIDL_INTERFACE()
  13. */
  14. //@@MIDL_FILE_HEADING( )
  15. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  16. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  17. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  18. #endif
  19. #include "rpc.h"
  20. #include "rpcndr.h"
  21. #ifndef __RPCNDR_H_VERSION__
  22. #error this stub requires an updated version of <rpcndr.h>
  23. #endif // __RPCNDR_H_VERSION__
  24. #ifndef COM_NO_WINDOWS_H
  25. #include "windows.h"
  26. #include "ole2.h"
  27. #endif /*COM_NO_WINDOWS_H*/
  28. #ifndef __exdi_h__
  29. #define __exdi_h__
  30. /* Forward Declarations */
  31. #ifndef __IeXdiServer_FWD_DEFINED__
  32. #define __IeXdiServer_FWD_DEFINED__
  33. typedef interface IeXdiServer IeXdiServer;
  34. #endif /* __IeXdiServer_FWD_DEFINED__ */
  35. #ifndef __IeXdiCodeBreakpoint_FWD_DEFINED__
  36. #define __IeXdiCodeBreakpoint_FWD_DEFINED__
  37. typedef interface IeXdiCodeBreakpoint IeXdiCodeBreakpoint;
  38. #endif /* __IeXdiCodeBreakpoint_FWD_DEFINED__ */
  39. #ifndef __IeXdiDataBreakpoint_FWD_DEFINED__
  40. #define __IeXdiDataBreakpoint_FWD_DEFINED__
  41. typedef interface IeXdiDataBreakpoint IeXdiDataBreakpoint;
  42. #endif /* __IeXdiDataBreakpoint_FWD_DEFINED__ */
  43. #ifndef __IeXdiEnumCodeBreakpoint_FWD_DEFINED__
  44. #define __IeXdiEnumCodeBreakpoint_FWD_DEFINED__
  45. typedef interface IeXdiEnumCodeBreakpoint IeXdiEnumCodeBreakpoint;
  46. #endif /* __IeXdiEnumCodeBreakpoint_FWD_DEFINED__ */
  47. #ifndef __IeXdiEnumDataBreakpoint_FWD_DEFINED__
  48. #define __IeXdiEnumDataBreakpoint_FWD_DEFINED__
  49. typedef interface IeXdiEnumDataBreakpoint IeXdiEnumDataBreakpoint;
  50. #endif /* __IeXdiEnumDataBreakpoint_FWD_DEFINED__ */
  51. #ifndef __IeXdiX86Context_FWD_DEFINED__
  52. #define __IeXdiX86Context_FWD_DEFINED__
  53. typedef interface IeXdiX86Context IeXdiX86Context;
  54. #endif /* __IeXdiX86Context_FWD_DEFINED__ */
  55. #ifndef __IeXdiSHXContext_FWD_DEFINED__
  56. #define __IeXdiSHXContext_FWD_DEFINED__
  57. typedef interface IeXdiSHXContext IeXdiSHXContext;
  58. #endif /* __IeXdiSHXContext_FWD_DEFINED__ */
  59. #ifndef __IeXdiMIPSContext_FWD_DEFINED__
  60. #define __IeXdiMIPSContext_FWD_DEFINED__
  61. typedef interface IeXdiMIPSContext IeXdiMIPSContext;
  62. #endif /* __IeXdiMIPSContext_FWD_DEFINED__ */
  63. #ifndef __IeXdiARMContext_FWD_DEFINED__
  64. #define __IeXdiARMContext_FWD_DEFINED__
  65. typedef interface IeXdiARMContext IeXdiARMContext;
  66. #endif /* __IeXdiARMContext_FWD_DEFINED__ */
  67. #ifndef __IeXdiPPCContext_FWD_DEFINED__
  68. #define __IeXdiPPCContext_FWD_DEFINED__
  69. typedef interface IeXdiPPCContext IeXdiPPCContext;
  70. #endif /* __IeXdiPPCContext_FWD_DEFINED__ */
  71. #ifndef __IeXdiClientNotifyMemChg_FWD_DEFINED__
  72. #define __IeXdiClientNotifyMemChg_FWD_DEFINED__
  73. typedef interface IeXdiClientNotifyMemChg IeXdiClientNotifyMemChg;
  74. #endif /* __IeXdiClientNotifyMemChg_FWD_DEFINED__ */
  75. #ifndef __IeXdiClientNotifyRunChg_FWD_DEFINED__
  76. #define __IeXdiClientNotifyRunChg_FWD_DEFINED__
  77. typedef interface IeXdiClientNotifyRunChg IeXdiClientNotifyRunChg;
  78. #endif /* __IeXdiClientNotifyRunChg_FWD_DEFINED__ */
  79. /* header files for imported files */
  80. #include "oaidl.h"
  81. #include "ocidl.h"
  82. #ifdef __cplusplus
  83. extern "C"{
  84. #endif
  85. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  86. void __RPC_USER MIDL_user_free( void __RPC_FAR * );
  87. /* interface __MIDL_itf_exdi_0000 */
  88. /* [local] */
  89. // Common eXDI HRESULT values:
  90. //
  91. #define FACILITY_EXDI (130)
  92. #define CUSTOMER_FLAG (1)
  93. //
  94. #define SEV_SUCCESS (0)
  95. #define SEV_INFORMATIONAL (1)
  96. #define SEV_WARNING (2)
  97. #define SEV_ERROR (3)
  98. //
  99. #define MAKE_EXDI_ERROR(ErrorCode,Severity) ((DWORD)(ErrorCode) | (FACILITY_EXDI << 16) | (CUSTOMER_FLAG << 29) | (Severity << 30))
  100. //
  101. // S_OK (0) // Operation successful
  102. #define EXDI_E_NOTIMPL MAKE_EXDI_ERROR (0x4001, SEV_ERROR) // Not implemented (in the specific conditions - could be implement for others - like Kernel Debugger inactive)
  103. #define EXDI_E_OUTOFMEMORY MAKE_EXDI_ERROR (0x000E, SEV_ERROR) // Failed to allocate necessary memory
  104. #define EXDI_E_INVALIDARG MAKE_EXDI_ERROR (0x0057, SEV_ERROR) // One or more arguments are invalid
  105. #define EXDI_E_ABORT MAKE_EXDI_ERROR (0x4004, SEV_ERROR) // Operation aborted
  106. #define EXDI_E_FAIL MAKE_EXDI_ERROR (0x4005, SEV_ERROR) // Unspecified failure
  107. #define EXDI_E_COMMUNICATION MAKE_EXDI_ERROR (0x0001, SEV_ERROR) // Communication error between host driver and target
  108. //
  109. #define EXDI_E_NOLASTEXCEPTION MAKE_EXDI_ERROR (0x0002, SEV_ERROR) // No exception occured already, cannot return last
  110. #define EXDI_I_TGTALREADYRUNNING MAKE_EXDI_ERROR (0x0003, SEV_INFORMATIONAL) // Indicates that the target was already running
  111. #define EXDI_I_TGTALREADYHALTED MAKE_EXDI_ERROR (0x0004, SEV_INFORMATIONAL) // Indicates that the target was already halted
  112. #define EXDI_E_TGTWASNOTHALTED MAKE_EXDI_ERROR (0x0005, SEV_ERROR) // The target was not halted (before Single Step command issued)
  113. #define EXDI_E_NORESAVAILABLE MAKE_EXDI_ERROR (0x0006, SEV_ERROR) // No resource available, cannot instanciate Breakpoint (in the kind requested)
  114. #define EXDI_E_NOREBOOTAVAIL MAKE_EXDI_ERROR (0x0007, SEV_ERROR) // The external reset is not available programatically to the probe
  115. #define EXDI_E_ACCESSVIOLATION MAKE_EXDI_ERROR (0x0008, SEV_ERROR) // Access violation on at least one element in address range specificified by the operation
  116. #define EXDI_E_CANNOTWHILETGTRUNNING MAKE_EXDI_ERROR (0x0009, SEV_ERROR) // Cannot proceed while target running. Operation not supported on the fly. Must halt the target first
  117. #define EXDI_E_USEDBYCONCURENTTHREAD MAKE_EXDI_ERROR (0x000A, SEV_ERROR) // Cannot proceed immediately because resource is already used by concurent thread. Recall later or call SetWaitOnConcurentUse (TRUE) - default
  118. #define EXDI_E_ADVISELIMIT MAKE_EXDI_ERROR (0x000D, SEV_ERROR) // The connection point has already reached its limit of connections and cannot accept any more
  119. typedef __int64 ADDRESS_TYPE;
  120. typedef __int64 __RPC_FAR *PADDRESS_TYPE;
  121. typedef unsigned __int64 DWORD64;
  122. typedef unsigned __int64 __RPC_FAR *PDWORD64;
  123. #define PROCESSOR_FAMILY_X86 ( 0 )
  124. #define PROCESSOR_FAMILY_SH3 ( 1 )
  125. #define PROCESSOR_FAMILY_SH4 ( 2 )
  126. #define PROCESSOR_FAMILY_MIPS ( 3 )
  127. #define PROCESSOR_FAMILY_ARM ( 4 )
  128. #define PROCESSOR_FAMILY_PPC ( 5 )
  129. #define PROCESSOR_FAMILY_UNK ( 0xffffffff )
  130. typedef struct _DEBUG_ACCESS_CAPABILITIES_STRUCT
  131. {
  132. BOOL fWriteCBPWhileRunning;
  133. BOOL fReadCBPWhileRunning;
  134. BOOL fWriteDBPWhileRunning;
  135. BOOL fReadDBPWhileRunning;
  136. BOOL fWriteVMWhileRunning;
  137. BOOL fReadVMWhileRunning;
  138. BOOL fWritePMWhileRunning;
  139. BOOL fReadPMWhileRunning;
  140. BOOL fWriteRegWhileRunning;
  141. BOOL fReadRegWhileRunning;
  142. } DEBUG_ACCESS_CAPABILITIES_STRUCT;
  143. typedef struct _DEBUG_ACCESS_CAPABILITIES_STRUCT __RPC_FAR *PDEBUG_ACCESS_CAPABILITIES_STRUCT;
  144. typedef struct _GLOBAL_TARGET_INFO_STRUCT
  145. {
  146. DWORD TargetProcessorFamily;
  147. DEBUG_ACCESS_CAPABILITIES_STRUCT dbc;
  148. LPOLESTR szTargetName;
  149. LPOLESTR szProbeName;
  150. } GLOBAL_TARGET_INFO_STRUCT;
  151. typedef struct _GLOBAL_TARGET_INFO_STRUCT __RPC_FAR *PGLOBAL_TARGET_INFO_STRUCT;
  152. typedef
  153. enum _RUN_STATUS_TYPE
  154. { rsRunning = 0,
  155. rsHalted = rsRunning + 1,
  156. rsError = rsHalted + 1,
  157. rsUnknown = rsError + 1
  158. } RUN_STATUS_TYPE;
  159. typedef enum _RUN_STATUS_TYPE __RPC_FAR *PRUN_STATUS_TYPE;
  160. typedef
  161. enum _PHALT_REASON_TYPE
  162. { hrNone = 0,
  163. hrUser = hrNone + 1,
  164. hrException = hrUser + 1,
  165. hrBp = hrException + 1,
  166. hrStep = hrBp + 1,
  167. hrUnknown = hrStep + 1
  168. } HALT_REASON_TYPE;
  169. typedef enum _PHALT_REASON_TYPE __RPC_FAR *PHALT_REASON_TYPE;
  170. typedef struct _EXCEPTION_TYPE
  171. {
  172. DWORD dwCode;
  173. ADDRESS_TYPE Address;
  174. } EXCEPTION_TYPE;
  175. typedef struct _EXCEPTION_TYPE __RPC_FAR *PEXCEPTION_TYPE;
  176. typedef
  177. enum _CBP_KIND
  178. { cbptAlgo = 0,
  179. cbptHW = cbptAlgo + 1,
  180. cbptSW = cbptHW + 1
  181. } CBP_KIND;
  182. typedef enum _CBP_KIND __RPC_FAR *PCBP_KIND;
  183. typedef
  184. enum _DATA_ACCESS_TYPE
  185. { daWrite = 0,
  186. daRead = 1,
  187. daBoth = 2
  188. } DATA_ACCESS_TYPE;
  189. typedef enum _DATA_ACCESS_TYPE __RPC_FAR *PDATA_ACCESS_TYPE;
  190. typedef struct _BREAKPOINT_SUPPORT_TYPE
  191. {
  192. BOOL fCodeBpBypassCountSupported;
  193. BOOL fDataBpBypassCountSupported;
  194. BOOL fDataBpSupported;
  195. BOOL fDataBpMaskableAddress;
  196. BOOL fDataBpMaskableData;
  197. BOOL fDataBpDataWidthSpecifiable;
  198. BOOL fDataBpReadWriteSpecifiable;
  199. BOOL fDataBpDataMatchSupported;
  200. } BREAKPOINT_SUPPORT_TYPE;
  201. typedef struct _BREAKPOINT_SUPPORT_TYPE __RPC_FAR *PBREAKPOINT_SUPPORT_TYPE;
  202. typedef
  203. enum _MEM_TYPE
  204. { mtVirtual = 0,
  205. mtPhysicalOrPeriIO = mtVirtual + 1,
  206. mtContext = mtPhysicalOrPeriIO + 1
  207. } MEM_TYPE;
  208. typedef enum _MEM_TYPE __RPC_FAR *PMEM_TYPE;
  209. typedef
  210. enum _EXCEPTION_DEFAULT_ACTION_TYPE
  211. { edaIgnore = 0,
  212. edaNotify = edaIgnore + 1,
  213. edaStop = edaNotify + 1
  214. } EXCEPTION_DEFAULT_ACTION_TYPE;
  215. typedef struct _EXCEPTION_DESCRIPTION_TYPE
  216. {
  217. DWORD dwExceptionCode;
  218. EXCEPTION_DEFAULT_ACTION_TYPE efd;
  219. wchar_t szDescription[ 60 ];
  220. } EXCEPTION_DESCRIPTION_TYPE;
  221. extern RPC_IF_HANDLE __MIDL_itf_exdi_0000_v0_0_c_ifspec;
  222. extern RPC_IF_HANDLE __MIDL_itf_exdi_0000_v0_0_s_ifspec;
  223. #ifndef __IeXdiServer_INTERFACE_DEFINED__
  224. #define __IeXdiServer_INTERFACE_DEFINED__
  225. /* interface IeXdiServer */
  226. /* [ref][helpstring][uuid][object] */
  227. #define DBGMODE_BFMASK_KERNEL (0x0001) // If TRUE indicates that Kernel Debugger is active (can use KDAPI), so HW on-chip debug functions (eXDI)
  228. // may be optionaly handled (can return EXDI_E_NOTIMPL)
  229. // If FALSE indicates that Kernel Debugger is not active so HW on-chip debug capabilities are the only
  230. // one available and should be implemented.
  231. EXTERN_C const IID IID_IeXdiServer;
  232. #if defined(__cplusplus) && !defined(CINTERFACE)
  233. MIDL_INTERFACE("47486F67-6461-6C65-5844-495352435201")
  234. IeXdiServer : public IUnknown
  235. {
  236. public:
  237. virtual HRESULT STDMETHODCALLTYPE GetTargetInfo(
  238. /* [out] */ PGLOBAL_TARGET_INFO_STRUCT pgti) = 0;
  239. virtual HRESULT STDMETHODCALLTYPE SetDebugMode(
  240. /* [in] */ DWORD dwModeBitField) = 0;
  241. virtual HRESULT STDMETHODCALLTYPE GetExceptionDescriptionList(
  242. /* [in] */ DWORD dwNbElementToReturn,
  243. /* [size_is][out] */ EXCEPTION_DESCRIPTION_TYPE __RPC_FAR *pedTable,
  244. /* [out] */ DWORD __RPC_FAR *pdwNbTotalExceptionInList) = 0;
  245. virtual HRESULT STDMETHODCALLTYPE GetErrorDescription(
  246. /* [in] */ HRESULT ErrorCode,
  247. /* [out] */ LPOLESTR __RPC_FAR *pszErrorDesc) = 0;
  248. virtual HRESULT STDMETHODCALLTYPE SetWaitOnConcurentUse(
  249. /* [in] */ BOOL fNewWaitOnConcurentUseFlag) = 0;
  250. virtual HRESULT STDMETHODCALLTYPE GetRunStatus(
  251. /* [out] */ PRUN_STATUS_TYPE persCurrent,
  252. /* [out] */ PHALT_REASON_TYPE pehrCurrent,
  253. /* [out] */ ADDRESS_TYPE __RPC_FAR *pCurrentExecAddress,
  254. /* [out] */ DWORD __RPC_FAR *pdwExceptionCode) = 0;
  255. virtual HRESULT STDMETHODCALLTYPE GetLastException(
  256. /* [out] */ PEXCEPTION_TYPE pexLast) = 0;
  257. virtual HRESULT STDMETHODCALLTYPE Run( void) = 0;
  258. virtual HRESULT STDMETHODCALLTYPE Halt( void) = 0;
  259. virtual HRESULT STDMETHODCALLTYPE DoSingleStep( void) = 0;
  260. virtual HRESULT STDMETHODCALLTYPE DoMultipleStep(
  261. /* [in] */ DWORD dwNbInstructions) = 0;
  262. virtual HRESULT STDMETHODCALLTYPE DoRangeStep(
  263. /* [in] */ ADDRESS_TYPE FirstAddress,
  264. /* [in] */ ADDRESS_TYPE LastAddress) = 0;
  265. virtual HRESULT STDMETHODCALLTYPE Reboot( void) = 0;
  266. virtual HRESULT STDMETHODCALLTYPE GetBpSupport(
  267. /* [out] */ PBREAKPOINT_SUPPORT_TYPE pbps) = 0;
  268. virtual HRESULT STDMETHODCALLTYPE GetNbCodeBpAvail(
  269. /* [out] */ DWORD __RPC_FAR *pdwNbHwCodeBpAvail,
  270. /* [out] */ DWORD __RPC_FAR *pdwNbSwCodeBpAvail) = 0;
  271. virtual HRESULT STDMETHODCALLTYPE GetNbDataBpAvail(
  272. /* [out] */ DWORD __RPC_FAR *pdwNbDataBpAvail) = 0;
  273. virtual HRESULT STDMETHODCALLTYPE AddCodeBreakpoint(
  274. /* [in] */ ADDRESS_TYPE Address,
  275. /* [in] */ CBP_KIND cbpk,
  276. /* [in] */ MEM_TYPE mt,
  277. /* [in] */ DWORD dwExecMode,
  278. /* [in] */ DWORD dwTotalBypassCount,
  279. /* [out] */ IeXdiCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiCodeBreakpoint) = 0;
  280. virtual HRESULT STDMETHODCALLTYPE DelCodeBreakpoint(
  281. /* [in] */ IeXdiCodeBreakpoint __RPC_FAR *pieXdiCodeBreakpoint) = 0;
  282. virtual HRESULT STDMETHODCALLTYPE AddDataBreakpoint(
  283. /* [in] */ ADDRESS_TYPE Address,
  284. /* [in] */ ADDRESS_TYPE AddressMask,
  285. /* [in] */ DWORD dwData,
  286. /* [in] */ DWORD dwDataMask,
  287. /* [in] */ BYTE bAccessWidth,
  288. /* [in] */ MEM_TYPE mt,
  289. /* [in] */ BYTE bAddressSpace,
  290. /* [in] */ DATA_ACCESS_TYPE da,
  291. /* [in] */ DWORD dwTotalBypassCount,
  292. /* [out] */ IeXdiDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiDataBreakpoint) = 0;
  293. virtual HRESULT STDMETHODCALLTYPE DelDataBreakpoint(
  294. /* [in] */ IeXdiDataBreakpoint __RPC_FAR *pieXdiDataBreakpoint) = 0;
  295. virtual HRESULT STDMETHODCALLTYPE EnumAllCodeBreakpoints(
  296. /* [out] */ IeXdiEnumCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumCodeBreakpoint) = 0;
  297. virtual HRESULT STDMETHODCALLTYPE EnumAllDataBreakpoints(
  298. /* [out] */ IeXdiEnumDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumDataBreakpoint) = 0;
  299. virtual HRESULT STDMETHODCALLTYPE EnumCodeBreakpointsInAddrRange(
  300. /* [in] */ ADDRESS_TYPE FirstAddress,
  301. /* [in] */ ADDRESS_TYPE LastAddress,
  302. /* [out] */ IeXdiEnumCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumCodeBreakpoint) = 0;
  303. virtual HRESULT STDMETHODCALLTYPE EnumDataBreakpointsInAddrRange(
  304. /* [in] */ ADDRESS_TYPE FirstAddress,
  305. /* [in] */ ADDRESS_TYPE LastAddress,
  306. /* [out] */ IeXdiEnumDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumDataBreakpoint) = 0;
  307. virtual HRESULT STDMETHODCALLTYPE StartNotifyingRunChg(
  308. /* [in] */ IeXdiClientNotifyRunChg __RPC_FAR *pieXdiClientNotifyRunChg,
  309. /* [out] */ DWORD __RPC_FAR *pdwConnectionCookie) = 0;
  310. virtual HRESULT STDMETHODCALLTYPE StopNotifyingRunChg(
  311. /* [in] */ DWORD dwConnectionCookie) = 0;
  312. virtual HRESULT STDMETHODCALLTYPE ReadVirtualMemory(
  313. /* [in] */ ADDRESS_TYPE Address,
  314. /* [in] */ DWORD dwNbElemToRead,
  315. /* [in] */ BYTE bAccessWidth,
  316. /* [size_is][out] */ BYTE __RPC_FAR *pbReadBuffer,
  317. /* [out] */ DWORD __RPC_FAR *pdwNbElementEffectRead) = 0;
  318. virtual HRESULT STDMETHODCALLTYPE WriteVirtualMemory(
  319. /* [in] */ ADDRESS_TYPE Address,
  320. /* [in] */ DWORD dwNbElemToWrite,
  321. /* [in] */ BYTE bAccessWidth,
  322. /* [size_is][in] */ const BYTE __RPC_FAR *pbWriteBuffer,
  323. /* [out] */ DWORD __RPC_FAR *pdwNbElementEffectWritten) = 0;
  324. virtual HRESULT STDMETHODCALLTYPE ReadPhysicalMemoryOrPeriphIO(
  325. /* [in] */ ADDRESS_TYPE Address,
  326. /* [in] */ BYTE bAddressSpace,
  327. /* [in] */ DWORD dwNbElemToRead,
  328. /* [in] */ BYTE bAccessWidth,
  329. /* [size_is][out] */ BYTE __RPC_FAR *pbReadBuffer) = 0;
  330. virtual HRESULT STDMETHODCALLTYPE WritePhysicalMemoryOrPeriphIO(
  331. /* [in] */ ADDRESS_TYPE Address,
  332. /* [in] */ BYTE bAddressSpace,
  333. /* [in] */ DWORD dwNbElemToWrite,
  334. /* [in] */ BYTE bAccessWidth,
  335. /* [size_is][in] */ const BYTE __RPC_FAR *pbWriteBuffer) = 0;
  336. virtual HRESULT STDMETHODCALLTYPE StartNotifyingMemChg(
  337. /* [in] */ IeXdiClientNotifyMemChg __RPC_FAR *pieXdiClientNotifyMemChg,
  338. /* [out] */ DWORD __RPC_FAR *pdwConnectionCookie) = 0;
  339. virtual HRESULT STDMETHODCALLTYPE StopNotifyingMemChg(
  340. /* [in] */ DWORD dwConnectionCookie) = 0;
  341. virtual HRESULT STDMETHODCALLTYPE Ioctl(
  342. /* [in] */ DWORD dwBuffInSize,
  343. /* [size_is][in] */ const BYTE __RPC_FAR *pbBufferIn,
  344. /* [in] */ DWORD dwBuffOutSize,
  345. /* [out] */ DWORD __RPC_FAR *pdwEffectBuffOutSize,
  346. /* [length_is][size_is][out] */ BYTE __RPC_FAR *pbBufferOut) = 0;
  347. };
  348. #else /* C style interface */
  349. typedef struct IeXdiServerVtbl
  350. {
  351. BEGIN_INTERFACE
  352. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  353. IeXdiServer __RPC_FAR * This,
  354. /* [in] */ REFIID riid,
  355. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  356. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  357. IeXdiServer __RPC_FAR * This);
  358. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  359. IeXdiServer __RPC_FAR * This);
  360. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTargetInfo )(
  361. IeXdiServer __RPC_FAR * This,
  362. /* [out] */ PGLOBAL_TARGET_INFO_STRUCT pgti);
  363. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDebugMode )(
  364. IeXdiServer __RPC_FAR * This,
  365. /* [in] */ DWORD dwModeBitField);
  366. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetExceptionDescriptionList )(
  367. IeXdiServer __RPC_FAR * This,
  368. /* [in] */ DWORD dwNbElementToReturn,
  369. /* [size_is][out] */ EXCEPTION_DESCRIPTION_TYPE __RPC_FAR *pedTable,
  370. /* [out] */ DWORD __RPC_FAR *pdwNbTotalExceptionInList);
  371. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetErrorDescription )(
  372. IeXdiServer __RPC_FAR * This,
  373. /* [in] */ HRESULT ErrorCode,
  374. /* [out] */ LPOLESTR __RPC_FAR *pszErrorDesc);
  375. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWaitOnConcurentUse )(
  376. IeXdiServer __RPC_FAR * This,
  377. /* [in] */ BOOL fNewWaitOnConcurentUseFlag);
  378. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRunStatus )(
  379. IeXdiServer __RPC_FAR * This,
  380. /* [out] */ PRUN_STATUS_TYPE persCurrent,
  381. /* [out] */ PHALT_REASON_TYPE pehrCurrent,
  382. /* [out] */ ADDRESS_TYPE __RPC_FAR *pCurrentExecAddress,
  383. /* [out] */ DWORD __RPC_FAR *pdwExceptionCode);
  384. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLastException )(
  385. IeXdiServer __RPC_FAR * This,
  386. /* [out] */ PEXCEPTION_TYPE pexLast);
  387. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Run )(
  388. IeXdiServer __RPC_FAR * This);
  389. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Halt )(
  390. IeXdiServer __RPC_FAR * This);
  391. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoSingleStep )(
  392. IeXdiServer __RPC_FAR * This);
  393. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoMultipleStep )(
  394. IeXdiServer __RPC_FAR * This,
  395. /* [in] */ DWORD dwNbInstructions);
  396. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoRangeStep )(
  397. IeXdiServer __RPC_FAR * This,
  398. /* [in] */ ADDRESS_TYPE FirstAddress,
  399. /* [in] */ ADDRESS_TYPE LastAddress);
  400. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reboot )(
  401. IeXdiServer __RPC_FAR * This);
  402. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBpSupport )(
  403. IeXdiServer __RPC_FAR * This,
  404. /* [out] */ PBREAKPOINT_SUPPORT_TYPE pbps);
  405. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNbCodeBpAvail )(
  406. IeXdiServer __RPC_FAR * This,
  407. /* [out] */ DWORD __RPC_FAR *pdwNbHwCodeBpAvail,
  408. /* [out] */ DWORD __RPC_FAR *pdwNbSwCodeBpAvail);
  409. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNbDataBpAvail )(
  410. IeXdiServer __RPC_FAR * This,
  411. /* [out] */ DWORD __RPC_FAR *pdwNbDataBpAvail);
  412. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCodeBreakpoint )(
  413. IeXdiServer __RPC_FAR * This,
  414. /* [in] */ ADDRESS_TYPE Address,
  415. /* [in] */ CBP_KIND cbpk,
  416. /* [in] */ MEM_TYPE mt,
  417. /* [in] */ DWORD dwExecMode,
  418. /* [in] */ DWORD dwTotalBypassCount,
  419. /* [out] */ IeXdiCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiCodeBreakpoint);
  420. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DelCodeBreakpoint )(
  421. IeXdiServer __RPC_FAR * This,
  422. /* [in] */ IeXdiCodeBreakpoint __RPC_FAR *pieXdiCodeBreakpoint);
  423. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddDataBreakpoint )(
  424. IeXdiServer __RPC_FAR * This,
  425. /* [in] */ ADDRESS_TYPE Address,
  426. /* [in] */ ADDRESS_TYPE AddressMask,
  427. /* [in] */ DWORD dwData,
  428. /* [in] */ DWORD dwDataMask,
  429. /* [in] */ BYTE bAccessWidth,
  430. /* [in] */ MEM_TYPE mt,
  431. /* [in] */ BYTE bAddressSpace,
  432. /* [in] */ DATA_ACCESS_TYPE da,
  433. /* [in] */ DWORD dwTotalBypassCount,
  434. /* [out] */ IeXdiDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiDataBreakpoint);
  435. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DelDataBreakpoint )(
  436. IeXdiServer __RPC_FAR * This,
  437. /* [in] */ IeXdiDataBreakpoint __RPC_FAR *pieXdiDataBreakpoint);
  438. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumAllCodeBreakpoints )(
  439. IeXdiServer __RPC_FAR * This,
  440. /* [out] */ IeXdiEnumCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumCodeBreakpoint);
  441. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumAllDataBreakpoints )(
  442. IeXdiServer __RPC_FAR * This,
  443. /* [out] */ IeXdiEnumDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumDataBreakpoint);
  444. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumCodeBreakpointsInAddrRange )(
  445. IeXdiServer __RPC_FAR * This,
  446. /* [in] */ ADDRESS_TYPE FirstAddress,
  447. /* [in] */ ADDRESS_TYPE LastAddress,
  448. /* [out] */ IeXdiEnumCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumCodeBreakpoint);
  449. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumDataBreakpointsInAddrRange )(
  450. IeXdiServer __RPC_FAR * This,
  451. /* [in] */ ADDRESS_TYPE FirstAddress,
  452. /* [in] */ ADDRESS_TYPE LastAddress,
  453. /* [out] */ IeXdiEnumDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumDataBreakpoint);
  454. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartNotifyingRunChg )(
  455. IeXdiServer __RPC_FAR * This,
  456. /* [in] */ IeXdiClientNotifyRunChg __RPC_FAR *pieXdiClientNotifyRunChg,
  457. /* [out] */ DWORD __RPC_FAR *pdwConnectionCookie);
  458. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopNotifyingRunChg )(
  459. IeXdiServer __RPC_FAR * This,
  460. /* [in] */ DWORD dwConnectionCookie);
  461. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadVirtualMemory )(
  462. IeXdiServer __RPC_FAR * This,
  463. /* [in] */ ADDRESS_TYPE Address,
  464. /* [in] */ DWORD dwNbElemToRead,
  465. /* [in] */ BYTE bAccessWidth,
  466. /* [size_is][out] */ BYTE __RPC_FAR *pbReadBuffer,
  467. /* [out] */ DWORD __RPC_FAR *pdwNbElementEffectRead);
  468. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteVirtualMemory )(
  469. IeXdiServer __RPC_FAR * This,
  470. /* [in] */ ADDRESS_TYPE Address,
  471. /* [in] */ DWORD dwNbElemToWrite,
  472. /* [in] */ BYTE bAccessWidth,
  473. /* [size_is][in] */ const BYTE __RPC_FAR *pbWriteBuffer,
  474. /* [out] */ DWORD __RPC_FAR *pdwNbElementEffectWritten);
  475. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadPhysicalMemoryOrPeriphIO )(
  476. IeXdiServer __RPC_FAR * This,
  477. /* [in] */ ADDRESS_TYPE Address,
  478. /* [in] */ BYTE bAddressSpace,
  479. /* [in] */ DWORD dwNbElemToRead,
  480. /* [in] */ BYTE bAccessWidth,
  481. /* [size_is][out] */ BYTE __RPC_FAR *pbReadBuffer);
  482. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WritePhysicalMemoryOrPeriphIO )(
  483. IeXdiServer __RPC_FAR * This,
  484. /* [in] */ ADDRESS_TYPE Address,
  485. /* [in] */ BYTE bAddressSpace,
  486. /* [in] */ DWORD dwNbElemToWrite,
  487. /* [in] */ BYTE bAccessWidth,
  488. /* [size_is][in] */ const BYTE __RPC_FAR *pbWriteBuffer);
  489. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartNotifyingMemChg )(
  490. IeXdiServer __RPC_FAR * This,
  491. /* [in] */ IeXdiClientNotifyMemChg __RPC_FAR *pieXdiClientNotifyMemChg,
  492. /* [out] */ DWORD __RPC_FAR *pdwConnectionCookie);
  493. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopNotifyingMemChg )(
  494. IeXdiServer __RPC_FAR * This,
  495. /* [in] */ DWORD dwConnectionCookie);
  496. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Ioctl )(
  497. IeXdiServer __RPC_FAR * This,
  498. /* [in] */ DWORD dwBuffInSize,
  499. /* [size_is][in] */ const BYTE __RPC_FAR *pbBufferIn,
  500. /* [in] */ DWORD dwBuffOutSize,
  501. /* [out] */ DWORD __RPC_FAR *pdwEffectBuffOutSize,
  502. /* [length_is][size_is][out] */ BYTE __RPC_FAR *pbBufferOut);
  503. END_INTERFACE
  504. } IeXdiServerVtbl;
  505. interface IeXdiServer
  506. {
  507. CONST_VTBL struct IeXdiServerVtbl __RPC_FAR *lpVtbl;
  508. };
  509. #ifdef COBJMACROS
  510. #define IeXdiServer_QueryInterface(This,riid,ppvObject) \
  511. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  512. #define IeXdiServer_AddRef(This) \
  513. (This)->lpVtbl -> AddRef(This)
  514. #define IeXdiServer_Release(This) \
  515. (This)->lpVtbl -> Release(This)
  516. #define IeXdiServer_GetTargetInfo(This,pgti) \
  517. (This)->lpVtbl -> GetTargetInfo(This,pgti)
  518. #define IeXdiServer_SetDebugMode(This,dwModeBitField) \
  519. (This)->lpVtbl -> SetDebugMode(This,dwModeBitField)
  520. #define IeXdiServer_GetExceptionDescriptionList(This,dwNbElementToReturn,pedTable,pdwNbTotalExceptionInList) \
  521. (This)->lpVtbl -> GetExceptionDescriptionList(This,dwNbElementToReturn,pedTable,pdwNbTotalExceptionInList)
  522. #define IeXdiServer_GetErrorDescription(This,ErrorCode,pszErrorDesc) \
  523. (This)->lpVtbl -> GetErrorDescription(This,ErrorCode,pszErrorDesc)
  524. #define IeXdiServer_SetWaitOnConcurentUse(This,fNewWaitOnConcurentUseFlag) \
  525. (This)->lpVtbl -> SetWaitOnConcurentUse(This,fNewWaitOnConcurentUseFlag)
  526. #define IeXdiServer_GetRunStatus(This,persCurrent,pehrCurrent,pCurrentExecAddress,pdwExceptionCode) \
  527. (This)->lpVtbl -> GetRunStatus(This,persCurrent,pehrCurrent,pCurrentExecAddress,pdwExceptionCode)
  528. #define IeXdiServer_GetLastException(This,pexLast) \
  529. (This)->lpVtbl -> GetLastException(This,pexLast)
  530. #define IeXdiServer_Run(This) \
  531. (This)->lpVtbl -> Run(This)
  532. #define IeXdiServer_Halt(This) \
  533. (This)->lpVtbl -> Halt(This)
  534. #define IeXdiServer_DoSingleStep(This) \
  535. (This)->lpVtbl -> DoSingleStep(This)
  536. #define IeXdiServer_DoMultipleStep(This,dwNbInstructions) \
  537. (This)->lpVtbl -> DoMultipleStep(This,dwNbInstructions)
  538. #define IeXdiServer_DoRangeStep(This,FirstAddress,LastAddress) \
  539. (This)->lpVtbl -> DoRangeStep(This,FirstAddress,LastAddress)
  540. #define IeXdiServer_Reboot(This) \
  541. (This)->lpVtbl -> Reboot(This)
  542. #define IeXdiServer_GetBpSupport(This,pbps) \
  543. (This)->lpVtbl -> GetBpSupport(This,pbps)
  544. #define IeXdiServer_GetNbCodeBpAvail(This,pdwNbHwCodeBpAvail,pdwNbSwCodeBpAvail) \
  545. (This)->lpVtbl -> GetNbCodeBpAvail(This,pdwNbHwCodeBpAvail,pdwNbSwCodeBpAvail)
  546. #define IeXdiServer_GetNbDataBpAvail(This,pdwNbDataBpAvail) \
  547. (This)->lpVtbl -> GetNbDataBpAvail(This,pdwNbDataBpAvail)
  548. #define IeXdiServer_AddCodeBreakpoint(This,Address,cbpk,mt,dwExecMode,dwTotalBypassCount,ppieXdiCodeBreakpoint) \
  549. (This)->lpVtbl -> AddCodeBreakpoint(This,Address,cbpk,mt,dwExecMode,dwTotalBypassCount,ppieXdiCodeBreakpoint)
  550. #define IeXdiServer_DelCodeBreakpoint(This,pieXdiCodeBreakpoint) \
  551. (This)->lpVtbl -> DelCodeBreakpoint(This,pieXdiCodeBreakpoint)
  552. #define IeXdiServer_AddDataBreakpoint(This,Address,AddressMask,dwData,dwDataMask,bAccessWidth,mt,bAddressSpace,da,dwTotalBypassCount,ppieXdiDataBreakpoint) \
  553. (This)->lpVtbl -> AddDataBreakpoint(This,Address,AddressMask,dwData,dwDataMask,bAccessWidth,mt,bAddressSpace,da,dwTotalBypassCount,ppieXdiDataBreakpoint)
  554. #define IeXdiServer_DelDataBreakpoint(This,pieXdiDataBreakpoint) \
  555. (This)->lpVtbl -> DelDataBreakpoint(This,pieXdiDataBreakpoint)
  556. #define IeXdiServer_EnumAllCodeBreakpoints(This,ppieXdiEnumCodeBreakpoint) \
  557. (This)->lpVtbl -> EnumAllCodeBreakpoints(This,ppieXdiEnumCodeBreakpoint)
  558. #define IeXdiServer_EnumAllDataBreakpoints(This,ppieXdiEnumDataBreakpoint) \
  559. (This)->lpVtbl -> EnumAllDataBreakpoints(This,ppieXdiEnumDataBreakpoint)
  560. #define IeXdiServer_EnumCodeBreakpointsInAddrRange(This,FirstAddress,LastAddress,ppieXdiEnumCodeBreakpoint) \
  561. (This)->lpVtbl -> EnumCodeBreakpointsInAddrRange(This,FirstAddress,LastAddress,ppieXdiEnumCodeBreakpoint)
  562. #define IeXdiServer_EnumDataBreakpointsInAddrRange(This,FirstAddress,LastAddress,ppieXdiEnumDataBreakpoint) \
  563. (This)->lpVtbl -> EnumDataBreakpointsInAddrRange(This,FirstAddress,LastAddress,ppieXdiEnumDataBreakpoint)
  564. #define IeXdiServer_StartNotifyingRunChg(This,pieXdiClientNotifyRunChg,pdwConnectionCookie) \
  565. (This)->lpVtbl -> StartNotifyingRunChg(This,pieXdiClientNotifyRunChg,pdwConnectionCookie)
  566. #define IeXdiServer_StopNotifyingRunChg(This,dwConnectionCookie) \
  567. (This)->lpVtbl -> StopNotifyingRunChg(This,dwConnectionCookie)
  568. #define IeXdiServer_ReadVirtualMemory(This,Address,dwNbElemToRead,bAccessWidth,pbReadBuffer,pdwNbElementEffectRead) \
  569. (This)->lpVtbl -> ReadVirtualMemory(This,Address,dwNbElemToRead,bAccessWidth,pbReadBuffer,pdwNbElementEffectRead)
  570. #define IeXdiServer_WriteVirtualMemory(This,Address,dwNbElemToWrite,bAccessWidth,pbWriteBuffer,pdwNbElementEffectWritten) \
  571. (This)->lpVtbl -> WriteVirtualMemory(This,Address,dwNbElemToWrite,bAccessWidth,pbWriteBuffer,pdwNbElementEffectWritten)
  572. #define IeXdiServer_ReadPhysicalMemoryOrPeriphIO(This,Address,bAddressSpace,dwNbElemToRead,bAccessWidth,pbReadBuffer) \
  573. (This)->lpVtbl -> ReadPhysicalMemoryOrPeriphIO(This,Address,bAddressSpace,dwNbElemToRead,bAccessWidth,pbReadBuffer)
  574. #define IeXdiServer_WritePhysicalMemoryOrPeriphIO(This,Address,bAddressSpace,dwNbElemToWrite,bAccessWidth,pbWriteBuffer) \
  575. (This)->lpVtbl -> WritePhysicalMemoryOrPeriphIO(This,Address,bAddressSpace,dwNbElemToWrite,bAccessWidth,pbWriteBuffer)
  576. #define IeXdiServer_StartNotifyingMemChg(This,pieXdiClientNotifyMemChg,pdwConnectionCookie) \
  577. (This)->lpVtbl -> StartNotifyingMemChg(This,pieXdiClientNotifyMemChg,pdwConnectionCookie)
  578. #define IeXdiServer_StopNotifyingMemChg(This,dwConnectionCookie) \
  579. (This)->lpVtbl -> StopNotifyingMemChg(This,dwConnectionCookie)
  580. #define IeXdiServer_Ioctl(This,dwBuffInSize,pbBufferIn,dwBuffOutSize,pdwEffectBuffOutSize,pbBufferOut) \
  581. (This)->lpVtbl -> Ioctl(This,dwBuffInSize,pbBufferIn,dwBuffOutSize,pdwEffectBuffOutSize,pbBufferOut)
  582. #endif /* COBJMACROS */
  583. #endif /* C style interface */
  584. HRESULT STDMETHODCALLTYPE IeXdiServer_GetTargetInfo_Proxy(
  585. IeXdiServer __RPC_FAR * This,
  586. /* [out] */ PGLOBAL_TARGET_INFO_STRUCT pgti);
  587. void __RPC_STUB IeXdiServer_GetTargetInfo_Stub(
  588. IRpcStubBuffer *This,
  589. IRpcChannelBuffer *_pRpcChannelBuffer,
  590. PRPC_MESSAGE _pRpcMessage,
  591. DWORD *_pdwStubPhase);
  592. HRESULT STDMETHODCALLTYPE IeXdiServer_SetDebugMode_Proxy(
  593. IeXdiServer __RPC_FAR * This,
  594. /* [in] */ DWORD dwModeBitField);
  595. void __RPC_STUB IeXdiServer_SetDebugMode_Stub(
  596. IRpcStubBuffer *This,
  597. IRpcChannelBuffer *_pRpcChannelBuffer,
  598. PRPC_MESSAGE _pRpcMessage,
  599. DWORD *_pdwStubPhase);
  600. HRESULT STDMETHODCALLTYPE IeXdiServer_GetExceptionDescriptionList_Proxy(
  601. IeXdiServer __RPC_FAR * This,
  602. /* [in] */ DWORD dwNbElementToReturn,
  603. /* [size_is][out] */ EXCEPTION_DESCRIPTION_TYPE __RPC_FAR *pedTable,
  604. /* [out] */ DWORD __RPC_FAR *pdwNbTotalExceptionInList);
  605. void __RPC_STUB IeXdiServer_GetExceptionDescriptionList_Stub(
  606. IRpcStubBuffer *This,
  607. IRpcChannelBuffer *_pRpcChannelBuffer,
  608. PRPC_MESSAGE _pRpcMessage,
  609. DWORD *_pdwStubPhase);
  610. HRESULT STDMETHODCALLTYPE IeXdiServer_GetErrorDescription_Proxy(
  611. IeXdiServer __RPC_FAR * This,
  612. /* [in] */ HRESULT ErrorCode,
  613. /* [out] */ LPOLESTR __RPC_FAR *pszErrorDesc);
  614. void __RPC_STUB IeXdiServer_GetErrorDescription_Stub(
  615. IRpcStubBuffer *This,
  616. IRpcChannelBuffer *_pRpcChannelBuffer,
  617. PRPC_MESSAGE _pRpcMessage,
  618. DWORD *_pdwStubPhase);
  619. HRESULT STDMETHODCALLTYPE IeXdiServer_SetWaitOnConcurentUse_Proxy(
  620. IeXdiServer __RPC_FAR * This,
  621. /* [in] */ BOOL fNewWaitOnConcurentUseFlag);
  622. void __RPC_STUB IeXdiServer_SetWaitOnConcurentUse_Stub(
  623. IRpcStubBuffer *This,
  624. IRpcChannelBuffer *_pRpcChannelBuffer,
  625. PRPC_MESSAGE _pRpcMessage,
  626. DWORD *_pdwStubPhase);
  627. HRESULT STDMETHODCALLTYPE IeXdiServer_GetRunStatus_Proxy(
  628. IeXdiServer __RPC_FAR * This,
  629. /* [out] */ PRUN_STATUS_TYPE persCurrent,
  630. /* [out] */ PHALT_REASON_TYPE pehrCurrent,
  631. /* [out] */ ADDRESS_TYPE __RPC_FAR *pCurrentExecAddress,
  632. /* [out] */ DWORD __RPC_FAR *pdwExceptionCode);
  633. void __RPC_STUB IeXdiServer_GetRunStatus_Stub(
  634. IRpcStubBuffer *This,
  635. IRpcChannelBuffer *_pRpcChannelBuffer,
  636. PRPC_MESSAGE _pRpcMessage,
  637. DWORD *_pdwStubPhase);
  638. HRESULT STDMETHODCALLTYPE IeXdiServer_GetLastException_Proxy(
  639. IeXdiServer __RPC_FAR * This,
  640. /* [out] */ PEXCEPTION_TYPE pexLast);
  641. void __RPC_STUB IeXdiServer_GetLastException_Stub(
  642. IRpcStubBuffer *This,
  643. IRpcChannelBuffer *_pRpcChannelBuffer,
  644. PRPC_MESSAGE _pRpcMessage,
  645. DWORD *_pdwStubPhase);
  646. HRESULT STDMETHODCALLTYPE IeXdiServer_Run_Proxy(
  647. IeXdiServer __RPC_FAR * This);
  648. void __RPC_STUB IeXdiServer_Run_Stub(
  649. IRpcStubBuffer *This,
  650. IRpcChannelBuffer *_pRpcChannelBuffer,
  651. PRPC_MESSAGE _pRpcMessage,
  652. DWORD *_pdwStubPhase);
  653. HRESULT STDMETHODCALLTYPE IeXdiServer_Halt_Proxy(
  654. IeXdiServer __RPC_FAR * This);
  655. void __RPC_STUB IeXdiServer_Halt_Stub(
  656. IRpcStubBuffer *This,
  657. IRpcChannelBuffer *_pRpcChannelBuffer,
  658. PRPC_MESSAGE _pRpcMessage,
  659. DWORD *_pdwStubPhase);
  660. HRESULT STDMETHODCALLTYPE IeXdiServer_DoSingleStep_Proxy(
  661. IeXdiServer __RPC_FAR * This);
  662. void __RPC_STUB IeXdiServer_DoSingleStep_Stub(
  663. IRpcStubBuffer *This,
  664. IRpcChannelBuffer *_pRpcChannelBuffer,
  665. PRPC_MESSAGE _pRpcMessage,
  666. DWORD *_pdwStubPhase);
  667. HRESULT STDMETHODCALLTYPE IeXdiServer_DoMultipleStep_Proxy(
  668. IeXdiServer __RPC_FAR * This,
  669. /* [in] */ DWORD dwNbInstructions);
  670. void __RPC_STUB IeXdiServer_DoMultipleStep_Stub(
  671. IRpcStubBuffer *This,
  672. IRpcChannelBuffer *_pRpcChannelBuffer,
  673. PRPC_MESSAGE _pRpcMessage,
  674. DWORD *_pdwStubPhase);
  675. HRESULT STDMETHODCALLTYPE IeXdiServer_DoRangeStep_Proxy(
  676. IeXdiServer __RPC_FAR * This,
  677. /* [in] */ ADDRESS_TYPE FirstAddress,
  678. /* [in] */ ADDRESS_TYPE LastAddress);
  679. void __RPC_STUB IeXdiServer_DoRangeStep_Stub(
  680. IRpcStubBuffer *This,
  681. IRpcChannelBuffer *_pRpcChannelBuffer,
  682. PRPC_MESSAGE _pRpcMessage,
  683. DWORD *_pdwStubPhase);
  684. HRESULT STDMETHODCALLTYPE IeXdiServer_Reboot_Proxy(
  685. IeXdiServer __RPC_FAR * This);
  686. void __RPC_STUB IeXdiServer_Reboot_Stub(
  687. IRpcStubBuffer *This,
  688. IRpcChannelBuffer *_pRpcChannelBuffer,
  689. PRPC_MESSAGE _pRpcMessage,
  690. DWORD *_pdwStubPhase);
  691. HRESULT STDMETHODCALLTYPE IeXdiServer_GetBpSupport_Proxy(
  692. IeXdiServer __RPC_FAR * This,
  693. /* [out] */ PBREAKPOINT_SUPPORT_TYPE pbps);
  694. void __RPC_STUB IeXdiServer_GetBpSupport_Stub(
  695. IRpcStubBuffer *This,
  696. IRpcChannelBuffer *_pRpcChannelBuffer,
  697. PRPC_MESSAGE _pRpcMessage,
  698. DWORD *_pdwStubPhase);
  699. HRESULT STDMETHODCALLTYPE IeXdiServer_GetNbCodeBpAvail_Proxy(
  700. IeXdiServer __RPC_FAR * This,
  701. /* [out] */ DWORD __RPC_FAR *pdwNbHwCodeBpAvail,
  702. /* [out] */ DWORD __RPC_FAR *pdwNbSwCodeBpAvail);
  703. void __RPC_STUB IeXdiServer_GetNbCodeBpAvail_Stub(
  704. IRpcStubBuffer *This,
  705. IRpcChannelBuffer *_pRpcChannelBuffer,
  706. PRPC_MESSAGE _pRpcMessage,
  707. DWORD *_pdwStubPhase);
  708. HRESULT STDMETHODCALLTYPE IeXdiServer_GetNbDataBpAvail_Proxy(
  709. IeXdiServer __RPC_FAR * This,
  710. /* [out] */ DWORD __RPC_FAR *pdwNbDataBpAvail);
  711. void __RPC_STUB IeXdiServer_GetNbDataBpAvail_Stub(
  712. IRpcStubBuffer *This,
  713. IRpcChannelBuffer *_pRpcChannelBuffer,
  714. PRPC_MESSAGE _pRpcMessage,
  715. DWORD *_pdwStubPhase);
  716. HRESULT STDMETHODCALLTYPE IeXdiServer_AddCodeBreakpoint_Proxy(
  717. IeXdiServer __RPC_FAR * This,
  718. /* [in] */ ADDRESS_TYPE Address,
  719. /* [in] */ CBP_KIND cbpk,
  720. /* [in] */ MEM_TYPE mt,
  721. /* [in] */ DWORD dwExecMode,
  722. /* [in] */ DWORD dwTotalBypassCount,
  723. /* [out] */ IeXdiCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiCodeBreakpoint);
  724. void __RPC_STUB IeXdiServer_AddCodeBreakpoint_Stub(
  725. IRpcStubBuffer *This,
  726. IRpcChannelBuffer *_pRpcChannelBuffer,
  727. PRPC_MESSAGE _pRpcMessage,
  728. DWORD *_pdwStubPhase);
  729. HRESULT STDMETHODCALLTYPE IeXdiServer_DelCodeBreakpoint_Proxy(
  730. IeXdiServer __RPC_FAR * This,
  731. /* [in] */ IeXdiCodeBreakpoint __RPC_FAR *pieXdiCodeBreakpoint);
  732. void __RPC_STUB IeXdiServer_DelCodeBreakpoint_Stub(
  733. IRpcStubBuffer *This,
  734. IRpcChannelBuffer *_pRpcChannelBuffer,
  735. PRPC_MESSAGE _pRpcMessage,
  736. DWORD *_pdwStubPhase);
  737. HRESULT STDMETHODCALLTYPE IeXdiServer_AddDataBreakpoint_Proxy(
  738. IeXdiServer __RPC_FAR * This,
  739. /* [in] */ ADDRESS_TYPE Address,
  740. /* [in] */ ADDRESS_TYPE AddressMask,
  741. /* [in] */ DWORD dwData,
  742. /* [in] */ DWORD dwDataMask,
  743. /* [in] */ BYTE bAccessWidth,
  744. /* [in] */ MEM_TYPE mt,
  745. /* [in] */ BYTE bAddressSpace,
  746. /* [in] */ DATA_ACCESS_TYPE da,
  747. /* [in] */ DWORD dwTotalBypassCount,
  748. /* [out] */ IeXdiDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiDataBreakpoint);
  749. void __RPC_STUB IeXdiServer_AddDataBreakpoint_Stub(
  750. IRpcStubBuffer *This,
  751. IRpcChannelBuffer *_pRpcChannelBuffer,
  752. PRPC_MESSAGE _pRpcMessage,
  753. DWORD *_pdwStubPhase);
  754. HRESULT STDMETHODCALLTYPE IeXdiServer_DelDataBreakpoint_Proxy(
  755. IeXdiServer __RPC_FAR * This,
  756. /* [in] */ IeXdiDataBreakpoint __RPC_FAR *pieXdiDataBreakpoint);
  757. void __RPC_STUB IeXdiServer_DelDataBreakpoint_Stub(
  758. IRpcStubBuffer *This,
  759. IRpcChannelBuffer *_pRpcChannelBuffer,
  760. PRPC_MESSAGE _pRpcMessage,
  761. DWORD *_pdwStubPhase);
  762. HRESULT STDMETHODCALLTYPE IeXdiServer_EnumAllCodeBreakpoints_Proxy(
  763. IeXdiServer __RPC_FAR * This,
  764. /* [out] */ IeXdiEnumCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumCodeBreakpoint);
  765. void __RPC_STUB IeXdiServer_EnumAllCodeBreakpoints_Stub(
  766. IRpcStubBuffer *This,
  767. IRpcChannelBuffer *_pRpcChannelBuffer,
  768. PRPC_MESSAGE _pRpcMessage,
  769. DWORD *_pdwStubPhase);
  770. HRESULT STDMETHODCALLTYPE IeXdiServer_EnumAllDataBreakpoints_Proxy(
  771. IeXdiServer __RPC_FAR * This,
  772. /* [out] */ IeXdiEnumDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumDataBreakpoint);
  773. void __RPC_STUB IeXdiServer_EnumAllDataBreakpoints_Stub(
  774. IRpcStubBuffer *This,
  775. IRpcChannelBuffer *_pRpcChannelBuffer,
  776. PRPC_MESSAGE _pRpcMessage,
  777. DWORD *_pdwStubPhase);
  778. HRESULT STDMETHODCALLTYPE IeXdiServer_EnumCodeBreakpointsInAddrRange_Proxy(
  779. IeXdiServer __RPC_FAR * This,
  780. /* [in] */ ADDRESS_TYPE FirstAddress,
  781. /* [in] */ ADDRESS_TYPE LastAddress,
  782. /* [out] */ IeXdiEnumCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumCodeBreakpoint);
  783. void __RPC_STUB IeXdiServer_EnumCodeBreakpointsInAddrRange_Stub(
  784. IRpcStubBuffer *This,
  785. IRpcChannelBuffer *_pRpcChannelBuffer,
  786. PRPC_MESSAGE _pRpcMessage,
  787. DWORD *_pdwStubPhase);
  788. HRESULT STDMETHODCALLTYPE IeXdiServer_EnumDataBreakpointsInAddrRange_Proxy(
  789. IeXdiServer __RPC_FAR * This,
  790. /* [in] */ ADDRESS_TYPE FirstAddress,
  791. /* [in] */ ADDRESS_TYPE LastAddress,
  792. /* [out] */ IeXdiEnumDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiEnumDataBreakpoint);
  793. void __RPC_STUB IeXdiServer_EnumDataBreakpointsInAddrRange_Stub(
  794. IRpcStubBuffer *This,
  795. IRpcChannelBuffer *_pRpcChannelBuffer,
  796. PRPC_MESSAGE _pRpcMessage,
  797. DWORD *_pdwStubPhase);
  798. HRESULT STDMETHODCALLTYPE IeXdiServer_StartNotifyingRunChg_Proxy(
  799. IeXdiServer __RPC_FAR * This,
  800. /* [in] */ IeXdiClientNotifyRunChg __RPC_FAR *pieXdiClientNotifyRunChg,
  801. /* [out] */ DWORD __RPC_FAR *pdwConnectionCookie);
  802. void __RPC_STUB IeXdiServer_StartNotifyingRunChg_Stub(
  803. IRpcStubBuffer *This,
  804. IRpcChannelBuffer *_pRpcChannelBuffer,
  805. PRPC_MESSAGE _pRpcMessage,
  806. DWORD *_pdwStubPhase);
  807. HRESULT STDMETHODCALLTYPE IeXdiServer_StopNotifyingRunChg_Proxy(
  808. IeXdiServer __RPC_FAR * This,
  809. /* [in] */ DWORD dwConnectionCookie);
  810. void __RPC_STUB IeXdiServer_StopNotifyingRunChg_Stub(
  811. IRpcStubBuffer *This,
  812. IRpcChannelBuffer *_pRpcChannelBuffer,
  813. PRPC_MESSAGE _pRpcMessage,
  814. DWORD *_pdwStubPhase);
  815. HRESULT STDMETHODCALLTYPE IeXdiServer_ReadVirtualMemory_Proxy(
  816. IeXdiServer __RPC_FAR * This,
  817. /* [in] */ ADDRESS_TYPE Address,
  818. /* [in] */ DWORD dwNbElemToRead,
  819. /* [in] */ BYTE bAccessWidth,
  820. /* [size_is][out] */ BYTE __RPC_FAR *pbReadBuffer,
  821. /* [out] */ DWORD __RPC_FAR *pdwNbElementEffectRead);
  822. void __RPC_STUB IeXdiServer_ReadVirtualMemory_Stub(
  823. IRpcStubBuffer *This,
  824. IRpcChannelBuffer *_pRpcChannelBuffer,
  825. PRPC_MESSAGE _pRpcMessage,
  826. DWORD *_pdwStubPhase);
  827. HRESULT STDMETHODCALLTYPE IeXdiServer_WriteVirtualMemory_Proxy(
  828. IeXdiServer __RPC_FAR * This,
  829. /* [in] */ ADDRESS_TYPE Address,
  830. /* [in] */ DWORD dwNbElemToWrite,
  831. /* [in] */ BYTE bAccessWidth,
  832. /* [size_is][in] */ const BYTE __RPC_FAR *pbWriteBuffer,
  833. /* [out] */ DWORD __RPC_FAR *pdwNbElementEffectWritten);
  834. void __RPC_STUB IeXdiServer_WriteVirtualMemory_Stub(
  835. IRpcStubBuffer *This,
  836. IRpcChannelBuffer *_pRpcChannelBuffer,
  837. PRPC_MESSAGE _pRpcMessage,
  838. DWORD *_pdwStubPhase);
  839. HRESULT STDMETHODCALLTYPE IeXdiServer_ReadPhysicalMemoryOrPeriphIO_Proxy(
  840. IeXdiServer __RPC_FAR * This,
  841. /* [in] */ ADDRESS_TYPE Address,
  842. /* [in] */ BYTE bAddressSpace,
  843. /* [in] */ DWORD dwNbElemToRead,
  844. /* [in] */ BYTE bAccessWidth,
  845. /* [size_is][out] */ BYTE __RPC_FAR *pbReadBuffer);
  846. void __RPC_STUB IeXdiServer_ReadPhysicalMemoryOrPeriphIO_Stub(
  847. IRpcStubBuffer *This,
  848. IRpcChannelBuffer *_pRpcChannelBuffer,
  849. PRPC_MESSAGE _pRpcMessage,
  850. DWORD *_pdwStubPhase);
  851. HRESULT STDMETHODCALLTYPE IeXdiServer_WritePhysicalMemoryOrPeriphIO_Proxy(
  852. IeXdiServer __RPC_FAR * This,
  853. /* [in] */ ADDRESS_TYPE Address,
  854. /* [in] */ BYTE bAddressSpace,
  855. /* [in] */ DWORD dwNbElemToWrite,
  856. /* [in] */ BYTE bAccessWidth,
  857. /* [size_is][in] */ const BYTE __RPC_FAR *pbWriteBuffer);
  858. void __RPC_STUB IeXdiServer_WritePhysicalMemoryOrPeriphIO_Stub(
  859. IRpcStubBuffer *This,
  860. IRpcChannelBuffer *_pRpcChannelBuffer,
  861. PRPC_MESSAGE _pRpcMessage,
  862. DWORD *_pdwStubPhase);
  863. HRESULT STDMETHODCALLTYPE IeXdiServer_StartNotifyingMemChg_Proxy(
  864. IeXdiServer __RPC_FAR * This,
  865. /* [in] */ IeXdiClientNotifyMemChg __RPC_FAR *pieXdiClientNotifyMemChg,
  866. /* [out] */ DWORD __RPC_FAR *pdwConnectionCookie);
  867. void __RPC_STUB IeXdiServer_StartNotifyingMemChg_Stub(
  868. IRpcStubBuffer *This,
  869. IRpcChannelBuffer *_pRpcChannelBuffer,
  870. PRPC_MESSAGE _pRpcMessage,
  871. DWORD *_pdwStubPhase);
  872. HRESULT STDMETHODCALLTYPE IeXdiServer_StopNotifyingMemChg_Proxy(
  873. IeXdiServer __RPC_FAR * This,
  874. /* [in] */ DWORD dwConnectionCookie);
  875. void __RPC_STUB IeXdiServer_StopNotifyingMemChg_Stub(
  876. IRpcStubBuffer *This,
  877. IRpcChannelBuffer *_pRpcChannelBuffer,
  878. PRPC_MESSAGE _pRpcMessage,
  879. DWORD *_pdwStubPhase);
  880. HRESULT STDMETHODCALLTYPE IeXdiServer_Ioctl_Proxy(
  881. IeXdiServer __RPC_FAR * This,
  882. /* [in] */ DWORD dwBuffInSize,
  883. /* [size_is][in] */ const BYTE __RPC_FAR *pbBufferIn,
  884. /* [in] */ DWORD dwBuffOutSize,
  885. /* [out] */ DWORD __RPC_FAR *pdwEffectBuffOutSize,
  886. /* [length_is][size_is][out] */ BYTE __RPC_FAR *pbBufferOut);
  887. void __RPC_STUB IeXdiServer_Ioctl_Stub(
  888. IRpcStubBuffer *This,
  889. IRpcChannelBuffer *_pRpcChannelBuffer,
  890. PRPC_MESSAGE _pRpcMessage,
  891. DWORD *_pdwStubPhase);
  892. #endif /* __IeXdiServer_INTERFACE_DEFINED__ */
  893. #ifndef __IeXdiCodeBreakpoint_INTERFACE_DEFINED__
  894. #define __IeXdiCodeBreakpoint_INTERFACE_DEFINED__
  895. /* interface IeXdiCodeBreakpoint */
  896. /* [ref][helpstring][uuid][object] */
  897. EXTERN_C const IID IID_IeXdiCodeBreakpoint;
  898. #if defined(__cplusplus) && !defined(CINTERFACE)
  899. MIDL_INTERFACE("47486F67-6461-6C65-5844-495342507401")
  900. IeXdiCodeBreakpoint : public IUnknown
  901. {
  902. public:
  903. virtual HRESULT STDMETHODCALLTYPE GetAttributes(
  904. /* [out] */ PADDRESS_TYPE pAddress,
  905. /* [out] */ PCBP_KIND pcbpk,
  906. /* [out] */ PMEM_TYPE pmt,
  907. /* [out] */ DWORD __RPC_FAR *pdwExecMode,
  908. /* [out] */ DWORD __RPC_FAR *pdwTotalBypassCount,
  909. /* [out] */ DWORD __RPC_FAR *pdwBypassedOccurences,
  910. /* [out] */ BOOL __RPC_FAR *pfEnabled) = 0;
  911. virtual HRESULT STDMETHODCALLTYPE SetState(
  912. /* [in] */ BOOL fEnabled,
  913. /* [in] */ BOOL fResetBypassedOccurences) = 0;
  914. };
  915. #else /* C style interface */
  916. typedef struct IeXdiCodeBreakpointVtbl
  917. {
  918. BEGIN_INTERFACE
  919. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  920. IeXdiCodeBreakpoint __RPC_FAR * This,
  921. /* [in] */ REFIID riid,
  922. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  923. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  924. IeXdiCodeBreakpoint __RPC_FAR * This);
  925. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  926. IeXdiCodeBreakpoint __RPC_FAR * This);
  927. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributes )(
  928. IeXdiCodeBreakpoint __RPC_FAR * This,
  929. /* [out] */ PADDRESS_TYPE pAddress,
  930. /* [out] */ PCBP_KIND pcbpk,
  931. /* [out] */ PMEM_TYPE pmt,
  932. /* [out] */ DWORD __RPC_FAR *pdwExecMode,
  933. /* [out] */ DWORD __RPC_FAR *pdwTotalBypassCount,
  934. /* [out] */ DWORD __RPC_FAR *pdwBypassedOccurences,
  935. /* [out] */ BOOL __RPC_FAR *pfEnabled);
  936. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetState )(
  937. IeXdiCodeBreakpoint __RPC_FAR * This,
  938. /* [in] */ BOOL fEnabled,
  939. /* [in] */ BOOL fResetBypassedOccurences);
  940. END_INTERFACE
  941. } IeXdiCodeBreakpointVtbl;
  942. interface IeXdiCodeBreakpoint
  943. {
  944. CONST_VTBL struct IeXdiCodeBreakpointVtbl __RPC_FAR *lpVtbl;
  945. };
  946. #ifdef COBJMACROS
  947. #define IeXdiCodeBreakpoint_QueryInterface(This,riid,ppvObject) \
  948. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  949. #define IeXdiCodeBreakpoint_AddRef(This) \
  950. (This)->lpVtbl -> AddRef(This)
  951. #define IeXdiCodeBreakpoint_Release(This) \
  952. (This)->lpVtbl -> Release(This)
  953. #define IeXdiCodeBreakpoint_GetAttributes(This,pAddress,pcbpk,pmt,pdwExecMode,pdwTotalBypassCount,pdwBypassedOccurences,pfEnabled) \
  954. (This)->lpVtbl -> GetAttributes(This,pAddress,pcbpk,pmt,pdwExecMode,pdwTotalBypassCount,pdwBypassedOccurences,pfEnabled)
  955. #define IeXdiCodeBreakpoint_SetState(This,fEnabled,fResetBypassedOccurences) \
  956. (This)->lpVtbl -> SetState(This,fEnabled,fResetBypassedOccurences)
  957. #endif /* COBJMACROS */
  958. #endif /* C style interface */
  959. HRESULT STDMETHODCALLTYPE IeXdiCodeBreakpoint_GetAttributes_Proxy(
  960. IeXdiCodeBreakpoint __RPC_FAR * This,
  961. /* [out] */ PADDRESS_TYPE pAddress,
  962. /* [out] */ PCBP_KIND pcbpk,
  963. /* [out] */ PMEM_TYPE pmt,
  964. /* [out] */ DWORD __RPC_FAR *pdwExecMode,
  965. /* [out] */ DWORD __RPC_FAR *pdwTotalBypassCount,
  966. /* [out] */ DWORD __RPC_FAR *pdwBypassedOccurences,
  967. /* [out] */ BOOL __RPC_FAR *pfEnabled);
  968. void __RPC_STUB IeXdiCodeBreakpoint_GetAttributes_Stub(
  969. IRpcStubBuffer *This,
  970. IRpcChannelBuffer *_pRpcChannelBuffer,
  971. PRPC_MESSAGE _pRpcMessage,
  972. DWORD *_pdwStubPhase);
  973. HRESULT STDMETHODCALLTYPE IeXdiCodeBreakpoint_SetState_Proxy(
  974. IeXdiCodeBreakpoint __RPC_FAR * This,
  975. /* [in] */ BOOL fEnabled,
  976. /* [in] */ BOOL fResetBypassedOccurences);
  977. void __RPC_STUB IeXdiCodeBreakpoint_SetState_Stub(
  978. IRpcStubBuffer *This,
  979. IRpcChannelBuffer *_pRpcChannelBuffer,
  980. PRPC_MESSAGE _pRpcMessage,
  981. DWORD *_pdwStubPhase);
  982. #endif /* __IeXdiCodeBreakpoint_INTERFACE_DEFINED__ */
  983. #ifndef __IeXdiDataBreakpoint_INTERFACE_DEFINED__
  984. #define __IeXdiDataBreakpoint_INTERFACE_DEFINED__
  985. /* interface IeXdiDataBreakpoint */
  986. /* [ref][helpstring][uuid][object] */
  987. EXTERN_C const IID IID_IeXdiDataBreakpoint;
  988. #if defined(__cplusplus) && !defined(CINTERFACE)
  989. MIDL_INTERFACE("47486F67-6461-6C65-5844-495357507400")
  990. IeXdiDataBreakpoint : public IUnknown
  991. {
  992. public:
  993. virtual HRESULT STDMETHODCALLTYPE GetAttributes(
  994. /* [out] */ PADDRESS_TYPE pAddress,
  995. /* [out] */ PADDRESS_TYPE pAddressMask,
  996. /* [out] */ DWORD __RPC_FAR *pdwData,
  997. /* [out] */ DWORD __RPC_FAR *pdwDataMask,
  998. /* [out] */ BYTE __RPC_FAR *pbAccessWidth,
  999. /* [out] */ PMEM_TYPE pmt,
  1000. /* [out] */ BYTE __RPC_FAR *pbAddressSpace,
  1001. /* [out] */ PDATA_ACCESS_TYPE pda,
  1002. /* [out] */ DWORD __RPC_FAR *pdwTotalBypassCount,
  1003. /* [out] */ DWORD __RPC_FAR *pdwBypassedOccurences,
  1004. /* [out] */ BOOL __RPC_FAR *pfEnabled) = 0;
  1005. virtual HRESULT STDMETHODCALLTYPE SetState(
  1006. /* [in] */ BOOL fEnabled,
  1007. /* [in] */ BOOL fResetBypassedOccurences) = 0;
  1008. };
  1009. #else /* C style interface */
  1010. typedef struct IeXdiDataBreakpointVtbl
  1011. {
  1012. BEGIN_INTERFACE
  1013. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1014. IeXdiDataBreakpoint __RPC_FAR * This,
  1015. /* [in] */ REFIID riid,
  1016. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1017. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1018. IeXdiDataBreakpoint __RPC_FAR * This);
  1019. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1020. IeXdiDataBreakpoint __RPC_FAR * This);
  1021. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributes )(
  1022. IeXdiDataBreakpoint __RPC_FAR * This,
  1023. /* [out] */ PADDRESS_TYPE pAddress,
  1024. /* [out] */ PADDRESS_TYPE pAddressMask,
  1025. /* [out] */ DWORD __RPC_FAR *pdwData,
  1026. /* [out] */ DWORD __RPC_FAR *pdwDataMask,
  1027. /* [out] */ BYTE __RPC_FAR *pbAccessWidth,
  1028. /* [out] */ PMEM_TYPE pmt,
  1029. /* [out] */ BYTE __RPC_FAR *pbAddressSpace,
  1030. /* [out] */ PDATA_ACCESS_TYPE pda,
  1031. /* [out] */ DWORD __RPC_FAR *pdwTotalBypassCount,
  1032. /* [out] */ DWORD __RPC_FAR *pdwBypassedOccurences,
  1033. /* [out] */ BOOL __RPC_FAR *pfEnabled);
  1034. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetState )(
  1035. IeXdiDataBreakpoint __RPC_FAR * This,
  1036. /* [in] */ BOOL fEnabled,
  1037. /* [in] */ BOOL fResetBypassedOccurences);
  1038. END_INTERFACE
  1039. } IeXdiDataBreakpointVtbl;
  1040. interface IeXdiDataBreakpoint
  1041. {
  1042. CONST_VTBL struct IeXdiDataBreakpointVtbl __RPC_FAR *lpVtbl;
  1043. };
  1044. #ifdef COBJMACROS
  1045. #define IeXdiDataBreakpoint_QueryInterface(This,riid,ppvObject) \
  1046. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1047. #define IeXdiDataBreakpoint_AddRef(This) \
  1048. (This)->lpVtbl -> AddRef(This)
  1049. #define IeXdiDataBreakpoint_Release(This) \
  1050. (This)->lpVtbl -> Release(This)
  1051. #define IeXdiDataBreakpoint_GetAttributes(This,pAddress,pAddressMask,pdwData,pdwDataMask,pbAccessWidth,pmt,pbAddressSpace,pda,pdwTotalBypassCount,pdwBypassedOccurences,pfEnabled) \
  1052. (This)->lpVtbl -> GetAttributes(This,pAddress,pAddressMask,pdwData,pdwDataMask,pbAccessWidth,pmt,pbAddressSpace,pda,pdwTotalBypassCount,pdwBypassedOccurences,pfEnabled)
  1053. #define IeXdiDataBreakpoint_SetState(This,fEnabled,fResetBypassedOccurences) \
  1054. (This)->lpVtbl -> SetState(This,fEnabled,fResetBypassedOccurences)
  1055. #endif /* COBJMACROS */
  1056. #endif /* C style interface */
  1057. HRESULT STDMETHODCALLTYPE IeXdiDataBreakpoint_GetAttributes_Proxy(
  1058. IeXdiDataBreakpoint __RPC_FAR * This,
  1059. /* [out] */ PADDRESS_TYPE pAddress,
  1060. /* [out] */ PADDRESS_TYPE pAddressMask,
  1061. /* [out] */ DWORD __RPC_FAR *pdwData,
  1062. /* [out] */ DWORD __RPC_FAR *pdwDataMask,
  1063. /* [out] */ BYTE __RPC_FAR *pbAccessWidth,
  1064. /* [out] */ PMEM_TYPE pmt,
  1065. /* [out] */ BYTE __RPC_FAR *pbAddressSpace,
  1066. /* [out] */ PDATA_ACCESS_TYPE pda,
  1067. /* [out] */ DWORD __RPC_FAR *pdwTotalBypassCount,
  1068. /* [out] */ DWORD __RPC_FAR *pdwBypassedOccurences,
  1069. /* [out] */ BOOL __RPC_FAR *pfEnabled);
  1070. void __RPC_STUB IeXdiDataBreakpoint_GetAttributes_Stub(
  1071. IRpcStubBuffer *This,
  1072. IRpcChannelBuffer *_pRpcChannelBuffer,
  1073. PRPC_MESSAGE _pRpcMessage,
  1074. DWORD *_pdwStubPhase);
  1075. HRESULT STDMETHODCALLTYPE IeXdiDataBreakpoint_SetState_Proxy(
  1076. IeXdiDataBreakpoint __RPC_FAR * This,
  1077. /* [in] */ BOOL fEnabled,
  1078. /* [in] */ BOOL fResetBypassedOccurences);
  1079. void __RPC_STUB IeXdiDataBreakpoint_SetState_Stub(
  1080. IRpcStubBuffer *This,
  1081. IRpcChannelBuffer *_pRpcChannelBuffer,
  1082. PRPC_MESSAGE _pRpcMessage,
  1083. DWORD *_pdwStubPhase);
  1084. #endif /* __IeXdiDataBreakpoint_INTERFACE_DEFINED__ */
  1085. #ifndef __IeXdiEnumCodeBreakpoint_INTERFACE_DEFINED__
  1086. #define __IeXdiEnumCodeBreakpoint_INTERFACE_DEFINED__
  1087. /* interface IeXdiEnumCodeBreakpoint */
  1088. /* [ref][helpstring][uuid][object] */
  1089. EXTERN_C const IID IID_IeXdiEnumCodeBreakpoint;
  1090. #if defined(__cplusplus) && !defined(CINTERFACE)
  1091. MIDL_INTERFACE("47486F67-6461-6C65-5844-495345425074")
  1092. IeXdiEnumCodeBreakpoint : public IUnknown
  1093. {
  1094. public:
  1095. virtual HRESULT STDMETHODCALLTYPE Next(
  1096. /* [in] */ DWORD celt,
  1097. /* [length_is][size_is][out] */ IeXdiCodeBreakpoint __RPC_FAR *__RPC_FAR apieXdiCodeBreakpoint[ ],
  1098. /* [out] */ DWORD __RPC_FAR *pceltFetched) = 0;
  1099. virtual HRESULT STDMETHODCALLTYPE Skip(
  1100. /* [in] */ DWORD celt) = 0;
  1101. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1102. virtual HRESULT STDMETHODCALLTYPE GetCount(
  1103. /* [out] */ DWORD __RPC_FAR *pcelt) = 0;
  1104. virtual HRESULT STDMETHODCALLTYPE GetNext(
  1105. /* [out] */ IeXdiCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiCodeBreakpoint) = 0;
  1106. virtual HRESULT STDMETHODCALLTYPE DisableAll( void) = 0;
  1107. virtual HRESULT STDMETHODCALLTYPE EnableAll( void) = 0;
  1108. };
  1109. #else /* C style interface */
  1110. typedef struct IeXdiEnumCodeBreakpointVtbl
  1111. {
  1112. BEGIN_INTERFACE
  1113. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1114. IeXdiEnumCodeBreakpoint __RPC_FAR * This,
  1115. /* [in] */ REFIID riid,
  1116. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1117. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1118. IeXdiEnumCodeBreakpoint __RPC_FAR * This);
  1119. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1120. IeXdiEnumCodeBreakpoint __RPC_FAR * This);
  1121. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  1122. IeXdiEnumCodeBreakpoint __RPC_FAR * This,
  1123. /* [in] */ DWORD celt,
  1124. /* [length_is][size_is][out] */ IeXdiCodeBreakpoint __RPC_FAR *__RPC_FAR apieXdiCodeBreakpoint[ ],
  1125. /* [out] */ DWORD __RPC_FAR *pceltFetched);
  1126. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  1127. IeXdiEnumCodeBreakpoint __RPC_FAR * This,
  1128. /* [in] */ DWORD celt);
  1129. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  1130. IeXdiEnumCodeBreakpoint __RPC_FAR * This);
  1131. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCount )(
  1132. IeXdiEnumCodeBreakpoint __RPC_FAR * This,
  1133. /* [out] */ DWORD __RPC_FAR *pcelt);
  1134. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNext )(
  1135. IeXdiEnumCodeBreakpoint __RPC_FAR * This,
  1136. /* [out] */ IeXdiCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiCodeBreakpoint);
  1137. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DisableAll )(
  1138. IeXdiEnumCodeBreakpoint __RPC_FAR * This);
  1139. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableAll )(
  1140. IeXdiEnumCodeBreakpoint __RPC_FAR * This);
  1141. END_INTERFACE
  1142. } IeXdiEnumCodeBreakpointVtbl;
  1143. interface IeXdiEnumCodeBreakpoint
  1144. {
  1145. CONST_VTBL struct IeXdiEnumCodeBreakpointVtbl __RPC_FAR *lpVtbl;
  1146. };
  1147. #ifdef COBJMACROS
  1148. #define IeXdiEnumCodeBreakpoint_QueryInterface(This,riid,ppvObject) \
  1149. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1150. #define IeXdiEnumCodeBreakpoint_AddRef(This) \
  1151. (This)->lpVtbl -> AddRef(This)
  1152. #define IeXdiEnumCodeBreakpoint_Release(This) \
  1153. (This)->lpVtbl -> Release(This)
  1154. #define IeXdiEnumCodeBreakpoint_Next(This,celt,apieXdiCodeBreakpoint,pceltFetched) \
  1155. (This)->lpVtbl -> Next(This,celt,apieXdiCodeBreakpoint,pceltFetched)
  1156. #define IeXdiEnumCodeBreakpoint_Skip(This,celt) \
  1157. (This)->lpVtbl -> Skip(This,celt)
  1158. #define IeXdiEnumCodeBreakpoint_Reset(This) \
  1159. (This)->lpVtbl -> Reset(This)
  1160. #define IeXdiEnumCodeBreakpoint_GetCount(This,pcelt) \
  1161. (This)->lpVtbl -> GetCount(This,pcelt)
  1162. #define IeXdiEnumCodeBreakpoint_GetNext(This,ppieXdiCodeBreakpoint) \
  1163. (This)->lpVtbl -> GetNext(This,ppieXdiCodeBreakpoint)
  1164. #define IeXdiEnumCodeBreakpoint_DisableAll(This) \
  1165. (This)->lpVtbl -> DisableAll(This)
  1166. #define IeXdiEnumCodeBreakpoint_EnableAll(This) \
  1167. (This)->lpVtbl -> EnableAll(This)
  1168. #endif /* COBJMACROS */
  1169. #endif /* C style interface */
  1170. HRESULT STDMETHODCALLTYPE IeXdiEnumCodeBreakpoint_Next_Proxy(
  1171. IeXdiEnumCodeBreakpoint __RPC_FAR * This,
  1172. /* [in] */ DWORD celt,
  1173. /* [length_is][size_is][out] */ IeXdiCodeBreakpoint __RPC_FAR *__RPC_FAR apieXdiCodeBreakpoint[ ],
  1174. /* [out] */ DWORD __RPC_FAR *pceltFetched);
  1175. void __RPC_STUB IeXdiEnumCodeBreakpoint_Next_Stub(
  1176. IRpcStubBuffer *This,
  1177. IRpcChannelBuffer *_pRpcChannelBuffer,
  1178. PRPC_MESSAGE _pRpcMessage,
  1179. DWORD *_pdwStubPhase);
  1180. HRESULT STDMETHODCALLTYPE IeXdiEnumCodeBreakpoint_Skip_Proxy(
  1181. IeXdiEnumCodeBreakpoint __RPC_FAR * This,
  1182. /* [in] */ DWORD celt);
  1183. void __RPC_STUB IeXdiEnumCodeBreakpoint_Skip_Stub(
  1184. IRpcStubBuffer *This,
  1185. IRpcChannelBuffer *_pRpcChannelBuffer,
  1186. PRPC_MESSAGE _pRpcMessage,
  1187. DWORD *_pdwStubPhase);
  1188. HRESULT STDMETHODCALLTYPE IeXdiEnumCodeBreakpoint_Reset_Proxy(
  1189. IeXdiEnumCodeBreakpoint __RPC_FAR * This);
  1190. void __RPC_STUB IeXdiEnumCodeBreakpoint_Reset_Stub(
  1191. IRpcStubBuffer *This,
  1192. IRpcChannelBuffer *_pRpcChannelBuffer,
  1193. PRPC_MESSAGE _pRpcMessage,
  1194. DWORD *_pdwStubPhase);
  1195. HRESULT STDMETHODCALLTYPE IeXdiEnumCodeBreakpoint_GetCount_Proxy(
  1196. IeXdiEnumCodeBreakpoint __RPC_FAR * This,
  1197. /* [out] */ DWORD __RPC_FAR *pcelt);
  1198. void __RPC_STUB IeXdiEnumCodeBreakpoint_GetCount_Stub(
  1199. IRpcStubBuffer *This,
  1200. IRpcChannelBuffer *_pRpcChannelBuffer,
  1201. PRPC_MESSAGE _pRpcMessage,
  1202. DWORD *_pdwStubPhase);
  1203. HRESULT STDMETHODCALLTYPE IeXdiEnumCodeBreakpoint_GetNext_Proxy(
  1204. IeXdiEnumCodeBreakpoint __RPC_FAR * This,
  1205. /* [out] */ IeXdiCodeBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiCodeBreakpoint);
  1206. void __RPC_STUB IeXdiEnumCodeBreakpoint_GetNext_Stub(
  1207. IRpcStubBuffer *This,
  1208. IRpcChannelBuffer *_pRpcChannelBuffer,
  1209. PRPC_MESSAGE _pRpcMessage,
  1210. DWORD *_pdwStubPhase);
  1211. HRESULT STDMETHODCALLTYPE IeXdiEnumCodeBreakpoint_DisableAll_Proxy(
  1212. IeXdiEnumCodeBreakpoint __RPC_FAR * This);
  1213. void __RPC_STUB IeXdiEnumCodeBreakpoint_DisableAll_Stub(
  1214. IRpcStubBuffer *This,
  1215. IRpcChannelBuffer *_pRpcChannelBuffer,
  1216. PRPC_MESSAGE _pRpcMessage,
  1217. DWORD *_pdwStubPhase);
  1218. HRESULT STDMETHODCALLTYPE IeXdiEnumCodeBreakpoint_EnableAll_Proxy(
  1219. IeXdiEnumCodeBreakpoint __RPC_FAR * This);
  1220. void __RPC_STUB IeXdiEnumCodeBreakpoint_EnableAll_Stub(
  1221. IRpcStubBuffer *This,
  1222. IRpcChannelBuffer *_pRpcChannelBuffer,
  1223. PRPC_MESSAGE _pRpcMessage,
  1224. DWORD *_pdwStubPhase);
  1225. #endif /* __IeXdiEnumCodeBreakpoint_INTERFACE_DEFINED__ */
  1226. #ifndef __IeXdiEnumDataBreakpoint_INTERFACE_DEFINED__
  1227. #define __IeXdiEnumDataBreakpoint_INTERFACE_DEFINED__
  1228. /* interface IeXdiEnumDataBreakpoint */
  1229. /* [ref][helpstring][uuid][object] */
  1230. EXTERN_C const IID IID_IeXdiEnumDataBreakpoint;
  1231. #if defined(__cplusplus) && !defined(CINTERFACE)
  1232. MIDL_INTERFACE("47486F67-6461-6C65-5844-495345575074")
  1233. IeXdiEnumDataBreakpoint : public IUnknown
  1234. {
  1235. public:
  1236. virtual HRESULT STDMETHODCALLTYPE Next(
  1237. /* [in] */ DWORD celt,
  1238. /* [length_is][size_is][out] */ IeXdiDataBreakpoint __RPC_FAR *__RPC_FAR apieXdiDataBreakpoint[ ],
  1239. /* [out] */ DWORD __RPC_FAR *pceltFetched) = 0;
  1240. virtual HRESULT STDMETHODCALLTYPE Skip(
  1241. /* [in] */ DWORD celt) = 0;
  1242. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1243. virtual HRESULT STDMETHODCALLTYPE GetCount(
  1244. /* [out] */ DWORD __RPC_FAR *pcelt) = 0;
  1245. virtual HRESULT STDMETHODCALLTYPE GetNext(
  1246. /* [out] */ IeXdiDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiDataBreakpoint) = 0;
  1247. virtual HRESULT STDMETHODCALLTYPE DisableAll( void) = 0;
  1248. virtual HRESULT STDMETHODCALLTYPE EnableAll( void) = 0;
  1249. };
  1250. #else /* C style interface */
  1251. typedef struct IeXdiEnumDataBreakpointVtbl
  1252. {
  1253. BEGIN_INTERFACE
  1254. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1255. IeXdiEnumDataBreakpoint __RPC_FAR * This,
  1256. /* [in] */ REFIID riid,
  1257. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1258. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1259. IeXdiEnumDataBreakpoint __RPC_FAR * This);
  1260. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1261. IeXdiEnumDataBreakpoint __RPC_FAR * This);
  1262. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  1263. IeXdiEnumDataBreakpoint __RPC_FAR * This,
  1264. /* [in] */ DWORD celt,
  1265. /* [length_is][size_is][out] */ IeXdiDataBreakpoint __RPC_FAR *__RPC_FAR apieXdiDataBreakpoint[ ],
  1266. /* [out] */ DWORD __RPC_FAR *pceltFetched);
  1267. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  1268. IeXdiEnumDataBreakpoint __RPC_FAR * This,
  1269. /* [in] */ DWORD celt);
  1270. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  1271. IeXdiEnumDataBreakpoint __RPC_FAR * This);
  1272. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCount )(
  1273. IeXdiEnumDataBreakpoint __RPC_FAR * This,
  1274. /* [out] */ DWORD __RPC_FAR *pcelt);
  1275. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNext )(
  1276. IeXdiEnumDataBreakpoint __RPC_FAR * This,
  1277. /* [out] */ IeXdiDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiDataBreakpoint);
  1278. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DisableAll )(
  1279. IeXdiEnumDataBreakpoint __RPC_FAR * This);
  1280. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableAll )(
  1281. IeXdiEnumDataBreakpoint __RPC_FAR * This);
  1282. END_INTERFACE
  1283. } IeXdiEnumDataBreakpointVtbl;
  1284. interface IeXdiEnumDataBreakpoint
  1285. {
  1286. CONST_VTBL struct IeXdiEnumDataBreakpointVtbl __RPC_FAR *lpVtbl;
  1287. };
  1288. #ifdef COBJMACROS
  1289. #define IeXdiEnumDataBreakpoint_QueryInterface(This,riid,ppvObject) \
  1290. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1291. #define IeXdiEnumDataBreakpoint_AddRef(This) \
  1292. (This)->lpVtbl -> AddRef(This)
  1293. #define IeXdiEnumDataBreakpoint_Release(This) \
  1294. (This)->lpVtbl -> Release(This)
  1295. #define IeXdiEnumDataBreakpoint_Next(This,celt,apieXdiDataBreakpoint,pceltFetched) \
  1296. (This)->lpVtbl -> Next(This,celt,apieXdiDataBreakpoint,pceltFetched)
  1297. #define IeXdiEnumDataBreakpoint_Skip(This,celt) \
  1298. (This)->lpVtbl -> Skip(This,celt)
  1299. #define IeXdiEnumDataBreakpoint_Reset(This) \
  1300. (This)->lpVtbl -> Reset(This)
  1301. #define IeXdiEnumDataBreakpoint_GetCount(This,pcelt) \
  1302. (This)->lpVtbl -> GetCount(This,pcelt)
  1303. #define IeXdiEnumDataBreakpoint_GetNext(This,ppieXdiDataBreakpoint) \
  1304. (This)->lpVtbl -> GetNext(This,ppieXdiDataBreakpoint)
  1305. #define IeXdiEnumDataBreakpoint_DisableAll(This) \
  1306. (This)->lpVtbl -> DisableAll(This)
  1307. #define IeXdiEnumDataBreakpoint_EnableAll(This) \
  1308. (This)->lpVtbl -> EnableAll(This)
  1309. #endif /* COBJMACROS */
  1310. #endif /* C style interface */
  1311. HRESULT STDMETHODCALLTYPE IeXdiEnumDataBreakpoint_Next_Proxy(
  1312. IeXdiEnumDataBreakpoint __RPC_FAR * This,
  1313. /* [in] */ DWORD celt,
  1314. /* [length_is][size_is][out] */ IeXdiDataBreakpoint __RPC_FAR *__RPC_FAR apieXdiDataBreakpoint[ ],
  1315. /* [out] */ DWORD __RPC_FAR *pceltFetched);
  1316. void __RPC_STUB IeXdiEnumDataBreakpoint_Next_Stub(
  1317. IRpcStubBuffer *This,
  1318. IRpcChannelBuffer *_pRpcChannelBuffer,
  1319. PRPC_MESSAGE _pRpcMessage,
  1320. DWORD *_pdwStubPhase);
  1321. HRESULT STDMETHODCALLTYPE IeXdiEnumDataBreakpoint_Skip_Proxy(
  1322. IeXdiEnumDataBreakpoint __RPC_FAR * This,
  1323. /* [in] */ DWORD celt);
  1324. void __RPC_STUB IeXdiEnumDataBreakpoint_Skip_Stub(
  1325. IRpcStubBuffer *This,
  1326. IRpcChannelBuffer *_pRpcChannelBuffer,
  1327. PRPC_MESSAGE _pRpcMessage,
  1328. DWORD *_pdwStubPhase);
  1329. HRESULT STDMETHODCALLTYPE IeXdiEnumDataBreakpoint_Reset_Proxy(
  1330. IeXdiEnumDataBreakpoint __RPC_FAR * This);
  1331. void __RPC_STUB IeXdiEnumDataBreakpoint_Reset_Stub(
  1332. IRpcStubBuffer *This,
  1333. IRpcChannelBuffer *_pRpcChannelBuffer,
  1334. PRPC_MESSAGE _pRpcMessage,
  1335. DWORD *_pdwStubPhase);
  1336. HRESULT STDMETHODCALLTYPE IeXdiEnumDataBreakpoint_GetCount_Proxy(
  1337. IeXdiEnumDataBreakpoint __RPC_FAR * This,
  1338. /* [out] */ DWORD __RPC_FAR *pcelt);
  1339. void __RPC_STUB IeXdiEnumDataBreakpoint_GetCount_Stub(
  1340. IRpcStubBuffer *This,
  1341. IRpcChannelBuffer *_pRpcChannelBuffer,
  1342. PRPC_MESSAGE _pRpcMessage,
  1343. DWORD *_pdwStubPhase);
  1344. HRESULT STDMETHODCALLTYPE IeXdiEnumDataBreakpoint_GetNext_Proxy(
  1345. IeXdiEnumDataBreakpoint __RPC_FAR * This,
  1346. /* [out] */ IeXdiDataBreakpoint __RPC_FAR *__RPC_FAR *ppieXdiDataBreakpoint);
  1347. void __RPC_STUB IeXdiEnumDataBreakpoint_GetNext_Stub(
  1348. IRpcStubBuffer *This,
  1349. IRpcChannelBuffer *_pRpcChannelBuffer,
  1350. PRPC_MESSAGE _pRpcMessage,
  1351. DWORD *_pdwStubPhase);
  1352. HRESULT STDMETHODCALLTYPE IeXdiEnumDataBreakpoint_DisableAll_Proxy(
  1353. IeXdiEnumDataBreakpoint __RPC_FAR * This);
  1354. void __RPC_STUB IeXdiEnumDataBreakpoint_DisableAll_Stub(
  1355. IRpcStubBuffer *This,
  1356. IRpcChannelBuffer *_pRpcChannelBuffer,
  1357. PRPC_MESSAGE _pRpcMessage,
  1358. DWORD *_pdwStubPhase);
  1359. HRESULT STDMETHODCALLTYPE IeXdiEnumDataBreakpoint_EnableAll_Proxy(
  1360. IeXdiEnumDataBreakpoint __RPC_FAR * This);
  1361. void __RPC_STUB IeXdiEnumDataBreakpoint_EnableAll_Stub(
  1362. IRpcStubBuffer *This,
  1363. IRpcChannelBuffer *_pRpcChannelBuffer,
  1364. PRPC_MESSAGE _pRpcMessage,
  1365. DWORD *_pdwStubPhase);
  1366. #endif /* __IeXdiEnumDataBreakpoint_INTERFACE_DEFINED__ */
  1367. /* interface __MIDL_itf_exdi_0250 */
  1368. /* [local] */
  1369. #define SIZE_OF_80387_REGISTERS_IN_BYTES ( 80 )
  1370. typedef struct _CONTEXT_X86
  1371. {
  1372. struct
  1373. {
  1374. BOOL fSegmentRegs;
  1375. BOOL fControlRegs;
  1376. BOOL fIntegerRegs;
  1377. BOOL fFloatingPointRegs;
  1378. BOOL fDebugRegs;
  1379. } RegGroupSelection;
  1380. DWORD SegCs;
  1381. DWORD SegSs;
  1382. DWORD SegGs;
  1383. DWORD SegFs;
  1384. DWORD SegEs;
  1385. DWORD SegDs;
  1386. DWORD EFlags;
  1387. DWORD Ebp;
  1388. DWORD Eip;
  1389. DWORD Esp;
  1390. DWORD Eax;
  1391. DWORD Ebx;
  1392. DWORD Ecx;
  1393. DWORD Edx;
  1394. DWORD Esi;
  1395. DWORD Edi;
  1396. DWORD ControlWord;
  1397. DWORD StatusWord;
  1398. DWORD TagWord;
  1399. DWORD ErrorOffset;
  1400. DWORD ErrorSelector;
  1401. DWORD DataOffset;
  1402. DWORD DataSelector;
  1403. BYTE RegisterArea[ 80 ];
  1404. DWORD Cr0NpxState;
  1405. DWORD Dr0;
  1406. DWORD Dr1;
  1407. DWORD Dr2;
  1408. DWORD Dr3;
  1409. DWORD Dr6;
  1410. DWORD Dr7;
  1411. } CONTEXT_X86;
  1412. typedef struct _CONTEXT_X86 __RPC_FAR *PCONTEXT_X86;
  1413. extern RPC_IF_HANDLE __MIDL_itf_exdi_0250_v0_0_c_ifspec;
  1414. extern RPC_IF_HANDLE __MIDL_itf_exdi_0250_v0_0_s_ifspec;
  1415. #ifndef __IeXdiX86Context_INTERFACE_DEFINED__
  1416. #define __IeXdiX86Context_INTERFACE_DEFINED__
  1417. /* interface IeXdiX86Context */
  1418. /* [ref][helpstring][uuid][object] */
  1419. EXTERN_C const IID IID_IeXdiX86Context;
  1420. #if defined(__cplusplus) && !defined(CINTERFACE)
  1421. MIDL_INTERFACE("47486F67-6461-6C65-5844-495358383643")
  1422. IeXdiX86Context : public IUnknown
  1423. {
  1424. public:
  1425. virtual HRESULT STDMETHODCALLTYPE GetContext(
  1426. /* [out][in] */ PCONTEXT_X86 pContext) = 0;
  1427. virtual HRESULT STDMETHODCALLTYPE SetContext(
  1428. /* [in] */ CONTEXT_X86 Context) = 0;
  1429. };
  1430. #else /* C style interface */
  1431. typedef struct IeXdiX86ContextVtbl
  1432. {
  1433. BEGIN_INTERFACE
  1434. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1435. IeXdiX86Context __RPC_FAR * This,
  1436. /* [in] */ REFIID riid,
  1437. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1438. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1439. IeXdiX86Context __RPC_FAR * This);
  1440. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1441. IeXdiX86Context __RPC_FAR * This);
  1442. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetContext )(
  1443. IeXdiX86Context __RPC_FAR * This,
  1444. /* [out][in] */ PCONTEXT_X86 pContext);
  1445. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetContext )(
  1446. IeXdiX86Context __RPC_FAR * This,
  1447. /* [in] */ CONTEXT_X86 Context);
  1448. END_INTERFACE
  1449. } IeXdiX86ContextVtbl;
  1450. interface IeXdiX86Context
  1451. {
  1452. CONST_VTBL struct IeXdiX86ContextVtbl __RPC_FAR *lpVtbl;
  1453. };
  1454. #ifdef COBJMACROS
  1455. #define IeXdiX86Context_QueryInterface(This,riid,ppvObject) \
  1456. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1457. #define IeXdiX86Context_AddRef(This) \
  1458. (This)->lpVtbl -> AddRef(This)
  1459. #define IeXdiX86Context_Release(This) \
  1460. (This)->lpVtbl -> Release(This)
  1461. #define IeXdiX86Context_GetContext(This,pContext) \
  1462. (This)->lpVtbl -> GetContext(This,pContext)
  1463. #define IeXdiX86Context_SetContext(This,Context) \
  1464. (This)->lpVtbl -> SetContext(This,Context)
  1465. #endif /* COBJMACROS */
  1466. #endif /* C style interface */
  1467. HRESULT STDMETHODCALLTYPE IeXdiX86Context_GetContext_Proxy(
  1468. IeXdiX86Context __RPC_FAR * This,
  1469. /* [out][in] */ PCONTEXT_X86 pContext);
  1470. void __RPC_STUB IeXdiX86Context_GetContext_Stub(
  1471. IRpcStubBuffer *This,
  1472. IRpcChannelBuffer *_pRpcChannelBuffer,
  1473. PRPC_MESSAGE _pRpcMessage,
  1474. DWORD *_pdwStubPhase);
  1475. HRESULT STDMETHODCALLTYPE IeXdiX86Context_SetContext_Proxy(
  1476. IeXdiX86Context __RPC_FAR * This,
  1477. /* [in] */ CONTEXT_X86 Context);
  1478. void __RPC_STUB IeXdiX86Context_SetContext_Stub(
  1479. IRpcStubBuffer *This,
  1480. IRpcChannelBuffer *_pRpcChannelBuffer,
  1481. PRPC_MESSAGE _pRpcMessage,
  1482. DWORD *_pdwStubPhase);
  1483. #endif /* __IeXdiX86Context_INTERFACE_DEFINED__ */
  1484. /* interface __MIDL_itf_exdi_0251 */
  1485. /* [local] */
  1486. typedef struct _CONTEXT_SHX
  1487. {
  1488. struct
  1489. {
  1490. BOOL fControlRegs;
  1491. BOOL fIntegerRegs;
  1492. BOOL fFloatingPointRegs;
  1493. BOOL fDebugRegs;
  1494. } RegGroupSelection;
  1495. DWORD Pr;
  1496. DWORD Mach;
  1497. DWORD Macl;
  1498. DWORD Gbr;
  1499. DWORD Pc;
  1500. DWORD Sr;
  1501. DWORD R0;
  1502. DWORD R1;
  1503. DWORD R2;
  1504. DWORD R3;
  1505. DWORD R4;
  1506. DWORD R5;
  1507. DWORD R6;
  1508. DWORD R7;
  1509. DWORD R8;
  1510. DWORD R9;
  1511. DWORD R10;
  1512. DWORD R11;
  1513. DWORD R12;
  1514. DWORD R13;
  1515. DWORD R14;
  1516. DWORD R15;
  1517. DWORD Fpscr;
  1518. DWORD Fpul;
  1519. DWORD FR_B0[ 16 ];
  1520. DWORD FR_B1[ 16 ];
  1521. DWORD BarA;
  1522. BYTE BasrA;
  1523. BYTE BamrA;
  1524. WORD BbrA;
  1525. DWORD BarB;
  1526. BYTE BasrB;
  1527. BYTE BamrB;
  1528. WORD BbrB;
  1529. DWORD BdrB;
  1530. DWORD BdmrB;
  1531. WORD Brcr;
  1532. WORD Align;
  1533. } CONTEXT_SHX;
  1534. typedef struct _CONTEXT_SHX __RPC_FAR *PCONTEXT_SHX;
  1535. extern RPC_IF_HANDLE __MIDL_itf_exdi_0251_v0_0_c_ifspec;
  1536. extern RPC_IF_HANDLE __MIDL_itf_exdi_0251_v0_0_s_ifspec;
  1537. #ifndef __IeXdiSHXContext_INTERFACE_DEFINED__
  1538. #define __IeXdiSHXContext_INTERFACE_DEFINED__
  1539. /* interface IeXdiSHXContext */
  1540. /* [ref][helpstring][uuid][object] */
  1541. EXTERN_C const IID IID_IeXdiSHXContext;
  1542. #if defined(__cplusplus) && !defined(CINTERFACE)
  1543. MIDL_INTERFACE("47486F67-6461-6C65-5844-495353475843")
  1544. IeXdiSHXContext : public IUnknown
  1545. {
  1546. public:
  1547. virtual HRESULT STDMETHODCALLTYPE GetContext(
  1548. /* [out][in] */ PCONTEXT_SHX pContext) = 0;
  1549. virtual HRESULT STDMETHODCALLTYPE SetContext(
  1550. /* [in] */ CONTEXT_SHX Context) = 0;
  1551. };
  1552. #else /* C style interface */
  1553. typedef struct IeXdiSHXContextVtbl
  1554. {
  1555. BEGIN_INTERFACE
  1556. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1557. IeXdiSHXContext __RPC_FAR * This,
  1558. /* [in] */ REFIID riid,
  1559. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1560. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1561. IeXdiSHXContext __RPC_FAR * This);
  1562. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1563. IeXdiSHXContext __RPC_FAR * This);
  1564. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetContext )(
  1565. IeXdiSHXContext __RPC_FAR * This,
  1566. /* [out][in] */ PCONTEXT_SHX pContext);
  1567. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetContext )(
  1568. IeXdiSHXContext __RPC_FAR * This,
  1569. /* [in] */ CONTEXT_SHX Context);
  1570. END_INTERFACE
  1571. } IeXdiSHXContextVtbl;
  1572. interface IeXdiSHXContext
  1573. {
  1574. CONST_VTBL struct IeXdiSHXContextVtbl __RPC_FAR *lpVtbl;
  1575. };
  1576. #ifdef COBJMACROS
  1577. #define IeXdiSHXContext_QueryInterface(This,riid,ppvObject) \
  1578. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1579. #define IeXdiSHXContext_AddRef(This) \
  1580. (This)->lpVtbl -> AddRef(This)
  1581. #define IeXdiSHXContext_Release(This) \
  1582. (This)->lpVtbl -> Release(This)
  1583. #define IeXdiSHXContext_GetContext(This,pContext) \
  1584. (This)->lpVtbl -> GetContext(This,pContext)
  1585. #define IeXdiSHXContext_SetContext(This,Context) \
  1586. (This)->lpVtbl -> SetContext(This,Context)
  1587. #endif /* COBJMACROS */
  1588. #endif /* C style interface */
  1589. HRESULT STDMETHODCALLTYPE IeXdiSHXContext_GetContext_Proxy(
  1590. IeXdiSHXContext __RPC_FAR * This,
  1591. /* [out][in] */ PCONTEXT_SHX pContext);
  1592. void __RPC_STUB IeXdiSHXContext_GetContext_Stub(
  1593. IRpcStubBuffer *This,
  1594. IRpcChannelBuffer *_pRpcChannelBuffer,
  1595. PRPC_MESSAGE _pRpcMessage,
  1596. DWORD *_pdwStubPhase);
  1597. HRESULT STDMETHODCALLTYPE IeXdiSHXContext_SetContext_Proxy(
  1598. IeXdiSHXContext __RPC_FAR * This,
  1599. /* [in] */ CONTEXT_SHX Context);
  1600. void __RPC_STUB IeXdiSHXContext_SetContext_Stub(
  1601. IRpcStubBuffer *This,
  1602. IRpcChannelBuffer *_pRpcChannelBuffer,
  1603. PRPC_MESSAGE _pRpcMessage,
  1604. DWORD *_pdwStubPhase);
  1605. #endif /* __IeXdiSHXContext_INTERFACE_DEFINED__ */
  1606. /* interface __MIDL_itf_exdi_0252 */
  1607. /* [local] */
  1608. typedef struct _CONTEXT_MIPS
  1609. {
  1610. struct
  1611. {
  1612. BOOL fMode64bits;
  1613. BOOL fControlRegs;
  1614. BOOL fIntegerRegs;
  1615. BOOL fFloatingPointRegs;
  1616. BOOL fExceptRegs;
  1617. BOOL fMemoryMgmRegs;
  1618. } RegGroupSelection;
  1619. DWORD IntAt;
  1620. DWORD Hi32_IntAt;
  1621. DWORD IntV0;
  1622. DWORD Hi32_IntV0;
  1623. DWORD IntV1;
  1624. DWORD Hi32_IntV1;
  1625. DWORD IntA0;
  1626. DWORD Hi32_IntA0;
  1627. DWORD IntA1;
  1628. DWORD Hi32_IntA1;
  1629. DWORD IntA2;
  1630. DWORD Hi32_IntA2;
  1631. DWORD IntA3;
  1632. DWORD Hi32_IntA3;
  1633. DWORD IntT0;
  1634. DWORD Hi32_IntT0;
  1635. DWORD IntT1;
  1636. DWORD Hi32_IntT1;
  1637. DWORD IntT2;
  1638. DWORD Hi32_IntT2;
  1639. DWORD IntT3;
  1640. DWORD Hi32_IntT3;
  1641. DWORD IntT4;
  1642. DWORD Hi32_IntT4;
  1643. DWORD IntT5;
  1644. DWORD Hi32_IntT5;
  1645. DWORD IntT6;
  1646. DWORD Hi32_IntT6;
  1647. DWORD IntT7;
  1648. DWORD Hi32_IntT7;
  1649. DWORD IntS0;
  1650. DWORD Hi32_IntS0;
  1651. DWORD IntS1;
  1652. DWORD Hi32_IntS1;
  1653. DWORD IntS2;
  1654. DWORD Hi32_IntS2;
  1655. DWORD IntS3;
  1656. DWORD Hi32_IntS3;
  1657. DWORD IntS4;
  1658. DWORD Hi32_IntS4;
  1659. DWORD IntS5;
  1660. DWORD Hi32_IntS5;
  1661. DWORD IntS6;
  1662. DWORD Hi32_IntS6;
  1663. DWORD IntS7;
  1664. DWORD Hi32_IntS7;
  1665. DWORD IntT8;
  1666. DWORD Hi32_IntT8;
  1667. DWORD IntT9;
  1668. DWORD Hi32_IntT9;
  1669. DWORD IntK0;
  1670. DWORD Hi32_IntK0;
  1671. DWORD IntK1;
  1672. DWORD Hi32_IntK1;
  1673. DWORD IntGp;
  1674. DWORD Hi32_IntGp;
  1675. DWORD IntSp;
  1676. DWORD Hi32_IntSp;
  1677. DWORD IntS8;
  1678. DWORD Hi32_IntS8;
  1679. DWORD IntRa;
  1680. DWORD Hi32_IntRa;
  1681. DWORD IntLo;
  1682. DWORD Hi32_IntLo;
  1683. DWORD IntHi;
  1684. DWORD Hi32_IntHi;
  1685. DWORD FltF0;
  1686. DWORD Hi32_FltF0;
  1687. DWORD FltF1;
  1688. DWORD Hi32_FltF1;
  1689. DWORD FltF2;
  1690. DWORD Hi32_FltF2;
  1691. DWORD FltF3;
  1692. DWORD Hi32_FltF3;
  1693. DWORD FltF4;
  1694. DWORD Hi32_FltF4;
  1695. DWORD FltF5;
  1696. DWORD Hi32_FltF5;
  1697. DWORD FltF6;
  1698. DWORD Hi32_FltF6;
  1699. DWORD FltF7;
  1700. DWORD Hi32_FltF7;
  1701. DWORD FltF8;
  1702. DWORD Hi32_FltF8;
  1703. DWORD FltF9;
  1704. DWORD Hi32_FltF9;
  1705. DWORD FltF10;
  1706. DWORD Hi32_FltF10;
  1707. DWORD FltF11;
  1708. DWORD Hi32_FltF11;
  1709. DWORD FltF12;
  1710. DWORD Hi32_FltF12;
  1711. DWORD FltF13;
  1712. DWORD Hi32_FltF13;
  1713. DWORD FltF14;
  1714. DWORD Hi32_FltF14;
  1715. DWORD FltF15;
  1716. DWORD Hi32_FltF15;
  1717. DWORD FltF16;
  1718. DWORD Hi32_FltF16;
  1719. DWORD FltF17;
  1720. DWORD Hi32_FltF17;
  1721. DWORD FltF18;
  1722. DWORD Hi32_FltF18;
  1723. DWORD FltF19;
  1724. DWORD Hi32_FltF19;
  1725. DWORD FltF20;
  1726. DWORD Hi32_FltF20;
  1727. DWORD FltF21;
  1728. DWORD Hi32_FltF21;
  1729. DWORD FltF22;
  1730. DWORD Hi32_FltF22;
  1731. DWORD FltF23;
  1732. DWORD Hi32_FltF23;
  1733. DWORD FltF24;
  1734. DWORD Hi32_FltF24;
  1735. DWORD FltF25;
  1736. DWORD Hi32_FltF25;
  1737. DWORD FltF26;
  1738. DWORD Hi32_FltF26;
  1739. DWORD FltF27;
  1740. DWORD Hi32_FltF27;
  1741. DWORD FltF28;
  1742. DWORD Hi32_FltF28;
  1743. DWORD FltF29;
  1744. DWORD Hi32_FltF29;
  1745. DWORD FltF30;
  1746. DWORD Hi32_FltF30;
  1747. DWORD FltF31;
  1748. DWORD Hi32_FltF31;
  1749. DWORD FCR0;
  1750. DWORD FCR31;
  1751. DWORD Pc;
  1752. DWORD Hi32_Pc;
  1753. DWORD Context;
  1754. DWORD Hi32_Context;
  1755. DWORD BadVAddr;
  1756. DWORD Hi32_BadVAddr;
  1757. DWORD EPC;
  1758. DWORD Hi32_EPC;
  1759. DWORD XContextReg;
  1760. DWORD Hi32_XContextReg;
  1761. DWORD ErrorEPC;
  1762. DWORD Hi32_ErrorEPC;
  1763. DWORD Count;
  1764. DWORD Compare;
  1765. DWORD Sr;
  1766. DWORD Cause;
  1767. DWORD WatchLo;
  1768. DWORD WatchHi;
  1769. DWORD ECC;
  1770. DWORD CacheErr;
  1771. DWORD Index;
  1772. DWORD Random;
  1773. DWORD EntryLo0;
  1774. DWORD Hi32_EntryLo0;
  1775. DWORD EntryLo1;
  1776. DWORD Hi32_EntryLo1;
  1777. DWORD PageMask;
  1778. DWORD Wired;
  1779. DWORD EntryHi;
  1780. DWORD Hi32_EntryHi;
  1781. DWORD PRId;
  1782. DWORD Config;
  1783. DWORD LLAddr;
  1784. DWORD TagLo;
  1785. DWORD TagHi;
  1786. } CONTEXT_MIPS;
  1787. typedef struct _CONTEXT_MIPS __RPC_FAR *PCONTEXT_MIPS;
  1788. extern RPC_IF_HANDLE __MIDL_itf_exdi_0252_v0_0_c_ifspec;
  1789. extern RPC_IF_HANDLE __MIDL_itf_exdi_0252_v0_0_s_ifspec;
  1790. #ifndef __IeXdiMIPSContext_INTERFACE_DEFINED__
  1791. #define __IeXdiMIPSContext_INTERFACE_DEFINED__
  1792. /* interface IeXdiMIPSContext */
  1793. /* [ref][helpstring][uuid][object] */
  1794. EXTERN_C const IID IID_IeXdiMIPSContext;
  1795. #if defined(__cplusplus) && !defined(CINTERFACE)
  1796. MIDL_INTERFACE("47486F67-6461-6C65-5844-49534D495043")
  1797. IeXdiMIPSContext : public IUnknown
  1798. {
  1799. public:
  1800. virtual HRESULT STDMETHODCALLTYPE GetContext(
  1801. /* [out][in] */ PCONTEXT_MIPS pContext) = 0;
  1802. virtual HRESULT STDMETHODCALLTYPE SetContext(
  1803. /* [in] */ CONTEXT_MIPS Context) = 0;
  1804. };
  1805. #else /* C style interface */
  1806. typedef struct IeXdiMIPSContextVtbl
  1807. {
  1808. BEGIN_INTERFACE
  1809. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1810. IeXdiMIPSContext __RPC_FAR * This,
  1811. /* [in] */ REFIID riid,
  1812. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1813. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1814. IeXdiMIPSContext __RPC_FAR * This);
  1815. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1816. IeXdiMIPSContext __RPC_FAR * This);
  1817. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetContext )(
  1818. IeXdiMIPSContext __RPC_FAR * This,
  1819. /* [out][in] */ PCONTEXT_MIPS pContext);
  1820. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetContext )(
  1821. IeXdiMIPSContext __RPC_FAR * This,
  1822. /* [in] */ CONTEXT_MIPS Context);
  1823. END_INTERFACE
  1824. } IeXdiMIPSContextVtbl;
  1825. interface IeXdiMIPSContext
  1826. {
  1827. CONST_VTBL struct IeXdiMIPSContextVtbl __RPC_FAR *lpVtbl;
  1828. };
  1829. #ifdef COBJMACROS
  1830. #define IeXdiMIPSContext_QueryInterface(This,riid,ppvObject) \
  1831. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1832. #define IeXdiMIPSContext_AddRef(This) \
  1833. (This)->lpVtbl -> AddRef(This)
  1834. #define IeXdiMIPSContext_Release(This) \
  1835. (This)->lpVtbl -> Release(This)
  1836. #define IeXdiMIPSContext_GetContext(This,pContext) \
  1837. (This)->lpVtbl -> GetContext(This,pContext)
  1838. #define IeXdiMIPSContext_SetContext(This,Context) \
  1839. (This)->lpVtbl -> SetContext(This,Context)
  1840. #endif /* COBJMACROS */
  1841. #endif /* C style interface */
  1842. HRESULT STDMETHODCALLTYPE IeXdiMIPSContext_GetContext_Proxy(
  1843. IeXdiMIPSContext __RPC_FAR * This,
  1844. /* [out][in] */ PCONTEXT_MIPS pContext);
  1845. void __RPC_STUB IeXdiMIPSContext_GetContext_Stub(
  1846. IRpcStubBuffer *This,
  1847. IRpcChannelBuffer *_pRpcChannelBuffer,
  1848. PRPC_MESSAGE _pRpcMessage,
  1849. DWORD *_pdwStubPhase);
  1850. HRESULT STDMETHODCALLTYPE IeXdiMIPSContext_SetContext_Proxy(
  1851. IeXdiMIPSContext __RPC_FAR * This,
  1852. /* [in] */ CONTEXT_MIPS Context);
  1853. void __RPC_STUB IeXdiMIPSContext_SetContext_Stub(
  1854. IRpcStubBuffer *This,
  1855. IRpcChannelBuffer *_pRpcChannelBuffer,
  1856. PRPC_MESSAGE _pRpcMessage,
  1857. DWORD *_pdwStubPhase);
  1858. #endif /* __IeXdiMIPSContext_INTERFACE_DEFINED__ */
  1859. /* interface __MIDL_itf_exdi_0253 */
  1860. /* [local] */
  1861. typedef struct _CONTEXT_ARM
  1862. {
  1863. struct
  1864. {
  1865. BOOL fControlRegs;
  1866. BOOL fIntegerRegs;
  1867. BOOL fDebugRegs;
  1868. } RegGroupSelection;
  1869. DWORD Sp;
  1870. DWORD Lr;
  1871. DWORD Pc;
  1872. DWORD Psr;
  1873. DWORD R0;
  1874. DWORD R1;
  1875. DWORD R2;
  1876. DWORD R3;
  1877. DWORD R4;
  1878. DWORD R5;
  1879. DWORD R6;
  1880. DWORD R7;
  1881. DWORD R8;
  1882. DWORD R9;
  1883. DWORD R10;
  1884. DWORD R11;
  1885. DWORD R12;
  1886. } CONTEXT_ARM;
  1887. typedef struct _CONTEXT_ARM __RPC_FAR *PCONTEXT_ARM;
  1888. extern RPC_IF_HANDLE __MIDL_itf_exdi_0253_v0_0_c_ifspec;
  1889. extern RPC_IF_HANDLE __MIDL_itf_exdi_0253_v0_0_s_ifspec;
  1890. #ifndef __IeXdiARMContext_INTERFACE_DEFINED__
  1891. #define __IeXdiARMContext_INTERFACE_DEFINED__
  1892. /* interface IeXdiARMContext */
  1893. /* [ref][helpstring][uuid][object] */
  1894. EXTERN_C const IID IID_IeXdiARMContext;
  1895. #if defined(__cplusplus) && !defined(CINTERFACE)
  1896. MIDL_INTERFACE("47486F67-6461-6C65-5844-495341524D43")
  1897. IeXdiARMContext : public IUnknown
  1898. {
  1899. public:
  1900. virtual HRESULT STDMETHODCALLTYPE GetContext(
  1901. /* [out][in] */ PCONTEXT_ARM pContext) = 0;
  1902. virtual HRESULT STDMETHODCALLTYPE SetContext(
  1903. /* [in] */ CONTEXT_ARM Context) = 0;
  1904. };
  1905. #else /* C style interface */
  1906. typedef struct IeXdiARMContextVtbl
  1907. {
  1908. BEGIN_INTERFACE
  1909. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1910. IeXdiARMContext __RPC_FAR * This,
  1911. /* [in] */ REFIID riid,
  1912. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1913. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1914. IeXdiARMContext __RPC_FAR * This);
  1915. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1916. IeXdiARMContext __RPC_FAR * This);
  1917. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetContext )(
  1918. IeXdiARMContext __RPC_FAR * This,
  1919. /* [out][in] */ PCONTEXT_ARM pContext);
  1920. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetContext )(
  1921. IeXdiARMContext __RPC_FAR * This,
  1922. /* [in] */ CONTEXT_ARM Context);
  1923. END_INTERFACE
  1924. } IeXdiARMContextVtbl;
  1925. interface IeXdiARMContext
  1926. {
  1927. CONST_VTBL struct IeXdiARMContextVtbl __RPC_FAR *lpVtbl;
  1928. };
  1929. #ifdef COBJMACROS
  1930. #define IeXdiARMContext_QueryInterface(This,riid,ppvObject) \
  1931. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1932. #define IeXdiARMContext_AddRef(This) \
  1933. (This)->lpVtbl -> AddRef(This)
  1934. #define IeXdiARMContext_Release(This) \
  1935. (This)->lpVtbl -> Release(This)
  1936. #define IeXdiARMContext_GetContext(This,pContext) \
  1937. (This)->lpVtbl -> GetContext(This,pContext)
  1938. #define IeXdiARMContext_SetContext(This,Context) \
  1939. (This)->lpVtbl -> SetContext(This,Context)
  1940. #endif /* COBJMACROS */
  1941. #endif /* C style interface */
  1942. HRESULT STDMETHODCALLTYPE IeXdiARMContext_GetContext_Proxy(
  1943. IeXdiARMContext __RPC_FAR * This,
  1944. /* [out][in] */ PCONTEXT_ARM pContext);
  1945. void __RPC_STUB IeXdiARMContext_GetContext_Stub(
  1946. IRpcStubBuffer *This,
  1947. IRpcChannelBuffer *_pRpcChannelBuffer,
  1948. PRPC_MESSAGE _pRpcMessage,
  1949. DWORD *_pdwStubPhase);
  1950. HRESULT STDMETHODCALLTYPE IeXdiARMContext_SetContext_Proxy(
  1951. IeXdiARMContext __RPC_FAR * This,
  1952. /* [in] */ CONTEXT_ARM Context);
  1953. void __RPC_STUB IeXdiARMContext_SetContext_Stub(
  1954. IRpcStubBuffer *This,
  1955. IRpcChannelBuffer *_pRpcChannelBuffer,
  1956. PRPC_MESSAGE _pRpcMessage,
  1957. DWORD *_pdwStubPhase);
  1958. #endif /* __IeXdiARMContext_INTERFACE_DEFINED__ */
  1959. /* interface __MIDL_itf_exdi_0254 */
  1960. /* [local] */
  1961. typedef struct _CONTEXT_PPC
  1962. {
  1963. struct
  1964. {
  1965. BOOL fControlRegs;
  1966. BOOL fIntegerRegs;
  1967. BOOL fFloatingPointRegs;
  1968. BOOL fDebugRegs;
  1969. } RegGroupSelection;
  1970. double Fpr0;
  1971. double Fpr1;
  1972. double Fpr2;
  1973. double Fpr3;
  1974. double Fpr4;
  1975. double Fpr5;
  1976. double Fpr6;
  1977. double Fpr7;
  1978. double Fpr8;
  1979. double Fpr9;
  1980. double Fpr10;
  1981. double Fpr11;
  1982. double Fpr12;
  1983. double Fpr13;
  1984. double Fpr14;
  1985. double Fpr15;
  1986. double Fpr16;
  1987. double Fpr17;
  1988. double Fpr18;
  1989. double Fpr19;
  1990. double Fpr20;
  1991. double Fpr21;
  1992. double Fpr22;
  1993. double Fpr23;
  1994. double Fpr24;
  1995. double Fpr25;
  1996. double Fpr26;
  1997. double Fpr27;
  1998. double Fpr28;
  1999. double Fpr29;
  2000. double Fpr30;
  2001. double Fpr31;
  2002. double Fpscr;
  2003. DWORD Gpr0;
  2004. DWORD Gpr1;
  2005. DWORD Gpr2;
  2006. DWORD Gpr3;
  2007. DWORD Gpr4;
  2008. DWORD Gpr5;
  2009. DWORD Gpr6;
  2010. DWORD Gpr7;
  2011. DWORD Gpr8;
  2012. DWORD Gpr9;
  2013. DWORD Gpr10;
  2014. DWORD Gpr11;
  2015. DWORD Gpr12;
  2016. DWORD Gpr13;
  2017. DWORD Gpr14;
  2018. DWORD Gpr15;
  2019. DWORD Gpr16;
  2020. DWORD Gpr17;
  2021. DWORD Gpr18;
  2022. DWORD Gpr19;
  2023. DWORD Gpr20;
  2024. DWORD Gpr21;
  2025. DWORD Gpr22;
  2026. DWORD Gpr23;
  2027. DWORD Gpr24;
  2028. DWORD Gpr25;
  2029. DWORD Gpr26;
  2030. DWORD Gpr27;
  2031. DWORD Gpr28;
  2032. DWORD Gpr29;
  2033. DWORD Gpr30;
  2034. DWORD Gpr31;
  2035. DWORD Msr;
  2036. DWORD Iar;
  2037. DWORD Lr;
  2038. DWORD Ctr;
  2039. DWORD Cr;
  2040. DWORD Xer;
  2041. DWORD Dr0;
  2042. DWORD Dr1;
  2043. DWORD Dr2;
  2044. DWORD Dr3;
  2045. DWORD Dr4;
  2046. DWORD Dr5;
  2047. DWORD Dr6;
  2048. DWORD Dr7;
  2049. } CONTEXT_PPC;
  2050. typedef struct _CONTEXT_PPC __RPC_FAR *PCONTEXT_PPC;
  2051. extern RPC_IF_HANDLE __MIDL_itf_exdi_0254_v0_0_c_ifspec;
  2052. extern RPC_IF_HANDLE __MIDL_itf_exdi_0254_v0_0_s_ifspec;
  2053. #ifndef __IeXdiPPCContext_INTERFACE_DEFINED__
  2054. #define __IeXdiPPCContext_INTERFACE_DEFINED__
  2055. /* interface IeXdiPPCContext */
  2056. /* [ref][helpstring][uuid][object] */
  2057. EXTERN_C const IID IID_IeXdiPPCContext;
  2058. #if defined(__cplusplus) && !defined(CINTERFACE)
  2059. MIDL_INTERFACE("47486F67-6461-6C65-5844-495350504343")
  2060. IeXdiPPCContext : public IUnknown
  2061. {
  2062. public:
  2063. virtual HRESULT STDMETHODCALLTYPE GetContext(
  2064. /* [out][in] */ PCONTEXT_PPC pContext) = 0;
  2065. virtual HRESULT STDMETHODCALLTYPE SetContext(
  2066. /* [in] */ CONTEXT_PPC Context) = 0;
  2067. };
  2068. #else /* C style interface */
  2069. typedef struct IeXdiPPCContextVtbl
  2070. {
  2071. BEGIN_INTERFACE
  2072. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2073. IeXdiPPCContext __RPC_FAR * This,
  2074. /* [in] */ REFIID riid,
  2075. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2076. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2077. IeXdiPPCContext __RPC_FAR * This);
  2078. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2079. IeXdiPPCContext __RPC_FAR * This);
  2080. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetContext )(
  2081. IeXdiPPCContext __RPC_FAR * This,
  2082. /* [out][in] */ PCONTEXT_PPC pContext);
  2083. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetContext )(
  2084. IeXdiPPCContext __RPC_FAR * This,
  2085. /* [in] */ CONTEXT_PPC Context);
  2086. END_INTERFACE
  2087. } IeXdiPPCContextVtbl;
  2088. interface IeXdiPPCContext
  2089. {
  2090. CONST_VTBL struct IeXdiPPCContextVtbl __RPC_FAR *lpVtbl;
  2091. };
  2092. #ifdef COBJMACROS
  2093. #define IeXdiPPCContext_QueryInterface(This,riid,ppvObject) \
  2094. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2095. #define IeXdiPPCContext_AddRef(This) \
  2096. (This)->lpVtbl -> AddRef(This)
  2097. #define IeXdiPPCContext_Release(This) \
  2098. (This)->lpVtbl -> Release(This)
  2099. #define IeXdiPPCContext_GetContext(This,pContext) \
  2100. (This)->lpVtbl -> GetContext(This,pContext)
  2101. #define IeXdiPPCContext_SetContext(This,Context) \
  2102. (This)->lpVtbl -> SetContext(This,Context)
  2103. #endif /* COBJMACROS */
  2104. #endif /* C style interface */
  2105. HRESULT STDMETHODCALLTYPE IeXdiPPCContext_GetContext_Proxy(
  2106. IeXdiPPCContext __RPC_FAR * This,
  2107. /* [out][in] */ PCONTEXT_PPC pContext);
  2108. void __RPC_STUB IeXdiPPCContext_GetContext_Stub(
  2109. IRpcStubBuffer *This,
  2110. IRpcChannelBuffer *_pRpcChannelBuffer,
  2111. PRPC_MESSAGE _pRpcMessage,
  2112. DWORD *_pdwStubPhase);
  2113. HRESULT STDMETHODCALLTYPE IeXdiPPCContext_SetContext_Proxy(
  2114. IeXdiPPCContext __RPC_FAR * This,
  2115. /* [in] */ CONTEXT_PPC Context);
  2116. void __RPC_STUB IeXdiPPCContext_SetContext_Stub(
  2117. IRpcStubBuffer *This,
  2118. IRpcChannelBuffer *_pRpcChannelBuffer,
  2119. PRPC_MESSAGE _pRpcMessage,
  2120. DWORD *_pdwStubPhase);
  2121. #endif /* __IeXdiPPCContext_INTERFACE_DEFINED__ */
  2122. #ifndef __IeXdiClientNotifyMemChg_INTERFACE_DEFINED__
  2123. #define __IeXdiClientNotifyMemChg_INTERFACE_DEFINED__
  2124. /* interface IeXdiClientNotifyMemChg */
  2125. /* [ref][helpstring][uuid][object] */
  2126. EXTERN_C const IID IID_IeXdiClientNotifyMemChg;
  2127. #if defined(__cplusplus) && !defined(CINTERFACE)
  2128. MIDL_INTERFACE("47486F67-6461-6C65-5844-49434E4D4300")
  2129. IeXdiClientNotifyMemChg : public IUnknown
  2130. {
  2131. public:
  2132. virtual HRESULT STDMETHODCALLTYPE NotifyMemoryChange(
  2133. /* [in] */ MEM_TYPE mtChanged,
  2134. /* [in] */ ADDRESS_TYPE Address,
  2135. /* [in] */ BYTE bAddressSpace,
  2136. /* [in] */ DWORD dwNbElemChanged,
  2137. /* [in] */ BYTE bAccessWidth) = 0;
  2138. };
  2139. #else /* C style interface */
  2140. typedef struct IeXdiClientNotifyMemChgVtbl
  2141. {
  2142. BEGIN_INTERFACE
  2143. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2144. IeXdiClientNotifyMemChg __RPC_FAR * This,
  2145. /* [in] */ REFIID riid,
  2146. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2147. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2148. IeXdiClientNotifyMemChg __RPC_FAR * This);
  2149. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2150. IeXdiClientNotifyMemChg __RPC_FAR * This);
  2151. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyMemoryChange )(
  2152. IeXdiClientNotifyMemChg __RPC_FAR * This,
  2153. /* [in] */ MEM_TYPE mtChanged,
  2154. /* [in] */ ADDRESS_TYPE Address,
  2155. /* [in] */ BYTE bAddressSpace,
  2156. /* [in] */ DWORD dwNbElemChanged,
  2157. /* [in] */ BYTE bAccessWidth);
  2158. END_INTERFACE
  2159. } IeXdiClientNotifyMemChgVtbl;
  2160. interface IeXdiClientNotifyMemChg
  2161. {
  2162. CONST_VTBL struct IeXdiClientNotifyMemChgVtbl __RPC_FAR *lpVtbl;
  2163. };
  2164. #ifdef COBJMACROS
  2165. #define IeXdiClientNotifyMemChg_QueryInterface(This,riid,ppvObject) \
  2166. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2167. #define IeXdiClientNotifyMemChg_AddRef(This) \
  2168. (This)->lpVtbl -> AddRef(This)
  2169. #define IeXdiClientNotifyMemChg_Release(This) \
  2170. (This)->lpVtbl -> Release(This)
  2171. #define IeXdiClientNotifyMemChg_NotifyMemoryChange(This,mtChanged,Address,bAddressSpace,dwNbElemChanged,bAccessWidth) \
  2172. (This)->lpVtbl -> NotifyMemoryChange(This,mtChanged,Address,bAddressSpace,dwNbElemChanged,bAccessWidth)
  2173. #endif /* COBJMACROS */
  2174. #endif /* C style interface */
  2175. HRESULT STDMETHODCALLTYPE IeXdiClientNotifyMemChg_NotifyMemoryChange_Proxy(
  2176. IeXdiClientNotifyMemChg __RPC_FAR * This,
  2177. /* [in] */ MEM_TYPE mtChanged,
  2178. /* [in] */ ADDRESS_TYPE Address,
  2179. /* [in] */ BYTE bAddressSpace,
  2180. /* [in] */ DWORD dwNbElemChanged,
  2181. /* [in] */ BYTE bAccessWidth);
  2182. void __RPC_STUB IeXdiClientNotifyMemChg_NotifyMemoryChange_Stub(
  2183. IRpcStubBuffer *This,
  2184. IRpcChannelBuffer *_pRpcChannelBuffer,
  2185. PRPC_MESSAGE _pRpcMessage,
  2186. DWORD *_pdwStubPhase);
  2187. #endif /* __IeXdiClientNotifyMemChg_INTERFACE_DEFINED__ */
  2188. #ifndef __IeXdiClientNotifyRunChg_INTERFACE_DEFINED__
  2189. #define __IeXdiClientNotifyRunChg_INTERFACE_DEFINED__
  2190. /* interface IeXdiClientNotifyRunChg */
  2191. /* [ref][helpstring][uuid][object] */
  2192. EXTERN_C const IID IID_IeXdiClientNotifyRunChg;
  2193. #if defined(__cplusplus) && !defined(CINTERFACE)
  2194. MIDL_INTERFACE("47486F67-6461-6C65-5844-49434E525343")
  2195. IeXdiClientNotifyRunChg : public IUnknown
  2196. {
  2197. public:
  2198. virtual HRESULT STDMETHODCALLTYPE NotifyRunStateChange(
  2199. /* [in] */ RUN_STATUS_TYPE ersCurrent,
  2200. /* [in] */ HALT_REASON_TYPE ehrCurrent,
  2201. /* [in] */ ADDRESS_TYPE CurrentExecAddress,
  2202. /* [in] */ DWORD dwExceptionCode) = 0;
  2203. };
  2204. #else /* C style interface */
  2205. typedef struct IeXdiClientNotifyRunChgVtbl
  2206. {
  2207. BEGIN_INTERFACE
  2208. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2209. IeXdiClientNotifyRunChg __RPC_FAR * This,
  2210. /* [in] */ REFIID riid,
  2211. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2212. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2213. IeXdiClientNotifyRunChg __RPC_FAR * This);
  2214. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2215. IeXdiClientNotifyRunChg __RPC_FAR * This);
  2216. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyRunStateChange )(
  2217. IeXdiClientNotifyRunChg __RPC_FAR * This,
  2218. /* [in] */ RUN_STATUS_TYPE ersCurrent,
  2219. /* [in] */ HALT_REASON_TYPE ehrCurrent,
  2220. /* [in] */ ADDRESS_TYPE CurrentExecAddress,
  2221. /* [in] */ DWORD dwExceptionCode);
  2222. END_INTERFACE
  2223. } IeXdiClientNotifyRunChgVtbl;
  2224. interface IeXdiClientNotifyRunChg
  2225. {
  2226. CONST_VTBL struct IeXdiClientNotifyRunChgVtbl __RPC_FAR *lpVtbl;
  2227. };
  2228. #ifdef COBJMACROS
  2229. #define IeXdiClientNotifyRunChg_QueryInterface(This,riid,ppvObject) \
  2230. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2231. #define IeXdiClientNotifyRunChg_AddRef(This) \
  2232. (This)->lpVtbl -> AddRef(This)
  2233. #define IeXdiClientNotifyRunChg_Release(This) \
  2234. (This)->lpVtbl -> Release(This)
  2235. #define IeXdiClientNotifyRunChg_NotifyRunStateChange(This,ersCurrent,ehrCurrent,CurrentExecAddress,dwExceptionCode) \
  2236. (This)->lpVtbl -> NotifyRunStateChange(This,ersCurrent,ehrCurrent,CurrentExecAddress,dwExceptionCode)
  2237. #endif /* COBJMACROS */
  2238. #endif /* C style interface */
  2239. HRESULT STDMETHODCALLTYPE IeXdiClientNotifyRunChg_NotifyRunStateChange_Proxy(
  2240. IeXdiClientNotifyRunChg __RPC_FAR * This,
  2241. /* [in] */ RUN_STATUS_TYPE ersCurrent,
  2242. /* [in] */ HALT_REASON_TYPE ehrCurrent,
  2243. /* [in] */ ADDRESS_TYPE CurrentExecAddress,
  2244. /* [in] */ DWORD dwExceptionCode);
  2245. void __RPC_STUB IeXdiClientNotifyRunChg_NotifyRunStateChange_Stub(
  2246. IRpcStubBuffer *This,
  2247. IRpcChannelBuffer *_pRpcChannelBuffer,
  2248. PRPC_MESSAGE _pRpcMessage,
  2249. DWORD *_pdwStubPhase);
  2250. #endif /* __IeXdiClientNotifyRunChg_INTERFACE_DEFINED__ */
  2251. /* Additional Prototypes for ALL interfaces */
  2252. /* end of Additional Prototypes */
  2253. #ifdef __cplusplus
  2254. }
  2255. #endif
  2256. #endif