ReX Юмор, всё таки, положительная черта.
Цитата: может в этой фразе скрывается ответ? может было что-то установлено от Canon раньше и Фороточки подхватывают какие-то старые дрова например от Canon 300D?
Вот в этом я и пытаюсь разобраться. "Старые дрова" - это не причина, так как архитектура драйвера одинакова для всех камер Canon-a, но установки разных устройств, программных игрушек и драйверов поддержки "железа", могут быть причиной разницы, как на моей машине, так и на других.
Камеры Canon-a, используют архитектуру WIA (Windows Image Acquisition) в WinXP/ME и архитектуру Twain (Technology-without-an-interesting-name), в других версиях Windows.
Архитектура WIA, в упрощённой форме, выглядит так:
Белые блоки, это то, что поставляет производитель устройства, остальное - это услуги ОС и поддержка функциональности от Microsoft. В режиме PTP (Picture transfer protocol), даже не нужен мини-драйвер производителя: камера посылает определённый "определитель класса", услуги которому предоставляются стандартными библиотеками OC:
WIA supports a camera class driver that is based on Picture Transfer Protocol (PTP), a standard that enables digital cameras to communicate with each other, with printers and with computers. WIA automatically recognizes all PTP digital still cameras that support the PTP class ID and provides all of the basic still image functionality as with any other WIA device.
В этом режиме, будут проблемы с файлами RAW.
В режиме "Pc-Connection", камера посылает определитель класса MSC (Mass storage class). Мини-драйвер производителя, служит "посредником", между камерой и библиотекой функций ОС, запрашивая определённые "услуги". В этом режиме, камера определяется как "storage device", но её определение как "диск", зависит от возможности I/O Kernel, конфигурации Plug-n-Play (registry, *inf) и запроса такой услуги, мини-драйвером.
WIA also provides Mass Storage Class (MSC) device support. The storage on MSC cameras can be accessed using a drive letter that appears in My Computer. If the camera uses the MSC driver provided with the operating system, the AutoPlay dialog box is displayed when it is connected to the computer, which allows the user to select the Scanner and Camera wizard.
MSC cameras can also be recognized by means of a third-party .inf file that maps the device Plug and Play identifier to the WIA class driver. Вот в этом и находится различие. У меня на машине, установлена всякая всячина, (по работе), включая Development Environment с библиотеками разработки. У других - есть (или могут быть) "хвосты" определения классов Plug-n-Play (от разных устройств) и/или разница в поддержке USB I/O Kernel.
Я даже написал в тех-поддержку Canon-a в Штатах и Европе, спрашивая о "наружном влиянии" на определитель класса камеры. Европейская поддержка не ответила (ещё?), а из Штатов пришёл ответ:
Цитата:
"... Software provided with your camera will choose an appropriate communication options with your host computer, depending on your system configuration and camera's transfer mode..."
Вот такие пироги. Меня это уже тоже "заело", с чисто технической стороны, немного мороки есть в том, что камера не моя, надо её выпрашивать каждый раз для таких игр.
Я сейчас пробую одну идею, основанную на создании определителя класса "в ручную".
Посмотрим к чему это приведёт, так как я взял отдельную машину с чистой установкой XP, для этого.
... Пароход-хорошо, Самолёт-Хорошо, а КардРидер-Лучше...
Добавлено: Небольшая просьба к тем, кто ещё колдует с камерой:
Не могли бы вы упаковать и положить куда-нибудь, несколько конфигурационных файлов, из вашей системы? Нужны некоторые файлы из установки WinXP (желательно SP2):
- Из папки x:\windows\inf, все файлы oem*.* и usb*.*, которые там есть.
Это поможет мне понять, что и как определяется (и почему) на ваших машинах.