Многопоточность WTL, несколько интерфейсов и библиотек

У меня есть основной поток, который отображает интерфейс, в другом потоке, созданном из основного потока перед отображением основного интерфейса, я последовательно создаю два других окна: создаю первое окно:

    CWarningDlg warnDlg;
    warnDlg.Create(NULL);
    warnDlg.ShowWindow(SW_SHOW);
    warnDlg.BringWindowToTop();
    CMessageLoop _Loop ;

    if(_MyAppModule.AddMessageLoop(&_Loop))
    {
        nRet = _Loop.Run();
        _MyAppModule.RemoveMessageLoop();
    }
    warnDlg.DestroyWindow();
    if (nRet == SOME_VALUE)
    {
       doSomethingElse();
    }

У чего-то еще есть:

 CActionDlg actDlg;
    actDlg.Create(NULL);
    actDlg.ShowWindow(SW_SHOW);
    actDlg.BringWindowToTop();
    CMessageLoop _Loop ;

    if(_MyAppModule.AddMessageLoop(&_Loop))
    {
        CreateAnObject(); //this also launches an object Specific Worker Thread
        nRet = _Loop.Run();
        _MyAppModule.RemoveMessageLoop();
    }

Функция CreateAnObject вызывает некоторые функции из «ComplexObject.DLL», которые создают сложный объект, который содержит THREAD ID потока, который вызвал функцию CREATION, он получает его с::GetCurrentThreadId(); при создании этого сложного объекта GetCurrentThreadId () возвращает идентификатор ВТОРОЙ НИТИ, которая ХОРОША. Теперь в моем CActionDialog я получаю уведомления от этого объекта usind :: SendMessage (), функция SendMessage вызывается из рабочего потока, который является специфическим для только что созданного сложного объекта. Когда я получаю эти уведомления, мне нужно получить доступ к некоторым значениям этого сложного объекта, для этого я вызываю некоторые другие функции из ComplexObject.DLL, которые с помощью функции :: GetCurrentThreadId () проверяют, что идентификатор вызывающего потока совпадает с идентификатор потока, который создал этот сложный объект. Для меня эта проверка не удалась, потому что функции вызываются с использованием идентификатора потока ГЛАВНОЙ РЕЗЬБЫ с графическим интерфейсом главного интерфейса. Почему это? Я не понимаю! (Надеюсь, я успешно объяснил себя).

Ответы на вопрос(1)

Ваш ответ на вопрос