Функция 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, представляющее идентификатор типа property-data-type свойства интерфейса устройства для задания. Дополнительные сведения об идентификаторе типа property-data-type см. в разделе Примечания далее в этом разделе.
[in, optional] PropertyBuffer
Указатель на буфер, содержащий значение свойства интерфейса устройства. Если удаляется свойство или значение интерфейса, для этого указателя должно быть задано значение NULL, а для свойства PropertyBufferSize — нулевое значение. Дополнительные сведения о данных значения свойства см. в разделе Примечания далее в этом разделе.
[in] PropertyBufferSize
Размер буфера PropertyBuffer (в байтах). Размер буфера свойств должен соответствовать идентификатору property-data-type, предоставленному свойством PropertyType. Если свойство PropertyBuffer имеет значение NULL, свойство PropertyBufferSize должно быть равно нулю.
[in] Flags
Необходимо задать нулевое значение.
Возвращаемое значение
SetupDiSetDeviceInterfaceProperty возвращает значение TRUE в случае успешного выполнения. В противном случае эта функция возвращает значение FALSE, а зарегистрированную ошибку можно получить, вызвав Метод GetLastError.
В следующей таблице приведены некоторые из наиболее распространенных кодов ошибок, которые эта функция может записывать в журнал.
Код возврата | Описание |
---|---|
|
Значение Flags не равно нулю. |
|
Недопустимый набор сведений об устройстве, указанный в DevInfoSet . |
|
Указанный параметр недопустим. Одна из возможных вариантов заключается в том, что интерфейс устройства, указанный в DeviceInterfaceData , недопустим. |
|
Недопустимый ключ свойства, предоставляемый PropertyKey . |
|
Неустановленное значение данных было недопустимым. Эта ошибка может быть зарегистрирована, если недопустимое имя символьной ссылки интерфейса устройства или недопустимый идентификатор property-data-type. |
|
Недопустимый буфер пользователя. Одна из возможных вариантов заключается в том, что СвойствоBuffer имеет значение NULL, а PropertBufferSize не равно нулю. |
|
Интерфейс устройства, заданный параметром DeviceInterfaceData , не существует. |
|
Внутренний буфер данных, переданный в системный вызов, был слишком мал. |
|
Недостаточно системной памяти для завершения операции. |
|
Неустановленный внутренний элемент не найден. Одна из возможных вариантов заключается в том, что удаляемое свойство не существует. |
|
Вызывающий объект не имеет прав администратора. |
Комментарии
SetupDiSetDeviceInterfaceProperty является частью единой модели свойств устройства.
SetupAPI поддерживает только версию Юникода SetupDiSetDeviceInterfaceProperty.
Вызывающий объект SetupDiSetDeviceInterfaceProperty должен быть членом группы Администраторы, чтобы задать свойство интерфейса устройства.
SetupDiSetDeviceInterfaceProperty применяет требования к идентификатору property-data-type и значению свойства.
Чтобы получить ключи свойств устройства, которые представляют свойства устройства, заданные для интерфейса устройства, вызовите SetupDiGetDeviceInterfacePropertyKeys.
Чтобы получить свойство интерфейса устройства, вызовите SetupDiGetDeviceInterfaceProperty.
Требования
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях Windows. |
Целевая платформа | DesktopДля универсального вызова CM_Set_Device_Interface_Property |
Верхняя часть | setupapi.h (включая Setupapi.h) |
Библиотека | Setupapi.lib |