SetupDiSetSelectedDriverA 函式 (setupapi.h)

SetupDiSetSelectedDriver 函式集或重設、裝置資訊專案的所選驅動程式,或裝置資訊集的選取類別驅動程式。

語法

WINSETUPAPI BOOL SetupDiSetSelectedDriverA(
  [in]      HDEVINFO           DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA   DeviceInfoData,
  [in, out] PSP_DRVINFO_DATA_A DriverInfoData
);

參數

[in] DeviceInfoSet

包含驅動程式清單的 裝置資訊集 句柄,可從中為裝置資訊專案或裝置資訊集選取驅動程式。

[in, out] DeviceInfoData

指定 DeviceInfoSet 中裝置資訊元素之SP_DEVINFO_DATA結構的指標。 此參數是選擇性的,可以是 NULL。 如果指定此參數, 則 SetupDiSetSelectedDriver 會設定或重設指定裝置的所選驅動程式。 如果此參數為 NULLSetupDiSetSelectedDriver 設定或重設,則為 DeviceInfoSet 選取的類別驅動程式。

[in, out] DriverInfoData

SP_DRVINFO_DATA 結構的指標,指定要選取的驅動程式。 此參數是選擇性的,可以是 NULL。 如果提供此參數和 DeviceInfoData ,指定的驅動程式必須是與 DeviceInfoData 相關聯的驅動程式清單成員。 如果指定此參數且 DeviceInfoDataNULL,驅動程式必須是 DeviceInfoSet 的全域類別驅動程式清單成員。 如果此參數為 NULL,則會針對裝置資訊元素重設選取的驅動程式、如果指定 DeviceInfoData,或如果 DeviceInfoDataNULL則會設定裝置資訊集。

如果 DriverInfoData。保留NULL,呼叫端會要求搜尋具有指定參數的驅動程序節點, (DriverTypeDescriptionProviderName) 。 如果找到相符專案,則會選取該驅動程序節點。 [ 保留 ] 欄位會在輸出上更新,以反映找到相符項目的實際驅動程序節點。 如果找不到相符專案,函式會失敗,而且 GetLastError 的呼叫會傳回ERROR_INVALID_PARAMETER。

傳回值

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

備註

如果 SetupDiSetSelectedDriver 的呼叫端是 Administrators 群組的成員,則裝置的類別會設定為所選驅動程式的類別,前提是這兩個類別不同。

如果 DriverInfoDataNULL,SetupDiSetSelectedDriver 會重設選取的驅動程式。 因此,沒有選取的驅動程式。

注意

setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupDiSetSelectedDriver 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

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

另請參閱

SetupDiGetSelectedDriver