Поделиться через


Функция SetupDiSetDevicePropertyW (setupapi.h)

Функция SetupDiSetDeviceProperty задает свойство экземпляра устройства.

Синтаксис

WINSETUPAPI BOOL SetupDiSetDevicePropertyW(
  [in]           HDEVINFO         DeviceInfoSet,
  [in]           PSP_DEVINFO_DATA DeviceInfoData,
  [in]           const DEVPROPKEY *PropertyKey,
  [in]           DEVPROPTYPE      PropertyType,
  [in, optional] const PBYTE      PropertyBuffer,
  [in]           DWORD            PropertyBufferSize,
  [in]           DWORD            Flags
);

Параметры

[in] DeviceInfoSet

Дескриптор набора сведений об устройстве. Этот набор сведений об устройстве содержит элемент сведений об устройстве, представляющий экземпляр устройства, для которого нужно задать свойство экземпляра устройства.

[in] DeviceInfoData

Указатель на структуру SP_DEVINFO_DATA , определяющую экземпляр устройства, для которого следует задать свойство экземпляра устройства.

[in] PropertyKey

Указатель на структуру DEVPROPKEY , представляющую ключ свойства устройства заданного свойства экземпляра устройства.

[in] PropertyType

Значение типа DEVPROPTYPE, представляющее идентификатор типа property-data-type для свойства экземпляра устройства. Дополнительные сведения см. в разделе Примечания далее в этом разделе.

[in, optional] PropertyBuffer

Указатель на буфер, содержащий значение свойства экземпляра устройства. Если свойство удаляется или имеет значение NULL , этот указатель должен иметь значение NULL, а СвойствоBufferSize — нулевое значение.

[in] PropertyBufferSize

Размер буфера PropertyBuffer (в байтах). Если свойство PropertyBuffer имеет значение NULL, свойство PropertyBufferSize должно иметь нулевое значение.

[in] Flags

Этот параметр должен иметь нулевое значение.

Возвращаемое значение

Функция возвращает значение TRUE в случае успешного выполнения. В противном случае возвращается значение FALSE, а зарегистрированную ошибку можно получить, вызвав Метод GetLastError.

В следующей таблице приведены некоторые из наиболее распространенных кодов ошибок, которые эта функция может записывать в журнал.

Код возврата Описание
ERROR_INVALID_FLAGS
Значение Flags не равно нулю.
ERROR_INVALID_HANDLE
Недопустимый набор сведений об устройстве, указанный в DevInfoSet .
ERROR_INVALID_PARAMETER
Указанный параметр недопустим. Одна из возможных ситуаций заключается в том, что элемент сведений об устройстве недопустим.
ERROR_INVALID_REG_PROPERTY
Ключ свойства, предоставленный PropertyKey , недопустим или свойство не доступно для записи.
ERROR_INVALID_DATA
Недопустимый идентификатор типа property-data-type, предоставленный свойством PropertyType, или значение свойства, предоставленное PropertyBuffer .
ERROR_INVALID_USER_BUFFER
Недопустимый буфер пользователя. Возможно, свойство PropertyBuffer имеет значение NULL, а PropertyBufferSize не равно нулю.
ERROR_NO_SUCH_DEVINST
Экземпляр устройства, указанный в DevInfoData , не существует.
ERROR_INSUFFICIENT_BUFFER
Внутренний буфер данных, переданный в системный вызов, был слишком мал.
ERROR_NOT_ENOUGH_MEMORY
Недостаточно системной памяти для завершения операции.
ERROR_NOT_FOUND
Неустановленный внутренний элемент не найден. Одна из возможных ситуаций заключается в том, что удаляемое свойство не существует.
ERROR_ACCESS_DENIED
Вызывающий объект не имеет прав администратора.

Комментарии

SetupDiSetDeviceProperty является частью единой модели свойств устройства.

SetupAPI поддерживает только версию Юникода SetupDiSetDeviceProperty.

Вызывающий объект SetupDiSetDeviceProperty должен быть членом группы Администраторы, чтобы задать свойство экземпляра устройства.

SetupDiSetDeviceProperty применяет требования к идентификатору property-data-type и значению свойства.

Чтобы получить ключи свойств устройства экземпляра, заданные для устройства, вызовите SetupDiGetDevicePropertyKeys.

Чтобы получить свойство экземпляра устройства, вызовите SetupDiGetDeviceProperty.

Требования

   
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях Windows.
Целевая платформа DesktopДля универсального вызова CM_Set_DevNode_Property
Верхняя часть setupapi.h (включая Setupapi.h)
Библиотека Setupapi.lib

См. также раздел

SetupDiGetDeviceProperty

SetupDiGetDevicePropertyKeys