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


Функция 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.

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

Код возврата Описание
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
Недопустимый буфер пользователя. Одна из возможных вариантов заключается в том, что СвойствоBuffer имеет значение NULL, а PropertBufferSize не равно нулю.
ERROR_NO_SUCH_DEVICE_INTERFACE
Интерфейс устройства, заданный параметром DeviceInterfaceData , не существует.
ERROR_INSUFFICIENT_BUFFER
Внутренний буфер данных, переданный в системный вызов, был слишком мал.
ERROR_NOT_ENOUGH_MEMORY
Недостаточно системной памяти для завершения операции.
ERROR_NOT_FOUND
Неустановленный внутренний элемент не найден. Одна из возможных вариантов заключается в том, что удаляемое свойство не существует.
ERROR_ACCESS_DENIED
Вызывающий объект не имеет прав администратора.

Комментарии

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

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

SetupDiGetDeviceInterfaceProperty

SetupDiGetDeviceInterfacePropertyKeys