INF DDInstall.FactDef 區段
本節應該用於 INF 中,供使用者可能安裝的任何手動安裝非 PnP 裝置使用。 本節會針對這類卡片指定原廠默認的硬體組態設定,例如總線相對 I/O 埠和 IRQ(如果有的話)。
[install-section-name.FactDef] |
[install-section-name.nt.FactDef] |
[install-section-name.ntx86.FactDef] |
[install-section-name.ntia64.FactDef] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64.FactDef] | (Windows XP and later versions of Windows)
[install-section-name.ntarm.FactDef] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64.FactDef] (Windows 10 version 1709 and later versions of Windows)
ConfigPriority=Priority-Value
[DMAConfig=[DMAattrs:]DMANum]
[IOConfig=io-range]
[MemConfig=mem-range]
[IRQConfig=[IRQattrs:]IRQNum]
項目
ConfigPriority=Priority-Value
指定此處理站預設邏輯組態的下列其中一個優先順序值。
優先順序值 | 意義 |
---|---|
FORCECONFIG | 指定強制設定,識別 PnP 管理員必須指派給裝置的資源。 |
期望 | 提供最高的裝置效能。 PnP 管理員可以使用此設定來動態設定裝置。 |
正常 | 提供比 SUBOPTIMAL 更高的裝置效能,但效能低於 DESIRED。 這是一般優先順序值。 PnP 管理員可以使用此設定來動態設定裝置。 |
欠佳 | 提供最低的裝置效能。 此設定不理想,但它將會運作。 PnP 管理員可以動態設定此設定。 |
RESTART | 需要重新啟動系統。 |
重新啟動 | 需要重新啟動系統。 |
POWEROFF | 需要電源週期。 |
HARDRECONFIG | 需要跳線變更。 |
HARDWIRED | 無法變更。 |
DISABLED | 表示裝置已停用。 |
DMAConfig=[DMAattrs:]DMANum
將總線相對 DMA 信道指定為十進位數。 如果裝置連線在只有 8 位 DMA 通道的總線上,且裝置使用標準系統 DMA,DMAattrs 是選擇性的。 否則,它可以是 32 位 DMA 的其中一個字母 D、16 位 DMA 的 W 和 8 位 DMA 的 N,如果裝置使用總線主機 DMA,則為 M;如果裝置使用總線主機 DMA,則為下列其中一個 (互斥) 字母,表示使用的 DMA 通道類型:A、B 或 F。如果未指定 A、B 或 F,則會假設標準 DMA 通道。
IOConfig=io-range
以下欄格式指定裝置的 I/O 連接埠範圍:
start-end[([decode-mask][:alias-offset][:attr])]
start 指定 I/O 連接埠範圍的起始位址為 64 位十六進位值。
end 指定 I/O 埠範圍的結束位址,也指定為 64 位十六進位值。
decode-mask 定義別名類型,而且可以是下列任一項。
遮罩值 | 意義 | IOR_Alias值 |
---|---|---|
3ff | 10 位譯碼 | 0x04 |
fff | 12 位譯碼 | 0x10 |
ffff | 16 位譯碼 | 0x00 |
0 | 正譯碼 | 0xFF |
alias-offset
未使用。
attr
如果指定的範圍位於系統記憶體中,則指定字母 M 。 如果省略,指定的範圍會位於 I/O 連接埠空間中。
MemConfig=mem-range
以下欄形式指定裝置的記憶體範圍:
start-end[(attr)]
start 指定裝置記憶體範圍的起始位址(總線相對)位址做為64位十六進位值。
end 指定記憶體範圍的結束位址,也稱為 64 位十六進位值。
attr
將記憶體範圍的屬性指定為下列一或多個字母:
- R (只讀)
- W (只限寫入 )
- RW (可擦寫的)
- C (允許合併寫入)
- H (可快取)
- F (可預先擷取)
- D (卡片譯碼位址為 32 位,而不是 24 位)
如果同時指定 R 和 W,或未指定 R 和 W,則會假設為讀取 / 寫入。
IRQConfig=[IRQattrs:]IRQNum
指定裝置使用作為十進位數的總線相對 IRQ。 如果裝置使用總線相對的邊緣觸發 IRQ,則會省略 IRQattrs 。 否則,請指定 L 表示層級觸發的 IRQ,如果裝置可以共用這個專案中列出的 IRQ 行,則 為 LS 。
備註
指定的 DDInstall 區段必須參考 INF 檔案中每個製造商 型號 區段下的裝置特定專案。 正式語法語句中顯示的install-section-name 不區分大小寫的擴充功能可以插入這類 DDInstall 中。跨操作系統和/或跨平臺 INF 檔案中的 FactDef 區段名稱。 如需這些系統定義延伸模組的詳細資訊,請參閱 建立 INF 檔案。
本節必須包含安裝一部裝置的完整 Factory 預設資訊。 INF 應該以最適合驅動程式如何初始化其裝置的順序來指定這組專案。 如有必要,它可以有多個特定類型的專案。
例如,使用兩個 DMA 通道之裝置的 INF 在其 DDInstall 中會有兩行 DMAConfig= 行。FactDef 區段。
可以變更原廠默認邏輯組態設定之手動安裝的裝置 INF 檔案,也應該在其 DDInstall 區段中使用 LogConfig 指示詞。 一般而言,這類 INF 應該在其每個記錄組態區段和 DDInstall 中指定專案。FactDef 區段的順序相同。
範例
此 IOConfig 專案會指定 I/O 連接埠區域,大小為 8 個字節,可以從 2F8 開始。
IOConfig=2F8-2FF
此 MemConfig 專案會指定 32K 位元組的記憶體區域,該區域可以從 D0000 開始。
MemConfig=D0000-D7FFF