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