| 1 | /** | 
 
 
 
 
 | 2 | * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 | 3 | * No warranty is given; refer to the file DISCLAIMER within this package. | 
 
 
 
 
 | 4 | */ | 
 
 
 
 
 | 5 |  | 
 
 
 
 
 | 6 | cpp_quote("#include <winapifamily.h>") | 
 
 
 
 
 | 7 | cpp_quote("") | 
 
 
 
 
 | 8 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
 
 
 
 
 | 9 |  | 
 
 
 
 
 | 10 | import "objidl.idl"; | 
 
 
 
 
 | 11 | import "wsdxmldom.h"; | 
 
 
 
 
 | 12 | import "wsdtypes.h"; | 
 
 
 
 
 | 13 |  | 
 
 
 
 
 | 14 | cpp_quote("") | 
 
 
 
 
 | 15 | interface IWSDXMLContext; | 
 
 
 
 
 | 16 | interface IWSDiscoveryProvider; | 
 
 
 
 
 | 17 | interface IWSDiscoveryProviderNotify; | 
 
 
 
 
 | 18 | interface IWSDiscoveredService; | 
 
 
 
 
 | 19 | interface IWSDiscoveryPublisher; | 
 
 
 
 
 | 20 | interface IWSDiscoveryPublisherNotify; | 
 
 
 
 
 | 21 | interface IWSDScopeMatchingRule; | 
 
 
 
 
 | 22 |  | 
 
 
 
 
 | 23 | [object, local, restricted, uuid (fcafe424-fef5-481a-bd9f-33ce0574256f), pointer_default (unique)] | 
 
 
 
 
 | 24 | interface IWSDScopeMatchingRule : IUnknown { | 
 
 
 
 
 | 25 | HRESULT GetScopeRule ([out] LPCWSTR *ppszScopeMatchingRule); | 
 
 
 
 
 | 26 | HRESULT MatchScopes ([in] LPCWSTR pszScope1,[in] LPCWSTR pszScope2,[out] BOOL *pfMatch); | 
 
 
 
 
 | 27 | } | 
 
 
 
 
 | 28 |  | 
 
 
 
 
 | 29 | [object, local, restricted, uuid (73ee3ced-b6e6-4329-a546-3e8ad46563d2), pointer_default (unique)] | 
 
 
 
 
 | 30 | interface IWSDiscoveryProviderNotify : IUnknown { | 
 
 
 
 
 | 31 | HRESULT Add ([in] IWSDiscoveredService *pService); | 
 
 
 
 
 | 32 | HRESULT Remove ([in] IWSDiscoveredService *pService); | 
 
 
 
 
 | 33 | HRESULT SearchFailed ([in] HRESULT hr,[in, optional] LPCWSTR pszTag); | 
 
 
 
 
 | 34 | HRESULT SearchComplete ([in, optional] LPCWSTR pszTag); | 
 
 
 
 
 | 35 | } | 
 
 
 
 
 | 36 |  | 
 
 
 
 
 | 37 | [object, local, restricted, uuid (8ffc8e55-F0EB-480f-88b7-B435DD281D45), pointer_default (unique)] | 
 
 
 
 
 | 38 | interface IWSDiscoveryProvider : IUnknown { | 
 
 
 
 
 | 39 | HRESULT SetAddressFamily ([in] DWORD dwAddressFamily); | 
 
 
 
 
 | 40 | HRESULT Attach ([in] IWSDiscoveryProviderNotify *pSink); | 
 
 
 
 
 | 41 | HRESULT Detach (); | 
 
 
 
 
 | 42 | HRESULT SearchById ([in] LPCWSTR pszId,[in, optional] LPCWSTR pszTag); | 
 
 
 
 
 | 43 | HRESULT SearchByAddress ([in] LPCWSTR pszAddress,[in, optional] LPCWSTR pszTag); | 
 
 
 
 
 | 44 | HRESULT SearchByType ([in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] LPCWSTR pszMatchBy,[in, optional] LPCWSTR pszTag); | 
 
 
 
 
 | 45 | HRESULT GetXMLContext ([out] IWSDXMLContext **ppContext); | 
 
 
 
 
 | 46 | } | 
 
 
 
 
 | 47 |  | 
 
 
 
 
 | 48 | [object, local, restricted, uuid (4bad8a3b-B374-4420-9632-AAC945B374AA), pointer_default (unique)] | 
 
 
 
 
 | 49 | interface IWSDiscoveredService : IUnknown { | 
 
 
 
 
 | 50 | HRESULT GetEndpointReference ([out] WSD_ENDPOINT_REFERENCE **ppEndpointReference); | 
 
 
 
 
 | 51 | HRESULT GetTypes ([out] WSD_NAME_LIST **ppTypesList); | 
 
 
 
 
 | 52 | HRESULT GetScopes ([out] WSD_URI_LIST **ppScopesList); | 
 
 
 
 
 | 53 | HRESULT GetXAddrs ([out] WSD_URI_LIST **ppXAddrsList); | 
 
 
 
 
 | 54 | HRESULT GetMetadataVersion ([out] ULONGLONG *pullMetadataVersion); | 
 
 
 
 
 | 55 | HRESULT GetExtendedDiscoXML ([out] WSDXML_ELEMENT **ppHeaderAny,[out] WSDXML_ELEMENT **ppBodyAny); | 
 
 
 
 
 | 56 | HRESULT GetProbeResolveTag ([out] LPCWSTR *ppszTag); | 
 
 
 
 
 | 57 | HRESULT GetRemoteTransportAddress ([out] LPCWSTR *ppszRemoteTransportAddress); | 
 
 
 
 
 | 58 | HRESULT GetLocalTransportAddress ([out] LPCWSTR *ppszLocalTransportAddress); | 
 
 
 
 
 | 59 | HRESULT GetLocalInterfaceGUID ([out] GUID *pGuid); | 
 
 
 
 
 | 60 | HRESULT GetInstanceId ([out] ULONGLONG *pullInstanceId); | 
 
 
 
 
 | 61 | } | 
 
 
 
 
 | 62 |  | 
 
 
 
 
 | 63 | [object, local, restricted, uuid (e67651b0-337a-4b3c-9758-733388568251), pointer_default (unique)] | 
 
 
 
 
 | 64 | interface IWSDiscoveryPublisherNotify : IUnknown { | 
 
 
 
 
 | 65 | HRESULT ProbeHandler ([in] const WSD_SOAP_MESSAGE *pSoap,[in] IWSDMessageParameters *pMessageParameters); | 
 
 
 
 
 | 66 | HRESULT ResolveHandler ([in] const WSD_SOAP_MESSAGE *pSoap,[in] IWSDMessageParameters *pMessageParameters); | 
 
 
 
 
 | 67 | } | 
 
 
 
 
 | 68 |  | 
 
 
 
 
 | 69 | [object, local, restricted, uuid (AE01E1A8-3ff9-4148-8116-057cc616fe13), pointer_default (unique)] | 
 
 
 
 
 | 70 | interface IWSDiscoveryPublisher : IUnknown { | 
 
 
 
 
 | 71 | HRESULT SetAddressFamily ([in] DWORD dwAddressFamily); | 
 
 
 
 
 | 72 | HRESULT RegisterNotificationSink ([in] IWSDiscoveryPublisherNotify *pSink); | 
 
 
 
 
 | 73 | HRESULT UnRegisterNotificationSink ([in] IWSDiscoveryPublisherNotify *pSink); | 
 
 
 
 
 | 74 | HRESULT Publish ([in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList); | 
 
 
 
 
 | 75 | HRESULT UnPublish ([in] LPCWSTR pszId,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSDXML_ELEMENT *pAny); | 
 
 
 
 
 | 76 | HRESULT MatchProbe ([in] const WSD_SOAP_MESSAGE *pProbeMessage,[in] IWSDMessageParameters *pMessageParameters,[in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList); | 
 
 
 
 
 | 77 | HRESULT MatchResolve ([in] const WSD_SOAP_MESSAGE *pResolveMessage,[in] IWSDMessageParameters *pMessageParameters,[in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList); | 
 
 
 
 
 | 78 | HRESULT PublishEx ([in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList,[in, optional] const WSDXML_ELEMENT *pHeaderAny,[in, optional] const WSDXML_ELEMENT *pReferenceParameterAny,[in, optional] const WSDXML_ELEMENT *pPolicyAny,[in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny,[in, optional] const WSDXML_ELEMENT *pAny); | 
 
 
 
 
 | 79 | HRESULT MatchProbeEx ([in] const WSD_SOAP_MESSAGE *pProbeMessage,[in] IWSDMessageParameters *pMessageParameters,[in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList,[in, optional] const WSDXML_ELEMENT *pHeaderAny,[in, optional] const WSDXML_ELEMENT *pReferenceParameterAny,[in, optional] const WSDXML_ELEMENT *pPolicyAny,[in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny,[in, optional] const WSDXML_ELEMENT *pAny); | 
 
 
 
 
 | 80 | HRESULT MatchResolveEx ([in] const WSD_SOAP_MESSAGE *pResolveMessage,[in] IWSDMessageParameters *pMessageParameters,[in] LPCWSTR pszId,[in] ULONGLONG ullMetadataVersion,[in] ULONGLONG ullInstanceId,[in] ULONGLONG ullMessageNumber,[in, optional] LPCWSTR pszSessionId,[in, optional] const WSD_NAME_LIST *pTypesList,[in, optional] const WSD_URI_LIST *pScopesList,[in, optional] const WSD_URI_LIST *pXAddrsList,[in, optional] const WSDXML_ELEMENT *pHeaderAny,[in, optional] const WSDXML_ELEMENT *pReferenceParameterAny,[in, optional] const WSDXML_ELEMENT *pPolicyAny,[in, optional] const WSDXML_ELEMENT *pEndpointReferenceAny,[in, optional] const WSDXML_ELEMENT *pAny); | 
 
 
 
 
 | 81 | HRESULT RegisterScopeMatchingRule ([in] IWSDScopeMatchingRule *pScopeMatchingRule); | 
 
 
 
 
 | 82 | HRESULT UnRegisterScopeMatchingRule ([in] IWSDScopeMatchingRule *pScopeMatchingRule); | 
 
 
 
 
 | 83 | HRESULT GetXMLContext ([out] IWSDXMLContext **ppContext); | 
 
 
 
 
 | 84 | } | 
 
 
 
 
 | 85 |  | 
 
 
 
 
 | 86 | cpp_quote("HRESULT WINAPI WSDCreateDiscoveryProvider(IWSDXMLContext *pContext, IWSDiscoveryProvider **ppProvider);") | 
 
 
 
 
 | 87 | cpp_quote("HRESULT WINAPI WSDCreateDiscoveryPublisher(IWSDXMLContext* pContext, IWSDiscoveryPublisher **ppPublisher);") | 
 
 
 
 
 | 88 | cpp_quote("#if WINVER >= 0x601") | 
 
 
 
 
 | 89 | cpp_quote("HRESULT WINAPI WSDCreateDiscoveryProvider2(IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDiscoveryProvider **ppProvider);") | 
 
 
 
 
 | 90 | cpp_quote("HRESULT WINAPI WSDCreateDiscoveryPublisher2(IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDiscoveryPublisher **ppPublisher);") | 
 
 
 
 
 | 91 | cpp_quote("#endif") | 
 
 
 
 
 | 92 |  | 
 
 
 
 
 | 93 | cpp_quote("#endif") |