CM_Get_Class_Registry_PropertyA関数 (cfgmgr32.h)

CM_Get_Class_Registry_Property関数は、デバイス セットアップ クラスのプロパティを取得します。

構文

CMAPI CONFIGRET CM_Get_Class_Registry_PropertyA(
  [in]            LPGUID   ClassGuid,
  [in]            ULONG    ulProperty,
  [out, optional] PULONG   pulRegDataType,
  [out]           PVOID    Buffer,
  [in, out]       PULONG   pulLength,
  [in]            ULONG    ulFlags,
  [in, optional]  HMACHINE hMachine
);

パラメーター

[in] ClassGuid

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

[in] ulProperty

取得するプロパティを識別する ULONG 型の値。 この値は、Cfgmgr32.h で定義されている次のCM_CRP_Xxx 値のいずれかである必要があります。

CM_CRP_UPPERFILTERS

文字列のREG_MULTI_SZ型のリストを表します。各文字列には、クラスに登録されている上位レベルのフィルター ドライバーの名前が含まれます。

CM_CRP_LOWERFILTERS

REG_MULTI_SZ型指定された文字列の一覧を表します。各文字列には、 クラスに登録されている下位レベルのフィルター ドライバーの名前が含まれます。

CM_CRP_SECURITY

可変長、自己相対、SECURITY_DESCRIPTOR構造体を含むREG_BINARY型の値 表します。

CM_CRP_SECURITY_SDS

セキュリティ記述子定義言語 (SDDL) 形式のセキュリティ記述子を含むREG_SZ型の文字列を表します。

CM_CRP_DEVTYPE

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

CM_CRP_EXCLUSIVE

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

CM_CRP_CHARACTERISTICS

クラスのデバイス特性を示す DWORD 型の値を表します。 特性フラグの一覧については、IoCreateDevice ルーチンの DeviceCharacteristics パラメーターを参照してください。

[out, optional] pulRegDataType

要求されたプロパティのデータ型を表すREG_Xxx 定数を受け取る ULONG 型の変数へのポインター。 REG_Xxx 定数は Winnt.h で定義され、KEY_VALUE_BASIC_INFORMATION構造体の Type メンバーで説明されています。 このパラメーターは省略可能であり、 NULL に設定できます。

[out] Buffer

要求されたプロパティ データを受け取るバッファーへのポインター。 このパラメーターと buffer-size パラメーター pulLength の詳細については、次の 「解説 」セクションを参照してください。

[in, out] pulLength

入力時の値が Buffer によって提供されるバッファーのサイズ (バイト単位) である ULONG 型の変数へのポインター。 戻り値 CM_Get_Class_Registry_Property 、この変数を要求されたプロパティのサイズ (バイト単位) に設定します。

[in] ulFlags

内部使用専用に予約されています。 0 に設定する必要があります。

[in, optional] hMachine

指定したデバイス クラス プロパティを取得するリモート コンピューターへのハンドル。 このパラメーターは省略可能であり、 NULL に設定されている場合、プロパティはローカル コンピューターから取得されます。

戻り値

操作が成功した場合、 CM_Get_Class_Registry_Property はCR_SUCCESSを返します。 それ以外の場合、関数は Cfgmgr32.h で定義されている他のCR_Xxx 状態コードのいずれかを返します。

注釈

プロパティを取得する前のプロパティのサイズ (バイト単位) を判断するには、最初に nullバッファー ポインターと pulLength 値 0 を指定して、CM_Get_Class_Registry_Propertyを呼び出します。 このような呼び出しに応答して、 関数は プロパティを取得しませんが、pulLength を要求されたプロパティのサイズに設定し、CR_BUFFER_SMALLを返します。 プロパティ サイズを取得した後、CM_Get_Class_Registry_Propertyを再度呼び出し、バッファーへの Buffer ポインターを指定してプロパティ データを受信し、プロパティ サイズを pulLength*指定します。

要件

要件
サポートされている最小のクライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
Header cfgmgr32.h (Cfgmgr32.h を含む)
Library Cfgmgr32.lib

こちらもご覧ください

CM_Set_Class_Registry_Property
KEY_VALUE_BASIC_INFORMATION
SetupDiGetClassRegistryProperty
SetupDiSetClassRegistryProperty