Страница 1 из 1

Как правильно прочитать Device ID?

СообщениеДобавлено: Ср, 21 мар 2012 20:58
Jungle
После выполнения S4Enum получается массив структур, в поле bID - Device ID.
При изменении 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