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


Функция IoSetDevicePropertyData (wdm.h)

Подпрограмма IoSetDevicePropertyData изменяет текущий параметр для свойства устройства.

Синтаксис

NTSTATUS IoSetDevicePropertyData(
  [in]           PDEVICE_OBJECT   Pdo,
  [in]           const DEVPROPKEY *PropertyKey,
  [in]           LCID             Lcid,
  [in]           ULONG            Flags,
  [in]           DEVPROPTYPE      Type,
  [in]           ULONG            Size,
  [in, optional] PVOID            Data
);

Параметры

[in] Pdo

Указатель на объект физического устройства (PDO) для запрашиваемого устройства.

[in] PropertyKey

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

[in] Lcid

Идентификатор языкового стандарта. Присвойте этому параметру значение LCID для конкретного языка или LOCALE_NEUTRAL.

Код языка LOCALE_NEUTRAL указывает, что свойство не зависит от языка (т. е. не относится к какому-либо языку).

Не устанавливайте для этого параметра значение LOCALE_SYSTEM_DEFAULT или LOCALE_USER_DEFAULT.

Дополнительные сведения о значениях LCID для конкретного языка см. в разделе Структура LCID.

[in] Flags

Задайте для этого параметра значение PLUGPLAY_PROPERTY_PERSISTENT , должно ли значение свойства, заданное этой подпрограммой, сохраняться при перезагрузке компьютера. В противном случае задайте для флагов нулевое значение.

Windows 8 и Windows Server 2012 операционных системах и более поздних версиях флаги обрабатываются так, как если бы PLUGPLAY_PROPERTY_PERSISTENT всегда передается.

[in] Type

Значение DEVPROPTYPE , указывающее тип данных, предоставляемых в буфере данных .

[in] Size

Размер буфера, на который указывают данные , в байтах.

[in, optional] Data

Указатель на данные свойства устройства. Присвойте этому параметру значение NULL , чтобы удалить указанное свойство. Если значение Data не равно NULL, подпрограмма сохраняет внутреннюю копию значения свойства. Буфер, на который указывает data , не должен оставаться действительным после возврата вызова.

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

IoSetDevicePropertyData возвращает STATUS_SUCCESS, если вызов был успешным, или соответствующий код NTSTATUS при сбое.

Комментарии

Сведения о типах свойств, доступных для использования этой подпрограммой, см . в разделе DEVPROP_TYPE_BYTE и смежных страницах для DEVPROP_TYPE_*.

Драйверы в режиме ядра используют подпрограмму IoSetDevicePropertyData для изменения свойств устройства, определенных как часть единой модели свойств устройства. Дополнительные сведения о свойствах устройства см. в разделе Свойства устройства.

Чтобы удалить свойство для определенного языкового стандарта, передайте значение LCID для конкретного языка в Lcid и null в поле Data.

Чтобы удалить свойство для всех языковых стандартов, передайте LOCALE_NEUTRAL в Lcid и NULL в поле Data.

Чтобы изменить свойство для определенного языкового стандарта, передайте значение LCID для конкретного языка в Lcid и значение, отличное от NULL в поле Data.

Чтобы изменить свойство для всех языковых стандартов, передайте LOCALE_NEUTRAL в Lcid и не null в поле Data.

Начиная с Windows 8 и Windows Server 2012 передача LOCALE_NEUTRAL в Lcid обрабатывается как любой другой языковой стандарт.

Драйверы могут использовать подпрограмму IoGetDevicePropertyData для получения текущего значения свойства устройства.

Вызывающие объект IoSetDeviceProperty должны выполняться в среде IRQL <= APC_LEVEL в контексте системного потока.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows Vista.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Правила соответствия DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

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

DEVPROPKEY

DEVPROPTYPE

IoGetDevicePropertyData