SetupDiGetDeviceRegistryPropertyW 関数 (setupapi.h)

SetupDiGetDeviceRegistryProperty 関数は、指定したプラグ アンド プレイデバイス プロパティを取得します。

構文

WINSETUPAPI BOOL SetupDiGetDeviceRegistryPropertyW(
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA DeviceInfoData,
  [in]            DWORD            Property,
  [out, optional] PDWORD           PropertyRegDataType,
  [out, optional] PBYTE            PropertyBuffer,
  [in]            DWORD            PropertyBufferSize,
  [out, optional] PDWORD           RequiredSize
);

パラメーター

[in] DeviceInfoSet

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

[in] DeviceInfoData

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

[in] Property

取得するプロパティを指定する次のいずれかの値。

SPDRP_ADDRESS

関数は、デバイスのアドレスを取得します。

SPDRP_BUSNUMBER

関数は、デバイスのバス番号を取得します。

SPDRP_BUSTYPEGUID

関数は、デバイスのバスの種類の GUID を取得します。

SPDRP_CAPABILITIES

この関数は、DWORD 内の次のCM_DEVCAP_Xxx フラグのビットごとの OR を取得します。 これらのフラグで表されるデバイス機能は、 DEVICE_CAPABILITIES 構造体のメンバーによって表されるデバイス機能に対応します。 CM_DEVCAP_Xxx定数は Cfgmgr32.h で定義されます。

CM_DEVCAP_Xxx フラグ 対応するDEVICE_CAPABILITIES構造体メンバー
CM_DEVCAP_LOCKSUPPORTED LockSupported
CM_DEVCAP_EJECTSUPPORTED EjectSupported
CM_DEVCAP_REMOVABLE リムーバブル
CM_DEVCAP_DOCKDEVICE DockDevice
CM_DEVCAP_UNIQUEID Uniqueid
CM_DEVCAP_SILENTINSTALL SilentInstall
CM_DEVCAP_RAWDEVICEOK RawDeviceOK
CM_DEVCAP_SURPRISEREMOVALOK SurpriseRemovalOK
CM_DEVCAP_HARDWAREDISABLED HardwareDisabled
CM_DEVCAP_NONDYNAMIC NonDynamic
 

SPDRP_CHARACTERISTICS

この関数は、DWORD 内のデバイスの特性フラグのビットごとの OR を取得します。 Wdm.h および Ntddk.h で定義されているこれらのフラグの説明については、IoCreateDevice 関数の DeviceCharacteristics パラメーターを参照してください。

SPDRP_CLASS

関数は、デバイスの デバイス セットアップ クラス を含むREG_SZ文字列を取得します。

SPDRP_CLASSGUID

関数は、デバイスのデバイス セットアップ クラスを表す GUID を含むREG_SZ文字列を取得します。

SPDRP_COMPATIBLEIDS

関数は、デバイスの互換性のある ID の一覧を含むREG_MULTI_SZ文字列を取得します。 互換性のある ID の詳細については、「 デバイス識別文字列」を参照してください。

SPDRP_CONFIGFLAGS

この関数は、DWORD 値内のデバイスの構成フラグのビットごとの OR を取得します。 構成フラグは、Regstr.h で定義されているCONFIGFLAG_Xxx ビットマスクによって表されます。

SPDRP_DEVICE_POWER_DATA

(Windows XP 以降)関数は、デバイスの電源管理情報を含む CM_POWER_DATA 構造体を取得します。

SPDRP_DEVICEDESC

関数は、デバイスの説明を含むREG_SZ文字列を取得します。

SPDRP_DEVTYPE

関数は、デバイスの種類を表す DWORD 値を取得します。 詳細については、「 デバイスの種類の指定」を参照してください。

SPDRP_DRIVER

関数は、デバイスの ソフトウェア キー (ドライバー キーとも呼ばれる) を識別する文字列を取得 します。 ドライバー キーの詳細については、「 デバイスとドライバーのレジストリ ツリーとキー」を参照してください。

SPDRP_ENUMERATOR_NAME

関数は、デバイスの 列挙子の名前を含むREG_SZ文字列を取得します。

SPDRP_EXCLUSIVE

この関数は、ユーザーがデバイスの排他的使用を取得できるかどうかを示す DWORD 値を取得します。 排他使用が許可されている場合は 1、それ以外の場合は 0 が返されます。 詳細については、「 IoCreateDevice」を参照してください。

SPDRP_FRIENDLYNAME

関数は、デバイスのフレンドリ名を含むREG_SZ文字列を取得します。

SPDRP_HARDWAREID

関数は、デバイスのハードウェア ID の一覧を含むREG_MULTI_SZ文字列を取得します。 ハードウェア ID の詳細については、「 デバイス識別文字列」を参照してください。

SPDRP_INSTALL_STATE

