共用方式為


WIA 裝置的 INF 檔案

重要

本文中包含的部分資訊適用於過時的 Windows 作業系統。

仍然映像裝置的預設類別安裝程式 sti_ci.dll,可辨識一組特殊的 INF 檔案專案。 在 INF 檔案中,這些項目必須放在裝置的 INF DDInstall 區段內。 下表說明這些專案。

INF 檔案專案 註解
StillImage 必要
DeviceType 1 適用於掃描器

2 個相機

3 用於串流視訊
必要
DeviceSubType 廠商定義的值 選擇性
[連接] 對於連線到序列或平行埠的非 隨插即用 裝置,這可以是 「序列」或「平行」,以限制使用者在安裝期間選擇的埠。 選擇性

如果未指定,用戶可以選取任何序列或平行埠。
Capabilities 指定數位,這個數位會轉換成識別裝置功能的位旗標。 這些旗標會儲存在登錄中,而且可透過STI_DEV_CAPS結構提供給 STI 元件。

位 0 - 在 STI_DEV_CAPS 中設定/清除STI_GENCAP_NOTIFICATIONS。

位 1 - 在 STI_DEV_CAPS 中設定/清除STI_GENCAP_POLLING_NEEDED。

位 2 - 在 STI_DEV_CAPS 中設定/清除STI_GENCAP_GENERATE_ARRIVALEVENT。

位 3 - 在 STI_DEV_CAPS 中設定/清除STI_GENCAP_AUTO_PORTSELECT。

位 4 - 在 STI_DEV_CAPS 中設定/清除STI_GENCAP_WIA。

位 5 - 在 STI_DEV_CAPS 中設定/清除STI_GENCAP_SUBSET。
選擇性

目前未使用位 5。

將 INF 檔案中的這個項目設定為 0x33,以支援掃描器的按鈕事件。
PropertyPages 僅適用於 Windows 98 和 Windows 2000

識別 DLL 的名稱和進入點,該 DLL 會為仍然影像裝置建立自定義的屬性表頁面。

如需 PropertyPages 專案的詳細資訊,請參閱 仍然影像裝置的 INF 檔案
選擇性

這個專案僅供 STI 驅動程式使用,WIA 驅動程式已過時。

如需與 WIA 驅動程式開發人員相關的屬性頁資訊,請參閱下表後面的 PropertyPages 附注
DeviceData 識別廠商提供的數據區段,其中包含要儲存在登錄中之 DeviceData 機碼下的資訊。 對於支援 TWAIN 的裝置,數據區段必須包含 TwainDS 專案 (請參閱 WIA 驅動程式的登錄專案) 選擇性
事件 識別廠商提供的數據區段,其中列出仍會顯示影像裝置事件。 本節中的每個項目都必須具有下列格式:

EventName=“String”,{GUID},App

EventName 是事件的內部名稱, String 是事件的顯示字串, GUID 是事件的 GUID, 而 App 會指定要在事件發生時啟動的映像應用程式。 若要啟動目前註冊的應用程式,請使用適用於App* 的星號 ()
必要
PortSelect 如果裝置安裝不需要埠選取頁面,則值為 「no」 會導致略過該頁面。 這個值也會讓 CreateFileName 專案值 (請參閱下表的 Note on CreateFileName and PortSelect ,) 自動設定為 AUTO。

Message1 的值會導致系統提供的訊息顯示,並將 CreateFileName 專案值設定為 AUTO。

適用於需要手動安裝的掃描器和相機。
選擇性

請注意,針對 隨插即用 裝置,會忽略 PortSelect,但裝置仍必須將 CreateFileName 專案值設定為 AUTO,WIA 才能載入裝置。 使用 INF AddReg 指示詞 ,將此專案新增至裝置 INF 檔案的 INF DDInstall 區段

注意

若要與裝置通訊,使用者模式用戶端 (迷你驅動程式) 必須要求 WIA 服務輸入裝置的檔名,以及指定要建立或開啟之物件名稱的字串。 (檔名不一定是磁碟檔案的名稱。) 回應這類查詢,WIA 服務會從 CreateFileName 登錄專案取得裝置的檔名。 (usbscan.sys和 scsiscan.sys 內核模式驅動程式會建立這個專案,就像類別 installer.) minidriver 呼叫 IStiDeviceControl::GetMyDevicePortName 方法,以接收此檔名。 接著,當迷你驅動程式呼叫 CreateFile 函式來開啟裝置的句柄時,就可以使用此檔名。 如果裝置是手動安裝,則類別安裝程式會建立 CreateFileName 專案,並將其值設定為一個專案,取決於使用者在埠選取頁面上的選取專案:COMX、LPTX 或 AUTO。 某些裝置 (網路掃描器,例如手動安裝的) 不需要埠。 在這種情況下,產生的埠選取對話框可能會混淆使用者。 您可以在裝置 INF 檔案的 INF DDInstall 區段中 新增下列專案,以防止出現此對話方塊。

