wsddisco.idl 7.5 KB

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