SetupDiGetClassRegistryPropertyA 関数 (setupapi.h)

SetupDiGetClassRegistryProperty 関数は、指定したデバイス セットアップ クラスのプロパティをレジストリから取得します。

構文

WINSETUPAPI BOOL SetupDiGetClassRegistryPropertyA(
  [in]            const GUID *ClassGuid,
  [in]            DWORD      Property,
  [out, optional] PDWORD     PropertyRegDataType,
  [out]           PBYTE      PropertyBuffer,
  [in]            DWORD      PropertyBufferSize,
  [out, optional] PDWORD     RequiredSize,
  [in, optional]  PCSTR      MachineName,
                  PVOID      Reserved
);

パラメーター

[in] ClassGuid

プロパティを取得するデバイス セットアップ クラスを表す GUID へのポインター。

[in] Property

取得するプロパティを識別する値。 これは、次のいずれかの値である必要があります。

SPCRP_CHARACTERISTICS

関数は、 クラスのデバイス特性を示すフラグを返します。 特性フラグの一覧については、「IoCreateDevice への DeviceCharacteristics パラメーター」を参照してください。

SPCRP_DEVTYPE

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

SPCRP_EXCLUSIVE

この関数は、ユーザーがこのクラスのデバイスへの排他アクセス権を取得できるかどうかを示す DWORD 値を返します。 排他アクセスが許可されている場合は 1、それ以外の場合は 0 が返されます。

SPCRP_LOWERFILTERS

(Windows Vista 以降)この関数は、デバイス セットアップ クラスにインストールされている下位フィルター ドライバーのサービス名のREG_MULTI_SZ一覧を返します。

SPCRP_SECURITY

この関数は、デバイスのセキュリティ記述子を自己相対形式でSECURITY_DESCRIPTOR構造として返します (Microsoft Windows SDKドキュメントで説明されています)。

SPCRP_SECURITY_SDS

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

SPCRP_UPPERFILTERS

(Windows Vista 以降)この関数は、デバイス セットアップ クラスにインストールされている上位フィルター ドライバーのサービス名のREG_MULTI_SZリストを返します。

[out, optional] PropertyRegDataType

REG_プレフィックス付きレジストリ データ型の 1 つとしてプロパティ データ型を受け取る DWORD 型の変数へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。 このパラメーターが NULL の場合、 SetupDiGetClassRegistryProperty はデータ型を返しません。

[out] PropertyBuffer

要求されたプロパティを受け取るバッファーへのポインター。

[in] PropertyBufferSize

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

[out, optional] RequiredSize

PropertyBuffer バッファーの必要なサイズ (バイト単位) を受け取る DWORD 型の変数へのポインター。 PropertyBuffer バッファーが小さすぎて、RequiredSizeNULL でない場合、関数は RequiredSize を要求されたプロパティを受け取るために必要な最小バッファー サイズに設定します。

[in, optional] MachineName

指定したデバイス クラス プロパティの取得元となるリモート システムの名前を含む NULL で終わる文字列へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。 このパラメーターが NULL の場合、 プロパティはローカル システムから取得されます。

注意事項

この機能は削除されたため、この関数を使用してリモート マシンにアクセスすることは、Windows 8とWindows Server 2012以降はサポートされていません。

Reserved

予約済み。 NULL である必要があります。

戻り値

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

注釈

注意

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

要件

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

こちらもご覧ください

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty

SetupDiSetDeviceRegistryProperty