On Wed Jul 26 14:55:09 2023 +0000, Gabriel Ivăncescu wrote:
Sorry, I missed this earlier. You need to check `flags` before argc (also please remove `cNamedArgs` and just check `params->cArgs` directly instead of using argc variable, as I said, we don't handle named args anyway). Something like this should work:
switch (flags) { case DISPATCH_METHOD | DISPATCH_PROPERTYGET: if (!res) return E_INVALIDARG; /* fall through */ case DISPATCH_METHOD: case DISPATCH_CONSTRUCT: break; default: FIXME("flags %x not supported\n", flags); return E_NOTIMPL; }
I think in case of `!res` we should return `S_OK`