共用方式為


使用裝置安裝功能

本節摘要說明 裝置安裝功能。 藉由使用裝置安裝功能,安裝軟體可以執行下列類型的作業:

  • 安裝驅動程式

  • 處理 DIF 代碼。

  • 管理裝置資訊集。

  • 管理驅動程式清單。

  • 管理裝置介面。

  • 管理圖示和其他點陣圖。

下表提供下列函式類型的摘要:

驅動程式安裝函式

裝置資訊函式

驅動程式資訊函式

裝置安裝處理程式

裝置安裝自定義函式

設定類別函式

位圖和圖示函式

裝置介面函式

裝置屬性函式 (Windows Vista 和更新版本)

登錄函式

其他函式

驅動程式安裝函式

DiInstallDevice

安裝預安裝於 驅動程式存放區中指定的驅動程式套件, 存在於系統中的 PnP 裝置上。 (Windows Vista 和更新版本的 Windows)

DiUninstallDevice

卸載裝置,並從系統移除其裝置節點(devnode)。 (Windows 7 和更新版本的 Windows)

DiInstallDriver

在驅動程式存放區中預安裝驅動程式套件,然後在系統中相符的 PnP 裝置上安裝驅動程式套件。 (Windows Vista 和更新版本的 Windows)

DiUninstallDriver

從驅動程式存放區移除驅動程式套件。 (Windows 10 版本 1703 和之後的版本)

UpdateDriverForPlugAndPlayDevices

更新已安裝的驅動程式套件,以比對系統中存在的 PnP 裝置。

DiRollbackDriver

將安裝在指定裝置上的驅動程式套件復原到為裝置設定的備份驅動程式套件。 (Windows Vista 和更新版本的 Windows)

裝置資訊功能

備註

Windows 的所有版本都不支援 SetupApi。 可能的話,您應該使用較低層 API,例如透過 CfgMgr32.dll取得的 API。 如需秘訣,請參閱 從 SetupApi 移植到 CfgMgr32

SetupDiCreateDeviceInfoList

建立空的裝置資訊集。 此集合可以與類別 GUID 相關聯。

SetupDiCreateDeviceInfoListEx

建立空的裝置資訊集。 此集合可以與類別 GUID 相關聯,而且可以用於遠端電腦上的裝置。

SetupDiCreateDeviceInfo

建立新的裝置資訊元素,並將它新增為指定裝置資訊集的新成員。

SetupDiOpenDeviceInfo

擷取現有裝置實例的相關信息,並將其新增至指定的裝置資訊集。

SetupDiEnumDeviceInfo

傳回裝置資訊集之裝置資訊元素的上下文結構。

SetupDiGetDeviceInstanceId

擷取與裝置資訊元素相關聯的裝置實例識別碼。

SetupDiGetDeviceInfoListClass

如果裝置資訊集具有相關聯的類別,則擷取與其相關聯的類別 GUID。

SetupDiGetDeviceInfoListDetail

擷取與裝置資訊集相關聯的資訊,包括類別 GUID、遠端電腦句柄和遠端電腦名稱。

SetupDiGetClassDevPropertySheets

擷取指定裝置資訊元素的屬性頁句柄,或指定裝置資訊集的 裝置安裝類別 的屬性頁句柄。

SetupDiGetClassDevs

傳回包含指定類別之所有裝置的裝置資訊集。

SetupDiGetClassDevsEx

傳回裝置資訊集,其中包含本機或遠端電腦上指定類別的所有裝置。

SetupDiSetSelectedDevice

將指定的裝置資訊項目設定為裝置資訊集目前選取的成員。 安裝精靈通常會使用此函式。

SetupDiGetSelectedDevice

擷取指定裝置資訊集合目前選取的裝置。

SetupDiRegisterDeviceInfo

向隨插即用管理員註冊新建立的裝置實例。

SetupDiDeleteDeviceInfo

從指定的裝置資訊集刪除成員。 此函式不會刪除實際的裝置。

SetupDiDestroyDeviceInfoList

終結裝置資訊集,並釋放所有相關聯的記憶體。

驅動程式資訊函式

SetupDiBuildDriverInfoList

建置一個驅動程式清單,此清單與指定的裝置個體或與裝置資訊集合的全域類別驅動程式清單相關聯。

