Leaked source code of windows server 2003
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.

547 lines
14 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for stackwalk.idl:
  4. Oicf, W1, Zp8, env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext, oldnames, robust
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __stackwalk_h__
  27. #define __stackwalk_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IStackWalkerSymbol_FWD_DEFINED__
  33. #define __IStackWalkerSymbol_FWD_DEFINED__
  34. typedef interface IStackWalkerSymbol IStackWalkerSymbol;
  35. #endif /* __IStackWalkerSymbol_FWD_DEFINED__ */
  36. #ifndef __IStackWalkerStack_FWD_DEFINED__
  37. #define __IStackWalkerStack_FWD_DEFINED__
  38. typedef interface IStackWalkerStack IStackWalkerStack;
  39. #endif /* __IStackWalkerStack_FWD_DEFINED__ */
  40. #ifndef __IStackWalker_FWD_DEFINED__
  41. #define __IStackWalker_FWD_DEFINED__
  42. typedef interface IStackWalker IStackWalker;
  43. #endif /* __IStackWalker_FWD_DEFINED__ */
  44. /* header files for imported files */
  45. #include "objidl.h"
  46. #ifdef __cplusplus
  47. extern "C"{
  48. #endif
  49. void * __RPC_USER MIDL_user_allocate(size_t);
  50. void __RPC_USER MIDL_user_free( void * );
  51. /* interface __MIDL_itf_stackwalk_0000 */
  52. /* [local] */
  53. enum CreateStackTraceFlags
  54. { CREATESTACKTRACE_ONLYADDRESSES = 1
  55. } ;
  56. extern RPC_IF_HANDLE __MIDL_itf_stackwalk_0000_ClientIfHandle;
  57. extern RPC_IF_HANDLE __MIDL_itf_stackwalk_0000_ServerIfHandle;
  58. #ifndef __IStackWalkerSymbol_INTERFACE_DEFINED__
  59. #define __IStackWalkerSymbol_INTERFACE_DEFINED__
  60. /* interface IStackWalkerSymbol */
  61. /* [uuid][unique][local][object] */
  62. EXTERN_C const IID IID_IStackWalkerSymbol;
  63. #if defined(__cplusplus) && !defined(CINTERFACE)
  64. MIDL_INTERFACE("00000157-0000-0000-C000-000000000046")
  65. IStackWalkerSymbol : public IUnknown
  66. {
  67. public:
  68. virtual LPCWSTR STDMETHODCALLTYPE ModuleName( void) = 0;
  69. virtual LPCWSTR STDMETHODCALLTYPE SymbolName( void) = 0;
  70. virtual DWORD64 STDMETHODCALLTYPE Address( void) = 0;
  71. virtual DWORD64 STDMETHODCALLTYPE Displacement( void) = 0;
  72. virtual IStackWalkerSymbol *STDMETHODCALLTYPE Next( void) = 0;
  73. };
  74. #else /* C style interface */
  75. typedef struct IStackWalkerSymbolVtbl
  76. {
  77. BEGIN_INTERFACE
  78. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  79. IStackWalkerSymbol * This,
  80. /* [in] */ REFIID riid,
  81. /* [iid_is][out] */ void **ppvObject);
  82. ULONG ( STDMETHODCALLTYPE *AddRef )(
  83. IStackWalkerSymbol * This);
  84. ULONG ( STDMETHODCALLTYPE *Release )(
  85. IStackWalkerSymbol * This);
  86. LPCWSTR ( STDMETHODCALLTYPE *ModuleName )(
  87. IStackWalkerSymbol * This);
  88. LPCWSTR ( STDMETHODCALLTYPE *SymbolName )(
  89. IStackWalkerSymbol * This);
  90. DWORD64 ( STDMETHODCALLTYPE *Address )(
  91. IStackWalkerSymbol * This);
  92. DWORD64 ( STDMETHODCALLTYPE *Displacement )(
  93. IStackWalkerSymbol * This);
  94. IStackWalkerSymbol *( STDMETHODCALLTYPE *Next )(
  95. IStackWalkerSymbol * This);
  96. END_INTERFACE
  97. } IStackWalkerSymbolVtbl;
  98. interface IStackWalkerSymbol
  99. {
  100. CONST_VTBL struct IStackWalkerSymbolVtbl *lpVtbl;
  101. };
  102. #ifdef COBJMACROS
  103. #define IStackWalkerSymbol_QueryInterface(This,riid,ppvObject) \
  104. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  105. #define IStackWalkerSymbol_AddRef(This) \
  106. (This)->lpVtbl -> AddRef(This)
  107. #define IStackWalkerSymbol_Release(This) \
  108. (This)->lpVtbl -> Release(This)
  109. #define IStackWalkerSymbol_ModuleName(This) \
  110. (This)->lpVtbl -> ModuleName(This)
  111. #define IStackWalkerSymbol_SymbolName(This) \
  112. (This)->lpVtbl -> SymbolName(This)
  113. #define IStackWalkerSymbol_Address(This) \
  114. (This)->lpVtbl -> Address(This)
  115. #define IStackWalkerSymbol_Displacement(This) \
  116. (This)->lpVtbl -> Displacement(This)
  117. #define IStackWalkerSymbol_Next(This) \
  118. (This)->lpVtbl -> Next(This)
  119. #endif /* COBJMACROS */
  120. #endif /* C style interface */
  121. LPCWSTR STDMETHODCALLTYPE IStackWalkerSymbol_ModuleName_Proxy(
  122. IStackWalkerSymbol * This);
  123. void __RPC_STUB IStackWalkerSymbol_ModuleName_Stub(
  124. IRpcStubBuffer *This,
  125. IRpcChannelBuffer *_pRpcChannelBuffer,
  126. PRPC_MESSAGE _pRpcMessage,
  127. DWORD *_pdwStubPhase);
  128. LPCWSTR STDMETHODCALLTYPE IStackWalkerSymbol_SymbolName_Proxy(
  129. IStackWalkerSymbol * This);
  130. void __RPC_STUB IStackWalkerSymbol_SymbolName_Stub(
  131. IRpcStubBuffer *This,
  132. IRpcChannelBuffer *_pRpcChannelBuffer,
  133. PRPC_MESSAGE _pRpcMessage,
  134. DWORD *_pdwStubPhase);
  135. DWORD64 STDMETHODCALLTYPE IStackWalkerSymbol_Address_Proxy(
  136. IStackWalkerSymbol * This);
  137. void __RPC_STUB IStackWalkerSymbol_Address_Stub(
  138. IRpcStubBuffer *This,
  139. IRpcChannelBuffer *_pRpcChannelBuffer,
  140. PRPC_MESSAGE _pRpcMessage,
  141. DWORD *_pdwStubPhase);
  142. DWORD64 STDMETHODCALLTYPE IStackWalkerSymbol_Displacement_Proxy(
  143. IStackWalkerSymbol * This);
  144. void __RPC_STUB IStackWalkerSymbol_Displacement_Stub(
  145. IRpcStubBuffer *This,
  146. IRpcChannelBuffer *_pRpcChannelBuffer,
  147. PRPC_MESSAGE _pRpcMessage,
  148. DWORD *_pdwStubPhase);
  149. IStackWalkerSymbol *STDMETHODCALLTYPE IStackWalkerSymbol_Next_Proxy(
  150. IStackWalkerSymbol * This);
  151. void __RPC_STUB IStackWalkerSymbol_Next_Stub(
  152. IRpcStubBuffer *This,
  153. IRpcChannelBuffer *_pRpcChannelBuffer,
  154. PRPC_MESSAGE _pRpcMessage,
  155. DWORD *_pdwStubPhase);
  156. #endif /* __IStackWalkerSymbol_INTERFACE_DEFINED__ */
  157. #ifndef __IStackWalkerStack_INTERFACE_DEFINED__
  158. #define __IStackWalkerStack_INTERFACE_DEFINED__
  159. /* interface IStackWalkerStack */
  160. /* [uuid][unique][local][object] */
  161. EXTERN_C const IID IID_IStackWalkerStack;
  162. #if defined(__cplusplus) && !defined(CINTERFACE)
  163. MIDL_INTERFACE("00000158-0000-0000-C000-000000000046")
  164. IStackWalkerStack : public IUnknown
  165. {
  166. public:
  167. virtual IStackWalkerSymbol *STDMETHODCALLTYPE TopSymbol( void) = 0;
  168. virtual SIZE_T STDMETHODCALLTYPE Size(
  169. /* [in] */ LONG lMaxNumLines) = 0;
  170. virtual BOOL STDMETHODCALLTYPE GetStack(
  171. /* [in] */ SIZE_T nChars,
  172. /* [string][in] */ LPWSTR wsz,
  173. /* [in] */ LONG lMaxNumLines) = 0;
  174. };
  175. #else /* C style interface */
  176. typedef struct IStackWalkerStackVtbl
  177. {
  178. BEGIN_INTERFACE
  179. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  180. IStackWalkerStack * This,
  181. /* [in] */ REFIID riid,
  182. /* [iid_is][out] */ void **ppvObject);
  183. ULONG ( STDMETHODCALLTYPE *AddRef )(
  184. IStackWalkerStack * This);
  185. ULONG ( STDMETHODCALLTYPE *Release )(
  186. IStackWalkerStack * This);
  187. IStackWalkerSymbol *( STDMETHODCALLTYPE *TopSymbol )(
  188. IStackWalkerStack * This);
  189. SIZE_T ( STDMETHODCALLTYPE *Size )(
  190. IStackWalkerStack * This,
  191. /* [in] */ LONG lMaxNumLines);
  192. BOOL ( STDMETHODCALLTYPE *GetStack )(
  193. IStackWalkerStack * This,
  194. /* [in] */ SIZE_T nChars,
  195. /* [string][in] */ LPWSTR wsz,
  196. /* [in] */ LONG lMaxNumLines);
  197. END_INTERFACE
  198. } IStackWalkerStackVtbl;
  199. interface IStackWalkerStack
  200. {
  201. CONST_VTBL struct IStackWalkerStackVtbl *lpVtbl;
  202. };
  203. #ifdef COBJMACROS
  204. #define IStackWalkerStack_QueryInterface(This,riid,ppvObject) \
  205. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  206. #define IStackWalkerStack_AddRef(This) \
  207. (This)->lpVtbl -> AddRef(This)
  208. #define IStackWalkerStack_Release(This) \
  209. (This)->lpVtbl -> Release(This)
  210. #define IStackWalkerStack_TopSymbol(This) \
  211. (This)->lpVtbl -> TopSymbol(This)
  212. #define IStackWalkerStack_Size(This,lMaxNumLines) \
  213. (This)->lpVtbl -> Size(This,lMaxNumLines)
  214. #define IStackWalkerStack_GetStack(This,nChars,wsz,lMaxNumLines) \
  215. (This)->lpVtbl -> GetStack(This,nChars,wsz,lMaxNumLines)
  216. #endif /* COBJMACROS */
  217. #endif /* C style interface */
  218. IStackWalkerSymbol *STDMETHODCALLTYPE IStackWalkerStack_TopSymbol_Proxy(
  219. IStackWalkerStack * This);
  220. void __RPC_STUB IStackWalkerStack_TopSymbol_Stub(
  221. IRpcStubBuffer *This,
  222. IRpcChannelBuffer *_pRpcChannelBuffer,
  223. PRPC_MESSAGE _pRpcMessage,
  224. DWORD *_pdwStubPhase);
  225. SIZE_T STDMETHODCALLTYPE IStackWalkerStack_Size_Proxy(
  226. IStackWalkerStack * This,
  227. /* [in] */ LONG lMaxNumLines);
  228. void __RPC_STUB IStackWalkerStack_Size_Stub(
  229. IRpcStubBuffer *This,
  230. IRpcChannelBuffer *_pRpcChannelBuffer,
  231. PRPC_MESSAGE _pRpcMessage,
  232. DWORD *_pdwStubPhase);
  233. BOOL STDMETHODCALLTYPE IStackWalkerStack_GetStack_Proxy(
  234. IStackWalkerStack * This,
  235. /* [in] */ SIZE_T nChars,
  236. /* [string][in] */ LPWSTR wsz,
  237. /* [in] */ LONG lMaxNumLines);
  238. void __RPC_STUB IStackWalkerStack_GetStack_Stub(
  239. IRpcStubBuffer *This,
  240. IRpcChannelBuffer *_pRpcChannelBuffer,
  241. PRPC_MESSAGE _pRpcMessage,
  242. DWORD *_pdwStubPhase);
  243. #endif /* __IStackWalkerStack_INTERFACE_DEFINED__ */
  244. #ifndef __IStackWalker_INTERFACE_DEFINED__
  245. #define __IStackWalker_INTERFACE_DEFINED__
  246. /* interface IStackWalker */
  247. /* [uuid][unique][local][object] */
  248. EXTERN_C const IID IID_IStackWalker;
  249. #if defined(__cplusplus) && !defined(CINTERFACE)
  250. MIDL_INTERFACE("00000159-0000-0000-C000-000000000046")
  251. IStackWalker : public IUnknown
  252. {
  253. public:
  254. virtual HRESULT STDMETHODCALLTYPE Attach(
  255. /* [in] */ HANDLE hProcess) = 0;
  256. virtual IStackWalkerStack *STDMETHODCALLTYPE CreateStackTrace(
  257. /* [in] */ LPVOID pContext,
  258. /* [in] */ HANDLE hThread,
  259. /* [in] */ DWORD dwFlags) = 0;
  260. virtual IStackWalkerSymbol *STDMETHODCALLTYPE ResolveAddress(
  261. /* [in] */ DWORD64 dw64Addr) = 0;
  262. };
  263. #else /* C style interface */
  264. typedef struct IStackWalkerVtbl
  265. {
  266. BEGIN_INTERFACE
  267. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  268. IStackWalker * This,
  269. /* [in] */ REFIID riid,
  270. /* [iid_is][out] */ void **ppvObject);
  271. ULONG ( STDMETHODCALLTYPE *AddRef )(
  272. IStackWalker * This);
  273. ULONG ( STDMETHODCALLTYPE *Release )(
  274. IStackWalker * This);
  275. HRESULT ( STDMETHODCALLTYPE *Attach )(
  276. IStackWalker * This,
  277. /* [in] */ HANDLE hProcess);
  278. IStackWalkerStack *( STDMETHODCALLTYPE *CreateStackTrace )(
  279. IStackWalker * This,
  280. /* [in] */ LPVOID pContext,
  281. /* [in] */ HANDLE hThread,
  282. /* [in] */ DWORD dwFlags);
  283. IStackWalkerSymbol *( STDMETHODCALLTYPE *ResolveAddress )(
  284. IStackWalker * This,
  285. /* [in] */ DWORD64 dw64Addr);
  286. END_INTERFACE
  287. } IStackWalkerVtbl;
  288. interface IStackWalker
  289. {
  290. CONST_VTBL struct IStackWalkerVtbl *lpVtbl;
  291. };
  292. #ifdef COBJMACROS
  293. #define IStackWalker_QueryInterface(This,riid,ppvObject) \
  294. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  295. #define IStackWalker_AddRef(This) \
  296. (This)->lpVtbl -> AddRef(This)
  297. #define IStackWalker_Release(This) \
  298. (This)->lpVtbl -> Release(This)
  299. #define IStackWalker_Attach(This,hProcess) \
  300. (This)->lpVtbl -> Attach(This,hProcess)
  301. #define IStackWalker_CreateStackTrace(This,pContext,hThread,dwFlags) \
  302. (This)->lpVtbl -> CreateStackTrace(This,pContext,hThread,dwFlags)
  303. #define IStackWalker_ResolveAddress(This,dw64Addr) \
  304. (This)->lpVtbl -> ResolveAddress(This,dw64Addr)
  305. #endif /* COBJMACROS */
  306. #endif /* C style interface */
  307. HRESULT STDMETHODCALLTYPE IStackWalker_Attach_Proxy(
  308. IStackWalker * This,
  309. /* [in] */ HANDLE hProcess);
  310. void __RPC_STUB IStackWalker_Attach_Stub(
  311. IRpcStubBuffer *This,
  312. IRpcChannelBuffer *_pRpcChannelBuffer,
  313. PRPC_MESSAGE _pRpcMessage,
  314. DWORD *_pdwStubPhase);
  315. IStackWalkerStack *STDMETHODCALLTYPE IStackWalker_CreateStackTrace_Proxy(
  316. IStackWalker * This,
  317. /* [in] */ LPVOID pContext,
  318. /* [in] */ HANDLE hThread,
  319. /* [in] */ DWORD dwFlags);
  320. void __RPC_STUB IStackWalker_CreateStackTrace_Stub(
  321. IRpcStubBuffer *This,
  322. IRpcChannelBuffer *_pRpcChannelBuffer,
  323. PRPC_MESSAGE _pRpcMessage,
  324. DWORD *_pdwStubPhase);
  325. IStackWalkerSymbol *STDMETHODCALLTYPE IStackWalker_ResolveAddress_Proxy(
  326. IStackWalker * This,
  327. /* [in] */ DWORD64 dw64Addr);
  328. void __RPC_STUB IStackWalker_ResolveAddress_Stub(
  329. IRpcStubBuffer *This,
  330. IRpcChannelBuffer *_pRpcChannelBuffer,
  331. PRPC_MESSAGE _pRpcMessage,
  332. DWORD *_pdwStubPhase);
  333. #endif /* __IStackWalker_INTERFACE_DEFINED__ */
  334. /* interface __MIDL_itf_stackwalk_0095 */
  335. /* [local] */
  336. EXTERN_C const CLSID CLSID_StackWalker;
  337. extern RPC_IF_HANDLE __MIDL_itf_stackwalk_0095_ClientIfHandle;
  338. extern RPC_IF_HANDLE __MIDL_itf_stackwalk_0095_ServerIfHandle;
  339. /* Additional Prototypes for ALL interfaces */
  340. /* end of Additional Prototypes */
  341. #ifdef __cplusplus
  342. }
  343. #endif
  344. #endif