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 程式碼處理常式

SetupDiChangeState

安裝程式作業

為了回應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)

另請參閱

SetupDiChangeState

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS

SP_PROPCHANGE_PARAMS