SetupDiSelectBestCompatDrv 函式 (setupapi.h)

SetupDiSelectBestCompatDrv 函式是安裝要求DIF_SELECTBESTCOMPATDRV的默認處理程式。

語法

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

參數

[in] DeviceInfoSet

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

[in, out] DeviceInfoData

指定 DeviceInfoSet 中裝置資訊元素之SP_DEVINFO_DATA結構的指標。 SetupDiSelectBestCompatDrv 會從指定裝置的相容驅動程式清單中選取裝置資訊元素的最佳驅動程式。

傳回值

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

備註

如果 SetupDiSelectBestCompatDrv 的呼叫端是 Administrators 群組的成員,且裝置的類別與所選驅動程式的類別不同, SetupDiSelectBestCompatDrv 會將裝置的類別設定為驅動程式的類別。 如果不需要此行為,請在較低許可權層級呼叫此函式。

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

如需如何選取最佳驅動程式的資訊,請參閱 Windows 如何選取驅動程式

若要取得裝置的所選驅動程式,請呼叫 SetupDiGetSelectedDriver

規格需求

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

另請參閱

DIF_SELECTBESTCOMPATDRV

SP_DEVINFO_DATA