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

内存的资源类型。 此参数可以是 CmResourceTypeMemoryCmResourceTypeMemoryLargeCmResourceTypePort

[in] Length

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

[in] Start

内存或 I/O 端口地址范围的起始地址。

返回值

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

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

另请参阅

CM_PARTIAL_RESOURCE_DESCRIPTOR

RtlCmDecodeMemIoResource