[PATCH 2/3] uiautomationcore: Implement UiaGetReservedMixedAttributeValue.
Connor McAdams
cmcadams at codeweavers.com
Wed Oct 27 14:55:16 CDT 2021
Signed-off-by: Connor McAdams <cmcadams at codeweavers.com>
---
dlls/uiautomationcore/uia_main.c | 50 ++++++++++++++++++++++++++++++--
1 file changed, 48 insertions(+), 2 deletions(-)
diff --git a/dlls/uiautomationcore/uia_main.c b/dlls/uiautomationcore/uia_main.c
index e51a4b4d555..0294357c28a 100644
--- a/dlls/uiautomationcore/uia_main.c
+++ b/dlls/uiautomationcore/uia_main.c
@@ -209,6 +209,47 @@ static const IUnknownVtbl uia_reserved_ns_vtbl = {
static IUnknown uia_reserved_ns_iface = {&uia_reserved_ns_vtbl};
+/*
+ * UiaReservedMixedAttribute object.
+ */
+static HRESULT WINAPI uia_reserved_ma_QueryInterface(IUnknown *iface,
+ REFIID riid, void **ppv)
+{
+ *ppv = NULL;
+ if (IsEqualIID(riid, &IID_IUnknown))
+ *ppv = iface;
+ else if (IsEqualIID(riid, &IID_IMarshal))
+ {
+ IMarshal *ftm;
+
+ if (FAILED(uia_reserved_val_create_ftm(iface, &ftm)))
+ return E_NOINTERFACE;
+ *ppv = ftm;
+ }
+ else
+ return E_NOINTERFACE;
+
+ return S_OK;
+}
+
+static ULONG WINAPI uia_reserved_ma_AddRef(IUnknown *iface)
+{
+ return 1;
+}
+
+static ULONG WINAPI uia_reserved_ma_Release(IUnknown *iface)
+{
+ return 1;
+}
+
+static const IUnknownVtbl uia_reserved_ma_vtbl = {
+ uia_reserved_ma_QueryInterface,
+ uia_reserved_ma_AddRef,
+ uia_reserved_ma_Release,
+};
+
+static IUnknown uia_reserved_ma_iface = {&uia_reserved_ma_vtbl};
+
/***********************************************************************
* UiaClientsAreListening (uiautomationcore.@)
*/
@@ -223,8 +264,13 @@ BOOL WINAPI UiaClientsAreListening(void)
*/
HRESULT WINAPI UiaGetReservedMixedAttributeValue(IUnknown **value)
{
- FIXME("(%p) stub!\n", value);
- *value = NULL;
+ TRACE("(%p)\n", value);
+
+ if (!value)
+ return E_INVALIDARG;
+
+ *value = &uia_reserved_ma_iface;
+
return S_OK;
}
--
2.25.1
More information about the wine-devel
mailing list