次の方法で共有


SetupDiGetCustomDevicePropertyA 関数 (setupapi.h)

SetupDiGetCustomDeviceProperty 関数は、レジストリから指定したカスタム デバイス プロパティを取得します。

構文

WINSETUPAPI BOOL SetupDiGetCustomDevicePropertyA(
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA DeviceInfoData,
  [in]            PCSTR            CustomPropertyName,
  [in]            DWORD            Flags,
  [out, optional] PDWORD           PropertyRegDataType,
  [out]           PBYTE            PropertyBuffer,
  [in]            DWORD            PropertyBufferSize,
  [out, optional] PDWORD           RequiredSize
);

パラメーター

[in] DeviceInfoSet

カスタム デバイス プロパティを取得するデバイスを表すデバイス情報要素を含む デバイス情報セットへのハンドル。

[in] DeviceInfoData

DeviceInfoSet内のデバイス情報要素を指定する SP_DEVINFO_DATA 構造体 ポインター。

[in] CustomPropertyName

カスタム プロパティを表すレジストリ値の名前。

[in] Flags

要求された情報を返す方法を示すフラグ値。 フラグには、0 または次のいずれかを指定できます。

DICUSTOMDEVPROP_MERGE_MULTISZ

設定すると、この関数はデバイス インスタンス固有のプロパティ値とハードウェア ID 固有のプロパティ値の両方を取得し、REG_MULTI_SZ型指定された文字列として連結します。 (詳細については、このリファレンス ページの「解説」セクションを参照してください)。

[out, optional] PropertyRegDataType

取得したプロパティのデータ型を受け取る DWORD 型の変数へのポインター。 データ型は、レジストリ データ型を表すREG_プレフィックス付き定数の 1 つとして指定されます。 このパラメーターは省略可能であり、NULLできます。

[out] PropertyBuffer

要求されたプロパティ情報を受け取るバッファーへのポインター。

[in] PropertyBufferSize

PropertyBuffer バッファーのサイズ (バイト単位)。

[out, optional] RequiredSize

要求された情報を受信するために必要なバッファー サイズ (バイト単位) を受け取る DWORD 型の変数へのポインター。 このパラメーターは省略可能であり、NULLできます。 このパラメーターを指定 場合、PropertyBuffer バッファーが要求された情報を受信するのに十分な大きさであるかどうかに関係なく、SetupDiGetCustomDeviceProperty は必要なサイズを返します。

戻り値

操作が成功した場合、SetupDiGetCustomDeviceProperty は TRUE返します。 それ以外の場合、関数は FALSE 返します。ログに記録されたエラーは、GetLastErrorの呼び出しで取得できます。 PropertyBuffer バッファーが要求された情報を受信するのに十分な大きさでない場合、SetupDiGetCustomDeviceProperty は FALSE 返し、その後の GetLastError への呼び出しはERROR_INSUFFICIENT_BUFFERを返します。

備考

SetupDiGetCustomDeviceProperty 、1 つのデバイス インスタンスまたは特定のハードウェア ID に一致するすべてのデバイスに関連付けられているデバイス プロパティを取得します。 (ハードウェア ID の詳細については、「デバイス識別文字列の」を参照してください)。

ベンダーは、INF DDInstall.HW セクションで INF AddReg ディレクティブを使用して、 し、HKR レジストリ ルートを指定することで、デバイス インスタンスのプロパティを設定できます。

ハードウェア ID のプロパティを設定できるのはシステムだけです。 システムは、一部のハードウェア ID に "Icon" プロパティを提供します。

この関数は最初に、指定したデバイス インスタンスに対して指定されたプロパティが存在するかどうかを確認します。 その場合は、プロパティの値が返されます。 そうでない場合、関数は、指定されたデバイス インスタンスのハードウェア ID に一致するすべてのデバイスに対してプロパティが存在するかどうかを確認します。 その場合は、プロパティの値が返されます。 DICUSTOMDEVPROP_MERGE_MULTISZが Flagsで設定されている場合、この関数はデバイス インスタンスとハードウェア ID の両方に関連付けられたプロパティ値 (両方が存在する場合) を返します。

手記

setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupDiGetCustomDeviceProperty を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP 以降のバージョンの Windows で使用できます。
ターゲット プラットフォーム の デスクトップ
ヘッダー setupapi.h (Setupapi.h を含む)
ライブラリ Setupapi.lib
DLL Setupapi.dll

関連項目

SetupDiGetClassRegistryProperty の

SetupDiGetDeviceRegistryProperty の

SetupDiOpenDevRegKey の

SetupDiSetClassRegistryProperty の

SetupDiSetDeviceRegistryProperty の