SetupDiEnumDriverInfo

列舉驅動程式資訊清單的成員。

SetupDiGetDriverInfoDetail

擷取指定之驅動程式資訊元素的詳細資訊。

SetupDiSetSelectedDriver

將驅動程式清單的指定成員設定為目前選取的驅動程式。 它也可以用來重設驅動程式清單,使目前無已選擇的驅動程式。

SetupDiGetSelectedDriver

擷取選取為要安裝之驅動程式的驅動程式清單成員。

SetupDiCancelDriverInfoSearch

取消目前正在不同線程中執行的驅動程式清單搜尋。

SetupDiDestroyDriverInfoList

銷毀驅動程式資訊清單。

裝置安裝處理程式

SetupDiCallClassInstaller

使用指定的安裝要求,呼叫適當的類別安裝程式和任何已註冊的共同安裝程式。

SetupDiChangeState

DIF_PROPERTYCHANGE要求的默認處理程式。 它可以用來變更已安裝裝置的狀態。

SetupDiRegisterCoDeviceInstallers

註冊指定裝置之 INF 檔案中所列的裝置特定共同安裝程式。 此函式是DIF_REGISTER_COINSTALLERS的默認處理程式。

SetupDiInstallDevice

DIF_INSTALLDEVICE要求的默認處理程式。

SetupDiInstallDriverFiles

DIF_INSTALLDEVICEFILES要求的默認處理程式。

設置設備接口 (SetupDiInstallDeviceInterfaces)

DIF_INSTALLINTERFACES要求的默認處理程式。 它會安裝列在 DDInstall中的介面。裝置 INF 檔案 區段的介面。

SetupDiMoveDuplicateDevice

此函式已經過時,無法用於任何版本的 Microsoft Windows。

SetupDiRemoveDevice

DIF_REMOVEDEVICE要求的默認處理程式。

SetupDiUnremoveDevice

DIF_UNREMOVE要求的默認處理程式。

SetupDiRegisterDeviceInfo

DIF_REGISTERDEVICE要求的默認處理程式。

SetupDiSelectDevice

DIF_SELECTDEVICE要求的默認處理程式。

SetupDiSelectBestCompatDrv

DIF_SELECTBESTCOMPATDRV要求的默認處理程式。

SetupDiSelectDevice

DIF_SELECTDEVICE要求的默認處理程式。

裝置安裝自定義功能

SetupDiGetClassInstallParams

擷取裝置資訊集或特定裝置資訊元素的類別安裝參數。

SetupDiSetClassInstallParams

設定或清除裝置資訊集或特定裝置資訊元素的類別安裝參數。

SetupDiGetDeviceInstallParams

擷取裝置資訊集或特定裝置資訊元素的裝置安裝參數。

SetupDiSetDeviceInstallParams

設定裝置資訊集或特定裝置資訊元素的裝置安裝參數。

SetupDiGetDriverInstallParams

擷取指定驅動程式的安裝參數。

SetupDiSetDriverInstallParams

設定指定驅動程式的安裝參數。

設定類別函式

SetupDiBuildClassInfoList

傳回安裝類別 GUID 的清單,其中包含安裝在系統上的每個類別。

SetupDiBuildClassInfoListEx

傳回安裝類別 GUID 的清單,其中包含安裝在本機系統或遠端系統上的每個類別。

SetupDiGetClassDescription

擷取與指定之安裝類別 GUID 相關聯的類別描述。

SetupDiGetClassDescriptionEx

擷取在本機或遠端電腦上安裝的安裝類別描述。

SetupDiGetINFClass

擷取指定裝置 INF 檔案的類別。

SetupDiClassGuidsFromName

擷取與指定類別名稱相關聯的 GUID。 此清單是根據系統上目前安裝的類別所建置。

SetupDiClassGuidsFromNameEx

擷取與指定類別名稱相關聯的 GUID。 這個產生的清單包含目前安裝在本機或遠端電腦上的類別。

SetupDiClassNameFromGuid

擷取與類別 GUID 相關聯的類別名稱。

從 GuidEx 取得 SetupDi 類別名稱

擷取與類別 GUID 相關聯的類別名稱。 類別可以安裝在本機或遠端電腦上。

SetupDiInstallClass

