Первый раз вижу что проверяют результат CoInitialize, обычно вызвал и забыл

Ну если так надо, то читаем справку:
Цитата:
Return Values
S_OK
Indicates the library was initialized successfully.
S_FALSE
Indicates that the library is already initialized or that it could not release default allocator.
|