CM_Get_Class_Registry_PropertyW函式 (cfgmgr32.h)
CM_Get_Class_Registry_Property函式會擷取裝置安裝類別屬性。
語法
CMAPI CONFIGRET CM_Get_Class_Registry_PropertyW(
[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 中使用。 |
目標平台 | Universal |
標頭 | cfgmgr32.h (包含 Cfgmgr32.h) |
程式庫 | Cfgmgr32.lib |
另請參閱
CM_Set_Class_Registry_Property