安裝指定 INF 檔案的 ClassInstall32 區段。

SetupDiInstallClassEx

安裝類別安裝程式或介面類別。

SetupDiOpenClassRegKey

開啟設備設定類別 的登錄機碼,或該類別的特定子機碼。

SetupDiOpenClassRegKeyEx

開啟裝置安裝類別登錄機碼、裝置介面類別登錄機碼,或類別的特定子機碼。 此函式會在本機電腦或遠端電腦上開啟指定的金鑰。

位陣圖和圖示函式

SetupDiGetClassImageList

建置影像清單,其中包含每個已安裝類別的位圖,並傳回數據結構中的清單。

SetupDiGetClassImageListEx

建立本機或遠端電腦上安裝之每個類別的位圖影像清單。

SetupDiGetClassImageIndex

擷取指定類別之類別影像清單中的索引。

SetupDiGetClassBitmapIndex

擷取為指定類別提供之迷你圖示的索引。

SetupDiDrawMiniIcon

在要求的位置繪製指定的迷你圖示。

SetupDiLoadClassIcon

載入指定類別的大型和迷你圖示。

SetupDiLoadDeviceIcon

載入指定裝置的裝置圖示。 (Windows Vista 和更新版本的 Windows)

SetupDiDestroyClassImageList

銷毀類別圖片列表。

裝置介面函式

備註

Windows 的所有版本都不支援 SetupApi。 可能的話,您應該使用較低層 API,例如透過 CfgMgr32.dll取得的 API。 如需秘訣,請參閱 從 SetupApi 移植到 CfgMgr32

SetupDiCreateDeviceInterface

註冊裝置的裝置功能(裝置介面)。

SetupDiOpenDeviceInterface

擷取現有裝置介面的相關信息,並將其新增至指定的裝置資訊集。

SetupDiGetDeviceInterfaceAlias 函數

傳回指定裝置介面的別名。

SetupDiGetClassDevs

傳回包含指定類別之所有裝置的裝置資訊集。

SetupDiGetClassDevsEx

傳回裝置資訊集,其中包含本機或遠端電腦上指定類別的所有裝置。

SetupDiEnumDeviceInterfaces

傳回裝置資訊集之裝置介面元素的內容結構。 每個呼叫都會傳回一個裝置介面的相關信息。

您可以重複呼叫 函式,以取得一或多個裝置所公開之數個介面的相關信息。

SetupDiGetDeviceInterfaceDetail

傳回特定裝置介面的詳細數據。

SetupDiCreateDeviceInterfaceRegKey

建立註冊表子機碼以儲存裝置介面實例的相關資訊,並傳回該子機碼的控制代碼。

SetupDiOpenDeviceInterfaceRegKey

開啟應用程式和驅動程式用來儲存裝置介面實例專屬信息的登錄子機碼,並傳回密鑰的句柄。

SetupDiDeleteDeviceInterfaceRegKey

刪除應用程式和驅動程式用來儲存裝置介面實例專屬信息的登錄子機碼。

SetupDiInstallDeviceInterfaces

這是DIF_INSTALLINTERFACES要求的默認處理程式。 它會安裝列在 DDInstall中的介面。裝置 INF 檔案 區段的介面。

SetupDiRemoveDeviceInterface

從系統移除已註冊的裝置介面。

SetupDiDeleteDeviceInterfaceData

從裝置資訊集刪除裝置介面。

SetupDiSetDeviceInterfaceDefault

將指定的裝置介面設定為裝置類別的預設介面。

SetupDiInstallClassEx

安裝類安裝程式或接口類別。

SetupDiOpenClassRegKeyEx

開啟 裝置安裝類別 登錄機碼、裝置介面類別登錄機碼或 類別的特定子機碼。 此函式會在本機電腦或遠端電腦上開啟指定的金鑰。

裝置屬性函式 (Windows Vista 和更新版本)

備註

Windows 的所有版本都不支援 SetupApi。 可能的話,您應該使用較低層 API,例如透過 CfgMgr32.dll取得的 API。 如需秘訣,請參閱 從 SetupApi 移植到 CfgMgr32

SetupDiGetClassProperty

擷取裝置設定類別或裝置介面類別所設定的裝置屬性。

SetupDiGetClassPropertyEx

