Функция 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.
В следующей таблице приведены некоторые из наиболее распространенных кодов ошибок, которые эта функция может записывать в журнал.
Код возврата | Описание |
---|---|
|
Значение Flags не равно нулю. |
|
Недопустимый набор сведений об устройстве, указанный в DevInfoSet . |
|
Указанный параметр недопустим. Одна из возможных ситуаций заключается в том, что элемент сведений об устройстве недопустим. |
|
Ключ свойства, предоставленный PropertyKey , недопустим или свойство не доступно для записи. |
|
Недопустимый идентификатор типа property-data-type, предоставленный свойством PropertyType, или значение свойства, предоставленное PropertyBuffer . |
|
Недопустимый буфер пользователя. Возможно, свойство PropertyBuffer имеет значение NULL, а PropertyBufferSize не равно нулю. |
|
Экземпляр устройства, указанный в DevInfoData , не существует. |
|
Внутренний буфер данных, переданный в системный вызов, был слишком мал. |
|
Недостаточно системной памяти для завершения операции. |
|
Неустановленный внутренний элемент не найден. Одна из возможных ситуаций заключается в том, что удаляемое свойство не существует. |
|
Вызывающий объект не имеет прав администратора. |
Комментарии
SetupDiSetDeviceProperty является частью единой модели свойств устройства.
SetupAPI поддерживает только версию Юникода SetupDiSetDeviceProperty.
Вызывающий объект SetupDiSetDeviceProperty должен быть членом группы Администраторы, чтобы задать свойство экземпляра устройства.
SetupDiSetDeviceProperty применяет требования к идентификатору property-data-type и значению свойства.
Чтобы получить ключи свойств устройства экземпляра, заданные для устройства, вызовите SetupDiGetDevicePropertyKeys.
Чтобы получить свойство экземпляра устройства, вызовите SetupDiGetDeviceProperty.
Требования
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях Windows. |
Целевая платформа | DesktopДля универсального вызова CM_Set_DevNode_Property |
Верхняя часть | setupapi.h (включая Setupapi.h) |
Библиотека | Setupapi.lib |