// 等待外部同步信號
if (ExternalSyncEvent != null)
{
ExternalSyncEvent.WaitOne();
if (shouldStop) break;
}
// 驗證卡
if (Authenticate() >= 0)
{ // 讀基本資訊
///不正常
if (ReadContent() >= 0)
{ // 存盤身份證資訊
ReadCardCompletedEventArgs Args = new ReadCardCompletedEventArgs();
if (File.Exists(CHMsgFileName))
{ // 文字資訊
using (StreamReader sr = new StreamReader(CHMsgFileName, Encoding.Unicode, true))
{ // 提取資料
Retrieve(sr.ReadToEnd(), Args);
}
}
// 照片資訊
if (((IDCardBiometrics)state & IDCardBiometrics.Photo) == IDCardBiometrics.Photo)
{
if (File.Exists(PhotoFileName))
{
using (FileStream fs = new FileStream(PhotoFileName, FileMode.Open, FileAccess.Read))
{
Args.Photo = new byte[fs.Length];
fs.Read(Args.Photo, 0, (int)fs.Length);
}
}
}
// 關閉讀卡操作,等待下次信號
if (ExternalSyncEvent != null)
{
ExternalSyncEvent.Reset();
if (shouldStop) break;
}