Windows Vista 以降のバージョンの Windows では、統合デバイス プロパティ モデルでは、プロパティ キーを使用したカスタム デバイス プロパティの作成とアクセスがサポートされています。 詳細については、「 カスタム デバイス プロパティの作成」を参照してください。
Windows Server 2003、Windows XP、および Windows 2000 では、デバイス関連コンポーネントのシステム指定レジストリ キーの下にカスタム レジストリ エントリ値を作成できます。 次の一覧には、対応するシステム提供のレジストリ キーを開くために、デバイス コンポーネントの種類ごとに呼び出す SetupAPI 関数が含まれています。 システム定義レジストリ キーを開くと、アプリケーションとインストーラーは Windows ベースのレジストリ関数を呼び出して、開いているレジストリ キーのカスタム レジストリ エントリの値を変更できます。
デバイス インスタンスのハードウェア プロパティのカスタム レジストリ エントリ値は、デバイス インスタンスのハードウェア レジストリ キーの下に配置する必要があります。 SetupDiOpenDevRegKey を呼び出し、Flags パラメーターにDIREG_DEVを指定して、デバイス インスタンスのハードウェア キーへのハンドルを取得します。 デバイス インスタンスのハードウェア レジストリ キーの下に設定されているカスタム レジストリ エントリの値は、 SetupDiGetCustomDeviceProperty 関数を呼び出すことによって取得できます。
デバイス インスタンス ソフトウェア プロパティのカスタム レジストリ エントリ値は、デバイス インスタンスのソフトウェア レジストリ キーの下に配置する必要があります。 SetupDiOpenDevRegKey を呼び出し、Flags パラメーターにDIREG_DRVを指定して、デバイス インスタンスのソフトウェア キーへのハンドルを取得します。
デバイス セットアップ クラス プロパティのカスタム レジストリ エントリ値は、デバイス セットアップ クラスのレジストリ キーの下に配置する必要があります。 SetupDiOpenClassRegKeyEx を呼び出し、Flags パラメーターにDIOCR_INSTALLERを指定して、デバイス セットアップ クラスのレジストリ キーへのハンドルを取得します。
デバイス インターフェイス クラス プロパティのカスタム レジストリ エントリ値は、デバイス インターフェイス クラスのレジストリ キーの下に配置する必要があります。 SetupDiOpenClassRegKeyEx を呼び出し、Flags パラメーターにDIOCR_INTERFACEを指定して、デバイス インターフェイス クラスのレジストリ キーへのハンドルを取得します。
デバイス インターフェイス プロパティのカスタム レジストリ エントリ値は、デバイス インターフェイス レジストリ キーの下に配置する必要があります。 SetupDiOpenDeviceInterfaceRegKey を呼び出して、デバイス インターフェイス クラスのレジストリ キーへのハンドルを取得します。
レジストリ キーへのハンドルを取得した後、 RegQueryValueEx または RegSetValueEx の呼び出しでハンドルを指定して、カスタム デバイス プロパティに対応するカスタム レジストリ エントリ値を取得または設定します。
レジストリ キーへのアクセスが不要になった後にレジストリ キーを閉じるには、 RegCloseKey 関数を呼び出します。