//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (c) Microsoft Corporation. All rights reserved. // // Component: WSDAPI - Microsoft Web Services for Devices API // // File: wsdclient.idl // // Abstract: Client interface definitions and typedefs for WSDAPI // // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT MODIFY IT BY HAND. // //-------------------------------------------------------------------------- import "oaidl.idl"; import "ocidl.idl"; import "wsdxmldom.h"; import "wsdtypes.h"; // // Forward definitions // interface IWSDAddress; interface IWSDXMLContext; interface IWSDiscoveredService; interface IWSDDeviceProxy; interface IWSDServiceProxy; interface IWSDEndpointProxy; interface IWSDAsyncResult; interface IWSDAsyncCallback; interface IWSDMetadataExchange; interface IWSDEventingStatus; cpp_quote("HRESULT WINAPI") cpp_quote("WSDCreateDeviceProxy(") cpp_quote(" __in LPCWSTR pszDeviceId,") cpp_quote(" __in LPCWSTR pszLocalId,") cpp_quote(" IWSDXMLContext* pContext,") cpp_quote(" __deref_out IWSDDeviceProxy** ppDeviceProxy);") cpp_quote("HRESULT WINAPI") cpp_quote("WSDCreateDeviceProxyAdvanced(") cpp_quote(" __in LPCWSTR pszDeviceId,") cpp_quote(" IWSDAddress* pDeviceAddress,") cpp_quote(" __in LPCWSTR pszLocalId,") cpp_quote(" IWSDXMLContext* pContext,") cpp_quote(" __deref_out IWSDDeviceProxy** ppDeviceProxy);") cpp_quote("#if (WINVER >= _WIN32_WINNT_WIN7)") cpp_quote("HRESULT WINAPI") cpp_quote("WSDCreateDeviceProxy2(") cpp_quote(" __in LPCWSTR pszDeviceId,") cpp_quote(" __in LPCWSTR pszLocalId,") cpp_quote(" IWSDXMLContext* pContext,") cpp_quote(" __in_ecount_opt(dwConfigParamCount) WSD_CONFIG_PARAM* pConfigParams,") cpp_quote(" DWORD dwConfigParamCount,") cpp_quote(" __deref_out IWSDDeviceProxy** ppDeviceProxy);") cpp_quote("#endif") //+------------------------------------------------------------------------- // IWSDEndpointProxy Interface // Description: Messaging proxy to device services //-------------------------------------------------------------------------- [ object, uuid(1860d430-b24c-4975-9f90-dbb39baa24ec), helpstring("IWSDEndpointProxy Interface"), pointer_default(unique), restricted, local ] interface IWSDEndpointProxy : IUnknown { HRESULT SendOneWayRequest( [in] const void* pBody, [in] const WSD_OPERATION* pOperation); HRESULT SendTwoWayRequest( [in] const void* pBody, [in] const WSD_OPERATION* pOperation, [in, optional] const WSD_SYNCHRONOUS_RESPONSE_CONTEXT* pResponseContext); HRESULT SendTwoWayRequestAsync( [in] const void* pBody, [in] const WSD_OPERATION* pOperation, [in] IUnknown* pAsyncState, [in] IWSDAsyncCallback* pCallback, [out, annotation("__deref_out")] IWSDAsyncResult** pResult); HRESULT AbortAsyncOperation( [in] IWSDAsyncResult* pAsyncResult); HRESULT ProcessFault( [in] const WSD_SOAP_FAULT* pFault); HRESULT GetErrorInfo( [out, annotation("__deref_out")] LPCWSTR* ppszErrorInfo); // Note: Deallocate with WSDFreeLinkedMemory // Obtain information on the last error. HRESULT GetFaultInfo( [out, annotation("__deref_out")] WSD_SOAP_FAULT** ppFault); // Note: Deallocate with WSDFreeLinkedMemory }; //+------------------------------------------------------------------------- // IWSDServiceProxy Interface // Description: Client-side representation of device services //-------------------------------------------------------------------------- [ object, uuid(d4c7fb9c-03ab-4175-9d67-094fafebf487), helpstring("IWSDServiceProxy Interface"), pointer_default(unique), restricted, local ] interface IWSDServiceProxy : IWSDMetadataExchange { HRESULT BeginGetMetadata( [out, annotation("__deref_out")] IWSDAsyncResult** ppResult); HRESULT EndGetMetadata( [in] IWSDAsyncResult* pResult, [out, annotation("__deref_out")] WSD_METADATA_SECTION_LIST** ppMetadata); // Note: Do not deallocate ppMetadata HRESULT GetServiceMetadata( [out, annotation("__deref_out")] WSD_SERVICE_METADATA** ppServiceMetadata); // Note: Do not deallocate ppServiceMetadata HRESULT SubscribeToOperation( [in] const WSD_OPERATION* pOperation, [in] IUnknown* pUnknown, [in] const WSDXML_ELEMENT* pAny, [out, annotation("__deref_opt_out")] WSDXML_ELEMENT** ppAny); // Note: Deallocate with WSDFreeLinkedMemory HRESULT UnsubscribeToOperation( [in] const WSD_OPERATION* pOperation); HRESULT SetEventingStatusCallback( [in, optional] IWSDEventingStatus* pStatus); HRESULT GetEndpointProxy( [out, annotation("__deref_out")] IWSDEndpointProxy** ppProxy); }; cpp_quote("#if (WINVER >= _WIN32_WINNT_WIN7)") //+------------------------------------------------------------------------- // IWSDServiceProxyEventing Interface // Description: Client-side eventing representation of device services //-------------------------------------------------------------------------- [ object, uuid(f9279d6d-1012-4a94-b8cc-fd35d2202bfe), helpstring("IWSDServiceProxyEventing Interface"), pointer_default(unique), restricted, local ] interface IWSDServiceProxyEventing : IWSDServiceProxy { // // Subscribe // HRESULT SubscribeToMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in, annotation("__in_opt")] IUnknown* pUnknown, [in, annotation("__in_opt")] const WSD_EVENTING_EXPIRES* pExpires, [in, annotation("__in_opt")] const WSDXML_ELEMENT* pAny, [out, annotation("__deref_opt_out")] WSD_EVENTING_EXPIRES** ppExpires, // Note: Deallocate with WSDFreeLinkedMemory [out, annotation("__deref_opt_out")] WSDXML_ELEMENT** ppAny); // Note: Deallocate with WSDFreeLinkedMemory HRESULT BeginSubscribeToMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in, annotation("__in_opt")] IUnknown* pUnknown, [in, annotation("__in_opt")] const WSD_EVENTING_EXPIRES* pExpires, [in, annotation("__in_opt")] const WSDXML_ELEMENT* pAny, [in, annotation("__in_opt")] IUnknown* pAsyncState, [in, annotation("__in_opt")] IWSDAsyncCallback* pAsyncCallback, [out, annotation("__deref_out")] IWSDAsyncResult** ppResult); HRESULT EndSubscribeToMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in, annotation("__in")] IWSDAsyncResult* pResult, [out, annotation("__deref_opt_out")] WSD_EVENTING_EXPIRES** ppExpires, // Note: Deallocate with WSDFreeLinkedMemory [out, annotation("__deref_opt_out")] WSDXML_ELEMENT** ppAny); // Note: Deallocate with WSDFreeLinkedMemory // // Unsubscribe // HRESULT UnsubscribeToMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in] const WSDXML_ELEMENT* pAny); HRESULT BeginUnsubscribeToMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in, annotation("__in_opt")] const WSDXML_ELEMENT* pAny, [in, annotation("__in_opt")] IUnknown* pAsyncState, [in, annotation("__in_opt")] IWSDAsyncCallback* pAsyncCallback, [out, annotation("__deref_out")] IWSDAsyncResult** ppResult); HRESULT EndUnsubscribeToMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in, annotation("__in")] IWSDAsyncResult* pResult); // // Renew // HRESULT RenewMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in, annotation("__in_opt")] const WSD_EVENTING_EXPIRES* pExpires, [in, annotation("__in_opt")] const WSDXML_ELEMENT* pAny, [out, annotation("__deref_opt_out")] WSD_EVENTING_EXPIRES** ppExpires, // Note: Deallocate with WSDFreeLinkedMemory [out, annotation("__deref_opt_out")] WSDXML_ELEMENT** ppAny); // Note: Do not deallocate ppAny HRESULT BeginRenewMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in, annotation("__in_opt")] const WSD_EVENTING_EXPIRES* pExpires, [in, annotation("__in_opt")] const WSDXML_ELEMENT* pAny, [in, annotation("__in_opt")] IUnknown* pAsyncState, [in, annotation("__in_opt")] IWSDAsyncCallback* pAsyncCallback, [out, annotation("__deref_out")] IWSDAsyncResult** ppResult); HRESULT EndRenewMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in, annotation("__in")] IWSDAsyncResult* pResult, [out, annotation("__deref_opt_out")] WSD_EVENTING_EXPIRES** ppExpires, // Note: Deallocate with WSDFreeLinkedMemory [out, annotation("__deref_opt_out")] WSDXML_ELEMENT** ppAny); // Note: Deallocate with WSDFreeLinkedMemory // // GetStatus // HRESULT GetStatusForMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in, annotation("__in_opt")] const WSDXML_ELEMENT* pAny, [out, annotation("__deref_opt_out")] WSD_EVENTING_EXPIRES** ppExpires, // Note: Deallocate with WSDFreeLinkedMemory [out, annotation("__deref_opt_out")] WSDXML_ELEMENT** ppAny); // Note: Do not deallocate ppAny HRESULT BeginGetStatusForMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in, annotation("__in_opt")] const WSDXML_ELEMENT* pAny, [in, annotation("__in_opt")] IUnknown* pAsyncState, [in, annotation("__in_opt")] IWSDAsyncCallback* pAsyncCallback, [out, annotation("__deref_out")] IWSDAsyncResult** ppResult); HRESULT EndGetStatusForMultipleOperations( [in, annotation("__in_ecount(dwOperationCount)")] const WSD_OPERATION* pOperations, [in] DWORD dwOperationCount, [in, annotation("__in")] IWSDAsyncResult* pResult, [out, annotation("__deref_opt_out")] WSD_EVENTING_EXPIRES** ppExpires, // Note: Deallocate with WSDFreeLinkedMemory [out, annotation("__deref_opt_out")] WSDXML_ELEMENT** ppAny); // Note: Deallocate with WSDFreeLinkedMemory }; cpp_quote("#endif") //+------------------------------------------------------------------------- // IWSDDeviceProxy Interface // Description: Client-side representation of devices //-------------------------------------------------------------------------- [ object, uuid(eee0c031-c578-4c0e-9a3b-973c35f409db), helpstring("IWSDDeviceProxy Interface"), pointer_default(unique), restricted, local ] interface IWSDDeviceProxy : IUnknown { HRESULT Init( [in, annotation("__in")] LPCWSTR pszDeviceId, [in] IWSDAddress* pDeviceAddress, [in, annotation("__in")] LPCWSTR pszLocalId, [in, optional] IWSDXMLContext* pContext, [in, optional] IWSDDeviceProxy* pSponsor); HRESULT BeginGetMetadata( [out] IWSDAsyncResult** ppResult); HRESULT EndGetMetadata( [in] IWSDAsyncResult* pResult); HRESULT GetHostMetadata( [out, annotation("__deref_out")] WSD_HOST_METADATA** ppHostMetadata); // Note: Do not deallocate ppHostMetadata HRESULT GetThisModelMetadata( [out, annotation("__deref_out")] WSD_THIS_MODEL_METADATA** ppManufacturerMetadata); // Note: Do not deallocate ppManufacturerMetadata HRESULT GetThisDeviceMetadata( [out, annotation("__deref_out")] WSD_THIS_DEVICE_METADATA** ppThisDeviceMetadata); // Note: Do not deallocate ppThisDeviceMetadata HRESULT GetAllMetadata( [out, annotation("__deref_out")] WSD_METADATA_SECTION_LIST **ppMetadata); // Note: Do not deallocate ppMetadata HRESULT GetServiceProxyById( [in, annotation("__in")] LPCWSTR pszServiceId, [out, annotation("__deref_out")] IWSDServiceProxy** ppServiceProxy); HRESULT GetServiceProxyByType( [in] const WSDXML_NAME* pType, [out, annotation("__deref_out")] IWSDServiceProxy** ppServiceProxy); HRESULT GetEndpointProxy( [out, annotation("__deref_out")] IWSDEndpointProxy** ppProxy); }; //+------------------------------------------------------------------------- // IWSDAsyncResult Interface // Description: Represent asynchronous operations //-------------------------------------------------------------------------- [ object, uuid(11a9852a-8dd8-423e-b537-9356db4fbfb8), helpstring("IWSDAsyncResult Interface"), pointer_default(unique), restricted, local ] interface IWSDAsyncResult : IUnknown { HRESULT SetCallback( [in] IWSDAsyncCallback* pCallback, [in] IUnknown* pAsyncState); HRESULT SetWaitHandle( [in] HANDLE hWaitHandle); HRESULT HasCompleted(); HRESULT GetAsyncState( [out, annotation("__deref_out")] IUnknown** ppAsyncState); HRESULT Abort(); HRESULT GetEvent( [out, annotation("__out")] WSD_EVENT* pEvent); HRESULT GetEndpointProxy( [out, annotation("__deref_out")] IWSDEndpointProxy** ppEndpoint); }; //+------------------------------------------------------------------------- // IWSDAsyncCallback Interface // Description: Callbacks for async operation completion. //-------------------------------------------------------------------------- [ object, uuid(a63e109d-ce72-49e2-ba98-e845f5ee1666), helpstring("IWSDAsyncCallback Interface"), pointer_default(unique), restricted, local ] interface IWSDAsyncCallback : IUnknown { HRESULT AsyncOperationComplete( [in] IWSDAsyncResult* pAsyncResult, [in] IUnknown* pAsyncState); }; //+------------------------------------------------------------------------- // IWSDMetadataExchange Interface // Description: MetadataExchange //-------------------------------------------------------------------------- [ object, uuid(06996d57-1d67-4928-9307-3d7833fdb846), helpstring("IWSDMetadataExchange Interface"), pointer_default(unique), restricted, local ] interface IWSDMetadataExchange : IUnknown { HRESULT GetMetadata ( [out] WSD_METADATA_SECTION_LIST** MetadataOut ); }; //+------------------------------------------------------------------------- // IWSDEventingStatus Interface // Description: Eventing //-------------------------------------------------------------------------- [ object, uuid(49b17f52-637a-407a-ae99-fbe82a4d38c0), helpstring("IWSDEventingStatus Interface"), pointer_default(unique), restricted, local ] interface IWSDEventingStatus : IUnknown { void SubscriptionRenewed( [in, annotation("__in")] LPCWSTR pszSubscriptionAction); void SubscriptionRenewalFailed( [in, annotation("__in")] LPCWSTR pszSubscriptionAction, [in] HRESULT hr); void SubscriptionEnded( [in, annotation("__in")] LPCWSTR pszSubscriptionAction); };