(Windows XP 以降)この関数は、デバイスのインストール状態を示す DWORD 値を取得します。 インストール状態は、Cfgmgr32.h で定義されているCM_INSTALL_STATE_Xxx 値のいずれかによって表されます。 CM_INSTALL_STATE_Xxx 値は 、DEVICE_INSTALL_STATE 列挙値に対応します。

SPDRP_LEGACYBUSTYPE

関数は、デバイスのレガシ バスの種類をINTERFACE_TYPE値 ( Wdm.h および Ntddk.h で定義) として取得します。

SPDRP_LOCATION_INFORMATION

関数は、デバイスのハードウェアの場所を含むREG_SZ文字列を取得します。

SPDRP_LOCATION_PATHS

(Windows Server 2003 以降)関数は、デバイス ツリー内のデバイスの場所を表すREG_MULTI_SZ文字列を取得します。

SPDRP_LOWERFILTERS

関数は、デバイスの下位フィルター ドライバーの名前を含むREG_MULTI_SZ文字列を取得します。

SPDRP_MFG

この関数は、デバイスの製造元の名前を含むREG_SZ文字列を取得します。

SPDRP_PHYSICAL_DEVICE_OBJECT_NAME

この関数は、デバイスの PDO に関連付けられている名前を含むREG_SZ文字列を取得します。 詳細については、「 IoCreateDevice」を参照してください。

SPDRP_REMOVAL_POLICY

(Windows XP 以降)この関数は、Cfgmgr32.h で定義されている CM_REMOVAL_POLICY_Xxx 値のいずれかを含む DWORD として、デバイスの現在の削除ポリシーを取得します。

SPDRP_REMOVAL_POLICY_HW_DEFAULT

(Windows XP 以降)この関数は、Cfgmgr32.h で定義されている CM_REMOVAL_POLICY_Xxx 値のいずれかを含む DWORD として、デバイスのハードウェア指定の既定の削除ポリシーを取得します。

SPDRP_REMOVAL_POLICY_OVERRIDE

(Windows XP 以降)この関数は、Cfgmgr32.h で定義されている CM_REMOVAL_POLICY_Xxx 値のいずれかを含む DWORD として、デバイスのオーバーライド削除ポリシー (存在する場合) をレジストリから取得します。

SPDRP_SECURITY

関数は、デバイスの SECURITY_DESCRIPTOR 構造体を取得します。

SPDRP_SECURITY_SDS

関数は、デバイスのセキュリティ記述子を含むREG_SZ文字列を取得します。 セキュリティ記述子文字列の詳細については、「 セキュリティ記述子定義言語 (Windows)」を参照してください。 セキュリティ記述子文字列の形式については、「セキュリティ記述子定義言語 (Windows)」を参照してください。

SPDRP_SERVICE

関数は、デバイスのサービス名を含むREG_SZ文字列を取得します。

SPDRP_UI_NUMBER

この関数は、デバイスのDEVICE_CAPABILITIES構造体の UINumber メンバーの値に設定された DWORD 値を取得します。

SPDRP_UI_NUMBER_DESC_FORMAT

関数は、 UINumber 値の表示に使用される書式指定文字列 (REG_SZ) を取得します。

SPDRP_UPPERFILTERS

関数は、デバイスの上位フィルター ドライバーの名前を含むREG_MULTI_SZ文字列を取得します。

[out, optional] PropertyRegDataType

取得されるプロパティのデータ型を受け取る変数へのポインター。 これは、標準のレジストリ データ型の 1 つです。 このパラメーターは省略可能であり、 NULL にすることができます。

[out, optional] PropertyBuffer

取得されるプロパティを受け取るバッファーへのポインター。 このパラメーターが NULL に設定され、 PropertyBufferSize も 0 に設定されている場合、この関数は RequiredSize のバッファーに必要なサイズを返します。

[in] PropertyBufferSize

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

[out, optional] RequiredSize

要求されたプロパティのデータを保持するために必要な PropertyBuffer バッファーの必要なサイズ (バイト単位) を受け取る DWORD 型の変数へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。

戻り値

SetupDiGetDeviceRegistryProperty は、呼び出しが成功した場合に TRUE を 返します。 それ以外の場合は FALSE を 返し、 GetLastError を呼び出すことでログに記録されたエラーを取得できます。 SetupDiGetDeviceRegistryProperty は、要求されたプロパティがデバイスに存在しない場合、またはプロパティ データが無効な場合に、ERROR_INVALID_DATAエラー コードを返します。

注釈

注意

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

要件

要件
サポートされている最小のクライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
対象プラットフォーム DesktopFor universal, call CM_Get_DevNode_Registry_Property
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib

こちらもご覧ください

IoGetDeviceProperty

SetupDiGetClassRegistryProperty

SetupDiSetClassRegistryProperty

SetupDiSetDeviceRegistryProperty