Home | History | Annotate | Download | only in include
      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