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