On 02.03.2016 10:30, Sebastian Lackner wrote:
+ return info->apt ? ERROR_SUCCESS : CO_E_NOTINITIALIZED;
It should be S_OK.
+ hr = pCoGetApartmentType(NULL, NULL); + ok(hr == E_INVALIDARG, "CoGetApartmentType succeeded, error: 0x%08x\n", hr); + hr = pCoGetApartmentType(&type, NULL); + ok(hr == E_INVALIDARG, "CoGetApartmentType succeeded, error: 0x%08x\n", hr); + hr = pCoGetApartmentType(NULL, &qualifier); + ok(hr == E_INVALIDARG, "CoGetApartmentType succeeded, error: 0x%08x\n", hr); + + hr = pCoGetApartmentType(&type, &qualifier); + ok(hr == CO_E_NOTINITIALIZED, "CoGetApartmentType succeeded, error: 0x%08x\n", hr); + ok(type == APTTYPE_CURRENT, "Expected APTTYPE_CURRENT, got %u\n", type); + ok(qualifier == APTTYPEQUALIFIER_NONE, "Expected APTTYPEQUALIFIER_NONE, got %u\n", qualifier);
Please set out variables to some unrealistic values before the calls, to see if it actually sets them. Also if they are set for CO_E_NOTINITIALIZED, it's possible they are set for E_INVALIDARG cases too, and that's not tested (for both initialized and not initialized cases).