デバイス インストール関数の使用
このセクションでは、デバイスのインストール関数の概要を示します。 デバイスのインストール関数を使用すると、インストール ソフトウェアは次の種類の操作を実行できます。
ドライバーのインストール
DIFコードを処理します。
デバイス情報セットを管理します。
ドライバーの一覧を管理します。
デバイスのインターフェイスを管理します。
アイコンやその他のビットマップを管理します。
次の表に、次の種類の関数の概要を示します。
デバイス プロパティ関数 (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、リモート コンピューター ハンドル、リモート コンピューター名など、デバイス情報セットに関連付けられている情報を取得します。 |
|
指定されたデバイス情報要素のプロパティ シートへのハンドル1,またはデバイス情報セットのデバイス セットアップ クラスを取得します。 |
|
指定したクラスのすべてのデバイスを含むデバイス情報セットを返します。 |
|
ローカル コンピューターまたはリモート コンピューター上の指定したクラスのすべてのデバイスを含むデバイス情報セットを返します。 |
|
指定されたデバイス情報要素を、現在選択されているデバイス情報セットのメンバーに設定します。 この関数は通常、インストール ウィザードによって使用されます。 |
|
指定したデバイス情報セットの現在選択されているデバイスを取得します。 |
|
新しく作成されたデバイス インスタンスをプラグ アンド プレイ マネージャーに登録します。 |
|
指定したデバイス情報セットからメンバーを削除します。 この関数が実際のデバイスを削除することはありません。 |
|
デバイス情報セットを破棄し、関連するすべてのメモリを解放します。 |
ドライバー情報関数
指定したデバイス インスタンスまたはデバイス情報セットのグローバル クラス ドライバー リストに関連付けられているドライバーの一覧を作成します。 |
|
ドライバー情報リストのメンバーを列挙します。 |
|
指定したドライバー情報要素の詳細情報を取得します。 |
|
現在選択されているドライバーとして、ドライバー一覧の指定したメンバーを設定します。 また、現在選択されているドライバーが存在しないように、ドライバーの一覧をリセットするためにも使用できます。 |
|
インストールするドライバーとして選択されたドライバーの一覧のメンバーを取得します。 |
|
別のスレッドで現在進行中のドライバーリスト検索を取り消します。 |
|
ドライバー情報リストを破棄します。 |
デバイス インストール ハンドラー
指定されたインストール要求を使用して、適切なクラス インストーラーと登録されている共同インストーラーを呼び出します。 |
|
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 ) |
|
クラス イメージ リストを破棄します。 |
デバイス インターフェイス関数
Note
SetupApi は、Windows のすべてのエディションでサポートされているわけではありません。 可能な場合は、 CfgMgr32.dll経由で使用可能な API など、下位レイヤーの API を使用する必要があります。 ヒントについては、 「SetupApi から CfgMgr32への移植」を参照してください。
デバイスのデバイス機能 (デバイス インターフェイス) を登録します。 |
|
既存のデバイス インターフェイスに関する情報を取得し、指定したデバイス情報セットに追加します。 |
|
指定したデバイス インターフェイスのエイリアスを返します。 |
|
指定したクラスのすべてのデバイスを含むデバイス情報セットを返します。 |
|
ローカル コンピューターまたはリモート コンピューター上の指定したクラスのすべてのデバイスを含むデバイス情報セットを返します。 |
|
デバイス情報セットのデバイスインターフェイス要素のコンテキスト構造を返します。 各呼び出しは、1 つのデバイス インターフェイスに関する情報を返します。 関数を繰り返し呼び出して、1 つ以上のデバイスによって公開される複数のインターフェイスに関する情報を取得できます。 |
|
特定のデバイス インターフェイスに関する詳細を返します。 |
|
デバイス インターフェイス インスタンスに関する情報を格納するためのレジストリ サブキーを作成し、キーへのハンドルを返します。 |
|
デバイス インターフェイスに固有の情報を保存するためにアプリケーションとドライバーによって使用されるレジストリ サブキーを開き、そのキーへのハンドルを返します。 |
|
デバイス インターフェースのインスタンスに固有の情報を保存するために、アプリケーションとドライバーが使用していたレジストリ サブキーを削除します。 |
|
DIF_INSTALLINTERFACES 要求の既定のハンドラーです。 DDInstall にリストされているインターフェイスをインストールします。デバイス INF ファイルのインターフェイス セクション。 |
|
登録済みのデバイス インターフェイスをシステムから削除します。 |
|
デバイス情報セットからデバイス・インターフェースを削除します。 |
|
指定したデバイス インターフェイスをデバイス クラスの既定のインターフェイスとして設定します。 |
|
クラス インストーラーまたはインターフェイス クラスをインストールします。 |
|
デバイス セットアップ クラスのレジストリ キー、デバイス インターフェイス クラスのレジストリ キー、またはクラスの特定のサブキーを開きます。 この関数は、ローカル コンピューターまたはリモート コンピューター上の指定されたキーを開きます。 |
デバイス プロパティ関数 (Windows Vista 以降)
Note
SetupApi は、Windows のすべてのエディションでサポートされているわけではありません。 可能な場合は、 CfgMgr32.dll経由で使用可能な API など、下位レイヤーの API を使用する必要があります。 ヒントについては、 「SetupApi から CfgMgr32への移植」を参照してください。
デバイス セットアップ クラスまたはデバイス インターフェイス クラスに設定されているデバイス プロパティを取得します。 |
|
ローカルまたはリモート コンピューター上のデバイス セットアップ クラスまたはデバイス インターフェイス クラスのクラス プロパティを取得します。 |
|
デバイス セットアップ クラスまたはデバイス インターフェイス クラスに設定されているデバイス プロパティを表しているデバイス プロパティ キーの配列を取得します。 |
|
ローカル コンピューターまたはリモート コンピューター上のデバイス セットアップ クラスまたはデバイス インターフェイス クラスに設定されているデバイス プロパティを表す、デバイス プロパティ キーの配列を取得します。 |
|
デバイス インターフェイスに設定されているデバイス プロパティを取得します。 |
|
デバイス インターフェイスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。 |
|
デバイス インスタンス プロパティを取得します。 |
|
デバイス インスタンスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。 |
|
デバイス セットアップ クラスまたはデバイス インターフェイス クラスのクラス プロパティを設定します。 |
|
ローカルまたはリモート コンピューター上のデバイス セットアップ クラスまたはデバイス インターフェイス クラスのデバイス プロパティを設定します。 |
|
デバイス インターフェイスのデバイス プロパティを設定します。 |
|
デバイス インスタンス プロパティを設定します。 |
レジストリ関数
Note
SetupApi は、Windows のすべてのエディションでサポートされているわけではありません。 可能な場合は、 CfgMgr32.dll経由で使用可能な API など、下位レイヤーの API を使用する必要があります。 ヒントについては、 「SetupApi から CfgMgr32への移植」を参照してください。
デバイス固有の構成情報のレジストリ ストレージ キーを作成し、そのキーにハンドルを返します。 |
|
デバイス固有の構成情報のレジストリ ストレージ キーを開き、そのキーにハンドルを返します。 |
|
デバイス情報要素に関連付けられている、指定されたユーザーがアクセスできるレジストリ キーを削除します。 |
|
セットアップ クラス レジストリ キーまたは特定のクラスのサブキーを開きます。 |
|
デバイス セットアップ クラスのレジストリ キー、デバイス インターフェイス クラスのレジストリ キー、またはクラスの特定のサブキーを開きます。 この関数は、ローカル コンピューターまたはリモート コンピューター上の指定されたキーを開きます。 |
|
デバイス インターフェイス インスタンスに関する情報を格納するための不揮発性のレジストリ サブキーを作成し、キーへのハンドルを返します。 |
|
デバイス インターフェイスに固有の情報を保存するためにアプリケーションとドライバーによって使用されるレジストリ サブキーを開き、そのキーへのハンドルを返します。 |
|
デバイス インターフェースのインスタンスに固有の情報を保存するために、アプリケーションとドライバーが使用していたレジストリ サブキーを削除します。 |
|
指定したプラグ アンド プレイデバイス プロパティを設定します。 |
|
指定したプラグ アンド プレイデバイス プロパティを取得します。 |
|
レジストリから指定したデバイス クラス プロパティを取得します。 |
|
レジストリ内の指定したデバイス クラス プロパティを設定します。 |
その他の関数
デバイス INF ファイルからデバイスをインストールするときに使用する、適切な記述の INF モデル セクションを取得します。 |
|
デバイス INF ファイルからデバイスをインストールするときに使用する適切な DDInstall セクションを取得します。 |
|
指定されたオペレーティング システムとプロセッサ アーキテクチャのデバイスをインストールする、INF DDInstall セクションの名前を取得します。 |
|
ハードウェア プロファイル ID に関連付けられているフレンドリ名を取得します。 |
|
ローカル コンピューターまたはリモート コンピューター上のハードウェア プロファイル ID に関連付けられているフレンドリ名を取得します。 |
|
現在定義されているすべてのハードウェア プロファイルIDの一覧を取得します。 |
|
ローカル コンピューターまたはリモート コンピューター上で現在定義されているすべてのハードウェア プロファイル ID の一覧を取得します。 |
|
指定されたデバイスを再起動するか、必要に応じて、指定したデバイスを操作する同じ関数およびフィルター ドライバーによって動作するすべてのデバイスを起動します。 |