//+------------------------------------------------------------------------- // // 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(" 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(" IWSDDeviceProxy** ppDeviceProxy);") //+------------------------------------------------------------------------- // 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] IWSDAsyncResult** pResult); HRESULT AbortAsyncOperation( [in] IWSDAsyncResult* pAsyncResult); HRESULT ProcessFault( [in] const WSD_SOAP_FAULT* pFault); HRESULT GetErrorInfo( [out] LPCWSTR* ppszErrorInfo); // Note: Deallocate with WSDFreeLinkedMemory // Obtain information on the last error. HRESULT GetFaultInfo( [out] WSD_SOAP_FAULT** ppFault); // Note: Deallocate with WSDFreeLinkedMemory }; //+------------------------------------------------------------------------- // IWSDService 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] IWSDAsyncResult** ppResult); HRESULT EndGetMetadata( [in] IWSDAsyncResult* pResult, [out] WSD_METADATA_SECTION_LIST** ppMetadata); // Note: Do not deallocate ppMetadata HRESULT GetServiceMetadata( [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] WSDXML_ELEMENT** ppAny); // Note: Do not deallocate ppAny HRESULT UnsubscribeToOperation( [in] const WSD_OPERATION* pOperation); HRESULT SetEventingStatusCallback( [in, optional] IWSDEventingStatus* pStatus); HRESULT GetEndpointProxy( [out] IWSDEndpointProxy** ppProxy); }; //+------------------------------------------------------------------------- // IWSDDevice 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] WSD_HOST_METADATA** ppHostMetadata); // Note: Do not deallocate ppHostMetadata HRESULT GetThisModelMetadata( [out] WSD_THIS_MODEL_METADATA** ppManufacturerMetadata); // Note: Do not deallocate ppManufacturerMetadata HRESULT GetThisDeviceMetadata( [out] WSD_THIS_DEVICE_METADATA** ppThisDeviceMetadata); // Note: Do not deallocate ppThisDeviceMetadata HRESULT GetAllMetadata( [out] WSD_METADATA_SECTION_LIST **ppMetadata); // Note: Do not deallocate ppMetadata HRESULT GetServiceProxyById( [in, annotation("__in")] LPCWSTR pszServiceId, [out] IWSDServiceProxy** ppServiceProxy); HRESULT GetServiceProxyByType( [in] const WSDXML_NAME* pType, [out] IWSDServiceProxy** ppServiceProxy); HRESULT GetEndpointProxy([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] IUnknown** ppAsyncState); HRESULT Abort(); HRESULT GetEvent( [out] WSD_EVENT* pEvent); HRESULT GetEndpointProxy( [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] LPCWSTR pszSubscriptionAction); void SubscriptionRenewalFailed( [in] LPCWSTR pszSubscriptionAction, [in] HRESULT hr); void SubscriptionEnded( [in] LPCWSTR pszSubscriptionAction); };