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_WSDCLIENT
      7 #define _INC_WSDCLIENT
      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 IWSDEventingStatus
     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_(IWSDEventingStatus,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     /* IWSDEventingStatus methods */
     32     STDMETHOD(SubscriptionRenewed)(THIS_ LPCWSTR pszSubscriptionAction) PURE;
     33     STDMETHOD(SubscriptionRenewalFailed)(THIS_ LPCWSTR pszSubscriptionAction,HRESULT hr) PURE;
     34     STDMETHOD(SubscriptionEnded)(THIS_ LPCWSTR pszSubscriptionAction) PURE;
     35 
     36     END_INTERFACE
     37 };
     38 #ifdef COBJMACROS
     39 #define IWSDEventingStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
     40 #define IWSDEventingStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
     41 #define IWSDEventingStatus_Release(This) (This)->lpVtbl->Release(This)
     42 #define IWSDEventingStatus_SubscriptionRenewed(This,pszSubscriptionAction) (This)->lpVtbl->SubscriptionRenewed(This,pszSubscriptionAction)
     43 #define IWSDEventingStatus_SubscriptionRenewalFailed(This,pszSubscriptionAction,hr) (This)->lpVtbl->SubscriptionRenewalFailed(This,pszSubscriptionAction,hr)
     44 #define IWSDEventingStatus_SubscriptionEnded(This,pszSubscriptionAction) (This)->lpVtbl->SubscriptionEnded(This,pszSubscriptionAction)
     45 #endif /*COBJMACROS*/
     46 
     47 #undef  INTERFACE
     48 #define INTERFACE IWSDAsyncCallback
     49 #ifdef __GNUC__
     50 #warning COM interfaces layout in this header has not been verified.
     51 #warning COM interfaces with incorrect layout may not work at all.
     52 __MINGW_BROKEN_INTERFACE(INTERFACE)
     53 #endif
     54 DECLARE_INTERFACE_(IWSDAsyncCallback,IUnknown)
     55 {
     56     BEGIN_INTERFACE
     57 
     58     /* IUnknown methods */
     59     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
     60     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
     61     STDMETHOD_(ULONG, Release)(THIS) PURE;
     62 
     63     /* IWSDAsyncCallback methods */
     64     STDMETHOD_(HRESULT,AsyncOperationComplete)(THIS_ IWSDAsyncResult *pAsyncResult,IUnknown *pAsyncState) PURE;
     65 
     66     END_INTERFACE
     67 };
     68 #ifdef COBJMACROS
     69 #define IWSDAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
     70 #define IWSDAsyncCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
     71 #define IWSDAsyncCallback_Release(This) (This)->lpVtbl->Release(This)
     72 #define IWSDAsyncCallback_AsyncOperationComplete(This,pAsyncResult,pAsyncState) (This)->lpVtbl->AsyncOperationComplete(This,pAsyncResult,pAsyncState)
     73 #endif /*COBJMACROS*/
     74 
     75 #undef  INTERFACE
     76 #define INTERFACE IWSDAsyncResult
     77 #ifdef __GNUC__
     78 #warning COM interfaces layout in this header has not been verified.
     79 #warning COM interfaces with incorrect layout may not work at all.
     80 __MINGW_BROKEN_INTERFACE(INTERFACE)
     81 #endif
     82 DECLARE_INTERFACE_(IWSDAsyncResult,IUnknown)
     83 {
     84     BEGIN_INTERFACE
     85 
     86     /* IUnknown methods */
     87     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
     88     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
     89     STDMETHOD_(ULONG, Release)(THIS) PURE;
     90 
     91     /* IWSDAsyncResult methods */
     92     STDMETHOD_(HRESULT,SetCallback)(THIS_ IWSDAsyncCallback *pCallback,IUnknown *pAsyncState) PURE;
     93     STDMETHOD_(HRESULT,SetWaitHandle)(THIS_ HANDLE hWaitHandle) PURE;
     94     STDMETHOD_(HRESULT,HasCompleted)(THIS) PURE;
     95     STDMETHOD_(HRESULT,GetAsyncState)(THIS_ IUnknown **ppAsyncState) PURE;
     96     STDMETHOD_(HRESULT,Abort)(THIS) PURE;
     97     STDMETHOD_(HRESULT,GetEvent)(THIS_ WSD_EVENT *pEvent) PURE;
     98     STDMETHOD_(HRESULT,GetEndpointProxy)(THIS_ IWSDEndpointProxy **ppEndpoint) PURE;
     99 
    100     END_INTERFACE
    101 };
    102 #ifdef COBJMACROS
    103 #define IWSDAsyncResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    104 #define IWSDAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This)
    105 #define IWSDAsyncResult_Release(This) (This)->lpVtbl->Release(This)
    106 #define IWSDAsyncResult_SetCallback(This,pCallback,pAsyncState) (This)->lpVtbl->SetCallback(This,pCallback,pAsyncState)
    107 #define IWSDAsyncResult_SetWaitHandle(This,hWaitHandle) (This)->lpVtbl->SetWaitHandle(This,hWaitHandle)
    108 #define IWSDAsyncResult_HasCompleted() (This)->lpVtbl->HasCompleted(This)
    109 #define IWSDAsyncResult_GetAsyncState(This,ppAsyncState) (This)->lpVtbl->GetAsyncState(This,ppAsyncState)
    110 #define IWSDAsyncResult_Abort() (This)->lpVtbl->Abort(This)
    111 #define IWSDAsyncResult_GetEvent(This,pEvent) (This)->lpVtbl->GetEvent(This,pEvent)
    112 #define IWSDAsyncResult_GetEndpointProxy(This,ppEndpoint) (This)->lpVtbl->GetEndpointProxy(This,ppEndpoint)
    113 #endif /*COBJMACROS*/
    114 
    115 #undef  INTERFACE
    116 #define INTERFACE IWSDDeviceProxy
    117 #ifdef __GNUC__
    118 #warning COM interfaces layout in this header has not been verified.
    119 #warning COM interfaces with incorrect layout may not work at all.
    120 __MINGW_BROKEN_INTERFACE(INTERFACE)
    121 #endif
    122 DECLARE_INTERFACE_(IWSDDeviceProxy,IUnknown)
    123 {
    124     BEGIN_INTERFACE
    125 
    126     /* IUnknown methods */
    127     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    128     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    129     STDMETHOD_(ULONG, Release)(THIS) PURE;
    130 
    131     /* IWSDDeviceProxy methods */
    132     STDMETHOD_(HRESULT,Init)(THIS_ LPCWSTR pszDeviceId,IWSDAddress *pDeviceAddress,LPCWSTR pszLocalId,IWSDDeviceProxy *pSponsor) PURE;
    133     STDMETHOD_(HRESULT,BeginGetMetadata)(THIS_ IWSDAsyncResult **ppResult) PURE;
    134     STDMETHOD_(HRESULT,EndGetMetadata)(THIS_ IWSDAsyncResult *pResult) PURE;
    135     STDMETHOD_(HRESULT,GetHostMetadata)(THIS_ WSD_HOST_METADATA **ppHostMetadata) PURE;
    136     STDMETHOD_(HRESULT,GetThisModelMetadata)(THIS_ WSD_THIS_MODEL_METADATA **ppManufacturerMetadata) PURE;
    137     STDMETHOD_(HRESULT,GetThisDeviceMetadata)(THIS_ WSD_THIS_DEVICE_METADATA **ppThisDeviceMetadata) PURE;
    138     STDMETHOD_(HRESULT,GetAllMetadata)(THIS_ WSD_METADATA_SECTION_LIST **ppMetadata) PURE;
    139     STDMETHOD_(HRESULT,GetServiceProxyById)(THIS_ LPCWSTR pszServiceId,IWSDServiceProxy **ppServiceProxy) PURE;
    140     STDMETHOD_(HRESULT,GetServiceProxyByType)(THIS_ const WSDXML_NAME *pType,IWSDServiceProxy **ppServiceProxy) PURE;
    141     STDMETHOD_(HRESULT,GetEndpointProxy)(THIS_ IWSDEndpointProxy **ppProxy) PURE;
    142 
    143     END_INTERFACE
    144 };
    145 #ifdef COBJMACROS
    146 #define IWSDDeviceProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    147 #define IWSDDeviceProxy_AddRef(This) (This)->lpVtbl->AddRef(This)
    148 #define IWSDDeviceProxy_Release(This) (This)->lpVtbl->Release(This)
    149 #define IWSDDeviceProxy_Init(This,pszDeviceId,pDeviceAddress,pszLocalId,pSponsor) (This)->lpVtbl->Init(This,pszDeviceId,pDeviceAddress,pszLocalId,pSponsor)
    150 #define IWSDDeviceProxy_BeginGetMetadata(This,ppResult) (This)->lpVtbl->BeginGetMetadata(This,ppResult)
    151 #define IWSDDeviceProxy_EndGetMetadata(This,pResult) (This)->lpVtbl->EndGetMetadata(This,pResult)
    152 #define IWSDDeviceProxy_GetHostMetadata(This,ppHostMetadata) (This)->lpVtbl->GetHostMetadata(This,ppHostMetadata)
    153 #define IWSDDeviceProxy_GetThisModelMetadata(This,ppManufacturerMetadata) (This)->lpVtbl->GetThisModelMetadata(This,ppManufacturerMetadata)
    154 #define IWSDDeviceProxy_GetThisDeviceMetadata(This,ppThisDeviceMetadata) (This)->lpVtbl->GetThisDeviceMetadata(This,ppThisDeviceMetadata)
    155 #define IWSDDeviceProxy_GetAllMetadata(This,ppMetadata) (This)->lpVtbl->GetAllMetadata(This,ppMetadata)
    156 #define IWSDDeviceProxy_GetServiceProxyById(This,pszServiceId,ppServiceProxy) (This)->lpVtbl->GetServiceProxyById(This,pszServiceId,ppServiceProxy)
    157 #define IWSDDeviceProxy_GetServiceProxyByType(This,pType,ppServiceProxy) (This)->lpVtbl->GetServiceProxyByType(This,pType,ppServiceProxy)
    158 #define IWSDDeviceProxy_GetEndpointProxy(This,ppProxy) (This)->lpVtbl->GetEndpointProxy(This,ppProxy)
    159 #endif /*COBJMACROS*/
    160 
    161 #undef  INTERFACE
    162 #define INTERFACE IWSDMetadataExchange
    163 #ifdef __GNUC__
    164 #warning COM interfaces layout in this header has not been verified.
    165 #warning COM interfaces with incorrect layout may not work at all.
    166 __MINGW_BROKEN_INTERFACE(INTERFACE)
    167 #endif
    168 DECLARE_INTERFACE_(IWSDMetadataExchange,IUnknown)
    169 {
    170     BEGIN_INTERFACE
    171 
    172     /* IUnknown methods */
    173     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    174     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    175     STDMETHOD_(ULONG, Release)(THIS) PURE;
    176 
    177     /* IWSDMetadataExchange methods */
    178     STDMETHOD_(HRESULT,GetMetadata)(THIS_ WSD_METADATA_SECTION_LIST **MetadataOut) PURE;
    179 
    180     END_INTERFACE
    181 };
    182 #ifdef COBJMACROS
    183 #define IWSDMetadataExchange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    184 #define IWSDMetadataExchange_AddRef(This) (This)->lpVtbl->AddRef(This)
    185 #define IWSDMetadataExchange_Release(This) (This)->lpVtbl->Release(This)
    186 #define IWSDMetadataExchange_GetMetadata(This,MetadataOut) (This)->lpVtbl->GetMetadata(This,MetadataOut)
    187 #endif /*COBJMACROS*/
    188 
    189 #undef  INTERFACE
    190 #define INTERFACE IWSDServiceProxy
    191 #ifdef __GNUC__
    192 #warning COM interfaces layout in this header has not been verified.
    193 #warning COM interfaces with incorrect layout may not work at all.
    194 __MINGW_BROKEN_INTERFACE(INTERFACE)
    195 #endif
    196 DECLARE_INTERFACE_(IWSDServiceProxy,IWSDMetadataExchange)
    197 {
    198     BEGIN_INTERFACE
    199 
    200     /* IUnknown methods */
    201     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    202     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    203     STDMETHOD_(ULONG, Release)(THIS) PURE;
    204 
    205     /* IWSDMetadataExchange methods */
    206     STDMETHOD_(HRESULT,GetMetadata)(THIS_ WSD_METADATA_SECTION_LIST **MetadataOut) PURE;
    207 
    208     /* IWSDServiceProxy methods */
    209     STDMETHOD_(HRESULT,BeginGetMetadata)(THIS_ IWSDAsyncResult **ppResult) PURE;
    210     STDMETHOD_(HRESULT,EndGetMetadata)(THIS_ IWSDAsyncResult *pResult,WSD_METADATA_SECTION_LIST **ppMetadata) PURE;
    211     STDMETHOD_(HRESULT,GetServiceMetadata)(THIS_ WSD_SERVICE_METADATA **ppServiceMetadata) PURE;
    212     STDMETHOD_(HRESULT,SubscribeToOperation)(THIS_ const WSD_OPERATION *pOperation,IUnknown *pUnknown,const WSDXML_ELEMENT *pAny,WSDXML_ELEMENT **ppAny) PURE;
    213     STDMETHOD_(HRESULT,UnsubscribeToOperation)(THIS_ const WSD_OPERATION *pOperation) PURE;
    214     STDMETHOD_(HRESULT,SetEventingStatusCallback)(THIS_ IWSDEventingStatus *pStatus) PURE;
    215     STDMETHOD_(HRESULT,GetEndpointProxy)(THIS_ IWSDEndpointProxy **ppProxy) PURE;
    216 
    217     END_INTERFACE
    218 };
    219 #ifdef COBJMACROS
    220 #define IWSDServiceProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    221 #define IWSDServiceProxy_AddRef(This) (This)->lpVtbl->AddRef(This)
    222 #define IWSDServiceProxy_Release(This) (This)->lpVtbl->Release(This)
    223 #define IWSDServiceProxy_BeginGetMetadata(This,ppResult) (This)->lpVtbl->BeginGetMetadata(This,ppResult)
    224 #define IWSDServiceProxy_EndGetMetadata(This,pResult,ppMetadata) (This)->lpVtbl->EndGetMetadata(This,pResult,ppMetadata)
    225 #define IWSDServiceProxy_GetServiceMetadata(This,ppServiceMetadata) (This)->lpVtbl->GetServiceMetadata(This,ppServiceMetadata)
    226 #define IWSDServiceProxy_SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny) (This)->lpVtbl->SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny)
    227 #define IWSDServiceProxy_UnsubscribeToOperation(This,pOperation) (This)->lpVtbl->UnsubscribeToOperation(This,pOperation)
    228 #define IWSDServiceProxy_SetEventingStatusCallback(This,pStatus) (This)->lpVtbl->SetEventingStatusCallback(This,pStatus)
    229 #define IWSDServiceProxy_GetEndpointProxy(This,ppProxy) (This)->lpVtbl->GetEndpointProxy(This,ppProxy)
    230 #endif /*COBJMACROS*/
    231 
    232 #undef  INTERFACE
    233 #define INTERFACE IWSDEndpointProxy
    234 #ifdef __GNUC__
    235 #warning COM interfaces layout in this header has not been verified.
    236 #warning COM interfaces with incorrect layout may not work at all.
    237 __MINGW_BROKEN_INTERFACE(INTERFACE)
    238 #endif
    239 DECLARE_INTERFACE_(IWSDEndpointProxy,IUnknown)
    240 {
    241     BEGIN_INTERFACE
    242 
    243     /* IUnknown methods */
    244     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    245     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    246     STDMETHOD_(ULONG, Release)(THIS) PURE;
    247 
    248     /* IWSDEndpointProxy methods */
    249     STDMETHOD_(HRESULT,SendOneWayRequest)(THIS_ const void *pBody,const WSD_OPERATION *pOperation) PURE;
    250     STDMETHOD_(HRESULT,SendTwoWayRequest)(THIS_ const void *pBody,const WSD_OPERATION *pOperation,WSD_SYNCHRONOUS_RESPONSE_CONTEXT *pResponseContext) PURE;
    251     STDMETHOD_(HRESULT,SendTwoWayRequestAsync)(THIS_ const void *pBody,const WSD_OPERATION *pOperation,IUnknown *pAsyncState,IWSDAsyncCallback *pCallback,IWSDAsyncResult **pResult) PURE;
    252     STDMETHOD_(HRESULT,AbortAsyncOperation)(THIS_ IWSDAsyncResult *pAsyncResult) PURE;
    253     STDMETHOD_(HRESULT,ProcessFault)(THIS_ const WSD_SOAP_FAULT *pFault) PURE;
    254     STDMETHOD_(HRESULT,GetErrorInfo)(THIS_ const LPCWSTR *ppszErrorInfo) PURE;
    255     STDMETHOD_(HRESULT,GetFaultInfo)(THIS_ WSD_SOAP_FAULT **ppFault) PURE;
    256 
    257     END_INTERFACE
    258 };
    259 #ifdef COBJMACROS
    260 #define IWSDEndpointProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    261 #define IWSDEndpointProxy_AddRef(This) (This)->lpVtbl->AddRef(This)
    262 #define IWSDEndpointProxy_Release(This) (This)->lpVtbl->Release(This)
    263 #define IWSDEndpointProxy_SendOneWayRequest(This,pBody,pOperation) (This)->lpVtbl->SendOneWayRequest(This,pBody,pOperation)
    264 #define IWSDEndpointProxy_SendTwoWayRequest(This,pBody,pOperation,pResponseContext) (This)->lpVtbl->SendTwoWayRequest(This,pBody,pOperation,pResponseContext)
    265 #define IWSDEndpointProxy_SendTwoWayRequestAsync(This,pBody,pOperation,pAsyncState,pCallback,pResult) (This)->lpVtbl->SendTwoWayRequestAsync(This,pBody,pOperation,pAsyncState,pCallback,pResult)
    266 #define IWSDEndpointProxy_AbortAsyncOperation(This,pAsyncResult) (This)->lpVtbl->AbortAsyncOperation(This,pAsyncResult)
    267 #define IWSDEndpointProxy_ProcessFault(This,pFault) (This)->lpVtbl->ProcessFault(This,pFault)
    268 #define IWSDEndpointProxy_GetErrorInfo(This,ppszErrorInfo) (This)->lpVtbl->GetErrorInfo(This,ppszErrorInfo)
    269 #define IWSDEndpointProxy_GetFaultInfo(This,ppFault) (This)->lpVtbl->GetFaultInfo(This,ppFault)
    270 #endif /*COBJMACROS*/
    271 
    272 #ifdef __cplusplus
    273 extern "C" {
    274 #endif
    275 
    276 HRESULT WINAPI WSDCreateDeviceProxy(
    277   const WCHAR *pszDeviceId,
    278   const WCHAR *pszLocalId,
    279   IWSDXMLContext *pContext,
    280   IWSDDeviceProxy **ppDeviceProxy
    281 );
    282 
    283 HRESULT WINAPI WSDCreateDeviceProxyAdvanced(
    284   const WCHAR *pszDeviceId,
    285   IWSDAddress *pDeviceAddress,
    286   const WCHAR *pszLocalId,
    287   IWSDXMLContext *pContext,
    288   IWSDDeviceProxy **ppDeviceProxy
    289 );
    290 
    291 #ifdef __cplusplus
    292 }
    293 #endif
    294 #endif /*(_WIN32_WINNT >= 0x0600)*/
    295 #endif /*_INC_WSDCLIENT*/
    296