rtlIoEncodeMemIoResource 函数 (wdm.h)

RtlIoEncodeMemIoResource 例程更新IO_RESOURCE_DESCRIPTOR结构,以描述内存或 I/O 端口地址的范围。

语法

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

地址范围的资源类型。 此参数可以是 CmResourceTypeMemoryCmResourceTypeMemoryLargeCmResourceTypePort

[in] Length

可分配地址范围的长度(以字节为单位)。

[in] Alignment

地址范围的起始地址的对齐方式(以字节为单位)。

[in] MinimumAddress

可分配给设备的最小地址。

[in] MaximumAddress

可分配给设备的最大地址。

返回值

RtlIoEncodeMemIoResource 返回 NTSTATUS 值。 此例程可能会返回以下值之一:

返回代码 说明
STATUS_SUCCESS
已更新IO_RESOURCE_DESCRIPTOR结构。
STATUS_UNSUCCESSFUL
长度对齐的指定值无法在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)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何级别

另请参阅

IO_RESOURCE_DESCRIPTOR

RtlIoDecodeMemIoResource