SetupDiGetCustomDevicePropertyW 函式 (setupapi.h)
SetupDiGetCustomDeviceProperty 函式會從登錄擷取指定的自定義裝置屬性。
語法
WINSETUPAPI BOOL SetupDiGetCustomDevicePropertyW(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] PCWSTR CustomPropertyName,
[in] DWORD Flags,
[out, optional] PDWORD PropertyRegDataType,
[out] PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[out, optional] PDWORD RequiredSize
);
參數
[in] DeviceInfoSet
裝置資訊集 句柄,其中包含代表要擷取自定義裝置屬性之裝置的裝置信息元素。
[in] DeviceInfoData
[in] CustomPropertyName
代表自訂屬性的登錄值名稱。
[in] Flags
旗標值,指出應該如何傳回要求的資訊。 旗標可以是零或下列其中一項:
DICUSTOMDEVPROP_MERGE_MULTISZ
如果設定,函式會擷取裝置實例特定的屬性值和硬體標識元特定的屬性值,並串連為REG_MULTI_SZ型別字串串。 (如需詳細資訊,請參閱本參考頁面上的<
[out, optional] PropertyRegDataType
接收所擷取屬性之數據類型之 DWORD 類型的變數指標。 數據類型會指定為代表登錄數據類型的其中一個REG_前置常數。 這個參數是選擇性的,而且可以 NULL。
[out] PropertyBuffer
接收要求之屬性信息的緩衝區指標。
[in] PropertyBufferSize
PropertyBuffer 緩衝區的大小,以位元組為單位。
[out, optional] RequiredSize
DWORD 類型的變數指標,接收接收所要求資訊所需的緩衝區大小,以位元組為單位。 這個參數是選擇性的,而且可以 NULL。 如果指定此參數,SetupDiGetCustomDeviceProperty 傳回所需的大小,不論 PropertyBuffer 緩衝區是否夠大,都足以接收要求的資訊。
傳回值
如果作業成功,
言論
SetupDiGetCustomDeviceProperty 擷取與單一裝置實例或符合特定硬體識別碼的所有裝置相關聯的裝置屬性。 (如需硬體識別碼的相關信息,請參閱 裝置識別字串)。
廠商可以使用
只有系統可以設定硬體識別碼的屬性。 系統會提供某些硬體識別碼的「圖示」屬性。
函式會先檢查指定的裝置實例是否存在指定的屬性。 如果是,則會傳回 屬性的值。 如果沒有,此函式會檢查屬性是否存在於符合指定裝置實例硬體標識碼的所有裝置上。 如果是,則會傳回 屬性的值。 如果在 Flags中設定DICUSTOMDEVPROP_MERGE_MULTISZ,則函式會傳回與裝置實例和硬體標識符相關聯的屬性值,如果兩者都存在的話。
注意
setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupDiGetCustomDeviceProperty 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows XP 和更新版本的 Windows。 |
目標平臺 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
連結庫 | Setupapi.lib |
DLL | Setupapi.dll |
另請參閱
SetupDiGetClassRegistryProperty
SetupDiGetDeviceRegistryProperty