共用方式為


具有不完整設定緩存器位址的計算機卡

如果多功能 16 位電腦卡裝置具有每個函式的組態緩存器,但不包含所有緩存器集的屬性記憶體指標, (不支援LONGLINK_MFC Tuple) ,這類裝置的廠商可以使用系統提供的多函式總線驅動程式 (mf.sys) ,但必須提供自定義 INF 檔案並支援個別函式。

NT 型平臺上這類裝置的廠商可以使用多功能裝置的系統提供函式驅動程式。

裝置的自定義 INF 必須指定 mf.sys 做為裝置的函式驅動程式。 系統提供的 mf.sys 驅動程序接著會列舉裝置的功能。

如需使用系統提供 mf.sys 驅動程式的詳細資訊,請參閱 使用 System-Supplied 多功能總線驅動程式

這類裝置的廠商必須提供下列專案:

  • 多功能裝置的自定義 INF 檔案。 (廠商提供的)

    廠商必須提供一個多函式 INF 檔案,以指定 mf.sys 做為多函式總線驅動程式、指定類別 “MultiFunction” (及其相關聯的 GUID,如 devguid.h) 中所定義,並提供遺漏的組態緩存器位址 (es) 。 請參閱本節稍後的進一步資訊。

  • 裝置每個功能的 PnP 函式驅動程式。 (廠商提供的)

    由於多函式總線驅動程式會處理多函式語意,因此函式驅動程式可以是當函式封裝為個別裝置時所使用的相同驅動程式。

  • 裝置每個函式的 INF 檔案。 (廠商提供的)

    INF 檔案可以是將函式封裝為個別裝置時所使用的相同檔案。 INF 檔案不需要任何特殊的多函式語意。

這類多功能裝置的自定義 INF 必須包含至少一個 INF DDInstall.LogConfigOverride 區段。 override 區段必須包含每個函式的 MfCardConfig 專案,以識別每個組態緩存器的位置。

INF 必須重新整理裝置所指定的所有資源需求,因為如果覆寫設定存在於 INF 中,PnP 管理員就不會使用來自裝置的任何裝置資源需求。

使用 INF LogConfig 指示詞中所述的語法來指定 MfCardConfig 專案。

例如,針對包含數據機和網路適配器的多功能電腦卡片裝置,請考慮下列來自自訂 INF 的摘錄:

;...
 
[DDInstall.LogConfigOverride]
LogConfig = DDInstall.Override0
 
[DDInstall.Override0]
IOConfig     =    3F8-3FF                  ; Com1
IOConfig     =    10@100-FFFF%FFF0         ; NIC I/O
IRQConfig    =    3,4,5,7,9,10,11          ; IRQ
MemConfig    =    2000@0-FFFFFFFF%FFFFE000 ; Memory Descriptor 0
MemConfig    =    1000@0-FFFFFFFF%FFFFF000 ; Memory Descriptor 1
MfCardConfig =    1000:47:0(A)
MfCardConfig =    1080:47:1
;...

此範例顯示兩個 MfCardConfig 專案,一個用於裝置的每個功能。 第一個 MfCardConfig 專案包含下列資訊:

1000 (ConfigRegBase)
指定在位移時卡片的屬性記憶體中有一組設定緩存器0x1000。 在此範例中,這些緩存器中的資訊描述卡片上的數據機功能。

47 (ConfigOptions)
指定要在 ConfigRegBase 位移 (0x1000) 註冊組態選項註冊總線驅動程式的十六進位值。

0 (IoConfigIndex)
指定此函式的 I/O 資源列在本節的第一個 IOConfig 專案中。 零的索引表示第一個專案,在此範例中為 “IOConfig = 3F8-3FF”。

(attrs)
指示總線驅動程式開啟此函式的音訊啟用功能,這通常適用於數據機。

第二個 MfCardConfig 專案包含裝置上第二個函式的相關信息, (網路適配器,在此範例中為) 。 此專案指定位移0x1080有第二組組態緩存器。 總線驅動程式會將 0x47 的 ConfigOptions 值寫入此函式的組態選項緩存器。 IoConfigIndex 值會指示總線驅動程式使用本節中的第二個 IOConfig 專案, (IOConfig = 10@100-FFFF%FFF0) 來撰寫此函式的 I/O 基底和限制緩存器。

包含一個以上的 DDInstall覆寫 INF 中的 N 區段,以指定一個以上的非佇列 I/O 連接埠範圍選擇。

如果裝置使用不是以零為基礎的記憶體視窗, 則為 DDInstall覆寫N 區段 () 也必須包含 PcCardConfig 專案。 如果覆寫區段同時有 MfCardConfig 專案和 PcCardConfig 專案,PCMCIA 總線驅動程式會忽略 PcCardConfig 專案中的 ConfigIndex 值,而只會使用 MemoryCardBaseN 資訊。 如需 PcCardConfig 專案的詳細資訊,請參閱支援具有不完整設定緩存器的電腦卡片