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

表示類型為 REG_BINARY的值,其中包含可變長度、自我相對 SECURITY_DESCRIPTOR 結構。

CM_CRP_SECURITY_SDS

表示類型為 REG_SZ 字串,其中包含 安全性描述元定義語言 (SDDL) 格式的安全性描述元

CM_CRP_DEVTYPE

表示類型為 REG_DWORD 的值,表示 類別的裝置類型。 如需詳細資訊,請參閱 指定裝置類型

CM_CRP_EXCLUSIVE

表示類型為 REG_DWORD的值,指出使用者是否可以取得此類別之裝置的獨佔存取權。 如果允許獨佔存取,則傳回的值為 1,否則為零。

CM_CRP_CHARACTERISTICS

表示 DWORD 類型的值,指出 類別的裝置特性。 如需特性旗標的清單,請參閱 IoCreateDevice 例程的 DeviceCharacteristics 參數。

[out, optional] pulRegDataType

ULONG 類型的變數指標,接收代表所要求屬性之數據類型的 REG_Xxx 常數。 REG_Xxx 常數定義於 Winnt.h 中,並描述於 KEY_VALUE_BASIC_INFORMATION 結構的 Type 成員中。 此參數是選擇性的,而且可以設定為 NULL

[out] Buffer

接收要求之屬性數據的緩衝區指標。 如需此參數和緩衝區大小參數 pulLength 的詳細資訊,請參閱下列一節。

[in, out] pulLength

ULONG 類型的變數指標,其值在輸入上為 Buffer 所提供的緩衝區大小,以位元組為單位。 傳回 時,CM_Get_Class_Registry_Property 將此變數設定為所要求屬性的大小,以位元組為單位。

[in] ulFlags

已保留供內部使用。 必須設定為零。

[in, optional] hMachine

要從中擷取指定裝置類別屬性之遠端計算機的句柄。 此參數是選擇性的,如果設定為 NULL,則會從本機計算機擷取 屬性。

傳回值

如果作業成功, CM_Get_Class_Registry_Property 會傳回CR_SUCCESS。 否則,函式會傳回 Cfgmgr32.h 中定義的另一個CR_Xxx 狀態代碼。

備註

若要判斷屬性的大小,以位元組為單位,請在嘗試擷取屬性之前先呼叫CM_Get_Class_Registry_Property,並提供NULL緩衝區指標和零的 pulLength 值。 為了回應這類呼叫,函式不會擷取 屬性,而是將 pulLength 設定為要求屬性的大小,並傳回CR_BUFFER_SMALL。 取得屬性大小之後,再次呼叫 CM_Get_Class_Registry_Property,提供緩衝區的 Buffer 指標以接收屬性數據,並在 pulLength*提供屬性大小。

規格需求

需求
最低支援的用戶端 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。
標頭 cfgmgr32.h (包含 Cfgmgr32.h)
程式庫 Cfgmgr32.lib

另請參閱

CM_Set_Class_Registry_Property
KEY_VALUE_BASIC_INFORMATION
SetupDiGetClassRegistryProperty
SetupDiSetClassRegistryProperty