dbgautoattach.h 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  7. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  8. #endif
  9. #include "rpc.h"
  10. #include "rpcndr.h"
  11. #ifndef __RPCNDR_H_VERSION__
  12. #error This stub requires an updated version of <rpcndr.h>
  13. #endif
  14. #ifndef COM_NO_WINDOWS_H
  15. #include "windows.h"
  16. #include "ole2.h"
  17. #endif
  18. #ifndef __dbgautoattach_h__
  19. #define __dbgautoattach_h__
  20. #ifndef __IDebugAutoAttach_FWD_DEFINED__
  21. #define __IDebugAutoAttach_FWD_DEFINED__
  22. typedef struct IDebugAutoAttach IDebugAutoAttach;
  23. #endif
  24. #include "ocidl.h"
  25. #ifdef __cplusplus
  26. extern "C"{
  27. #endif
  28. #ifndef __MIDL_user_allocate_free_DEFINED__
  29. #define __MIDL_user_allocate_free_DEFINED__
  30. void *__RPC_API MIDL_user_allocate(size_t);
  31. void __RPC_API MIDL_user_free(void *);
  32. #endif
  33. DEFINE_GUID(CLSID_DebugAutoAttach,0x70f65411,0xfe8c,0x4248,0xbc,0xff,0x70,0x1c,0x8b,0x2f,0x45,0x29);
  34. extern RPC_IF_HANDLE __MIDL_itf_dbgautoattach_0000_v0_0_c_ifspec;
  35. extern RPC_IF_HANDLE __MIDL_itf_dbgautoattach_0000_v0_0_s_ifspec;
  36. #ifndef __IDebugAutoAttach_INTERFACE_DEFINED__
  37. #define __IDebugAutoAttach_INTERFACE_DEFINED__
  38. enum __MIDL_IDebugAutoAttach_0001 {
  39. AUTOATTACH_PROGRAM_WIN32 = 0x1,AUTOATTACH_PROGRAM_COMPLUS = 0x2
  40. };
  41. typedef DWORD AUTOATTACH_PROGRAM_TYPE;
  42. EXTERN_C const IID IID_IDebugAutoAttach;
  43. #if defined(__cplusplus) && !defined(CINTERFACE)
  44. struct IDebugAutoAttach : public IUnknown {
  45. public:
  46. virtual HRESULT WINAPI AutoAttach(REFGUID guidPort,DWORD dwPid,AUTOATTACH_PROGRAM_TYPE dwProgramType,DWORD dwProgramId,LPCWSTR pszSessionId) = 0;
  47. };
  48. #else
  49. typedef struct IDebugAutoAttachVtbl {
  50. BEGIN_INTERFACE
  51. HRESULT (WINAPI *QueryInterface)(IDebugAutoAttach *This,REFIID riid,void **ppvObject);
  52. ULONG (WINAPI *AddRef)(IDebugAutoAttach *This);
  53. ULONG (WINAPI *Release)(IDebugAutoAttach *This);
  54. HRESULT (WINAPI *AutoAttach)(IDebugAutoAttach *This,REFGUID guidPort,DWORD dwPid,AUTOATTACH_PROGRAM_TYPE dwProgramType,DWORD dwProgramId,LPCWSTR pszSessionId);
  55. END_INTERFACE
  56. } IDebugAutoAttachVtbl;
  57. struct IDebugAutoAttach {
  58. CONST_VTBL struct IDebugAutoAttachVtbl *lpVtbl;
  59. };
  60. #ifdef COBJMACROS
  61. #define IDebugAutoAttach_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  62. #define IDebugAutoAttach_AddRef(This) (This)->lpVtbl->AddRef(This)
  63. #define IDebugAutoAttach_Release(This) (This)->lpVtbl->Release(This)
  64. #define IDebugAutoAttach_AutoAttach(This,guidPort,dwPid,dwProgramType,dwProgramId,pszSessionId) (This)->lpVtbl->AutoAttach(This,guidPort,dwPid,dwProgramType,dwProgramId,pszSessionId)
  65. #endif
  66. #endif
  67. HRESULT WINAPI IDebugAutoAttach_AutoAttach_Proxy(IDebugAutoAttach *This,REFGUID guidPort,DWORD dwPid,AUTOATTACH_PROGRAM_TYPE dwProgramType,DWORD dwProgramId,LPCWSTR pszSessionId);
  68. void __RPC_STUB IDebugAutoAttach_AutoAttach_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  69. #endif
  70. #ifdef __cplusplus
  71. }
  72. #endif
  73. #endif