SetupDiGetDevicePropertyKeys 関数 (setupapi.h)
SetupDiGetDevicePropertyKeys 関数は、デバイス インスタンスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。
構文
WINSETUPAPI BOOL SetupDiGetDevicePropertyKeys(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[out, optional] DEVPROPKEY *PropertyKeyArray,
[in] DWORD PropertyKeyCount,
[out, optional] PDWORD RequiredPropertyKeyCount,
[in] DWORD Flags
);
パラメーター
[in] DeviceInfoSet
デバイス情報セットへのハンドル。 このデバイス情報セットには、この関数がデバイス プロパティ キーの配列を取得するデバイス インスタンスが含まれています。 プロパティ キーは、デバイス インスタンスに設定されているデバイス プロパティを表します。
[in] DeviceInfoData
デバイス プロパティ キーの要求 された配列を取得する対象のデバイス インスタンスを表すSP_DEVINFO_DATA構造体へのポインター。
[out, optional] PropertyKeyArray
DEVPROPKEY 型の値の配列を受け取るバッファーへのポインター。各値は、デバイス インスタンスに設定されたデバイス プロパティを表すデバイス プロパティ キーです。 ポインターは省略可能であり、 NULL にすることができます。 詳細については、このトピックで後述 する「解説 」セクションを参照してください。
[in] PropertyKeyCount
PropertyKeyArray バッファーのサイズ (DEVPROPKEY 型の値)。 PropertyKeyArray が NULL に設定されている場合は、PropertyKeyCount を 0 に設定する必要があります。
[out, optional] RequiredPropertyKeyCount
要求されたデバイス プロパティ キーの数を受け取る DWORD 型の変数へのポインター。 ポインターは省略可能であり、 NULL に設定できます。
[in] Flags
このパラメーターは 0 に設定する必要があります。
戻り値
SetupDiGetDevicePropertyKeys は、成功した場合に TRUE を 返します。 それ以外の場合は FALSE を返し、ログに記録されたエラーは GetLastError を呼び出すことによって取得できます。
次の表に、この関数がログに記録する可能性がある一般的なエラー コードの一部を示します。
リターン コード | 説明 |
---|---|
|
Flags の値が 0 ではありません。 |
|
DevInfoSet で指定されたデバイス情報セットが無効です。 |
|
指定されたパラメーターが無効です。 1 つの可能性として、デバイス情報要素が無効である可能性があります。 |
|
内部データ値が無効です。 |
|
ユーザー バッファーが無効です。 1 つの可能性は、 PropertyKeyArray が NULL で 、PropertKeyCount が 0 ではないということです。 |
|
DevInfoData で指定されたデバイス インスタンスが存在しません。 |
|
PropertyKeyArray バッファーが小さすぎて、要求されたすべてのプロパティ キーを保持できません。 |
|
操作を完了するのに十分なシステム メモリが不足していました。 |
解説
SetupDiGetDevicePropertyKeys は、 統合デバイス プロパティ モデルの一部です。
ProperKeyArray バッファーが、要求されたすべてのプロパティ キーを保持するのに十分な大きさでない場合、SetupDiGetDevicePropertyKeys はプロパティ キーを取得せず、ERROR_INSUFFICIENT_BUFFERを返します。 呼び出し元が RequiredPropertyKeyCount ポインターを指定した場合、SetupDiGetDevicePropertyKeys は、PropertyKeyArray バッファーの必須サイズ (DEVPROPKEY 型の値) に *RequiredPropertyKeyCount の値を設定します。
デバイス インスタンス プロパティを取得するには、 SetupDiGetDeviceProperty を呼び出し、デバイス インスタンス プロパティを設定するには 、SetupDiSetDeviceProperty を呼び出します。
要件
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | DesktopFor universal, call CM_Get_DevNode_Property_Keys |
Header | setupapi.h (Setupapi.h を含む) |
Library | Setupapi.lib |
[DLL] | Setupapi.dll |