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);}elseVariantClear(&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