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