Поделиться через


Установка камеры PTP

Если ваша камера поддерживает PTP, все, что вам нужно сделать, — это подключить устройство, чтобы установить его в качестве устройства WIA. Все остальное сделает мини-накопитель Microsoft PTP WIA.

Если у вас есть дополнения или расширения, которые вы хотите добавить в камеру PTP, необходимо создать INF-файл.

INF-файл содержит разделы из sti.inf. Это позволяет корпорации Майкрософт вносить будущие обновления в sti.inf при необходимости, не затрагивая INF-файл.

Рабочая группа USB-устройств назначила идентификатор класса 0x06 для камер с неподвижным изображением. В будущих выпусках Windows корпорация Майкрософт будет поставлять INF-файл, который загружает драйвер PTP для этого идентификатора класса в качестве совместимого соответствия идентификатора . Это означает, что поставщики по-прежнему могут загрузить пользовательский драйвер, отправив INF-файл, содержащий идентификатор оборудования. Установщик Windows устанавливает более высокий приоритет при сопоставлении идентификатора оборудования, чем при сопоставлении идентификатора класса. Если INF-файл с идентификатором оборудования не поставляется в Windows, драйвер поставщика не загружается автоматически. Однако программа автозапуска для компакт-диска может вызывать UpdateDriverForPlugAndPlayDevices , чтобы легко обновить драйвер поставщика.

Пример INF-файла для камеры PTP:

; PTPCAMERA.INF  -- PTP Camera setup file
; Copyright (c) 2002 PTP Camera Company
; Manufacturer:  PTP Camera Company

[Version]
Signature=$WINDOWS NT$
Class=Image
ClassGUID={6bdd1fc6-810f-11d0-bec7-08002be2092f}
Provider=%Mfg%
DriverVer=06/26/2001,1.0
CatalogFile=wia.cat
PnpLockdown=1

[Manufacturer]
%Mfg%=Models,NTamd64

[Models.NTamd64]
%PTPCamera100.DeviceDesc%=PTP100, USB\VID_000&PID_0100

[PTP100]
Include=sti.inf
Needs=STI.PTPUSBSection

AddReg=PTP100.AddReg
DeviceData=PTP100.DeviceData
SubClass=StillImage
DeviceType=2
Capabilities=0x35
Events=PTP100.Events
ICMProfiles="sRGB Color Space Profile.icm"

[PTP100.Services]
Include=sti.inf
Needs=STI.USBSection.Services

[PTP100.DeviceData]
Model=PTP
QueryDeviceForName=1,1
Server=local
UI DLL=sti.dll
UI Class ID={4DB1AD10-3391-11D2-9A33-00C04FA36145}

[PTP100.Events]
Connected=%PTP.Connected%,{A28BBADE-64B6-11d2-A231-00C04FA31809},*
Disconnected=%PTP.Disconnected%,{143E4E83-6497-11d2-A231-00C04FA31809},*

[PTP100.AddReg]

[Strings]
Mfg="PTP Camera Company"
PTPCamera100.DeviceDesc="PTP Camera Model 100"
PTP.Connected="PTP Camera Connected"
PTP.Disconnected="PTP Camera Disconnected"