共用方式為


DIF_INSTALLDEVICEFILES

DIF_INSTALLDEVICEFILES要求可讓安裝程式參與複製檔案以支援裝置,或建立裝置的檔案清單。 裝置檔案包含所選驅動程式的檔案、任何裝置介面,以及任何共同安裝程式。

傳送時

系統提供的裝置安裝元件會基於各種原因傳送此 DIF 要求。 某些裝置安裝元件會在DIF_REGISTER_COINSTALLERS、DIF_INSTALLINTERFACES和DIF_INSTALL_DEVICE之前傳送此 DIF 要求,以確保可以複製所有相關檔案,再繼續進行安裝。 某些裝置安裝元件省略此 DIF 要求,並預期在處理這三個 DIF 要求期間複製檔案。 此外,某些裝置安裝元件會傳送此 DIF 要求,以擷取與裝置相關聯的檔案清單。

誰處理

類別共同安裝程式

可以處理

裝置共同安裝程式

不處理

類別安裝程式

可以處理

安裝程式輸入

DeviceInfoSet
提供裝置 資訊的 控制碼,其中包含要複製其支援檔案的裝置。

DeviceInfoData
提供 SP_DEVINFO_DATA結構的指標 ,以識別裝置資訊集中的裝置。

裝置安裝參數
DeviceInfoData相關聯的裝置安裝參數 (SP_DEVINSTALL_PARAMS)

如果已設定DI_NOVCP旗標,裝置安裝參數會包含有效的 FileQueue 控制碼和安裝程式,可處理此 DIF 要求將其檔案作業新增至此佇列,而不會認可佇列。

類別安裝參數

安裝程式輸出

裝置安裝參數
如果有 FileQueue,安裝程式可以修改 FileQueue

安裝程式傳回值

共同安裝程式可以傳回NO_ERROR、ERROR_DI_POSTPROCESSING_REQUIRED或 Win32 錯誤碼。

如果類別安裝程式成功處理此要求, 且 SetupDiCallClassInstaller 後續應該呼叫預設處理常式,類別安裝程式會傳回ERROR_DI_DO_DEFAULT。

如果類別安裝程式成功處理此要求,包括直接呼叫預設處理常式,類別安裝程式應該會傳回NO_ERROR, 而 SetupDiCallClassInstaller 不會接著再次呼叫預設處理常式。

注意 類別安裝程式可以直接呼叫預設處理常式,但類別安裝程式不應嘗試取代預設處理常式的作業。

如需呼叫預設處理常式的詳細資訊,請參閱 呼叫預設 DIF 程式碼處理常式

如果類別安裝程式發生錯誤,安裝程式應該會傳回適當的 Win32 錯誤碼, 而且 SetupDiCallClassInstaller 後續不會呼叫預設處理常式。

預設 DIF 程式碼處理常式

SetupDiInstallDriverFiles

安裝程式作業

為了回應DIF_INSTALLDEVICEFILES要求,安裝程式會指定任何必要的檔案作業。 例如,安裝程式可以指定要複製裝置安裝所需的其他檔案。 如果已設定DI_NOVCP旗標,安裝程式會將其新增至裝置安裝參數中的 FileQueue 來指定檔案作業。 如需如何使用檔案佇列和檔案佇列函式上的參考頁面的相關資訊,請參閱Microsoft Windows SDK,例如SetupInstallFilesFromInfSection

如果在裝置安裝期間傳送此 DIF 要求,而且安裝程式會傳回 Microsoft Win32 錯誤碼,Windows 會停止安裝。

如果 系統提供的裝置安裝元件 傳送此 DIF 要求來擷取與裝置相關聯的檔案清單,元件會擷取檔案佇列,但不會認可佇列。

如需 DIF 程式碼的詳細資訊,請參閱 處理 DIF 程式碼

規格需求

版本

Microsoft Windows 2000 和更新版本的 Windows 支援。

標頭

Setupapi.h (包含 Setupapi.h)

另請參閱

SetupDiInstallDriverFiles

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS