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
位址範圍的資源類型。 此參數可以是 CmResourceTypeMemory、 CmResourceTypeMemoryLarge 或 CmResourceTypePort。
[in] Length
可指派位址範圍的長度,以位元組為單位。
[in] Alignment
位址範圍起始位址的對齊方式,以位元組為單位。
[in] MinimumAddress
可指派給裝置的最小位址。
[in] MaximumAddress
可指派給裝置的最大位址。
傳回值
RtlIoEncodeMemIoResource 會傳回 NTSTATUS 值。 此例程可能會傳回下列其中一個值:
傳回碼 | Description |
---|---|
|
已更新IO_RESOURCE_DESCRIPTOR結構。 |
|
長度或對齊的指定值無法在IO_RESOURCE_DESCRIPTOR結構中編碼。 |
|
一或多個指定的參數無效。 |
備註
長度大於 32 位的地址必須滿足特定對齊限制,否則例程會傳回STATUS_UNSUCCESSFUL。
地址長度 | 對齊限制 |
---|---|
40 位 | 最低8位必須是零。 |
48 位 | 最低16位必須是零。 |
64 位元 | 最低32位必須是零。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows 中使用。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | 任何層級 |