Connor McAdams (@cmcadams) commented about dlls/setupapi/tests/devinst.c:
const struct reg_property *prop = ®_props[i];BOOL todo = prop->reg_prop != SPDRP_CLASSGUID;DWORD size = 0, type = 0;DEVPROPKEY key;BYTE buf[80];key.fmtid = DEVPKEY_Device_DeviceDesc.fmtid;key.pid = prop->reg_prop + 2;memset(buf, 0, sizeof(buf));winetest_push_context("reg_props[%lu] (%#lx)", i, prop->reg_prop);SetLastError(0xdeadbeef);ret = pSetupDiSetDevicePropertyW(set, &device_data, &key, prop->devprop_type, prop->devprop_value,prop->devprop_size, 0);ok(ret, "Failed to set property, error %#lx.\n", GetLastError());
We should check if `GetLastError()` has the error value we set, or if it's cleared.