Функция IoGetDevicePropertyData (wdm.h)
Подпрограмма IoGetDevicePropertyData извлекает текущее значение для свойства устройства.
Синтаксис
NTSTATUS IoGetDevicePropertyData(
[in] PDEVICE_OBJECT Pdo,
[in] const DEVPROPKEY *PropertyKey,
[in] LCID Lcid,
ULONG Flags,
[in] ULONG Size,
[out] PVOID Data,
[out] PULONG RequiredSize,
[out] PDEVPROPTYPE Type
);
Параметры
[in] Pdo
Указатель на объект физического устройства (PDO) для запрашиваемого устройства.
[in] PropertyKey
Указатель на структуру DEVPROPKEY , задающую ключ свойства устройства.
[in] Lcid
Идентификатор языкового стандарта. Присвойте этому параметру значение LCID для конкретного языка или LOCALE_NEUTRAL. LCID LOCALE_NEUTRAL указывает, что свойство не зависит от языка (т. е. не относится к какому-либо языку). Не устанавливайте для этого параметра значение LOCALE_SYSTEM_DEFAULT или LOCALE_USER_DEFAULT. Дополнительные сведения о значениях LCID для конкретного языка см. в разделе Структура LCID.
Flags
Зарезервировано для системного использования. Драйверы должны задать для этого значения значение 0.
[in] Size
Размер (в байтах) буфера, на который указывают данные .
[out] Data
Указатель на данные свойства устройства.
[out] RequiredSize
Указатель на ULONG для получения размера сведений о свойстве, возвращаемых в разделе Данные. Если IoGetDevicePropertyData возвращает STATUS_BUFFER_TOO_SMALL, вызывающий объект может использовать это значение для выделения буфера правильного размера.
[out] Type
Указатель на значение DEVPROPTYPE . Если IoGetDevicePropertyData завершается успешно, подпрограмма использует Type для предоставления типа данных, возвращаемых в буфере данных .
Возвращаемое значение
IoGetDevicePropertyData возвращает значение NTSTATUS. Эта подпрограмма может возвращать одно из следующих значений:
Код возврата | Описание |
---|---|
|
Операция успешно выполнена. Буфер данных содержит извлеченные данные. **Тип* содержит тип полученных данных. |
|
Буфер данных слишком мал. **RequiredSize* содержит необходимую длину буфера. |
|
Указанное свойство устройства не найдено. |
Комментарии
Драйверы режима ядра используют подпрограмму IoGetDevicePropertyData для получения свойств устройства, определенных как часть единой модели свойств устройства.
Сведения о типах свойств, доступных для использования этой подпрограммой, см . в разделе DEVPROP_TYPE_BYTE и смежных страницах для DEVPROP_TYPE_*
.
Драйверы могут использовать подпрограмму IoSetDevicePropertyData для изменения свойства устройства.
Вызывающие устройства IoGetDevicePropertyData должны выполняться по адресу IRQL <= APC_LEVEL в контексте системного потока.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows Vista. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |