https://bugs.winehq.org/show_bug.cgi?id=42695
--- Comment #47 from Paul Gofman gofmanp@gmail.com --- Created attachment 63222 --> https://bugs.winehq.org/attachment.cgi?id=63222 test
I made Nikolay's test to succeed on Windows 7 for me by adding a window procedure for test window. This window procedure does no more than just calls DefWindowProcA() though:
---- static LRESULT CALLBACK TestWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { return DefWindowProcA(hwnd, uMsg, wParam, lParam); } ----
I also added a few lines to the test to illustrate that the sequence in the test which allows CoCreateInstance() to succeed does not actually initialize apartment in a normal way, the apartment can be initialized to a different type after that without an error or S_FALSE which would indicate that apartment was already initialized:
----- ... hr = CoInitializeEx(NULL, COINIT_MULTITHREADED); ok(hr == S_OK, "Unexpected hr %#x.\n", hr); hr = CoGetApartmentType(&apttype, &apttypequal); ok(hr == S_OK, "Unexpected hr %#x.\n", hr); ok(apttype == APTTYPE_MTA && apttypequal == APTTYPEQUALIFIER_NONE, "Unexpected %u/%u\n", apttype, apttypequal); } /* end of test_1(). */ -----
Weird stuff.