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 _INC_WSDATTACHMENT 7 #define _INC_WSDATTACHMENT 8 9 #ifndef _INC_WSDAPI 10 #error Please include wsdapi.h instead of this header. This header cannot be used directly. 11 #endif 12 13 #if (_WIN32_WINNT >= 0x0600) 14 15 #undef INTERFACE 16 #define INTERFACE IWSDAttachment 17 #ifdef __GNUC__ 18 #warning COM interfaces layout in this header has not been verified. 19 #warning COM interfaces with incorrect layout may not work at all. 20 __MINGW_BROKEN_INTERFACE(INTERFACE) 21 #endif 22 DECLARE_INTERFACE_(IWSDAttachment,IUnknown) 23 { 24 BEGIN_INTERFACE 25 26 /* IUnknown methods */ 27 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 28 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 29 STDMETHOD_(ULONG, Release)(THIS) PURE; 30 31 /* IWSDAttachment methods */ 32 33 END_INTERFACE 34 }; 35 #ifdef COBJMACROS 36 #define IWSDAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 37 #define IWSDAttachment_AddRef(This) (This)->lpVtbl->AddRef(This) 38 #define IWSDAttachment_Release(This) (This)->lpVtbl->Release(This) 39 #endif /*COBJMACROS*/ 40 41 #undef INTERFACE 42 #define INTERFACE IWSDInboundAttachment 43 #ifdef __GNUC__ 44 #warning COM interfaces layout in this header has not been verified. 45 #warning COM interfaces with incorrect layout may not work at all. 46 __MINGW_BROKEN_INTERFACE(INTERFACE) 47 #endif 48 DECLARE_INTERFACE_(IWSDInboundAttachment,IWSDAttachment) 49 { 50 BEGIN_INTERFACE 51 52 /* IUnknown methods */ 53 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 54 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 55 STDMETHOD_(ULONG, Release)(THIS) PURE; 56 57 /* IWSDAttachment methods */ 58 59 /* IWSDInboundAttachment methods */ 60 STDMETHOD_(HRESULT,Read)(THIS_ BYTE *pBuffer,DWORD dwBytesToRead,LPDWORD pdwNumberofBytesRead) PURE; 61 STDMETHOD_(HRESULT,Close)(THIS) PURE; 62 63 END_INTERFACE 64 }; 65 #ifdef COBJMACROS 66 #define IWSDInboundAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 67 #define IWSDInboundAttachment_AddRef(This) (This)->lpVtbl->AddRef(This) 68 #define IWSDInboundAttachment_Release(This) (This)->lpVtbl->Release(This) 69 #define IWSDInboundAttachment_Read(This,pBuffer,dwBytesToRead,pdwNumberofBytesRead) (This)->lpVtbl->Read(This,pBuffer,dwBytesToRead,pdwNumberofBytesRead) 70 #define IWSDInboundAttachment_Close() (This)->lpVtbl->Close(This) 71 #endif /*COBJMACROS*/ 72 73 #undef INTERFACE 74 #define INTERFACE IWSDOutboundAttachment 75 #ifdef __GNUC__ 76 #warning COM interfaces layout in this header has not been verified. 77 #warning COM interfaces with incorrect layout may not work at all. 78 __MINGW_BROKEN_INTERFACE(INTERFACE) 79 #endif 80 DECLARE_INTERFACE_(IWSDOutboundAttachment,IWSDAttachment) 81 { 82 BEGIN_INTERFACE 83 84 /* IUnknown methods */ 85 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 86 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 87 STDMETHOD_(ULONG, Release)(THIS) PURE; 88 89 /* IWSDAttachment methods */ 90 91 /* IWSDOutboundAttachment methods */ 92 STDMETHOD_(HRESULT,Write)(THIS_ const BYTE *pBuffer,DWORD dwBytesToWrite,LPDWORD pdwNumberofBytesWritten) PURE; 93 STDMETHOD_(HRESULT,Close)(THIS) PURE; 94 STDMETHOD_(HRESULT,Abort)(THIS) PURE; 95 96 END_INTERFACE 97 }; 98 #ifdef COBJMACROS 99 #define IWSDOutboundAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 100 #define IWSDOutboundAttachment_AddRef(This) (This)->lpVtbl->AddRef(This) 101 #define IWSDOutboundAttachment_Release(This) (This)->lpVtbl->Release(This) 102 #define IWSDOutboundAttachment_Write(This,pBuffer,dwBytesToWrite,pdwNumberofBytesWritten) (This)->lpVtbl->Write(This,pBuffer,dwBytesToWrite,pdwNumberofBytesWritten) 103 #define IWSDOutboundAttachment_Close() (This)->lpVtbl->Close(This) 104 #define IWSDOutboundAttachment_Abort() (This)->lpVtbl->Abort(This) 105 #endif /*COBJMACROS*/ 106 107 #ifdef __cplusplus 108 extern "C" { 109 #endif 110 111 HRESULT WINAPI WSDCreateOutboundAttachment( 112 IWSDOutboundAttachment **attachmentOut 113 ); 114 115 #ifdef __cplusplus 116 } 117 #endif 118 119 #endif /*(_WIN32_WINNT >= 0x0600)*/ 120 #endif /*_INC_WSDATTACHMENT*/ 121