SetupDiSetDeviceRegistryPropertyA 函式 (setupapi.h)

SetupDiSetDeviceRegistryProperty 函式會設定裝置的 隨插即用 裝置屬性。

語法

WINSETUPAPI BOOL SetupDiSetDeviceRegistryPropertyA(
  [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

指定 DeviceInfoSet 中裝置資訊元素之SP_DEVINFO_DATA結構的指標。 如果 已設定 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 的大小,以位元組為單位。 如果 PropertyBufferNULL,則此字段必須為零。

傳回值

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

備註

此函式的呼叫端必須是 Administrators 群組的成員。

無法設定類別名稱屬性,因為它是以對應的類別 GUID 為基礎,而且會在該屬性變更時自動更新。 當 ClassGUID 屬性變更時, SetupDiSetDeviceRegistryProperty 會自動清除與裝置相關聯的任何軟體密鑰。

注意

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

規格需求

需求
最低支援的用戶端 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。
目標平台 桌面
標頭 setupapi.h (包括 Setupapi.h)
程式庫 Setupapi.lib

另請參閱

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty