Функция RtlIoEncodeMemIoResource (wdm.h)
Подпрограмма RtlIoEncodeMemIoResource обновляет структуру IO_RESOURCE_DESCRIPTOR для описания диапазона адресов портов операций ввода-вывода или памяти.
Синтаксис
NTSYSAPI NTSTATUS RtlIoEncodeMemIoResource(
[in] PIO_RESOURCE_DESCRIPTOR Descriptor,
[in] UCHAR Type,
[in] ULONGLONG Length,
[in] ULONGLONG Alignment,
[in] ULONGLONG MinimumAddress,
[in] ULONGLONG MaximumAddress
);
Параметры
[in] Descriptor
Указатель на обновляемую структуру IO_RESOURCE_DESCRIPTOR .
[in] Type
Тип ресурса диапазона адресов. Этот параметр может иметь значение CmResourceTypeMemory, CmResourceTypeMemoryLarge или CmResourceTypePort.
[in] Length
Длина диапазона назначаемых адресов в байтах.
[in] Alignment
Выравнивание начального адреса диапазона адресов в байтах.
[in] MinimumAddress
Минимальный адрес, который можно назначить устройству.
[in] MaximumAddress
Максимальный адрес, который можно назначить устройству.
Возвращаемое значение
RtlIoEncodeMemIoResource возвращает значение NTSTATUS. Эта подпрограмма может возвращать одно из следующих значений:
Код возврата | Описание |
---|---|
|
Структура IO_RESOURCE_DESCRIPTOR обновлена. |
|
Указанное значение length или Alignment не может быть закодировано в IO_RESOURCE_DESCRIPTOR структуре. |
|
Один или несколько указанных параметров были недопустимы. |
Комментарии
Адреса, длина которых превышает 32 бита, должны соответствовать определенным ограничениям выравнивания, в противном случае подпрограмма возвращает STATUS_UNSUCCESSFUL.
Длина адреса | Ограничение выравнивания |
---|---|
40 бит | Наименьшие 8 битов должны быть равны нулю. |
48 бит | Наименьшие 16 бит должны быть равны нулю. |
64 бита | Наименьшие 32 бита должны быть равны нулю. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень |