Эксперименты показывают, что в функцию GrdSetFindMode() можно передавать либо то же значение dwRemoteMode, что и в GrdStartup(), либо меньшее. То есть, функцией GrdSetFindMode() можно сузить область поиска ключа, либо оставить ее прежней. Расширить область поиска не получится. Верно?
Кирилл Ковлежов пишет:Смысл параметра dwInterfaces заключается в указании конкретного интерфейса, параметром dwModels задаётся конкретная модель ключа.
Да, но модель ключа однозначно определяет интерфейс. Если посмотреть на список констант-моделей то видно, что на каждый вид ключа у вас по три модели: USB, LPT и любой.
И еще вопрос по функции GrdSetAccessCodes().
Обязательно ли каждый раз при вызове этой функции задавать значения dwPublic и dwPrivateRD? Или их достаточно указать один раз, а затем можно заменять нулями - и контейнер их будет помнить?
В документации про эти параметры сказано "Должен быть задан обязательно!". Обязательно задаваться каждый раз, или хотя бы один раз?
К примеру, такой код прекрасно работает:
nResult=GrdSetAccessCodes(hGrd, dwPublic, dwPrivateRD, 0, 0);
nResult=GrdLogin(hGrd, GrdLM_PerStation, GrdFMR_Local);
nResult=GrdRead(hGrd, 0, 1, &b0, 0);
nResult=GrdSetAccessCodes(hGrd, 0, 0, dwPrivateWR, 0); // dwPublic==0 and dwPrivateRD==0 !!!!
nResult=GrdWrite(hGrd, 0, 1, &b0, 0);