Что это значит, это гарантирует, что CoInitialize
это вызвано указанием COINIT_APARTMENTTHREADED в качестве параметра. Если вы не используете какие-либо компоненты COM или элементы управления ActiveX, это никак не повлияет на вас. Если да, то это критично.
Элементы управления, которые являются многопоточными, фактически являются однопоточными, их вызовы могут обрабатываться только в том отделе, в котором они были созданы.
Еще немного подробностей из MSDN:
Объекты, созданные в однопоточном подразделении (STA), получают вызовы методов только из потока своего подразделения, поэтому вызовы сериализуются и поступают только на границах очереди сообщений (когда вызывается функция Win32 PeekMessage или SendMessage).
Объекты, созданные в потоке COM в многопоточном подразделении (MTA), должны иметь возможность получать вызовы методов из других потоков в любое время. Обычно вы реализуете некоторую форму управления параллелизмом в коде многопоточного объекта, используя примитивы синхронизации Win32, такие как критические секции, семафоры или мьютексы, чтобы помочь защитить данные объекта.
Когда объект, настроенный для работы в нейтральном многопоточном подразделении (NTA), вызывается потоком, который находится в STA или MTA, этот поток передается в NTA. Если этот поток впоследствии вызывает CoInitializeEx, вызов завершается ошибкой и возвращает RPC_E_CHANGED_MODE.