共用方式為


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

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

注意

SPDRP_HARDWAREID或SPDRP_COMPATIBLEIDS只能在 DeviceInfoData 代表根列舉裝置時使用。 對於其他裝置,總線驅動程式會在收到 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

屬性Buffer 的大小,以位元組為單位。 如果 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