[PATCH 4/4] uiautomationcore: Add UiaRaiseAutomationPropertyChangedEvent stub.

Nikolay Sivov nsivov at codeweavers.com
Mon Nov 29 03:41:54 CST 2021


On 11/29/21 12:18 PM, Mohamad Al-Jaf wrote:
> Hi Nikolay,

Please reply-all next time to include the list.

>
> I see, that would explain why it fails to compile in 32-bit Wine. But
> how does it compile on the 64-bit version? It worked just fine and the
> FIXME channel displayed the correct debugstr_variant output.
>
> This was the original code:
>  
> HRESULT WINAPI
> UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple
> *provider, PROPERTYID id, VARIANT oldValue, VARIANT newValue)
> {
>     FIXME("(%p, %d, %s, %s): stub\n", provider, id,
> debugstr_variant(&oldValue), debugstr_variant(&newValue));
>     return S_OK;
> }
>
> HRESULT WINAPI
> UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple
> *provider, PROPERTYID id, VARIANT oldValue, VARIANT newValue);
>
> I'm not sure I understand how the prototype is wrong, can you please
> explain it to me?

What doesn't compile? Prototype has to match the one used on Windows,
you can't change that for exported functions.

>
> For stubs, I thought they were unimplemented functions that simply
> returned either a boolean or a single value. So in this case, would it
> be an implementation? I'm not sure what to put in the subject line.
> The function above it, UiaRaiseAutomationEvent, also returns a value,
> the same one. Sorry, I'm just trying to understand you and learn more.

Connor has been working on this lately, I'll leave it to him to comment.

>
> On Mon, Nov 29, 2021 at 3:09 AM Nikolay Sivov <nsivov at codeweavers.com
> <mailto:nsivov at codeweavers.com>> wrote:
>
>
>
>     On 11/29/21 10:35 AM, Mohamad Al-Jaf wrote:
>     >
>     +/***********************************************************************
>     > + *          UiaRaiseAutomationPropertyChangedEvent
>     (uiautomationcore.@)
>     > + */
>     > +HRESULT WINAPI
>     UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple
>     *provider, PROPERTYID id, VARIANT *oldValue, VARIANT *newValue)
>     > +{
>     > +    FIXME("(%p, %d, %p, %p): stub\n", provider, id, oldValue,
>     newValue);
>     > +    return S_OK;
>     > +}
>     The prototype is wrong, and return value is not what stubs usually
>     have.
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20211129/1e38262d/attachment.htm>


More information about the wine-devel mailing list