擷取本機或遠端電腦上裝置安裝類別或裝置介面類別的類別屬性。

SetupDiGetClassPropertyKeys

擷取代表裝置設置類別或裝置介面類別所設定的裝置屬性鍵值陣列。

SetupDiGetClassPropertyKeysEx

擷取裝置屬性索引鍵的陣列,代表針對裝置安裝類別或本機或遠端電腦上的裝置介面類別所設定的裝置屬性。

SetupDiGetDeviceInterfaceProperty

擷取為裝置介面設定的裝置屬性。

SetupDiGetDeviceInterfacePropertyKeys

擷取一組裝置屬性鍵,代表設定於裝置介面的裝置屬性。

SetupDiGetDeviceProperty

擷取裝置實例屬性。

SetupDiGetDevicePropertyKeys

擷取設定於裝置實例上的裝置屬性鍵陣列。

SetupDiSetClassProperty

設定裝置安裝類別或裝置介面類別的類別屬性。

SetupDiSetClassPropertyEx

設定本機或遠端電腦上的裝置安裝類別或裝置介面類別的裝置屬性。

設定裝置介面屬性 SetupDiSetDeviceInterfaceProperty

設定裝置介面的裝置屬性。

SetupDiSetDeviceProperty

設定裝置實例屬性。

登錄功能

備註

Windows 的所有版本都不支援 SetupApi。 可能的話,您應該使用較低層 API,例如透過 CfgMgr32.dll取得的 API。 如需秘訣,請參閱 從 SetupApi 移植到 CfgMgr32

SetupDiCreateDevRegKey

建立裝置特定組態資訊的登錄儲存機碼,並傳回機碼的控制代碼。

SetupDiOpenDevRegKey

開啟用於裝置特定組態資訊的登錄機碼,並返回該機碼的控制代碼。

SetupDiDeleteDevRegKey

刪除與裝置資訊項目相關聯的指定用戶可存取登錄機碼。

SetupDiOpenClassRegKey

開啟設定類別註冊機碼,或該類別的特定子機碼。

SetupDiOpenClassRegKeyEx

開啟裝置安裝類別登錄機碼、裝置介面類別登錄機碼,或類別的特定子機碼。

此函式會在本機電腦或遠端電腦上開啟指定的金鑰。

SetupDiCreateDeviceInterfaceRegKey

建立非揮發性的登錄子機碼,以儲存裝置介面實例的相關資訊,並傳回密鑰的控制代碼。

SetupDiOpenDeviceInterfaceRegKey

開啟應用程式和驅動程式用來儲存裝置介面實例專屬資訊的登錄子機碼,並傳回該機碼的控制碼。

SetupDiDeleteDeviceInterfaceRegKey

刪除應用程式和驅動程式用來儲存裝置介面實例專屬信息的登錄子機碼。

SetupDiSetDeviceRegistryProperty

設定指定的隨插即用裝置屬性。

SetupDiGetDeviceRegistryProperty

擷取指定的隨插即用裝置屬性。

SetupDiGetClassRegistryProperty

從登錄擷取指定的裝置類別屬性。

SetupDiSetClassRegistryProperty

在登錄中設定指定的裝置類別屬性。

其他函式

SetupDiGetActualModelsSection

擷取適當的裝飾 INF 模型區段, 從裝置 INF 檔案安裝裝置時使用。

SetupDiGetActualSectionToInstall

擷取從裝置 INF 檔案安裝裝置時要使用的適當 DDInstall 區段。

SetupDiGetActualSectionToInstallEx

擷取 INF DDInstall 區段的名稱,該區段會為特定作業系統和處理器架構安裝設備。

SetupDiGetHwProfileFriendlyName

擷取與硬體設定檔 ID 關聯的友善名稱。

SetupDiGetHwProfileFriendlyNameEx

擷取與本機或遠端電腦上硬體配置檔標識碼相關聯的易記名稱。

SetupDiGetHwProfileList

擷取所有目前定義之硬體配置檔標識碼的清單。

SetupDiGetHwProfileListEx

擷取本機或遠端電腦上所有目前定義之硬體配置檔標識碼的清單。

SetupDiRestartDevices

重新啟動指定的裝置,或在必要時重新啟動由與指定裝置相同的功能和篩選驅動程式操作的所有裝置。