線上到 LPT 連接埠的印表機
LPT 列舉值是 總線驅動程式的範例。 LPT 列舉值能夠從符合 IEEE 1284 擴充功能通訊協定和 ISA 介面標準的 LPT 埠硬體取得識別資訊。
當 Windows 2000 或更新版本系統啟動時,組態管理員會呼叫 LPT 列舉值,以列舉連線至 LPT 埠的 IEEE 1284 相容裝置。 針對找到的每個裝置,Configuration Manager 會呼叫印表機類別安裝程式。 印表機類別安裝程式會呼叫 SetupDi-prefixed裝置安裝函式,從 印表機 INF 檔案取得資訊。
如果是平行連接的印表機,平行列舉值會使用從印表機收到的 1284 字串所產生的唯一硬體識別碼,建立 devnode。
範例 1284 字串為:
"MANUFACTURER:Hewlett-Packard;COMMAND SET:PJL,MLC,PCL,POSTSCRIPT;MODEL:HP Color LaserJet 550;CLASS:PRINTER;COMMENT:HP LaserJet;"
從這個 1284 字串中,平行列舉值會產生下列硬體識別碼:
LPTENUM\Hewlett-PackardHP_Co3115
硬體標識碼是由列舉值前置詞所組成,後面接著製造商名稱、型號名稱和迴圈備援檢查 (CRC) 程式代碼。 CRC 程式代碼是硬體標識碼的最後四位數,是從製造商和型號字串產生。 字串中的空格會取代為底線。
若要從裝置讀取 1284 標識符字串,請傳送 IOCTL_PAR_QUERY_DEVICE_ID。 請注意,多任務緩衝處理器會將 LPTx 符號連結重新導向 (,其中 x 是 LPT 數位 1、2 或 3) 至多任務緩衝處理器的命名管道,這表示如果多任務緩衝處理器正在執行,剖析器永遠不會看到傳送至 LPTx 的 IOCTL。
平行連線 隨插即用 印表機的開發節點位於 HKLM\SYSTEM\CurrentControlSet\Enum\LPTENUM 之下,且具有窗體的單一硬體標識符:
LPTENUM\Company_NameModelNam1234
驅動程式堆疊會出現在下一個程式代碼範例後面的圖中。
下列範例顯示正確「即插即用」表單 LPTENUM\Company_NameModelNam1234 硬體識別碼的 INF 程式代碼。 請注意,[型號名稱 XYZ] 裝置描述會在 INF 製造商區段中出現兩次。 第一行的硬體標識碼包含總線列舉值,而第二行中的硬體標識符則不包含。 不論印表機安裝所在的總線類型為何,這兩行都保證排名0硬體標識符相符。 如需詳細資訊,請參閱安裝自定義 隨插即用 印表機驅動程式。
[Manufacturer]
%Company_Name%=Company_Name
; Section name for all drivers for Company_Name
[Company_Name]
"Model Name XYZ" = Install_Section_XYZ, LPTENUM\Company_NameModelNam1234 ; plus any compatible IDs
"Model Name XYZ" = Install_Section_XYZ, Company_NameModelNam1234 ; plus any compatible IDs
; The install section for the XYZ model
[Install_Section_XYZ]
[Strings]
Company_Name="Company Name"
對於與其他型號共用其 裝置 標識碼的印表機,INF 檔案應該類似下列內容:
[Manufacturer]
%Company_Name%=Company_Name
; The section for all drivers for Company_Name
[Company_Name]
"Model Name XYA" = Install_Section_XYA, LPTENUM\Company_NameModelNam1234, Company_NameModelNam1234 ; plus any other compatible IDs
"Model Name XYA" = Install_Section_XYA, Company_NameModelNam1234, Company_NameModelNam1234 ; plus any other compatible IDs
"Model Name XYB" = Install_Section_XYB, LPTENUM\Company_NameModelNam1234, Company_NameModelNam1234; plus any other compatible IDs
"Model Name XYB" = Install_Section_XYB, Company_NameModelNam1234, Company_NameModelNam1234 ; plus any other compatible IDs
; The install sections
[Install_Section_XYA]
[Install_Section_XYB]
[ControlFlags]
InteractiveInstall = LPTENUM\Company_NameModelNam1234, Company_NameModelNam1234
[Strings]
Company_Name = "Company Name"
如同上一個範例, INF 製造商區段中 的每個模型都以一對幾乎完全相同的線條來表示。 針對指定的模型,配對中的一行包含總線列舉值;另一個則不會。 不論印表機安裝所在的總線類型為何,這兩行都保證排名0硬體標識符相符。 如需詳細資訊,請參閱安裝自定義 隨插即用 印表機驅動程式。