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

Подпрограмма RtlCmEncodeMemIoResource обновляет структуру CM_PARTIAL_RESOURCE_DESCRIPTOR для описания диапазона адресов портов операций ввода-вывода или памяти.

Синтаксис

NTSYSAPI NTSTATUS RtlCmEncodeMemIoResource(
  [in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
  [in] UCHAR                           Type,
  [in] ULONGLONG                       Length,
  [in] ULONGLONG                       Start
);

Параметры

[in] Descriptor

Указатель на обновляемую структуру CM_PARTIAL_RESOURCE_DESCRIPTOR .

[in] Type

Тип ресурса памяти. Этот параметр может иметь значение CmResourceTypeMemory, CmResourceTypeMemoryLarge или CmResourceTypePort.

[in] Length

Длина диапазона выделенных адресов в байтах.

[in] Start

Начальный адрес диапазона адресов памяти или портов ввода-вывода.

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

RtlCmEncodeMemIoResource возвращает значение NTSTATUS. Эта подпрограмма может возвращать одно из следующих значений:

Код возврата Описание
STATUS_SUCCESS
Обновлена структура CM_PARTIAL_RESOURCE_DESCRIPTOR .
STATUS_UNSUCCESSFUL
Указанное значение параметра Length не может быть закодировано в CM_PARTIAL_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 Любой уровень

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

CM_PARTIAL_RESOURCE_DESCRIPTOR

RtlCmDecodeMemIoResource