デバイス インストール関数の使用

このセクションでは、 デバイスのインストール機能の概要を示します。 デバイスのインストール機能を使用すると、インストール ソフトウェアは次の種類の操作を実行できます。

  • ドライバーのインストール

  • DIF コードを処理します。

  • デバイス情報セットを管理します。

  • ドライバーの一覧を管理します。

  • デバイス インターフェイスを管理します。

  • アイコンやその他のビットマップを管理します。

次の表に、次の種類の関数の概要を示します。

ドライバのインストール機能

デバイス情報関数

ドライバー情報関数

デバイス インストール ハンドラー

デバイス インストールのカスタマイズ関数

クラス関数のセットアップ

ビットマップ関数とアイコン関数

デバイスインターフェイス関数

Device プロパティ関数 (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)

デバイス情報関数

Note

SetupApi は、Windows のすべてのエディションでサポートされているわけではありません。 可能な場合は、CfgMgr32.dll経由で使用可能な API などの下位レイヤー API を使用する必要があります。 ヒントについては、SetupApi から CfgMgr32 への移植 を参照してください。

SetupDiCreateDeviceInfoList

空の デバイス情報セットを作成します。 このセットは、クラス GUID に関連付けることができます。

SetupDiCreateDeviceInfoListEx

空のデバイス情報セットを作成します。 このセットは、クラス GUID に関連付けることができ、リモート コンピューター上のデバイスに対して使用できます。

SetupDiCreateDeviceInfo

新しいデバイス情報要素を作成し、指定したデバイス情報セットに新しいメンバーとして追加します。

SetupDiOpenDeviceInfo

既存のデバイス インスタンスに関する情報を取得し、指定したデバイス情報セットに追加します。

SetupDiEnumDeviceInfo

デバイス情報セットのデバイス情報要素のコンテキスト構造を返します。

SetupDiGetDeviceInstanceId

デバイス情報要素に関連付けられているデバイス インスタンス ID を取得します。

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要求の既定のハンドラー。 デバイス INF ファイルの DDInstall.Interfaces セクションにリストされているインターフェイスがインストールされます。

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

クラス イメージ リストを破棄します。

デバイス インターフェイス関数

Note

SetupApi は、Windows のすべてのエディションでサポートされているわけではありません。 可能な場合は、CfgMgr32.dll経由で使用可能な API などの下位レイヤー API を使用する必要があります。 ヒントについては、SetupApi から CfgMgr32 への移植 を参照してください。

SetupDiCreateDeviceInterface

デバイスのデバイス機能 (デバイス インターフェイス) を登録します。

SetupDiOpenDeviceInterface

既存のデバイス インターフェイスに関する情報を取得し、指定されたデバイス情報セットに追加します。

SetupDiGetDeviceInterfaceAlias

指定したデバイス インターフェイスのエイリアスを返します。

SetupDiGetClassDevs

指定したクラスのすべてのデバイスを含むデバイス情報セットを返します。

SetupDiGetClassDevsEx

ローカル コンピューターまたはリモート コンピューター上の指定したクラスのすべてのデバイスを含むデバイス情報セットを返します。

SetupDiEnumDeviceInterfaces

デバイス情報セットのデバイス インターフェイス要素のコンテキスト構造を返します。 各呼び出しは、1 つのデバイス インターフェイスに関する情報を返します。

関数を繰り返し呼び出して、1 つ以上のデバイスによって公開される複数のインターフェイスに関する情報を取得できます。

SetupDiGetDeviceInterfaceDetail

特定のデバイス インターフェイスに関する詳細を返します。

SetupDiCreateDeviceInterfaceRegKey

デバイス インターフェイス インスタンスに関する情報を格納するためのレジストリ サブキーを作成し、キーへのハンドルを返します。

SetupDiOpenDeviceInterfaceRegKey

デバイス インターフェイス インスタンスに固有の情報を格納するためにアプリケーションとドライバーによって使用されるレジストリ サブキーを開き、キーへのハンドルを返します。

SetupDiDeleteDeviceInterfaceRegKey

デバイス インターフェイス インスタンスに固有の情報を格納するためにアプリケーションとドライバーによって使用されたレジストリ サブキーを削除します。

SetupDiInstallDeviceInterfaces

DIF_INSTALLINTERFACES要求の既定のハンドラーです。 デバイス INF ファイルの DDInstall.Interfaces セクションに一覧表示されているインターフェイスをインストールします。

SetupDiRemoveDeviceInterface

登録済みのデバイス インターフェイスをシステムから削除します。

SetupDiDeleteDeviceInterfaceData

デバイス情報セットからデバイス インターフェイスを削除します。

SetupDiSetDeviceInterfaceDefault

指定したデバイス インターフェイスをデバイス クラスの既定のインターフェイスとして設定します。

SetupDiInstallClassEx

クラス インストーラーまたはインターフェイス クラス インストーラーをインストールします。

SetupDiOpenClassRegKeyEx

デバイス セットアップ クラスのレジストリ キー、デバイス インターフェイス クラスのレジストリ キー、またはクラスの特定のサブキーを開きます。 この関数は、ローカル コンピューター上またはリモート コンピューター上の指定されたキーを開きます。

Device プロパティ関数 (Windows Vista 以降)

Note

