Получение текущего времени устройства - PullRequest
2 голосов
/ 07 марта 2012

Я использую WIA (Windows Image Acquisition) для захвата фотографий с камеры.Используя WIA 2.0, .net 4 C #, моим тестовым устройством является Nikon D90 (да, у меня оно действительно подключено).Сценарий таков:

  1. Пользователь подключил камеру к ПК
  2. Пользователь делает фотографию с самой камеры
  3. Мое приложение загружает изображение через WIA

Все вышеперечисленное работает.

У меня проблема с получением текущего времени от самого устройства.В первый раз, когда я получаю время от устройства, я получаю правильное время, все хорошо.Если я снова запускаю свое приложение, WIA, похоже, кеширует время, которое я получил раньше, и возвращает его, что бесполезно.

// use the WIA.DeviceManager to get the deviceInfo (not shown)
var device = deviceInfo.Connect();
var prop = device.Properties["Device Time"];
Vector deviceTimeVector = (Vector)prop.get_Value();
var deviceTime = deviceTimeVector.Date;

Кто-нибудь, кто работал с WIA, знает, как надежно получить текущее время отУстройство?Я попытался синхронизировать, но это, похоже, не имеет никакого эффекта.

_device.ExecuteCommand(WIA.CommandID.wiaCommandSynchronize); 

Открыт для предложений тоже.Я думал, что мой единственный другой способ - это «откалибровать» устройство, сделав пробный снимок, проверив, сколько времени прошло на этом снимке, но с этим тоже есть проблемы.

Пожалуйста, дайте мне знать, если вам нужнолюбая информация.

...