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

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

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

  • 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 )

デバイス情報関数

Note

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

SetupDiCreateDeviceInfoList

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

SetupDiCreateDeviceInfoListEx

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

SetupDiCreateDeviceInfo

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

SetupDiOpenDeviceInfo

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

SetupDiEnumDeviceInfo

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

SetupDiGetDeviceInstanceId

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

SetupDiGetDeviceInfoListClass

デバイス情報セットに関連付けられたクラスがある場合は、そのクラスGUIDを取得します。

SetupDiGetDeviceInfoListDetail

クラス GUID、リモート コンピューター ハンドル、リモート コンピューター名など、デバイス情報セットに関連付けられている情報を取得します。

SetupDiGetClassDevPropertySheets

指定されたデバイス情報要素のプロパティ シートへのハンドル1,またはデバイス情報セットのデバイス セットアップ クラスを取得します。

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

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

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

Note

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

SetupDiCreateDeviceInterface

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

SetupDiOpenDeviceInterface

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

SetupDiGetDeviceInterfaceAlias

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

SetupDiGetClassDevs

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

SetupDiGetClassDevsEx

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

SetupDiEnumDeviceInterfaces

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

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

SetupDiGetDeviceInterfaceDetail

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

SetupDiCreateDeviceInterfaceRegKey

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

SetupDiOpenDeviceInterfaceRegKey

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

SetupDiDeleteDeviceInterfaceRegKey

デバイス インターフェースのインスタンスに固有の情報を保存するために、アプリケーションとドライバーが使用していたレジストリ サブキーを削除します。

SetupDiInstallDeviceInterfaces

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

SetupDiRemoveDeviceInterface

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

SetupDiDeleteDeviceInterfaceData

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

SetupDiSetDeviceInterfaceDefault

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

SetupDiInstallClassEx

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

SetupDiOpenClassRegKeyEx

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

デバイス プロパティ関数 (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 モデル セクションを取得します。

SetupDiGetActualSectionToInstall

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

SetupDiGetActualSectionToInstallEx

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

SetupDiGetHwProfileFriendlyName

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

SetupDiGetHwProfileFriendlyNameEx

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

SetupDiGetHwProfileList

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

SetupDiGetHwProfileListEx

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

SetupDiRestartDevices

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