Hi Andreas,
On 5/6/19 10:21 PM, Andreas Maier wrote:
case DISPID_GLOBAL_TESTENUMOBJ:
{
HRESULT hres;
if (wFlags == (INVOKE_PROPERTYPUT|INVOKE_PROPERTYPUTREF))
{
ok(wFlags == (INVOKE_PROPERTYPUT|INVOKE_PROPERTYPUTREF), "wFlags = %x\n", wFlags);
ok(pdp != NULL, "pdp == NULL\n");
ok(pdp->rgvarg != NULL, "rgvarg == NULL\n");
ok(pdp->rgdispidNamedArgs != NULL, "rgdispidNamedArgs == NULL\n");
ok(pdp->cArgs == 1, "cArgs = %d\n", pdp->cArgs);
ok(pdp->cNamedArgs == 1, "cNamedArgs = %d\n", pdp->cNamedArgs);
ok(!pvarRes, "pvarRes != NULL\n");
if ((pdp->rgvarg != NULL) &&
(pdp->cArgs == 1) &&
(pdp->cNamedArgs == 1) &&
(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT))
{
if (!testEnumObjValid)
{
memset(&testEnumObj, 0, sizeof(VARIANT));
testEnumObjValid = TRUE;
VariantInit(&testEnumObj);
}
else
VariantClear(&testEnumObj);
hres = VariantCopy(&testEnumObj, pdp->rgvarg);
ok(SUCCEEDED(hres), "VariantCopy failed!\n");
}
}
else
{
ok(wFlags == INVOKE_PROPERTYGET, "wFlags = %x\n", wFlags);
ok(pdp != NULL, "pdp == NULL\n");
ok(!pdp->rgvarg, "rgvarg != NULL\n");
ok(!pdp->rgdispidNamedArgs, "rgdispidNamedArgs != NULL\n");
ok(!pdp->cArgs, "cArgs = %d\n", pdp->cArgs);
ok(!pdp->cNamedArgs, "cNamedArgs = %d\n", pdp->cNamedArgs);
ok(pvarRes != NULL, "pvarRes == NULL\n");
if ((pvarRes != NULL) && (testEnumObjValid))
{
hres = VariantCopy(pvarRes, &testEnumObj);
ok(SUCCEEDED(hres), "VariantCopy failed!\n");
}
}
return S_OK;
}
Why do you need this? Note that if testNumObj would be not found in the host object, jscript will handle it for you.
Thanks,
Jacek