SetupApi は、Windows のすべてのエディションでサポートされているわけではありません。 可能な場合は、CfgMgr32.dll経由で使用可能な API などの下位レイヤー API を使用する必要があります。 ヒントについては、SetupApi から CfgMgr32 への移植 を参照してください。

SetupDiGetClassProperty

デバイス セットアップ クラスまたはデバイス インターフェイス クラスに設定されているデバイス プロパティを取得します。

SetupDiGetClassPropertyEx

ローカル コンピューターまたはリモート コンピューター上のデバイス セットアップ クラスまたはデバイス インターフェイス クラスのクラス プロパティを取得します。

SetupDiGetClassPropertyKeys

デバイス セットアップ クラスまたはデバイス インターフェイス クラスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。

SetupDiGetClassPropertyKeysEx

ローカル コンピューターまたはリモート コンピューター上のデバイス セットアップ クラスまたはデバイス インターフェイス クラスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。

SetupDiGetDeviceInterfaceProperty

デバイス インターフェイスに設定されているデバイス プロパティを取得します。

SetupDiGetDeviceInterfacePropertyKeys

デバイス インターフェイスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。

SetupDiGetDeviceProperty

デバイス インスタンス プロパティを取得します。

SetupDiGetDevicePropertyKeys

デバイス インスタンスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。

SetupDiSetClassProperty

デバイス セットアップ クラスまたはデバイス インターフェイス クラスのクラス プロパティを設定します。

SetupDiSetClassPropertyEx

ローカル コンピューターまたはリモート コンピューター上のデバイス セットアップ クラスまたはデバイス インターフェイス クラスのデバイス プロパティを設定します。

SetupDiSetDeviceInterfaceProperty

デバイス インターフェイスのデバイス プロパティを設定します。

SetupDiSetDeviceProperty

デバイス インスタンス プロパティを設定します。

レジストリ関数

Note

SetupApi は、Windows のすべてのエディションでサポートされているわけではありません。 可能な場合は、CfgMgr32.dll経由で使用可能な API などの下位レイヤー API を使用する必要があります。 ヒントについては、SetupApi から CfgMgr32 への移植 を参照してください。

SetupDiCreateDevRegKey

デバイス固有の構成情報のレジストリ ストレージ キーを作成し、キーへのハンドルを返します。

SetupDiOpenDevRegKey

デバイス固有の構成情報のレジストリ ストレージ キーを開き、キーへのハンドルを返します。

SetupDiDeleteDevRegKey

デバイス情報要素に関連付けられている、指定されたユーザーアクセス可能なレジストリ キーを削除します。

SetupDiOpenClassRegKey

セットアップ クラスレジストリキー、またはクラスの特定のサブキーを開きます。

SetupDiOpenClassRegKeyEx

デバイス セットアップ クラスのレジストリ キー、デバイス インターフェイス クラスのレジストリ キー、またはクラスの特定のサブキーを開きます。

この関数は、指定されたキーをローカル コンピューターまたはリモート コンピューターで開きます。

SetupDiCreateDeviceInterfaceRegKey

デバイス インターフェイス インスタンスに関する情報を格納するための不揮発性レジストリ サブキーを作成し、キーにハンドルを返します。

SetupDiOpenDeviceInterfaceRegKey

デバイス インターフェイス インスタンスに固有の情報を格納するためにアプリケーションとドライバーによって使用されるレジストリ サブキーを開き、キーへのハンドルを返します。

SetupDiDeleteDeviceInterfaceRegKey

デバイス インターフェイス インスタンスに固有の情報を格納するためにアプリケーションとドライバーによって使用されたレジストリ サブキーを削除します。

SetupDiSetDeviceRegistryProperty

指定したプラグ アンド プレイデバイス プロパティを設定します。

SetupDiGetDeviceRegistryProperty

指定したプラグ アンド プレイデバイス プロパティを取得します。

SetupDiGetClassRegistryProperty

レジストリから指定したデバイス クラス プロパティを取得します。

SetupDiSetClassRegistryProperty

レジストリ内の指定したデバイス クラス プロパティを設定します。

その他の関数

SetupDiGetActualModelsSection

デバイス INF ファイルからデバイスをインストールするときに使用する適切な 修飾された INF Models セクション を取得します。

SetupDiGetActualSectionToInstall

デバイス INF ファイルからデバイスをインストールするときに使用する適切な DDInstall セクションを取得します。

SetupDiGetActualSectionToInstallEx

指定したオペレーティング システムとプロセッサ アーキテクチャのデバイスをインストールする INF DDInstall セクションの名前を取得します。

SetupDiGetHwProfileFriendlyName

ハードウェア プロファイル ID に関連付けられているフレンドリ名を取得します。

SetupDiGetHwProfileFriendlyNameEx

ローカル コンピューターまたはリモート コンピューター上のハードウェア プロファイル ID に関連付けられているフレンドリ名を取得します。

SetupDiGetHwProfileList

現在定義されているすべてのハードウェア プロファイル ID の一覧を取得します。

SetupDiGetHwProfileListEx

ローカル コンピューターまたはリモート コンピューター上で現在定義されているすべてのハードウェア プロファイル ID の一覧を取得します。

SetupDiRestartDevices

指定したデバイスを再起動するか、必要に応じて、指定したデバイスと同じ関数ドライバーおよびフィルター ドライバーで動作しているすべてのデバイスを起動します。