SetupDiSetDeviceInterfacePropertyW 函式 (setupapi.h)

SetupDiSetDeviceInterfaceProperty 函式會設定裝置介面的裝置屬性。

語法

WINSETUPAPI BOOL SetupDiSetDeviceInterfacePropertyW(
  [in]           HDEVINFO                  DeviceInfoSet,
  [in]           PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
  [in]           const DEVPROPKEY          *PropertyKey,
  [in]           DEVPROPTYPE               PropertyType,
  [in, optional] const PBYTE               PropertyBuffer,
  [in]           DWORD                     PropertyBufferSize,
  [in]           DWORD                     Flags
);

參數

[in] DeviceInfoSet

裝置資訊集的控制碼,其中包含要設定裝置介面屬性的裝置介面。

[in] DeviceInterfaceData

SP_DEVICE_INTERFACE_DATA結構的指標,表示要設定裝置介面屬性的裝置介面。

[in] PropertyKey

DEVPROPKEY結構的指標,表示要設定之裝置介面屬性的裝置屬性索引鍵。

[in] PropertyType

DEVPROPTYPE型別值,表示要設定之裝置介面屬性的屬性-資料類型識別碼。 For more information about the property-data-type identifier, see the Remarks section later in this topic.

[in, optional] PropertyBuffer

緩衝區的指標,其中包含裝置介面屬性值。 如果刪除屬性或介面值,此指標必須設定為 Null而且 PropertyBufferSize 必須設定為零。 如需屬性值資料的詳細資訊,請參閱本主題稍後的一節。

[in] PropertyBufferSize

PropertyBuffer緩衝區的大小,以位元組為單位。 屬性緩衝區大小必須與 PropertyType所提供的屬性資料類型識別碼一致。 如果 PropertyBuffer 設定為 NullPropertyBufferSize 必須設定為零。

[in] Flags

必須設定為零。

傳回值

如果成功,SetupDiSetDeviceInterfaceProperty 會傳回 TRUE 。 否則,此函式會傳回 FALSE,而且可藉由呼叫 GetLastError來擷取記錄的錯誤。

下表包含此函式可能會記錄的一些較常見的錯誤碼。

傳回碼 Description
ERROR_INVALID_FLAGS
Flags的值不是零。
ERROR_INVALID_HANDLE
DevInfoSet所指定的裝置資訊集無效。
ERROR_INVALID_PARAMETER
提供的參數無效。 其中一個可能性是 DeviceInterfaceData 指定的裝置介面無效。
ERROR_INVALID_REG_PROPERTY
PropertyKey所提供的屬性索引鍵無效。
ERROR_INVALID_DATA
未指定的資料值無效。 如果裝置介面的符號連結名稱無效或 property-data-type 識別碼無效,則可能會記錄此錯誤。
ERROR_INVALID_USER_BUFFER
使用者緩衝區無效。 其中一個可能性是 PropertyBufferNull而 PropertBufferSize 不是零。
ERROR_NO_SUCH_DEVICE_INTERFACE
DeviceInterfaceData指定的裝置介面不存在。
ERROR_INSUFFICIENT_BUFFER
傳遞至系統呼叫的內部資料緩衝區太小。
ERROR_NOT_ENOUGH_MEMORY
沒有足夠的系統記憶體可用來完成作業。
ERROR_NOT_FOUND
找不到未指定的內部專案。 其中一個可能性是要刪除的屬性不存在。
ERROR_ACCESS_DENIED
呼叫端沒有系統管理員許可權。

備註

SetupDiSetDeviceInterfaceProperty統一裝置屬性模型的一部分。

SetupAPI 僅支援 SetupDiSetDeviceInterfaceProperty的 Unicode 版本。

SetupDiSetDeviceInterfaceProperty的呼叫端必須是 Administrators 群組的成員,才能設定裝置介面屬性。

SetupDiSetDeviceInterfaceProperty 會對 property-data-type 識別碼和屬性值強制執行需求。

若要取得代表裝置介面所設定之裝置屬性的裝置屬性索引鍵,請呼叫 SetupDiGetDeviceInterfacePropertyKeys

若要擷取裝置介面屬性,請呼叫 SetupDiGetDeviceInterfaceProperty

規格需求

   
最低支援的用戶端 適用于 Windows Vista 和更新版本的 Windows。
目標平台 DesktopFor universal, call CM_Set_Device_Interface_Property
標頭 setupapi.h (包括 Setupapi.h)
程式庫 Setupapi.lib

另請參閱

SetupDiGetDeviceInterfaceProperty

SetupDiGetDeviceInterfacePropertyKeys