-
RtlMoveMemory
鎖定
從指定內存中複製內存至另一內存裏.簡稱:複製內存.
RtlCopyMemory非重疊複製,而RtlMoveMemory是重疊複製。
- 中文名
- RtlMoveMemory
- 功 能
- 複製內存
- 返回值
- 空
- 要 求
- 包含在Ntoskrnl.lib
RtlMoveMemory功能
根據C99定義,memcpy沒有考慮重疊的部分,因此他不能保證重疊部分是否被複制。
為了保證重疊部分也被正確複製,C99規定memmove函數完成這個任務。
move版對兩個內存是否重疊進行了判斷,這種判斷卻犧牲了速度。
如果程序員能確保複製的內存沒有重疊,請選擇使用memcpy。
如果不能保證,請選擇使用memmove函數。
RtlMoveMemory基本概念
RtlMoveMemory語法
VOID RtlMoveMemory
(VOID UNALIGNED *Destination,
const VOID UNALIGNED *Source,
SIZE_T Length);
RtlMoveMemory參數
Destination :指向移動目的地址的指針。
Source :指向要複製的內存地址的指針。
Length :指定要複製的字節數。
RtlMoveMemory返回值
空
RtlMoveMemory其他信息
傳遞到RtlMoveMemory的 (Source + Length)的地址範圍可以和Destination 發生重疊。
如果這兩個內存塊駐留,則調用RtlMoveMemory者可以運行在任何IRQL。否則,調用者必須運行在IRQL<= APC_LEVEL。
RtlMoveMemory要求
系統 | Windows 2000或更高版本 |
---|---|
頭文件 | Wdm.h, Ntddk.h 或 Ntifs.h |
靜態庫 | 包含在Ntoskrnl.lib。 |
任何級別(見備註部分) |
- 參考資料
-
- 1. RtlCopyMemory和RtlMoveMemory的區別 .不歪的專欄.2011-11-27[引用日期2015-09-26]
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:11次歷史版本
- 最近更新: 黎媛21