SP_DRVINSTALL_PARAMS構造体 (setupapi.h)

SP_DRVINSTALL_PARAMS構造体には、特定のドライバー情報要素に関連付けられているドライバーのインストール パラメーターが含まれています。

構文

typedef struct _SP_DRVINSTALL_PARAMS {
  DWORD     cbSize;
  DWORD     Rank;
  DWORD     Flags;
  DWORD_PTR PrivateData;
  DWORD     Reserved;
} SP_DRVINSTALL_PARAMS, *PSP_DRVINSTALL_PARAMS;

メンバー

cbSize

SP_DRVINSTALL_PARAMS構造体のサイズ (バイト単位)。

Rank

このドライバーのランクの一致。 範囲は 0 から n で、0 が最も互換性があります。

Flags

このドライバーで動作する関数を制御するフラグ。 次の組み合わせを指定できます。

DNF_ALWAYSEXCLUDEFROMLIST (Windows Vista 以降のバージョンの Windows)

このフラグを設定すると、列挙を実行しているクライアントに関係なく、 ドライバー ノード が列挙されなくなります。

DNF_AUTHENTICODE_SIGNED (Windows Server 2003 以降のバージョンの Windows)

このドライバーの INF ファイルは、Authenticode 署名によって署名されます。 このフラグは、インストーラーに対して読み取り専用です。

詳細については、「 SetupAPI を使用したドライバーの Authenticode 署名の検証」を参照してください。

DNF_BAD_DRIVER

このドライバーは使用しないでください。 インストーラーは、このフラグの読み取りと書き込みを行うことができます。

このフラグが設定されている場合、 SetupDiSelectBestCompatDrvSetupDiSelectDevice はこのドライバーを無視します。

クラス インストーラーまたは共同インストーラーでは、Windows が [ドライバーの選択] ダイアログ ボックスにドライバーを一覧表示できないように、このフラグを設定できます。 たとえば、インストーラーは、 DIF_SELECTDEVICEまたはDIF_SELECTBESTCOMPATDRV 要求を処理するときに、このフラグ 設定できます。

DNF_BASIC_DRIVER (Windows XP 以降のバージョンの Windows)

このドライバーは基本的なドライバーです。 このフラグは、インストーラーに対して読み取り専用です。

DNF_CLASS_DRIVER

このドライバーはクラス ドライバーです。 このフラグは、インストーラーに対して読み取り専用です。

DNF_COMPATIBLE_DRIVER

このドライバーは互換性のあるドライバーです。 このフラグは、インストーラーに対して読み取り専用です。

DNF_DUPDESC

このドライバーと同じ説明を持つドライバーを提供する他のプロバイダーがあります。 このフラグは、インストーラーに対して読み取り専用です。

DNF_DUPDRIVERVER (Windows XP 以降のバージョンの Windows)

このドライバーと同じバージョンのドライバーを提供する他のプロバイダーがあります。 このフラグは、インストーラーに対して読み取り専用です。

DNF_DUPPROVIDER

このドライバーと同じ説明を持つドライバーを提供する他のプロバイダーがあります。 このドライバーとその一致の唯一の違いは、ドライバーの日付です。 このフラグは、インストーラーに対して読み取り専用です。

このフラグが設定されている場合、Windows はドライバーの日付とドライバーのバージョンをドライバーの横に表示し、ユーザーがその一致と区別できるようにします。

DNF_EXCLUDEFROMLIST

ドライバー選択ダイアログには、このドライバーを表示しないでください。

DNF_INBOX_DRIVER (Windows Vista 以降のバージョンの Windows)

この ドライバー ノード は、このバージョンの Windows に含まれていた INF ファイルから派生します。

DNF_INET_DRIVER

このドライバーは、インターネットまたはWindows Updateから来ました。 このフラグは、インストーラーに対して読み取り専用です。

SetupCopyOEMInf を呼び出す場合は、Windows がこの INF を %SystemRoot%\inf ディレクトリにコピーするときに、Windows によってインターネット INF としてマークされるように、SPOST_URL フラグを指定する必要があります。 この手順を省略すると、Windows はこのデバイスを使用して他のデバイスをインストールしようとします。 その結果、Windows にソース ファイルがなくなり、ユーザーに無効なパスを求めるメッセージが表示されるという問題が発生します。

