SetupDiSetDeviceRegistryPropertyW 函式 (setupapi.h)
SetupDiSetDeviceRegistryProperty 函式會設定裝置的 隨插即用 裝置屬性。
語法
WINSETUPAPI BOOL SetupDiSetDeviceRegistryPropertyW(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD Property,
[in, optional] const BYTE *PropertyBuffer,
[in] DWORD PropertyBufferSize
);
參數
[in] DeviceInfoSet
裝置資訊集的句柄,其中包含裝置信息專案,表示要設定 隨插即用 裝置屬性的裝置。
[in, out] DeviceInfoData
SP_DEVINFO_DATA 結構的指標,指定 DeviceInfoSet 中的裝置信息專案。 如果已設定 ClassGuid 屬性, DeviceInfoData。ClassGuid 會在返回裝置的新類別時設定。
[in] Property
下列其中一個值,可識別要設定的屬性。 如需這些值的描述,請參閱 SetupDiGetDeviceRegistryProperty。
- SPDRP_CONFIGFLAGS
- SPDRP_EXCLUSIVE
- SPDRP_FRIENDLYNAME
- SPDRP_LOCATION_INFORMATION
- SPDRP_LOWERFILTERS
- SPDRP_REMOVAL_POLICY_OVERRIDE
- SPDRP_SECURITY
- SPDRP_SECURITY_SDS
- SPDRP_UI_NUMBER_DESC_FORMAT
- SPDRP_UPPERFILTERS
注意
只有在 DeviceInfoData 代表根列舉裝置時,才能使用SPDRP_HARDWAREID或SPDRP_COMPATIBLEIDS。 對於其他裝置,總線驅動程式會在收到IRP_MN_QUERY_ID之後列舉子裝置時報告硬體和相容的標識碼。
下列值會保留供作業系統使用,而且不能用於 Property 參數:
- SPDRP_ADDRESS
- SPDRP_BUSNUMBER
- SPDRP_BUSTYPEGUID
- SPDRP_CHARACTERISTICS
- SPDRP_CAPABILITIES
- SPDRP_CLASS
- SPDRP_CLASSGUID
- SPDRP_DEVICE_POWER_DATA
- SPDRP_DEVICEDESC
- SPDRP_DEVTYPE
- SPDRP_DRIVER
- SPDRP_ENUMERATOR_NAME
- SPDRP_INSTALL_STATE
- SPDRP_LEGACYBUSTYPE
- SPDRP_LOCATION_PATHS
- SPDRP_MFG
- SPDRP_PHYSICAL_DEVICE_OBJECT_NAME
- SPDRP_REMOVAL_POLICY
- SPDRP_REMOVAL_POLICY_HW_DEFAULT
- SPDRP_SERVICE
- SPDRP_UI_NUMBER
[in, optional] PropertyBuffer
緩衝區的指標,其中包含 屬性的新數據。 如果清除屬性,則此指標應該是 NULL , 而且 PropertyBufferSize 必須是零。
[in] PropertyBufferSize
PropertyBuffer 的大小,以位元組為單位。 如果 PropertyBuffer 為 NULL,則此字段必須為零。
傳回值
如果函式成功,函式會傳回 TRUE 。 否則,它會傳回 FALSE ,而且可以使用 呼叫 GetLastError 來擷取記錄的錯誤。
備註
此函式的呼叫端必須是 Administrators 群組的成員。
無法設定類別名稱屬性,因為它是以對應的類別 GUID 為基礎,而且會在該屬性變更時自動更新。 當 ClassGUID 屬性變更時, SetupDiSetDeviceRegistryProperty 會自動清除與裝置相關聯的任何軟體密鑰。
注意
setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupDiSetDeviceRegistryProperty 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。 |
目標平台 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
程式庫 | Setupapi.lib |
另請參閱
SetupDiGetClassRegistryProperty