次の方法で共有


SetupDiGetDeviceRegistryPropertyA 関数 (setupapi.h)

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

構文

WINSETUPAPI BOOL SetupDiGetDeviceRegistryPropertyA(
  [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 非動的 の
 

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 を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

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

関連項目

IoGetDeviceProperty の

SetupDiGetClassRegistryProperty の

SetupDiSetClassRegistryProperty の

SetupDiSetDeviceRegistryProperty の