RtlCmEncodeMemIoResource 函数 (wdm.h)
RtlCmEncodeMemIoResource 例程更新CM_PARTIAL_RESOURCE_DESCRIPTOR结构,以描述内存或 I/O 端口地址的范围。
语法
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
内存或 I/O 端口地址范围的起始地址。
返回值
RtlCmEncodeMemIoResource 返回 NTSTATUS 值。 此例程可能会返回以下值之一:
返回代码 | 说明 |
---|---|
|
已更新CM_PARTIAL_RESOURCE_DESCRIPTOR结构。 |
|
长度的指定值不能在CM_PARTIAL_RESOURCE_DESCRIPTOR结构中编码。 |
|
一个或多个指定的参数无效。 |
注解
长度大于 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 | 任何级别 |