SetupDiSetClassRegistryPropertyA 関数 (setupapi.h)

SetupDiSetClassRegistryProperty 関数は、レジストリに指定されたデバイス クラス プロパティを設定します。

構文

WINSETUPAPI BOOL SetupDiSetClassRegistryPropertyA(
  [in]           const GUID *ClassGuid,
  [in]           DWORD      Property,
  [in, optional] const BYTE *PropertyBuffer,
  [in]           DWORD      PropertyBufferSize,
  [in, optional] PCSTR      MachineName,
                 PVOID      Reserved
);

パラメーター

[in] ClassGuid

プロパティが設定されるデバイス クラスを識別する GUID へのポインター。

[in] Property

設定するプロパティを識別する値。次のいずれかである必要があります。

SPCRP_CHARACTERISTICS

呼び出し元は、 クラスのデバイス特性を指定するフラグを提供します。 特性フラグの一覧については、IoCreateDeviceDeviceCharacteristics パラメーターを参照してください。 デバイスの特性は、デバイス クラスがインストールされるときに設定する必要があり、デバイス クラスのインストール後に変更しないでください。

SPCRP_DEVTYPE

呼び出し元は、 クラスのデバイスの種類を指定します。 詳細については、「 デバイスの種類の指定」を参照してください。 デバイス クラスがインストールされている場合は、デバイスの種類を設定する必要があり、デバイス クラスのインストール後に変更しないでください。

SPCRP_EXCLUSIVE

呼び出し元は、ユーザーがこのクラスのデバイスへの排他アクセス権を取得できるかどうかを指定する DWORD 値を提供します。 排他アクセスが許可されている場合は指定された値は 1、それ以外の場合は 0 です。 デバイス クラスがインストールされている場合は、デバイスの排他設定を設定する必要があり、デバイス クラスのインストール後に変更しないでください。

SPCRP_LOWERFILTERS

(Windows Vista 以降)呼び出し元は、 デバイス セットアップ クラス用にインストールされている下位フィルター ドライバーのサービス名のREG_MULTI_SZ一覧を提供します。 クラス フィルター ドライバーをインストールする方法の詳細については、「 フィルター ドライバーINF ClassInstall32 のインストール」セクションを参照してください。

SPCRP_SECURITY

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

SPCRP_SECURITY_SDS

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

SPCRP_UPPERFILTERS

(Windows Vista 以降)呼び出し元は、デバイス セットアップ クラス用にインストールされている上位フィルター ドライバーのサービス名のREG_MULTI_SZ一覧を提供します。 クラス フィルター ドライバーをインストールする方法の詳細については、「 フィルター ドライバーINF ClassInstall32 のインストール」セクションを参照してください。

[in, optional] PropertyBuffer

指定したプロパティを提供するバッファーへのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。

[in] PropertyBufferSize

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

[in, optional] MachineName

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

注意事項

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

Reserved

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

戻り値

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

注釈

この関数の呼び出し元は、Administrators グループのメンバーである必要があります。

デバイス クラス プロパティのデータ型を確認するには、 SetupDiGetClassRegistryProperty を呼び出します。

注意

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

要件

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

こちらもご覧ください

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetDeviceRegistryProperty