Как правильно прочитать Device ID?
Добавлено: Ср, 21 мар 2012 20:58
После выполнения S4Enum получается массив структур, в поле bID - Device ID.
При изменении Device ID и сбросе ключа, изменяется это поле структуры, однако при повторном выполнении S4Enum получаются старые значения, пока не переткнуть ключ. Между тем, программа DevTest из комплекта разработчика нормально читает новое значение без перетыкания ключа.
...
Как нужно правильно читать?
P.S. Delphi 7
При изменении Device ID и сбросе ключа, изменяется это поле структуры, однако при повторном выполнении S4Enum получаются старые значения, пока не переткнуть ключ. Между тем, программа DevTest из комплекта разработчика нормально читает новое значение без перетыкания ключа.
- Код: Выделить всё
OpenDir_Info.dwS4OpenInfoSize := SizeOf(S4OPENINFO);
OpenDir_Info.dwShareMode := S4_SHARE_MODE;
Result := ( S4OpenEx(pKey, @OpenDir_Info) = S4_SUCCESS );
...
- Код: Выделить всё
var
p: PSENSE4_CONTEXT;
dwRet, dwLen: Cardinal;
dInfo: S4CreateDirInfo;
...
dwRet := S4VerifyPin(p, PansiChar(pin), 24, S4_DEV_PIN);
if ( dwRet = S4_SUCCESS ) then
begin
// change Device ID
dwRet := S4Control(p, S4_SET_DEVICE_ID, @dInfo.szAtr[0], l, nil, 0, dwLen);
if ( dwRet = S4_SUCCESS ) then
S4Control(p, S4_RESET_DEVICE, nil, 0, nil, 0, dwLen);
end;
...
Как нужно правильно читать?
P.S. Delphi 7