одновременный вызов GrdCheck(...) из разных потоков

При одновременном вызове GrdCheck(...) из 2-х разных потоков, в одном из потоков функция возвращает ошибку 49 (Этот защищенный контейнер уже используется).
Как можно правильно синхронизировать потоки ? Возможно перед вызовом GrdCheck(...) делать какие-то дополнительные проверки ?

Re: одновременный вызов GrdCheck(...) из разных потоков

Здравствуйте.

Alexander пишет:

При одновременном вызове GrdCheck(...) из 2-х разных потоков, в одном из потоков функция возвращает ошибку 49 (Этот защищенный контейнер уже используется).
Как можно правильно синхронизировать потоки ? Возможно перед вызовом GrdCheck(...) делать какие-то дополнительные проверки ?

Уточните, пожалуйста, какая константа (GrdCHM_SingleThread или GrdCHM_MultiThread) используется в качестве значения параметра dwMode при вызове функции GrdCreateHandle?

(2012-06-27 17:05:16 отредактировано Alexander)

Re: одновременный вызов GrdCheck(...) из разных потоков

GrdCHM_SingleThread

Исправил на GrdCHM_MultiThread и больше ошибка не проявляется !
Большое спасибо за оперативный ответ !

Re: одновременный вызов GrdCheck(...) из разных потоков

Alexander пишет:

GrdCHM_SingleThread

Для вызова Guardant API из различных потоков одного и того же приложения необходимо создавать защищенный контейнер (ф-я GrdCreateHandle) работающий в многопоточном режиме, передавая в параметре dwMode константу GrdCHM_MultiThread.
Подробное описание функции GrdCreateHandle (а также и всех остальных функций Guardant API) есть в Справочной системе по Guardant API.