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 22DECLARE_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 48DECLARE_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 80DECLARE_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 108extern "C" { 109#endif 110 111HRESULT WINAPI WSDCreateOutboundAttachment( 112 IWSDOutboundAttachment **attachmentOut 113); 114 115#ifdef __cplusplus 116} 117#endif 118 119#endif /*(_WIN32_WINNT >= 0x0600)*/ 120#endif /*_INC_WSDATTACHMENT*/ 121