次の方法で共有


デバイス ドライバーのプロパティへのアクセス

Windows Vista 以降のバージョンの Windows では、 統合デバイス プロパティ モデル には、デバイス ドライバーを特徴付けするデバイス ドライバーのプロパティが含まれています。 統合デバイス プロパティ モデルでは、プロパティ キーを使用してこれらのプロパティを表します。

Windows Server 2003、Windows XP、および Windows 2000 では、これらのデバイス ドライバーのプロパティの大部分もサポートされています。 ただし、これらの以前のバージョンの Windows では、統合デバイス プロパティ モデルのプロパティ キーはサポートされていません。 代わりに、これらのバージョンの Windows では、次のメカニズムを使用して、対応するプロパティ情報を表し、アクセスします。

これらの以前のバージョンの Windows との互換性メイン維持するために、Windows Vista 以降のバージョンでは、デバイス インターフェイスに関する情報にアクセスするための次の 2 つの方法もサポートされています。 ただし、Windows Vista 以降のバージョンでこれらのプロパティにアクセスするには、プロパティ キーを使用する必要があります。 プロパティ キーを使用して Windows Vista 以降のバージョンのデバイス ドライバーのプロパティにアクセスする方法については、「デバイスインスタンスプロパティへのアクセス (Windows Vista 以降)」を参照してください。

対応するレジストリ エントリ値を持つデバイス ドライバーのプロパティへのアクセス

Windows Server 2003、Windows XP、および Windows 2000 でデバイス ドライバーのプロパティにアクセスするには、次の手順に従います。

  1. デバイス インスタンスのソフトウェア キーのハンドルを取得するには、CM_REGISTRY_SOFTWARE のulFlagsまたはDICS_FLAG_GLOBAL のスコープKeyType のDIREG_DRV でSetupDiOpenDevRegKeyを使用してCM_Open_DevNode_Keyを呼び出します。

  2. RegQueryValueExまたは RegSetValueExの呼び出しでハンドルを指定して、デバイス インスタンス ドライバーのプロパティに対応するレジストリ エントリ値を取得または設定します。

  3. レジストリ キーへのアクセスが不要になった後にソフトウェア レジストリ キーを閉じるには、RegCloseKey 関数を呼び出します。

統合デバイス プロパティ モデルのプロパティと、デバイスのソフトウェア キー内の対応するレジストリ値の表は次のとおりです。

統合プロパティ モデル プロパティ ソフトウェア キーレジストリ値の名前 ( regstr.hで定義)
DEVPKEY_Device_DriverDate REGSTR_VAL_DRIVERDATEDATA
DEVPKEY_Device_DriverVersion REGSTR_VAL_DRIVERVERSION
DEVPKEY_Device_DriverDesc REGSTR_VAL_DRVDESC
DEVPKEY_Device_DriverInfPath REGSTR_VAL_INFPATH
DEVPKEY_Device_DriverInfSection REGSTR_VAL_INFSECTION
DEVPKEY_Device_DriverInfSectionExt REGSTR_VAL_INFSECTIONEXT
DEVPKEY_Device_DriverProvider REGSTR_VAL_PROVIDER_NAME

SetupDiGetDriverInstallParams を使用してドライバーのランクを取得する

Windows Server 2003、Windows XP、および Windows 2000 では、SetupDiGetDriverInstallParamsを呼び出すことによって、デバイスに現在インストールされているドライバーのランクを取得できます。 SetupDiGetDriverInstallParamsは、出力パラメーター DriverInstallParams内のドライバーのSP_DRVINSTALL_PARAMS構造体へのポインターを取得します。 取得したSP_DRVINSTALL_PARAMS 構造体の Rankメンバーには、ドライバーのランクが含まれています。