Как я понял, перед началом работы, каждый поток работающий с COM должен вызывать CoInitialize, а при завершении CoUnitialize, но если у меня есть DLL, в которой две функции Init и ThreadProc, то родительский поток со своим CoInitialize вызывает Init(), и поток инициализирует SQL соединение, но потом родительский поток пораждает ещё один поток, ThreadProc из этой же DLL, который пользуется SQL, правильно ли так делать:
void ThreadProc()
{
CoInitialize();
...
что-то делаем
...
CoUnitialize();
}