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