Louis Lenders : wsdapi: Add stub for WSDCreateDiscoveryProvider.

Alexandre Julliard julliard at winehq.org
Wed Dec 8 15:46:30 CST 2021


Module: wine
Branch: master
Commit: 03f06598052e716178c41ef9203a8506122873f7
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=03f06598052e716178c41ef9203a8506122873f7

Author: Louis Lenders <xerox.xerox2000x at gmail.com>
Date:   Tue Dec  7 19:22:03 2021 +0100

wsdapi: Add stub for WSDCreateDiscoveryProvider.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52173
Signed-off-by: Louis Lenders <xerox.xerox2000x at gmail.com>
Signed-off-by: Owen Rudge <orudge at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wsdapi/discovery.c |  7 ++++++
 dlls/wsdapi/wsdapi.spec |  2 +-
 include/wsddisco.idl    | 60 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 68 insertions(+), 1 deletion(-)

diff --git a/dlls/wsdapi/discovery.c b/dlls/wsdapi/discovery.c
index fcbdfef2ab2..708cb803d03 100644
--- a/dlls/wsdapi/discovery.c
+++ b/dlls/wsdapi/discovery.c
@@ -470,3 +470,10 @@ HRESULT WINAPI WSDCreateDiscoveryPublisher(IWSDXMLContext *pContext, IWSDiscover
 
     return S_OK;
 }
+
+HRESULT WINAPI WSDCreateDiscoveryProvider(IWSDXMLContext *context, IWSDiscoveryProvider **provider)
+{
+    FIXME("(%p, %p) stub\n", context, provider);
+
+    return E_NOTIMPL;
+}
diff --git a/dlls/wsdapi/wsdapi.spec b/dlls/wsdapi/wsdapi.spec
index 95ee072a1cf..d7465458dd5 100644
--- a/dlls/wsdapi/wsdapi.spec
+++ b/dlls/wsdapi/wsdapi.spec
@@ -15,7 +15,7 @@
 @ stub WSDCreateDeviceProxy
 @ stub WSDCreateDeviceProxyAdvanced
 @ stub WSDCreateDiscoveryProvider2
-@ stub WSDCreateDiscoveryProvider
+@ stdcall WSDCreateDiscoveryProvider(ptr ptr)
 @ stub WSDCreateDiscoveryPublisher2
 @ stdcall WSDCreateDiscoveryPublisher(ptr ptr)
 @ stub WSDCreateHttpAddress
diff --git a/include/wsddisco.idl b/include/wsddisco.idl
index 50d2198cea7..bbeff522a85 100644
--- a/include/wsddisco.idl
+++ b/include/wsddisco.idl
@@ -24,6 +24,9 @@ interface IWSDScopeMatchingRule;
 interface IWSDiscoveryPublisherNotify;
 interface IWSDiscoveryPublisher;
 interface IWSDXMLContext;
+interface IWSDiscoveryProvider;
+interface IWSDiscoveryProviderNotify;
+interface IWSDiscoveredService;
 
 [
 uuid(fcafe424-fef5-481a-bd9f-33ce0574256f),
@@ -38,6 +41,62 @@ interface IWSDScopeMatchingRule : IUnknown
   HRESULT MatchScopes([in] LPCWSTR pszScope1, [in] LPCWSTR pszScope2, [out] BOOL *pfMatch);
 }
 
+[
+uuid(73ee3ced-b6e6-4329-a546-3e8ad46563d2),
+object,
+local,
+restricted,
+pointer_default(unique)
+]
+interface IWSDiscoveryProviderNotify : IUnknown
+{
+  HRESULT Add([in] IWSDiscoveredService *service);
+  HRESULT Remove([in] IWSDiscoveredService *service);
+  HRESULT SearchFailed([in] HRESULT hr,[in, optional] LPCWSTR tag);
+  HRESULT SearchComplete([in, optional] LPCWSTR tag);
+}
+
+[
+uuid(4bad8a3b-b374-4420-9632-aac945b374aa),
+object,
+local,
+restricted,
+pointer_default(unique)
+]
+interface IWSDiscoveredService : IUnknown
+{
+  HRESULT GetEndpointReference([out] WSD_ENDPOINT_REFERENCE **endpoint_reference);
+  HRESULT GetTypes([out] WSD_NAME_LIST **types_list);
+  HRESULT GetScopes([out] WSD_URI_LIST **scopes_list);
+  HRESULT GetXAddrs([out] WSD_URI_LIST **x_addrs_list);
+  HRESULT GetMetadataVersion([out] ULONGLONG *metadata_version);
+  HRESULT GetExtendedDiscoXML([out] WSDXML_ELEMENT **header_any,[out] WSDXML_ELEMENT **body_any);
+  HRESULT GetProbeResolveTag([out] LPCWSTR *tag);
+  HRESULT GetRemoteTransportAddress([out] LPCWSTR *remote_transport_address);
+  HRESULT GetLocalTransportAddress([out] LPCWSTR *local_transport_address);
+  HRESULT GetLocalInterfaceGUID([out] GUID *guid);
+  HRESULT GetInstanceId([out] ULONGLONG *instance_id);
+}
+
+[
+uuid (8ffc8e55-f0eb-480f-88b7-b435dd281d45),
+object,
+local,
+restricted,
+pointer_default(unique)
+]
+interface IWSDiscoveryProvider : IUnknown
+{
+  HRESULT SetAddressFamily([in] DWORD address_family);
+  HRESULT Attach([in] IWSDiscoveryProviderNotify *sink);
+  HRESULT Detach(void);
+  HRESULT SearchById([in] LPCWSTR id,[in, optional] LPCWSTR tag);
+  HRESULT SearchByAddress([in] LPCWSTR address,[in, optional] LPCWSTR tag);
+  HRESULT SearchByType([in, optional] const WSD_NAME_LIST *types_list, \
+          [in, optional] const WSD_URI_LIST *scopes_list,[in, optional] LPCWSTR match_by,[in, optional] LPCWSTR tag);
+  HRESULT GetXMLContext([out] IWSDXMLContext **context);
+}
+
 [
 uuid(e67651b0-337a-4b3c-9758-733388568251),
 object,
@@ -104,4 +163,5 @@ interface IWSDiscoveryPublisher : IUnknown
     HRESULT GetXMLContext([out] IWSDXMLContext **ppContext);
 }
 
+cpp_quote("HRESULT WINAPI WSDCreateDiscoveryProvider(IWSDXMLContext *context, IWSDiscoveryProvider **provider);")
 cpp_quote("HRESULT WINAPI WSDCreateDiscoveryPublisher(IWSDXMLContext* pContext, IWSDiscoveryPublisher **ppPublisher);")




More information about the wine-cvs mailing list