DIF_DETECT
DIF_DETECT要求會指示安裝程式偵測特定類別的非 PnP 裝置,並將裝置新增至裝置資訊集。 此要求用於非 PnP 裝置。
傳送時
當 [新增硬體精靈 ] 偵測到非 PnP 裝置時。
誰處理
類別共同安裝程式 |
可以處理 |
裝置共同安裝程式 |
未處理 |
類別安裝程式 |
可以處理 |
安裝程式輸入
DeviceInfoSet
提供 裝置資訊集的控制碼。 有一個與DeviceInfoSet相關聯的裝置安裝類別。
裝置安裝參數
有與 DeviceInfoSet 相關聯的裝置安裝參數。
類別安裝參數
SP_DETECTDEVICE_PARAMS結構與DeviceInfoSet相關聯。 參數包含類別安裝程式呼叫的回呼常式,以指出偵測作業的進度。
安裝程式輸出
DeviceInfoSet
安裝程式會針對它偵測到的每個裝置,將裝置資訊元素新增至 DeviceInfoSet ,而不論先前是否偵測到並安裝裝置。
裝置安裝參數
安裝程式可以修改 DeviceInfoSet 的裝置 安裝參數,或針對它所建立的新裝置資訊元素。
安裝程式傳回值
如果共同安裝程式未偵測到裝置,它會從前置處理階段傳回NO_ERROR。 如果共同安裝程式偵測到裝置,可以在前置處理或後置處理期間執行此動作,並傳回NO_ERROR或 Win32 錯誤碼。
如果類別安裝程式偵測到裝置,它會傳回NO_ERROR或適當的 Win32 錯誤碼。 如果類別安裝程式未處理此 DIF 要求,則會傳回ERROR_DI_DO_DEFAULT。
預設 DIF 程式碼處理常式
無
安裝程式作業
為了回應DIF_DETECT要求,安裝程式可以偵測其安裝類別的裝置。
如果安裝程式偵測到裝置,應該至少執行下列動作:
如果偵測可能會花費很長的時間,請在SP_DETECTDEVICE_PARAMS類別安裝參數中呼叫DetectProgressNotify 回呼常式。
針對安裝程式偵測到的每個裝置,它應該:
(SetupDiCreateDeviceInfo) 建立裝置資訊元素。
提供驅動程式選取的資訊。
安裝程式可以手動選取裝置的驅動程式,或者安裝程式可以設定 Windows 用來尋找裝置 INF 的硬體識別碼。 安裝程式會呼叫 SetupDiSetDeviceRegistryProperty 且 屬性值 為 SPDRP_HARDWAREID 來設定硬體識別碼。
可能設定一些裝置安裝參數。
傳回成功偵測的NO_ERROR,或傳回 Win32 錯誤碼。
如果一或多個安裝程式偵測到裝置 () 以回應此 DIF 程式碼,Windows 會將偵測到的裝置清單與其目前的裝置清單進行比較。 如果安裝程式偵測到新的裝置,Windows 會嘗試安裝裝置。 如果安裝程式省略了安裝程式清單中出現的裝置,Windows 通常會移除裝置。
若要在 GUI 模式設定期間偵測非 PnP 裝置,安裝程式必須處理 DIF_FIRSTTIMESETUP 要求。 GUI 模式安裝程式不會將DIF_DETECT要求傳送至安裝程式。
如需 DIF 程式碼的詳細資訊,請參閱 處理 DIF 程式碼。
規格需求
版本 |
Microsoft Windows 2000 和更新版本的 Windows 支援。 |
標頭 |
Setupapi.h (包括 Setupapi.h) |