[PATCH v3 2/3] uiautomationcore: Implement UiaGetReservedMixedAttributeValue.
Nikolay Sivov
nsivov at codeweavers.com
Fri Oct 29 07:45:27 CDT 2021
On 10/28/21 10:50 PM, Connor McAdams wrote:
> Signed-off-by: Connor McAdams <cmcadams at codeweavers.com>
> ---
> dlls/uiautomationcore/uia_main.c | 44 ++++++++++++++++++++++++++++++--
> 1 file changed, 42 insertions(+), 2 deletions(-)
>
> diff --git a/dlls/uiautomationcore/uia_main.c b/dlls/uiautomationcore/uia_main.c
> index 01d5ba67a88..7966e1cf730 100644
> --- a/dlls/uiautomationcore/uia_main.c
> +++ b/dlls/uiautomationcore/uia_main.c
> @@ -144,6 +144,41 @@ 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))
> + return uia_rsrv_obj_create_marshal_wrapper(iface, ppv);
> + 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,
> +};
Why do you need to duplicate methods and vtable, if it's identical to
*_reserved_ns_* ?
> +
> +static IUnknown uia_reserved_ma_iface = {&uia_reserved_ma_vtbl};
> +
> /***********************************************************************
> * UiaClientsAreListening (uiautomationcore.@)
> */
> @@ -158,8 +193,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;
> }
>
More information about the wine-devel
mailing list