SetupDiGetDeviceInterfacePropertyKeys 関数 (setupapi.h)

SetupDiGetDeviceInterfacePropertyKeys 関数は、デバイス インターフェイスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得します。

構文

WINSETUPAPI BOOL SetupDiGetDeviceInterfacePropertyKeys(
  [in]            HDEVINFO                  DeviceInfoSet,
  [in]            PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
  [out, optional] DEVPROPKEY                *PropertyKeyArray,
  [in]            DWORD                     PropertyKeyCount,
  [out, optional] PDWORD                    RequiredPropertyKeyCount,
  [in]            DWORD                     Flags
);

パラメーター

[in] DeviceInfoSet

デバイス情報セットへのハンドル。 このデバイス情報セットには、デバイス インターフェイスに設定されているデバイス プロパティを表すデバイス プロパティ キーの配列を取得するためのデバイス インターフェイスが含まれています。

[in] DeviceInterfaceData

デバイス プロパティ キーの要求 された配列を取得するデバイス インターフェイスを表すSP_DEVICE_INTERFACE_DATA構造体へのポインター。

[out, optional] PropertyKeyArray

DEVPROPKEY 型の値の配列を受け取るバッファーへのポインター。各値は、デバイス インターフェイスに設定されているデバイス プロパティのデバイス プロパティ キーです。 ポインターは省略可能であり、 NULL にすることができます。 詳細については、このトピックで後述 する「解説 」セクションを参照してください。

[in] PropertyKeyCount

PropertyKeyArray バッファーの DEVPROPKEY 型の要素のサイズPropertyKeyArrayNULL の場合は、PropertyKeyCount を 0 に設定する必要があります。

[out, optional] RequiredPropertyKeyCount

要求されたデバイス プロパティ キーの数を受け取る DWORD 型の変数へのポインター。 ポインターは省略可能であり、 NULL に設定できます。

[in] Flags

このパラメーターは 0 に設定する必要があります。

戻り値

成功した場合、関数は TRUE を 返します。 それ以外の場合は FALSE を返し、ログに記録されたエラーは GetLastError を呼び出すことによって取得できます。

次の表に、この関数がログに記録する可能性がある一般的なエラー コードの一部を示します。

リターン コード 説明
ERROR_INVALID_FLAGS
Flags の値が 0 ではありません。
ERROR_INVALID_HANDLE
DevInfoSet で指定されたデバイス情報セットが無効です。
ERROR_INVALID_DATA
内部データ値が無効です。
ERROR_INVALID_PARAMETER
パラメーターが無効です。 1 つの可能性として、 DevInterfaceData で指定されたデバイス インターフェイスが無効である可能性があります。
ERROR_INVALID_USER_BUFFER
ユーザー バッファーが無効です。 PropertyKeyArrayNULL で、PropertKeyCount が 0 ではない可能性があります。 .
ERROR_NO_SUCH_DEVICE_INTERFACE
DeviceInterfaceData で指定されたデバイス インターフェイスが存在しません。
ERROR_INSUFFICIENT_BUFFER
PropertyKeyArray バッファーは、要求されたすべてのプロパティ キーを保持するのに十分な大きさではありません。
ERROR_NOT_ENOUGH_MEMORY
操作を完了するのに十分なシステム メモリが不足していました。

注釈

SetupDiGetDeviceInterfacePropertyKeys は、 統合デバイス プロパティ モデルの一部です。

PropertyKeyArray バッファーが、要求されたすべてのプロパティ キーを保持するのに十分な大きさでない場合、SetupDiGetDeviceInterfacePropertyKeys はプロパティ キーを取得せず、ERROR_INSUFFICIENT_BUFFERを返します。 呼び出し元が RequiredPropertyKeyCount ポインターを指定した場合、SetupDiGetDeviceInterfacePropertyKeys は、PropertyKeyArray バッファーの必須サイズ (DEVPROPKEY 型の値) に *RequiredPropertyKeyCount の値を設定します

デバイス インターフェイス プロパティを取得するには、SetupDiGetDeviceInterfaceProperty を呼び出しデバイス インターフェイス プロパティを設定するには、SetupDiSetDeviceInterfaceProperty を呼び出します。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows で使用できます。
対象プラットフォーム Desktopユニバーサルの場合は、CM_Get_Device_Interface_Property_Keysを呼び出します
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib
[DLL] Setupapi.dll

こちらもご覧ください

SetupDiGetDeviceInterfaceProperty

SetupDiSetDeviceInterfaceProperty