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 程式碼處理常式
安裝程式作業
裝置安裝應用程式通常會傳送此 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) |