DNF_INF_IS_SIGNED (Windows XP 以降のバージョンの Windows)

このフラグはインストーラーに対して読み取り専用であり、次のいずれかの条件に該当する場合に設定されます。

詳細については、「 ドライバーの署名」を参照してください。

DNF_INSTALLEDDRIVER (Windows Vista 以降のバージョンの Windows)

この ドライバー ノード は現在、デバイス用にインストールされています。 このフラグは、インストーラーに対して読み取り専用です。

DNF_LEGACYINF

このドライバーは、レガシ INF ファイルから取得されます。 このフラグは、NT ベースのオペレーティング システムに対してのみ有効です。 このフラグは、インストーラーに対して読み取り専用です。

DNF_NODRIVER

この論理ドライバーに対して物理ドライバーをインストールしない場合に設定します。

DNF_OEM_F6_INF (Windows XP 以降のバージョンの Windows)

予約済み。

DNF_OLD_INET_DRIVER

このドライバーはインターネットから来ましたが、Windows は現在、そのソース ファイルにアクセスできません。 このフラグは、インストーラーに対して読み取り専用です。

Windows にはソース ファイルがないため、無効なパスをユーザーに求めるメッセージが表示されるため、システムは、このフラグでマークされたドライバーをインストールしません。 このようなドライバーの INF は、デバイスのインストール以外のすべてに使用できます。

DNF_OLDDRIVER

このドライバーは、現在または以前に関連付けられているデバイスを制御しています。 このフラグは、インストーラーに対して読み取り専用です。

DNF_REQUESTADDITIONALSOFTWARE (Windows 7 以降のバージョンの Windows)

ドライバー パッケージが、デバイスの操作に必要なソフトウェア ソリューションの一部である場合は、このフラグを設定します。 この場合、ドライバー パッケージには追加のソフトウェアのインストールが必要です。

詳細については、「解説」を参照してください。

PrivateData

クラス インストーラーがプライベート データの格納に使用できるフィールド。 共同インストーラーでは、このフィールドを使用しないでください。

Reserved

予約済み。 内部使用専用です。

注釈

Windows 7 以降では、インストーラーまたは共同インストーラーで DNF_REQUESTADDITIONALSOFTWARE フラグを設定して、 ドライバー パッケージ にコンピューターにインストールできる追加のソフトウェアが必要であることを示すことができます。

デバイスのドライバー パッケージがインストールされた後、インストーラーで DNF_REQUESTADDITIONALSOFTWARE フラグが設定されている場合、プラグ アンド プレイ (PnP) マネージャーは次の手順を実行します。

  1. PnP マネージャーは、 RequestAddtionalSoftware の種類を持つ問題レポートとソリューション (PRS) エラー レポートを生成します。 このレポートには、デバイスの特定のハードウェア ID とコンピューターのシステム アーキテクチャに関する情報が含まれています。
  2. デバイス固有のソフトウェアの独立系ハードウェア ベンダー (IHV) によって提供されるソリューションがある場合、そのソリューションはコンピューターにダウンロードされます。
    メモ ソリューションのダウンロードでは、ソフトウェア自体はインストールされません。
     
  3. デバイス固有のソフトウェアがコンピューターにインストールされていない場合、PnP マネージャーはソリューションをユーザーに提示し、ソフトウェアをダウンロードするためのリンクを提供します。 その後、ユーザーは、ソリューションに示されている手順に従って、このソフトウェアをダウンロードしてインストールすることができます。
メモドライバー パッケージの INF ファイルが INF ControlFlags セクションRequestAdditionalSoftware フラグを設定している場合、インストーラーは DNF_REQUESTADDITIONALSOFTWARE フラグを設定する必要はありません。

要件

要件
Header setupapi.h (Setupapi.h を含む)

こちらもご覧ください

SetupDiGetDriverInstallParams

SetupDiSetDriverInstallParams