このセクションでは、 デバイスのインストール機能の概要を示します。 デバイスのインストール機能を使用すると、インストール ソフトウェアは次の種類の操作を実行できます。
ドライバーのインストール
DIF コードを処理します。
デバイス情報セットを管理します。
ドライバーの一覧を管理します。
デバイス インターフェイスを管理します。
アイコンやその他のビットマップを管理します。
次の表に、次の種類の関数の概要を示します。
Device プロパティ関数 (Windows Vista 以降)
レジストリ関数
ドライバー インストール機能
システムに存在する PnP デバイスの ドライバー ストア にプレインストールされている指定されたドライバー パッケージをインストールします。 (Windows Vista 以降のバージョンのWindows) |
|
デバイスをアンインストールし、そのデバイス ノード (devnode) をシステムから削除します。 (Windows 7 以降のバージョンのWindows) |
|
ドライバー ストアにドライバー パッケージをプレインストールし、システムに存在する対応する PnP デバイスにドライバー パッケージをインストールします。 (Windows Vista 以降のバージョンのWindows) |
|
ドライバー ストアからドライバー パッケージを削除します。 (Windows 10 バージョン 1703 およびそれ以降のバージョンの Windows) |
|
システムに存在する一致する PnP デバイス用にインストールされているドライバー パッケージを更新します。 |
|
指定したデバイスにインストールされているドライバー パッケージを、デバイスのバックアップ ドライバー パッケージ セットにロールバックします。 (Windows Vista 以降のバージョンのWindows) |
デバイス情報関数
Note
SetupApi は、Windows のすべてのエディションでサポートされているわけではありません。 可能な場合は、CfgMgr32.dll経由で使用可能な API などの下位レイヤー API を使用する必要があります。 ヒントについては、SetupApi から CfgMgr32 への移植 を参照してください。
空の デバイス情報セットを作成します。 このセットは、クラス GUID に関連付けることができます。 |
|
空のデバイス情報セットを作成します。 このセットは、クラス GUID に関連付けることができ、リモート コンピューター上のデバイスに対して使用できます。 |
|
新しいデバイス情報要素を作成し、指定したデバイス情報セットに新しいメンバーとして追加します。 |
|
既存のデバイス インスタンスに関する情報を取得し、指定したデバイス情報セットに追加します。 |
|
デバイス情報セットのデバイス情報要素のコンテキスト構造を返します。 |
|
デバイス情報要素に関連付けられているデバイス インスタンス ID を取得します。 |
|
デバイス情報セットに関連付けられているクラス GUID (関連付けられたクラスがある場合) を取得します。 |
|
クラス GUID、リモート コンピューター ハンドル、リモート コンピューター名など、デバイス情報セットに関連付けられている情報を取得します。 |
|
指定したデバイス情報要素の、または指定したデバイス情報セットの デバイス セットアップ クラス のプロパティ シートのハンドルを取得します。 |
|
指定したクラスのすべてのデバイスを含むデバイス情報セットを返します。 |
|
ローカル コンピューターまたはリモート コンピューター上の指定したクラスのすべてのデバイスを含むデバイス情報セットを返します。 |
|
指定したデバイス情報要素を、デバイス情報セットの現在選択されているメンバーに設定します。 この関数は通常、インストール ウィザードで使用されます。 |
|
指定したデバイス情報セットの現在選択されているデバイスを取得します。 |
|
新しく作成されたデバイス インスタンスをプラグ アンド プレイ マネージャーに登録します。 |
|
指定したデバイス情報セットからメンバーを削除します。 この関数は、実際のデバイスを削除しません。 |
|
デバイス情報セットを破棄し、関連付けられているすべてのメモリを解放します。 |
ドライバー情報機能
指定したデバイス インスタンスまたはデバイス情報セットのグローバル クラス ドライバー リストに関連付けられているドライバーの一覧をビルドします。 |
|
ドライバー情報リストのメンバーを列挙します。 |
|
指定したドライバー情報要素の詳細情報を取得します。 |
|
現在選択されているドライバーとして、ドライバー一覧の指定されたメンバーを設定します。 また、現在選択されているドライバーが存在しないように、ドライバーの一覧をリセットするためにも使用できます。 |
|
インストールするドライバーとして選択されたドライバー一覧の項目を取得します。 |
|
別のスレッドで現在進行中のドライバーリスト検索を取り消します。 |
|
ドライバー情報リストを破棄します。 |
デバイス インストール ハンドラー
指定したインストール要求を使用して、適切なクラス インストーラーと、登録されている共同インストーラーを呼び出します。 |
|
DIF_PROPERTYCHANGE要求の既定のハンドラー。 これは、インストールされているデバイスの状態を変更するために使用できます。 |
|
指定したデバイスの INF ファイルに一覧表示されているデバイス固有の共同インストーラーを登録します。 この関数は、DIF_REGISTER_COINSTALLERSの既定のハンドラーです。 |
|
DIF_INSTALLDEVICE要求の既定のハンドラー。 |
|
DIF_INSTALLDEVICEFILES要求の既定のハンドラー。 |
|
DIF_INSTALLINTERFACES要求の既定のハンドラー。 デバイス INF ファイルの DDInstall.Interfaces セクションにリストされているインターフェイスがインストールされます。 |
|
この関数は廃止されており、どのバージョンのMicrosoft Windowsでも使用できません。 |
|
DIF_REMOVEDEVICE要求の既定のハンドラー。 |
|
DIF_UNREMOVE要求の既定のハンドラー。 |
|
DIF_REGISTERDEVICE要求の既定のハンドラー。 |
|
DIF_SELECTDEVICE要求の既定のハンドラー。 |
|
DIF_SELECTBESTCOMPATDRV要求の既定のハンドラー。 |
|
DIF_SELECTDEVICE要求の既定のハンドラー。 |
デバイス インストールのカスタマイズ機能
デバイス情報セットまたは特定のデバイス情報要素のクラス インストール パラメーターを取得します。 |
|
デバイス情報セットまたは特定のデバイス情報要素のクラス インストール パラメーターを設定またはクリアします。 |
|
デバイス情報セットまたは特定のデバイス情報要素のデバイス インストール パラメーターを取得します。 |
|
デバイス情報セットまたは特定のデバイス情報要素のデバイス インストール パラメーターを設定します。 |
|
SetupDiGetDriverInstallParams |
指定したドライバーのインストール パラメーターを取得します。 |
指定したドライバーのインストール パラメーターを設定します。 |
クラス関数のセットアップ
システムにインストールされているすべてのクラスを含むセットアップ クラス GUID の一覧を返します。 |
|
ローカル システムまたはリモート システムにインストールされているすべてのクラスを含むセットアップ クラス GUID の一覧を返します。 |
|
指定したセットアップ クラス GUID に関連付けられているクラスの説明を取得します。 |
|
ローカル コンピューターまたはリモート コンピューターにインストールされているセットアップ クラスの説明を取得します。 |
|
指定したデバイス INF ファイルのクラスを取得します。 |
|
指定したクラス名に関連付けられている GUID を取得します。 このリストは、現在システムにインストールされているクラスに基づいて構築されています。 |
|
指定したクラス名に関連付けられている GUID を取得します。 この結果の一覧には、ローカル コンピューターまたはリモート コンピューターに現在インストールされているクラスが含まれています。 |
|
クラス GUID に関連付けられているクラス名を取得します。 |
|
クラス GUID に関連付けられているクラス名を取得します。 クラスは、ローカル コンピューターまたはリモート コンピューターにインストールできます。 |
|
指定した INF ファイルの ClassInstall32 セクションをインストールします。 |
|
クラス インストーラーまたはインターフェイス クラス インストーラーをインストールします。 |
|
デバイス セットアップ クラスのレジストリ キー、またはクラスの特定のサブキーを開きます。 |
|
デバイス セットアップ クラスのレジストリ キー、デバイス インターフェイス クラスのレジストリ キー、またはクラスの特定のサブキーを開きます。 この関数は、ローカル コンピューター上またはリモート コンピューター上の指定されたキーを開きます。 |
ビットマップ関数とアイコン関数
インストールされているすべてのクラスのビットマップを含むイメージ リストをビルドし、データ構造内のリストを返します。 |
|
ローカル コンピューターまたはリモート コンピューターにインストールされているすべてのクラスのビットマップのイメージ リストをビルドします。 |
|
指定したクラスのクラス イメージ リスト内のインデックスを取得します。 |
|
指定したクラスに指定されたミニ アイコンのインデックスを取得します。 |
|
指定したミニ アイコンを、要求された場所に描画します。 |
|
指定したクラスの大きいアイコンとミニ アイコンの両方を読み込みます。 |
|
指定したデバイスのデバイス アイコンを読み込みます。 (Windows Vista 以降のバージョンのWindows) |
|
クラス イメージ リストを破棄します。 |
デバイス インターフェイス関数
Note
SetupApi は、Windows のすべてのエディションでサポートされているわけではありません。 可能な場合は、CfgMgr32.dll経由で使用可能な API などの下位レイヤー API を使用する必要があります。 ヒントについては、SetupApi から CfgMgr32 への移植 を参照してください。
デバイスのデバイス機能 (デバイス インターフェイス) を登録します。 |
|
既存のデバイス インターフェイスに関する情報を取得し、指定されたデバイス情報セットに追加します。 |
|
指定したデバイス インターフェイスのエイリアスを返します。 |
|
指定したクラスのすべてのデバイスを含むデバイス情報セットを返します。 |
|
ローカル コンピューターまたはリモート コンピューター上の指定したクラスのすべてのデバイスを含むデバイス情報セットを返します。 |
|
デバイス情報セットのデバイス インターフェイス要素のコンテキスト構造を返します。 各呼び出しは、1 つのデバイス インターフェイスに関する情報を返します。 関数を繰り返し呼び出して、1 つ以上のデバイスによって公開される複数のインターフェイスに関する情報を取得できます。 |
|
特定のデバイス インターフェイスに関する詳細を返します。 |
|
デバイス インターフェイス インスタンスに関する情報を格納するためのレジストリ サブキーを作成し、キーへのハンドルを返します。 |
|
デバイス インターフェイス インスタンスに固有の情報を格納するためにアプリケーションとドライバーによって使用されるレジストリ サブキーを開き、キーへのハンドルを返します。 |
|
デバイス インターフェイス インスタンスに固有の情報を格納するためにアプリケーションとドライバーによって使用されたレジストリ サブキーを削除します。 |
|
DIF_INSTALLINTERFACES要求の既定のハンドラーです。 デバイス INF ファイルの DDInstall.Interfaces セクションに一覧表示されているインターフェイスをインストールします。 |
|
登録済みのデバイス インターフェイスをシステムから削除します。 |
|
デバイス情報セットからデバイス インターフェイスを削除します。 |
|
指定したデバイス インターフェイスをデバイス クラスの既定のインターフェイスとして設定します。 |
|
クラス インストーラーまたはインターフェイス クラス インストーラーをインストールします。 |
|
デバイス セットアップ クラスのレジストリ キー、デバイス インターフェイス クラスのレジストリ キー、またはクラスの特定のサブキーを開きます。 この関数は、ローカル コンピューター上またはリモート コンピューター上の指定されたキーを開きます。 |
Device プロパティ関数 (Windows Vista 以降)
Note
SetupApi は、Windows のすべてのエディションでサポートされているわけではありません。 可能な場合は、CfgMgr32.dll経由で使用可能な API などの下位レイヤー API を使用する必要があります。 ヒントについては、SetupApi から CfgMgr32 への移植 を参照してください。
デバイス セットアップ クラスまたはデバイス インターフェイス クラスに設定されているデバイス プロパティを取得します。 |
|
ローカル コンピューターまたはリモート コンピューター上のデバイス セットアップ クラスまたはデバイス インターフェイス クラスのクラス プロパティを取得します。 |
|
デバイス セットアップ クラスまたはデバイス インターフェイス クラスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。 |
|
ローカル コンピューターまたはリモート コンピューター上のデバイス セットアップ クラスまたはデバイス インターフェイス クラスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。 |
|
デバイス インターフェイスに設定されているデバイス プロパティを取得します。 |
|
デバイス インターフェイスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。 |
|
デバイス インスタンス プロパティを取得します。 |
|
デバイス インスタンスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。 |
|
デバイス セットアップ クラスまたはデバイス インターフェイス クラスのクラス プロパティを設定します。 |
|
ローカル コンピューターまたはリモート コンピューター上のデバイス セットアップ クラスまたはデバイス インターフェイス クラスのデバイス プロパティを設定します。 |
|
デバイス インターフェイスのデバイス プロパティを設定します。 |
|
デバイス インスタンス プロパティを設定します。 |
レジストリ関数
Note
SetupApi は、Windows のすべてのエディションでサポートされているわけではありません。 可能な場合は、CfgMgr32.dll経由で使用可能な API などの下位レイヤー API を使用する必要があります。 ヒントについては、SetupApi から CfgMgr32 への移植 を参照してください。
デバイス固有の構成情報のレジストリ ストレージ キーを作成し、キーへのハンドルを返します。 |
|
デバイス固有の構成情報のレジストリ ストレージ キーを開き、キーへのハンドルを返します。 |
|
デバイス情報要素に関連付けられている、指定されたユーザーアクセス可能なレジストリ キーを削除します。 |
|
セットアップ クラスレジストリキー、またはクラスの特定のサブキーを開きます。 |
|
デバイス セットアップ クラスのレジストリ キー、デバイス インターフェイス クラスのレジストリ キー、またはクラスの特定のサブキーを開きます。 この関数は、指定されたキーをローカル コンピューターまたはリモート コンピューターで開きます。 |
|
デバイス インターフェイス インスタンスに関する情報を格納するための不揮発性レジストリ サブキーを作成し、キーにハンドルを返します。 |
|
デバイス インターフェイス インスタンスに固有の情報を格納するためにアプリケーションとドライバーによって使用されるレジストリ サブキーを開き、キーへのハンドルを返します。 |
|
デバイス インターフェイス インスタンスに固有の情報を格納するためにアプリケーションとドライバーによって使用されたレジストリ サブキーを削除します。 |
|
指定したプラグ アンド プレイデバイス プロパティを設定します。 |
|
指定したプラグ アンド プレイデバイス プロパティを取得します。 |
|
レジストリから指定したデバイス クラス プロパティを取得します。 |
|
レジストリ内の指定したデバイス クラス プロパティを設定します。 |
その他の関数
デバイス INF ファイルからデバイスをインストールするときに使用する適切な 修飾された INF Models セクション を取得します。 |
|
デバイス INF ファイルからデバイスをインストールするときに使用する適切な DDInstall セクションを取得します。 |
|
指定したオペレーティング システムとプロセッサ アーキテクチャのデバイスをインストールする INF DDInstall セクションの名前を取得します。 |
|
ハードウェア プロファイル ID に関連付けられているフレンドリ名を取得します。 |
|
ローカル コンピューターまたはリモート コンピューター上のハードウェア プロファイル ID に関連付けられているフレンドリ名を取得します。 |
|
現在定義されているすべてのハードウェア プロファイル ID の一覧を取得します。 |
|
ローカル コンピューターまたはリモート コンピューター上で現在定義されているすべてのハードウェア プロファイル ID の一覧を取得します。 |
|
指定したデバイスを再起動するか、必要に応じて、指定したデバイスと同じ関数ドライバーおよびフィルター ドライバーで動作しているすべてのデバイスを起動します。 |