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 10 #include "rpc.h" 11 #include "rpcndr.h" 12 13 #ifndef __RPCNDR_H_VERSION__ 14 #error This stub requires an updated version of <rpcndr.h> 15 #endif 16 17 #ifndef COM_NO_WINDOWS_H 18 #include "windows.h" 19 #include "ole2.h" 20 #endif 21 22 #ifndef __dbgautoattach_h__ 23 #define __dbgautoattach_h__ 24 25 #ifndef __IDebugAutoAttach_FWD_DEFINED__ 26 #define __IDebugAutoAttach_FWD_DEFINED__ 27 typedef struct IDebugAutoAttach IDebugAutoAttach; 28 #endif 29 30 #include "ocidl.h" 31 32 #ifdef __cplusplus 33 extern "C"{ 34 #endif 35 36 #ifndef __MIDL_user_allocate_free_DEFINED__ 37 #define __MIDL_user_allocate_free_DEFINED__ 38 void *__RPC_API MIDL_user_allocate(size_t); 39 void __RPC_API MIDL_user_free(void *); 40 #endif 41 42 DEFINE_GUID(CLSID_DebugAutoAttach,0x70f65411,0xfe8c,0x4248,0xbc,0xff,0x70,0x1c,0x8b,0x2f,0x45,0x29); 43 extern RPC_IF_HANDLE __MIDL_itf_dbgautoattach_0000_v0_0_c_ifspec; 44 extern RPC_IF_HANDLE __MIDL_itf_dbgautoattach_0000_v0_0_s_ifspec; 45 46 #ifndef __IDebugAutoAttach_INTERFACE_DEFINED__ 47 #define __IDebugAutoAttach_INTERFACE_DEFINED__ 48 enum __MIDL_IDebugAutoAttach_0001 { 49 AUTOATTACH_PROGRAM_WIN32 = 0x1,AUTOATTACH_PROGRAM_COMPLUS = 0x2 50 }; 51 typedef DWORD AUTOATTACH_PROGRAM_TYPE; 52 53 EXTERN_C const IID IID_IDebugAutoAttach; 54 #if defined(__cplusplus) && !defined(CINTERFACE) 55 struct IDebugAutoAttach : public IUnknown { 56 public: 57 virtual HRESULT WINAPI AutoAttach(REFGUID guidPort,DWORD dwPid,AUTOATTACH_PROGRAM_TYPE dwProgramType,DWORD dwProgramId,LPCWSTR pszSessionId) = 0; 58 }; 59 #else 60 typedef struct IDebugAutoAttachVtbl { 61 BEGIN_INTERFACE 62 HRESULT (WINAPI *QueryInterface)(IDebugAutoAttach *This,REFIID riid,void **ppvObject); 63 ULONG (WINAPI *AddRef)(IDebugAutoAttach *This); 64 ULONG (WINAPI *Release)(IDebugAutoAttach *This); 65 HRESULT (WINAPI *AutoAttach)(IDebugAutoAttach *This,REFGUID guidPort,DWORD dwPid,AUTOATTACH_PROGRAM_TYPE dwProgramType,DWORD dwProgramId,LPCWSTR pszSessionId); 66 END_INTERFACE 67 } IDebugAutoAttachVtbl; 68 struct IDebugAutoAttach { 69 CONST_VTBL struct IDebugAutoAttachVtbl *lpVtbl; 70 }; 71 #ifdef COBJMACROS 72 #define IDebugAutoAttach_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 73 #define IDebugAutoAttach_AddRef(This) (This)->lpVtbl->AddRef(This) 74 #define IDebugAutoAttach_Release(This) (This)->lpVtbl->Release(This) 75 #define IDebugAutoAttach_AutoAttach(This,guidPort,dwPid,dwProgramType,dwProgramId,pszSessionId) (This)->lpVtbl->AutoAttach(This,guidPort,dwPid,dwProgramType,dwProgramId,pszSessionId) 76 #endif 77 #endif 78 HRESULT WINAPI IDebugAutoAttach_AutoAttach_Proxy(IDebugAutoAttach *This,REFGUID guidPort,DWORD dwPid,AUTOATTACH_PROGRAM_TYPE dwProgramType,DWORD dwProgramId,LPCWSTR pszSessionId); 79 void __RPC_STUB IDebugAutoAttach_AutoAttach_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 80 #endif 81 82 #ifdef __cplusplus 83 } 84 #endif 85 #endif 86