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

函式會傳回旗標,指出 類別的裝置特性。 如需特性旗標的清單,請參閱 IoCreateDeviceDeviceCharacteristics 參數。

SPCRP_DEVTYPE

函式會傳回 DWORD 值,代表 類別的裝置類型。 如需詳細資訊,請參閱 指定裝置類型

SPCRP_EXCLUSIVE

函式會傳回 DWORD 值,指出使用者是否可以取得此類別之裝置的獨佔存取權。 如果允許獨佔存取,則傳回的值為一,否則為零。

SPCRP_LOWERFILTERS

(Windows Vista 和更新版本) 函式會傳回針對裝置安裝類別所安裝較低篩選驅動程式的服務名稱REG_MULTI_SZ清單。

SPCRP_SECURITY

函式會以自我相對格式傳回裝置的安全性描述元, (Microsoft Windows SDK 檔) 中所述的SECURITY_DESCRIPTOR結構。

SPCRP_SECURITY_SDS

函式會以文字字串的形式傳回裝置的安全性描述元。 如需安全性描述項字串的相關信息,請參閱 安全性描述項定義語言 (Windows) 。 如需安全性描述元字串格式的詳細資訊,請參閱安全性描述元定義語言 (Windows) 。

SPCRP_UPPERFILTERS

(Windows Vista 和更新版本) 函式會傳回針對裝置安裝類別所安裝之上層篩選驅動程式的服務名稱REG_MULTI_SZ清單。

[out, optional] PropertyRegDataType

DWORD 類型的變數指標,會將屬性數據類型接收為其中一個REG_前置登錄數據類型。 這個參數是選擇性的,而且可以是 NULL。 如果此參數為 NULL,SetupDiGetClassRegistryProperty 不會傳回數據類型。

[out] PropertyBuffer

接收所要求屬性之緩衝區的指標。

[in] PropertyBufferSize

PropertyBuffer 緩衝區的大小,以位元組為單位。

[out, optional] RequiredSize

DWORD 類型的變數指標,可接收 PropertyBuffer 緩衝區的必要大小,以位元組為單位。 如果 PropertyBuffer 緩衝區太小,而且 RequiredSize 不是 NULL,函式會將 RequiredSize 設定為接收要求屬性所需的最小緩衝區大小。

[in, optional] MachineName

NULL 終止字串的指標,其中包含要從中擷取指定裝置類別屬性之遠端系統的名稱。 這個參數是選擇性的,而且可以是 NULL。 如果此參數為 NULL,則會從本機系統擷取 屬性。

警告

從 Windows 8 和 Windows Server 2012 開始,不支援使用此函式來存取遠端計算機,因為此功能已移除。

Reserved

保留的 必須是 NULL

傳回值

如果函式成功,函式會傳回 TRUE 。 否則,它會傳回 FALSE ,而且可以使用 呼叫 GetLastError 來擷取記錄的錯誤。

備註

注意

setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupDiGetClassRegistryProperty 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 可在 Windows XP 和更新版本的 Windows 中使用。
目標平台 DesktopFor universal, call CM_Get_Class_Registry_Property
標頭 setupapi.h (包括 Setupapi.h)
程式庫 Setupapi.lib

另請參閱

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty

SetupDiSetDeviceRegistryProperty