I tried that prior to adding the kernelbase stubs and unfortunately it did not work. Specifically, the function VideoCodecsXboxFeaturesEnabled is called and gets aborted if the function is unimplemented. I did not want to resort to adding these function stubs since they are essentially useless in Wine, but I don't see another way to get it to work.

One thing to note is that the function ApiSetQueryApiSetPresence is invoked: "0360:fixme:ntdll:ApiSetQueryApiSetPresence (L"ext-ms-mf-pal-l2-1-0", 000000000011E9E0) stub!"

I don't know if this is a bad idea, but would it be possible to just forward unimplemented API set function calls to a general function that returns false? This would avoid having to integrate them.

On Fri, Nov 26, 2021 at 5:45 AM Nikolay Sivov <nsivov@codeweavers.com> wrote:


On 11/26/21 1:21 PM, Mohamad Al-Jaf wrote:
Hi Nikolay,

Agreed, it does seem like it should not belong to kernelbase but the function is there in the Windows 10 kernelbase.dll binary.

As far as I know, these dlls are part of an API set. To me, it seems much more efficient if there was a way to integrate them into the core dlls rather than add individual dlls. But I don't know if this is possible at the moment. 

What do you think? Which dll is more appropriate for these functions?

Ideally, we wouldn't be integrating them anywhere. Does it work with just stub entries in api set dll, without forwards?


On Fri, Nov 26, 2021 at 4:45 AM Nikolay Sivov <nsivov@codeweavers.com> wrote:
I don't think this belongs to kernelbase, same for patch 3/4. Whether we
want internal API at all to accommodate for native dlls is another question.