共用方式為


SetupDiSelectDevice 函式 (setupapi.h)

SetupDiSelectDevice 函式是DIF_SELECTDEVICE要求的預設處理程式。

語法

WINSETUPAPI BOOL SetupDiSelectDevice(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

參數

[in] DeviceInfoSet

裝置資訊集的句柄,其中包含代表要選取驅動程式之裝置的裝置信息元素。

[in, out] DeviceInfoData

指定裝置資訊專案的 SP_DEVINFO_DATA 結構的指標。 此參數是選擇性的,可以是 NULL。 如果指定此參數, SetupDiSelectDevice 會選取指定裝置的驅動程式,並設定 DeviceInfoData。ClassGuid 至所選驅動程式 裝置安裝類別 的 GUID。 如果此參數為 NULL,SetupDiSelectDevice 會在 DeviceInfoSet 的全域類別驅動程式清單中設定選取的驅動程式。

傳回值

如果函式成功,函式會傳回 TRUE 。 否則,它會傳回 FALSE ,而且可以透過呼叫 GetLastError 來擷取記錄的錯誤。

備註

SetupDiSelectDevice 會處理使用者介面,讓用戶選取指定裝置的驅動程式,或在未指定裝置時設定裝置資訊。 藉由設定裝置SP_DEVINSTALL_PARAMS結構的 [旗標] 欄位,或未指定裝置時所設定的裝置資訊,呼叫端可以指定使用者介面的特殊處理,例如,允許使用者從 OEM 安裝磁碟選取驅動程式。

注意 只有類別安裝程式應該呼叫 SetupDiSelectDevice ,而且只有在類別安裝程式在 SetupDiSelectDevice 完成預設驅動程式選取作業之後,才能執行驅動程式選取作業。 在這種情況下,當安裝程式處理DIF_SELECTDEVICE要求時,類別安裝程序必須直接呼叫 SetupDiSelectDevice 。 如需呼叫預設處理程式的詳細資訊,請參閱呼叫預設 DIF 程式代碼處理程式式。
 
SetupDiSelectDevice 主要是設計為在安裝裝置之前,先選取本機電腦上的裝置驅動程式。 雖然如果裝置資訊集是針對遠端計算機, 則 SetupDiSelectDevice 不會失敗,但結果會受到限制,因為裝置資訊集之後無法搭配 DIF_Xxx 安裝要求使用,或不支援遠端電腦上的作業 的 SetupDiXxx 函式。 特別是,裝置資訊集不能當做輸入與DIF_INSTALLDEVICE安裝要求搭配使用,以在遠端電腦上安裝裝置。

規格需求

需求
最低支援的用戶端 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。
目標平台 桌面
標頭 setupapi.h (包括 Setupapi.h)
程式庫 Setupapi.lib
Dll Setupapi.dll

另請參閱

SP_DEVINSTALL_PARAMS

SetupDiCallClassInstaller