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