使用裝置安裝函式

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

  • 安裝驅動程式

  • 處理 DIF 程式碼。

  • 管理裝置資訊集。

  • 管理驅動程式清單。

  • 管理裝置介面。

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

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

驅動程式安裝函式

裝置資訊函式

驅動程式資訊函式

裝置安裝處理常式

裝置安裝自訂功能

安裝程式類別函式

點陣圖和圖示函式

裝置介面函式

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

登錄函式

其他函式

驅動程式安裝函式

DiInstallDevice

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

DiUninstallDevice

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

DiInstallDriver

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

DiUninstallDriver

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

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 相關聯的類別名稱。

SetupDiClassNameFromGuidEx

擷取與類別 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

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

SetupDiOpenDeviceInterfaceRegKey

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

SetupDiDeleteDeviceInterfaceRegKey

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

SetupDiSetDeviceRegistryProperty

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

SetupDiGetDeviceRegistryProperty

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

SetupDiGetClassRegistryProperty

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

SetupDiSetClassRegistryProperty

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

其他函式

SetupDiGetActualModelsSection

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

SetupDiGetActualSectionToInstall

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

SetupDiGetActualSectionToInstallEx

擷取 INF DDInstall 區段的名稱,該區段會針對指定的作業系統和處理器架構安裝裝置。

SetupDiGetHwProfileFriendlyName

擷取與硬體設定檔識別碼相關聯的易記名稱。

SetupDiGetHwProfileFriendlyNameEx

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

SetupDiGetHwProfileList

擷取所有目前定義的硬體設定檔識別碼清單。

SetupDiGetHwProfileListEx

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

SetupDiRestartDevices

重新開機指定的裝置,或視需要啟動所有由相同函式運作的裝置,並篩選驅動程式與指定的裝置。