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


Функция 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. Эта подпрограмма может возвращать одно из следующих значений:

Код возврата Описание
STATUS_SUCCESS
Структура IO_RESOURCE_DESCRIPTOR обновлена.
STATUS_UNSUCCESSFUL
Указанное значение length или Alignment не может быть закодировано в IO_RESOURCE_DESCRIPTOR структуре.
STATUS_INVALID_PARAMETER
Один или несколько указанных параметров были недопустимы.

Комментарии

Адреса, длина которых превышает 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 Любой уровень

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

IO_RESOURCE_DESCRIPTOR

RtlIoDecodeMemIoResource