DIF_REGISTERDEVICE

DIF_REGISTERDEVICE要求可讓安裝程式參與向 PnP 管理員註冊新建立的裝置實例。 Windows 會針對非 PnP 裝置傳送此 DIF 要求。

傳送時

當安裝程式回報先前未知的裝置以回應 DIF_DETECT 要求時。 Windows 會在 [新增硬體精靈] 的分析階段傳送此 DIF 要求,再安裝裝置。 Windows 也會在非 PnP 偵測期間傳送此要求。

誰處理

類別共同安裝程式

可以處理

裝置共同安裝程式

不處理

類別安裝程式

可以處理

安裝程式輸入

DeviceInfoSet
提供包含裝置之 裝置資訊集 的控制碼。

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

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

類別安裝參數

安裝程式輸出

安裝程式傳回值

共同安裝程式可以傳回NO_ERROR或 Win32 錯誤碼。 共同安裝程式不應該傳回此 DIF 要求的ERROR_DI_POSTPROCESSING_REQUIRED。

如果安裝程式判斷裝置是重複的,則會傳回ERROR_DUPLICATE_FOUND。

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

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

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

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

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

如果安裝程式判斷裝置是重複的,安裝程式會傳回ERROR_DUPLICATE_FOUND。

預設 DIF 程式碼處理常式

SetupDiRegisterDeviceInfo

安裝程式作業

裝置安裝應用程式通常會傳送此 DIF 要求,向 PnP 管理員註冊非 PnP 裝置。 從 Microsoft Windows 2000 開始,必須先註冊非 PnP 裝置,才能安裝它們。

安裝程式通常會處理此 DIF 要求,以執行重複的偵測。 這類安裝程式通常會呼叫預設處理常式 (SetupDiRegisterDeviceInfo) ,並指定其偵測常式。 如果註冊成功且安裝程式判斷裝置不是重複的,安裝程式會傳回NO_ERROR。

共同安裝程式應該執行任何作業,以在其前置處理階段中處理此 DIF 要求。 呼叫共同安裝程式進行後置處理時,裝置實例已經由類別安裝程式或預設處理常式註冊。

如果安裝程式傳回此 DIF 程式碼的錯誤,通常ERROR_DUPLICATE_FOUND,Windows 會從裝置資訊集刪除裝置。

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

規格需求

版本

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

標頭

Setupapi.h (包含 Setupapi.h)

另請參閱

DIF_DETECT

SetupDiRegisterDeviceInfo

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS