SetupDiInstallClassExA 函式 (setupapi.h)

SetupDiInstallClassEx 函式會安裝類別安裝程式或介面類別。

語法

WINSETUPAPI BOOL SetupDiInstallClassExA(
  [in, optional] HWND       hwndParent,
  [in, optional] PCSTR      InfFileName,
  [in]           DWORD      Flags,
  [in, optional] HSPFILEQ   FileQueue,
  [in, optional] const GUID *InterfaceClassGuid,
                 PVOID      Reserved1,
                 PVOID      Reserved2
);

參數

[in, optional] hwndParent

用於安裝這個類別的任何使用者介面之父視窗的句柄。 這個參數是選擇性的,而且可以是 NULL

[in, optional] InfFileName

包含 INF 檔名之 NULL 終止字串的指標。 這個參數是選擇性的,而且可以是 NULL。 如果使用這個函式來安裝類別安裝程式,INF 檔案會包含 INF ClassInstall32 區段 ,而且此參數不得為 NULL

如果使用這個函式來安裝介面類別,INF 檔案會包含 INF InterfaceInstall32 區段

[in] Flags

DWORD 類型的值,可控制安裝程式。 旗標 可以是零或位 OR 的下列值:

DI_NOVCP

如果提供 FileQueue ,請設定此旗標。

DI_NOVCP指示 SetupInstallFromInfSection 函式不要建立自己的佇列,並改為使用呼叫端提供的佇列。

如果設定此旗標,則不會直接將檔案複製到佇列中。

如需 SetupInstallFromInfSection 函式的詳細資訊,請參閱 Microsoft Windows SDK 檔。

DI_NOBROWSE

如果複製作業找不到指定的檔案,請將此旗標設定為停用流覽。 如果呼叫端提供檔案佇列,則會忽略此旗標。

DI_FORCECOPY

將此旗標設定為一律複製檔案,即使檔案已存在於用戶的計算機上也一樣。 如果呼叫端提供檔案佇列,則會忽略此旗標。

DI_QUIETINSTALL

除非絕對必要,否則請將此旗標設定為隱藏使用者介面。 例如,不要顯示進度對話方塊。 如果呼叫端提供檔案佇列,則會忽略此旗標。

[in, optional] FileQueue

如果已設定DI_NOVCP旗標,此參數會提供檔案佇列的句柄,其中應該將檔案作業排入佇列,但未認可。

[in, optional] InterfaceClassGuid

GUID 的指標,識別要安裝的介面類別。 這個參數是選擇性的,而且可以是 NULL。 如果指定此參數,則會使用此函式來安裝 GUID 所代表的介面類別。 如果此參數為 NULL,則會使用此函式來安裝類別安裝程式。

Reserved1

保留的。 必須為零。

Reserved2

保留的。 必須為零。

傳回值

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

備註

此函式的呼叫端必須是 Administrators 群組的成員。

SetupDiInstallClassEx 通常是由類別安裝程式呼叫,以安裝新的 裝置安裝類別 或新的 裝置介面類別

注意 您也可以呼叫 SetupDiInstallDeviceInterfaces 來自動安裝介面類別,以安裝裝置的裝置介面。
 

注意

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

規格需求

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

另請參閱

SetupDiCallClassInstaller

SetupDiInstallDeviceInterfaces