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 |
こちらもご覧ください
SetupDiGetClassRegistryProperty