PortSelect=NO

注意

這個專案值的副作用是 CreateFileName 專案設定為 AUTO。 建議您,如果迷你驅動程式收到檔名的 AUTO,它必須能夠自行判斷它應該與其通訊的裝置。

注意

針對 PropertyPages,WIA 驅動程式必須使用不同的擴充性機制,才能新增屬性頁。 它也必須將自己的 GUID 新增至其 INF 檔案中的 UI 類別識別符 專案,而且必須提供特定的 UI 擴充性註冊 (請參閱要取代之 UI 元件的 使用者介面擴充登錄專案) ,例如通用對話框或新增,例如操作功能表和屬性頁。 WIA 驅動程式也必須為元件本身提供UI擴充性註冊。

其他 INF 檔案專案

下表中的項目必須放在裝置 的 INF AddReg 指示詞所指向的 區段中:

INF 檔案專案 註解
HardwareConfig 指出裝置正在使用的連線類型。

1,1 - 一般 WDM 裝置

1,2 - SCSI 裝置

1,4 - USB 裝置

1,8 - 序列裝置

1,16 - 平行裝置
選擇性
USDClass 表示迷你驅動程式的 GUID。 選擇性。

USDClassCLSID 專案中的 GUID 必須符合 minidriver DllGetClassObject 函式中使用的 GUID。 如果您要撰寫 microdriver,此值應該BB6CF8E2-1511-40bd-91BA-80D43C53064E。 否則,您必須使用genguid.exe產生新的 GUID
CLSID 表示迷你驅動程式的 GUID。 選擇性。

請參閱 USDClass 專案的先前批注。

仍然映像裝置的預設類別安裝程式支援標準 INF CopyFiles 指示詞

仍然映像裝置 sti.inf 的預設 INF 檔案會為每個裝置類型定義兩個安裝區段,如下所示:

  • INF DDInstall 區段,必須在廠商提供的 INF 檔案的 DDInstall 區段內參考,如下表所示。

    裝置類型 包含 需求
    IEEE 1394/SBP2 Include=sti.inf Needs=STI。SBP2Section
    USB Include=sti.inf Needs=STI。USBSection
    SCSI Include=sti.inf Needs=STI。SCSISection
    序列 Include=sti.inf Needs=STI。SerialSection
  • INF DDInstall Services 區段,必須在廠商提供的 INF 檔案的 INF DDInstall.Services 區段 內參考,如下表所示。

    裝置類型 包含 需求
    1394/SBP2 Include=sti.inf Needs=STI。SBP2Section.Services
    USB Include=sti.inf Needs=STI。USBSection.Services
    SCSI Include=sti.inf Needs=STI。SCSISection.Services
    序列 Include=sti.inf Needs=STI。SerialSection.Services

如需為仍然映像裝置建立 INF 檔案的其他指引,您可以查看隨附 Windows 的任何 INF 檔案,其中包含 SubClass=StillImage 專案。

若要將裝置指定為 WIA 裝置,迷你驅動程式 INF 檔案必須包含放置在廠商所提供 INF 檔案之 DeviceData 區段中的下列值。

INF 檔案專案 註解
伺服器 本機 將裝置指定為本機裝置。 這是選擇性的,如果廠商未指定專案值,則會假設裝置為本機。 也就是說,WIA_DIP_SERVER_NAME屬性會設定為Local。
MicroDriver 廠商提供的 .dll 檔名 此專案應設定為實作 WIA microdriver 之廠商提供的 DLL 名稱。
UI DLL 廠商提供的 .dll 檔名 過時且從未使用過。 先前,這個專案指出廠商提供的使用者介面 DLL 檔案的名稱。
UI 類別識別碼 廠商提供的裝置類別標識碼 指出廠商提供的使用者介面能夠支援的裝置類別。 這是選擇性的,如果廠商未指定專案值,WIA 會將 WIA_DIP_UI_CLSID 屬性設定為 GUID_NULL,並使用預設 WIA UI。
ICMProfiles 廠商提供的色彩配置檔值 指定要放入 WIA_IPA_ICM_PROFILE_NAME 屬性中的值。 如果未指定任何值,則會使用標準 sRGB 配置檔 sRGB 色彩空間配置檔.icm

只有在廠商提供 WIA microdriver 時,才需要 MicroDriver 專案。

只有在廠商提供映像裝置的自定義使用者介面時,才需要使用者介面 (UI) 專案。

備註

當您開發掃描器的 INF 檔案時,您可以使用 Microsoft OS 描述項 來啟用相容性識別碼功能。 當您這樣做時,允許一個掃描器驅動程式與多個掃描器模型相容。