=?UTF-8?Q?Michael=20M=C3=BCller=20?=: combase: Implement RoActivateInstance.

Alexandre Julliard julliard at winehq.org
Thu Sep 13 03:49:13 CDT 2018


Module: wine
Branch: stable
Commit: 74c2bc6a6658b483ad429a98112cc9abe6820801
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=74c2bc6a6658b483ad429a98112cc9abe6820801

Author: Michael Müller <michael at fds-team.de>
Date:   Wed May  2 03:42:49 2018 +0000

combase: Implement RoActivateInstance.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit e5275c2f86bd6a1dea88ece3e636783c19c430ec)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>

---

 .../api-ms-win-core-winrt-l1-1-0.spec                |  2 +-
 dlls/combase/combase.spec                            |  2 +-
 dlls/combase/roapi.c                                 | 20 ++++++++++++++++++++
 3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/dlls/api-ms-win-core-winrt-l1-1-0/api-ms-win-core-winrt-l1-1-0.spec b/dlls/api-ms-win-core-winrt-l1-1-0/api-ms-win-core-winrt-l1-1-0.spec
index 74c9d27..978c3dc 100644
--- a/dlls/api-ms-win-core-winrt-l1-1-0/api-ms-win-core-winrt-l1-1-0.spec
+++ b/dlls/api-ms-win-core-winrt-l1-1-0/api-ms-win-core-winrt-l1-1-0.spec
@@ -1,4 +1,4 @@
-@ stub RoActivateInstance
+@ stdcall RoActivateInstance(ptr ptr) combase.RoActivateInstance
 @ stdcall RoGetActivationFactory(ptr ptr ptr) combase.RoGetActivationFactory
 @ stub RoGetApartmentIdentifier
 @ stdcall RoInitialize(long) combase.RoInitialize
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
index c238eb8..f42bdae 100644
--- a/dlls/combase/combase.spec
+++ b/dlls/combase/combase.spec
@@ -242,7 +242,7 @@
 @ stdcall PropVariantClear(ptr) ole32.PropVariantClear
 @ stdcall PropVariantCopy(ptr ptr) ole32.PropVariantCopy
 @ stub ReleaseFuncDescs
-@ stub RoActivateInstance
+@ stdcall RoActivateInstance(ptr ptr)
 @ stub RoCaptureErrorContext
 @ stub RoClearError
 @ stub RoFailFastWithErrorContext
diff --git a/dlls/combase/roapi.c b/dlls/combase/roapi.c
index f7862fb..bfd07fb 100644
--- a/dlls/combase/roapi.c
+++ b/dlls/combase/roapi.c
@@ -198,3 +198,23 @@ HRESULT WINAPI RoGetParameterizedTypeInstanceIID(UINT32 name_element_count, cons
     if (hiid) *hiid = INVALID_HANDLE_VALUE;
     return E_NOTIMPL;
 }
+
+/***********************************************************************
+ *      RoActivateInstance (combase.@)
+ */
+HRESULT WINAPI RoActivateInstance(HSTRING classid, IInspectable **instance)
+{
+    IActivationFactory *factory;
+    HRESULT hr;
+
+    FIXME("(%p, %p): semi-stub\n", classid, instance);
+
+    hr = RoGetActivationFactory(classid, &IID_IActivationFactory, (void **)&factory);
+    if (SUCCEEDED(hr))
+    {
+        hr = IActivationFactory_ActivateInstance(factory, instance);
+        IActivationFactory_Release(factory);
+    }
+
+    return hr;
+}




More information about the wine-cvs mailing list