DIF_PROPERTYCHANGE
DIF_PROPERTYCHANGE要求會通知安裝程式裝置的屬性正在變更。 裝置正在啟用、停用、啟動、停止或屬性頁面上的某些專案已變更。 此 DIF 要求可讓安裝程式有機會參與變更。
傳送時
當裝置啟用、停用、重新開機、停止或其屬性已變更時。
例如,當屬性頁提供者在裝置SP_DEVINSTALL_PARAMS結構的FlagsEx欄位中設定DI_FLAGSEX_PROPCHANGE_PENDING旗標時,Windows 會傳送此要求。
如需偵測裝置第一次啟動或後續重新開機的時間的詳細資訊,請參閱安裝程式作業一節。
誰處理
類別共同安裝程式 |
可以處理 |
裝置共同安裝程式 |
可以處理 |
類別安裝程式 |
可以處理 |
安裝程式輸入
DeviceInfoSet
提供包含 裝置之裝置資訊集 的控制碼。
DeviceInfoData
提供裝置資訊集中裝置 SP_DEVINFO_DATA 結構的指標。
裝置安裝參數
與DeviceInfoData相關聯的裝置安裝參數 (SP_DEVINSTALL_PARAMS) 。
類別安裝參數
SP_PROPCHANGE_PARAMS結構與DeviceInfoData相關聯。
安裝程式輸出
安裝程式傳回值
共同安裝程式可以傳回NO_ERROR、ERROR_DI_POSTPROCESSING_REQUIRED或 Win32 錯誤碼。
如果類別安裝程式成功處理此要求, 而且 SetupDiCallClassInstaller 後續應該呼叫預設處理常式,則類別安裝程式會傳回ERROR_DI_DO_DEFAULT。
如果類別安裝程式成功處理此要求,包括直接呼叫預設處理常式,類別安裝程式應該會傳回NO_ERROR, 而 SetupDiCallClassInstaller 後續不會再次呼叫預設處理常式。
注意 類別安裝程式可以直接呼叫預設處理常式,但類別安裝程式不應該嘗試取代預設處理常式的作業。
如需呼叫預設處理常式的詳細資訊,請參閱 呼叫預設 DIF 程式碼處理常式。
如果類別安裝程式發生錯誤,安裝程式應該會傳回適當的 Win32 錯誤碼,而且 SetupDiCallClassInstaller 後續不會呼叫預設處理常式。
預設 DIF 程式碼處理常式
安裝程式作業
為了回應DIF_PROPERTYCHANGE要求,安裝程式可以參與屬性變更作業。 類別安裝參數 (SP_PROPCHANGE_PARAMS) 指出發生哪些變更。
屬性變更可能需要重新開機系統。 如需如何重新開機系統的資訊,請參閱 SetupDiCallClassInstaller。
當 Windows 第一次傳送DIF_INSTALLDEVICE要求來安裝裝置時,Windows 會啟動裝置,但不會在安裝過程中傳送DIF_PROPERTYCHANGE要求。 如果第一次啟動裝置且每當裝置重新開機時,必須執行自訂安裝作業,則安裝程式或共同安裝程式應該處理第一次啟動裝置的DIF_INSTALLDEVICE要求,以及指出狀態變更動作是裝置正在啟動的DIF_PROPERTYCHANGE要求。
如需 DIF 程式碼的詳細資訊,請參閱 處理 DIF 程式碼。
規格需求
版本 |
Microsoft Windows 2000 和更新版本的 Windows 支援。 |
標頭 |
Setupapi.h (包括 Setupapi.h) |