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__ 27typedef struct IDebugAutoAttach IDebugAutoAttach; 28#endif 29 30#include "ocidl.h" 31 32#ifdef __cplusplus 33extern "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