使用裝置安裝功能
本節摘要說明 裝置安裝功能。 藉由使用裝置安裝功能,安裝軟體可以執行下列類型的作業:
安裝驅動程式
處理 DIF 代碼。
管理裝置資訊集。
管理驅動程式清單。
管理裝置介面。
管理圖示和其他點陣圖。
下表提供下列函式類型的摘要:
驅動程式安裝函式
安裝預安裝於 驅動程式存放區中指定的驅動程式套件, 存在於系統中的 PnP 裝置上。 (Windows Vista 和更新版本的 Windows) |
|
卸載裝置,並從系統移除其裝置節點(devnode)。 (Windows 7 和更新版本的 Windows) |
|
在驅動程式存放區中預安裝驅動程式套件,然後在系統中相符的 PnP 裝置上安裝驅動程式套件。 (Windows Vista 和更新版本的 Windows) |
|
從驅動程式存放區移除驅動程式套件。 (Windows 10 版本 1703 和之後的版本) |
|
更新已安裝的驅動程式套件,以比對系統中存在的 PnP 裝置。 |
|
將安裝在指定裝置上的驅動程式套件復原到為裝置設定的備份驅動程式套件。 (Windows Vista 和更新版本的 Windows) |
裝置資訊功能
備註
Windows 的所有版本都不支援 SetupApi。 可能的話,您應該使用較低層 API,例如透過 CfgMgr32.dll取得的 API。 如需秘訣,請參閱 從 SetupApi 移植到 CfgMgr32。
建立空的裝置資訊集。 此集合可以與類別 GUID 相關聯。 |
|
建立空的裝置資訊集。 此集合可以與類別 GUID 相關聯,而且可以用於遠端電腦上的裝置。 |
|
建立新的裝置資訊元素,並將它新增為指定裝置資訊集的新成員。 |
|
擷取現有裝置實例的相關信息,並將其新增至指定的裝置資訊集。 |
|
傳回裝置資訊集之裝置資訊元素的上下文結構。 |
|
擷取與裝置資訊元素相關聯的裝置實例識別碼。 |
|
如果裝置資訊集具有相關聯的類別,則擷取與其相關聯的類別 GUID。 |
|
擷取與裝置資訊集相關聯的資訊,包括類別 GUID、遠端電腦句柄和遠端電腦名稱。 |
|
擷取指定裝置資訊元素的屬性頁句柄,或指定裝置資訊集的 裝置安裝類別 的屬性頁句柄。 |
|
傳回包含指定類別之所有裝置的裝置資訊集。 |
|
傳回裝置資訊集,其中包含本機或遠端電腦上指定類別的所有裝置。 |
|
將指定的裝置資訊項目設定為裝置資訊集目前選取的成員。 安裝精靈通常會使用此函式。 |
|
擷取指定裝置資訊集合目前選取的裝置。 |
|
向隨插即用管理員註冊新建立的裝置實例。 |
|
從指定的裝置資訊集刪除成員。 此函式不會刪除實際的裝置。 |
|
終結裝置資訊集,並釋放所有相關聯的記憶體。 |
驅動程式資訊函式
建置一個驅動程式清單,此清單與指定的裝置個體或與裝置資訊集合的全域類別驅動程式清單相關聯。 |
|
列舉驅動程式資訊清單的成員。 |
|
擷取指定之驅動程式資訊元素的詳細資訊。 |
|
將驅動程式清單的指定成員設定為目前選取的驅動程式。 它也可以用來重設驅動程式清單,使目前無已選擇的驅動程式。 |
|
擷取選取為要安裝之驅動程式的驅動程式清單成員。 |
|
取消目前正在不同線程中執行的驅動程式清單搜尋。 |
|
銷毀驅動程式資訊清單。 |
裝置安裝處理程式
使用指定的安裝要求,呼叫適當的類別安裝程式和任何已註冊的共同安裝程式。 |
|
DIF_PROPERTYCHANGE要求的默認處理程式。 它可以用來變更已安裝裝置的狀態。 |
|
註冊指定裝置之 INF 檔案中所列的裝置特定共同安裝程式。 此函式是DIF_REGISTER_COINSTALLERS的默認處理程式。 |
|
DIF_INSTALLDEVICE要求的默認處理程式。 |
|
DIF_INSTALLDEVICEFILES要求的默認處理程式。 |
|
DIF_INSTALLINTERFACES要求的默認處理程式。 它會安裝列在 DDInstall中的介面。裝置 INF 檔案 區段的介面。 |
|
此函式已經過時,無法用於任何版本的 Microsoft Windows。 |
|
DIF_REMOVEDEVICE要求的默認處理程式。 |
|
DIF_UNREMOVE要求的默認處理程式。 |
|
DIF_REGISTERDEVICE要求的默認處理程式。 |
|
DIF_SELECTDEVICE要求的默認處理程式。 |
|
DIF_SELECTBESTCOMPATDRV要求的默認處理程式。 |
|
DIF_SELECTDEVICE要求的默認處理程式。 |
裝置安裝自定義功能
擷取裝置資訊集或特定裝置資訊元素的類別安裝參數。 |
|
設定或清除裝置資訊集或特定裝置資訊元素的類別安裝參數。 |
|
擷取裝置資訊集或特定裝置資訊元素的裝置安裝參數。 |
|
設定裝置資訊集或特定裝置資訊元素的裝置安裝參數。 |
|
擷取指定驅動程式的安裝參數。 |
|
設定指定驅動程式的安裝參數。 |
設定類別函式
傳回安裝類別 GUID 的清單,其中包含安裝在系統上的每個類別。 |
|
傳回安裝類別 GUID 的清單,其中包含安裝在本機系統或遠端系統上的每個類別。 |
|
擷取與指定之安裝類別 GUID 相關聯的類別描述。 |
|
擷取在本機或遠端電腦上安裝的安裝類別描述。 |
|
擷取指定裝置 INF 檔案的類別。 |
|
擷取與指定類別名稱相關聯的 GUID。 此清單是根據系統上目前安裝的類別所建置。 |
|
擷取與指定類別名稱相關聯的 GUID。 這個產生的清單包含目前安裝在本機或遠端電腦上的類別。 |
|
擷取與類別 GUID 相關聯的類別名稱。 |
|
擷取與類別 GUID 相關聯的類別名稱。 類別可以安裝在本機或遠端電腦上。 |
|
安裝指定 INF 檔案的 ClassInstall32 區段。 |
|
安裝類別安裝程式或介面類別。 |
|
開啟設備設定類別 的登錄機碼,或該類別的特定子機碼。 |
|
開啟裝置安裝類別登錄機碼、裝置介面類別登錄機碼,或類別的特定子機碼。 此函式會在本機電腦或遠端電腦上開啟指定的金鑰。 |
位陣圖和圖示函式
建置影像清單,其中包含每個已安裝類別的位圖,並傳回數據結構中的清單。 |
|
建立本機或遠端電腦上安裝之每個類別的位圖影像清單。 |
|
擷取指定類別之類別影像清單中的索引。 |
|
擷取為指定類別提供之迷你圖示的索引。 |
|
在要求的位置繪製指定的迷你圖示。 |
|
載入指定類別的大型和迷你圖示。 |
|
載入指定裝置的裝置圖示。 (Windows Vista 和更新版本的 Windows) |
|
銷毀類別圖片列表。 |
裝置介面函式
備註
Windows 的所有版本都不支援 SetupApi。 可能的話,您應該使用較低層 API,例如透過 CfgMgr32.dll取得的 API。 如需秘訣,請參閱 從 SetupApi 移植到 CfgMgr32。
註冊裝置的裝置功能(裝置介面)。 |
|
擷取現有裝置介面的相關信息,並將其新增至指定的裝置資訊集。 |
|
傳回指定裝置介面的別名。 |
|
傳回包含指定類別之所有裝置的裝置資訊集。 |
|
傳回裝置資訊集,其中包含本機或遠端電腦上指定類別的所有裝置。 |
|
傳回裝置資訊集之裝置介面元素的內容結構。 每個呼叫都會傳回一個裝置介面的相關信息。 您可以重複呼叫 函式,以取得一或多個裝置所公開之數個介面的相關信息。 |
|
傳回特定裝置介面的詳細數據。 |
|
建立註冊表子機碼以儲存裝置介面實例的相關資訊,並傳回該子機碼的控制代碼。 |
|
開啟應用程式和驅動程式用來儲存裝置介面實例專屬信息的登錄子機碼,並傳回密鑰的句柄。 |
|
刪除應用程式和驅動程式用來儲存裝置介面實例專屬信息的登錄子機碼。 |
|
這是DIF_INSTALLINTERFACES要求的默認處理程式。 它會安裝列在 DDInstall中的介面。裝置 INF 檔案 區段的介面。 |
|
從系統移除已註冊的裝置介面。 |
|
從裝置資訊集刪除裝置介面。 |
|
將指定的裝置介面設定為裝置類別的預設介面。 |
|
安裝類安裝程式或接口類別。 |
|
開啟 裝置安裝類別 登錄機碼、裝置介面類別登錄機碼或 類別的特定子機碼。 此函式會在本機電腦或遠端電腦上開啟指定的金鑰。 |
裝置屬性函式 (Windows Vista 和更新版本)
備註
Windows 的所有版本都不支援 SetupApi。 可能的話,您應該使用較低層 API,例如透過 CfgMgr32.dll取得的 API。 如需秘訣,請參閱 從 SetupApi 移植到 CfgMgr32。
擷取裝置設定類別或裝置介面類別所設定的裝置屬性。 |
|
擷取本機或遠端電腦上裝置安裝類別或裝置介面類別的類別屬性。 |
|
擷取代表裝置設置類別或裝置介面類別所設定的裝置屬性鍵值陣列。 |
|
擷取裝置屬性索引鍵的陣列,代表針對裝置安裝類別或本機或遠端電腦上的裝置介面類別所設定的裝置屬性。 |
|
擷取為裝置介面設定的裝置屬性。 |
|
擷取一組裝置屬性鍵,代表設定於裝置介面的裝置屬性。 |
|
擷取裝置實例屬性。 |
|
擷取設定於裝置實例上的裝置屬性鍵陣列。 |
|
設定裝置安裝類別或裝置介面類別的類別屬性。 |
|
設定本機或遠端電腦上的裝置安裝類別或裝置介面類別的裝置屬性。 |
|
設定裝置介面的裝置屬性。 |
|
設定裝置實例屬性。 |
登錄功能
備註
Windows 的所有版本都不支援 SetupApi。 可能的話,您應該使用較低層 API,例如透過 CfgMgr32.dll取得的 API。 如需秘訣,請參閱 從 SetupApi 移植到 CfgMgr32。
建立裝置特定組態資訊的登錄儲存機碼,並傳回機碼的控制代碼。 |
|
開啟用於裝置特定組態資訊的登錄機碼,並返回該機碼的控制代碼。 |
|
刪除與裝置資訊項目相關聯的指定用戶可存取登錄機碼。 |
|
開啟設定類別註冊機碼,或該類別的特定子機碼。 |
|
開啟裝置安裝類別登錄機碼、裝置介面類別登錄機碼,或類別的特定子機碼。 此函式會在本機電腦或遠端電腦上開啟指定的金鑰。 |
|
建立非揮發性的登錄子機碼,以儲存裝置介面實例的相關資訊,並傳回密鑰的控制代碼。 |
|
開啟應用程式和驅動程式用來儲存裝置介面實例專屬資訊的登錄子機碼,並傳回該機碼的控制碼。 |
|
刪除應用程式和驅動程式用來儲存裝置介面實例專屬信息的登錄子機碼。 |
|
設定指定的隨插即用裝置屬性。 |
|
擷取指定的隨插即用裝置屬性。 |
|
從登錄擷取指定的裝置類別屬性。 |
|
在登錄中設定指定的裝置類別屬性。 |
其他函式
擷取適當的裝飾 INF 模型區段, 從裝置 INF 檔案安裝裝置時使用。 |
|
擷取從裝置 INF 檔案安裝裝置時要使用的適當 DDInstall 區段。 |
|
擷取 INF DDInstall 區段的名稱,該區段會為特定作業系統和處理器架構安裝設備。 |
|
擷取與硬體設定檔 ID 關聯的友善名稱。 |
|
擷取與本機或遠端電腦上硬體配置檔標識碼相關聯的易記名稱。 |
|
擷取所有目前定義之硬體配置檔標識碼的清單。 |
|
擷取本機或遠端電腦上所有目前定義之硬體配置檔標識碼的清單。 |
|
重新啟動指定的裝置,或在必要時重新啟動由與指定裝置相同的功能和篩選驅動程式操作的所有裝置。 |