VOID RTL_Test() { const int BUFSIZE=1024; UCHAR* pBuf1=(UCHAR*)ExAllocatePool(PagedPool,BUFSIZE); // 分配内存 KdPrint(("分配的内存地址pBuf1=%08X",pBuf1)); UCHAR* pBuf2=(UCHAR*)ExAllocatePool(PagedPool,BUFSIZE); // 分配内存 KdPrint(("分配的内存地址pBuf2=%08X",pBuf2)); RtlZeroMemory(pBuf1,BUFSIZE); // 内存清零 KdPrint(("将内存地址pBuf1=%08X初始化为零",pBuf1)); RtlFillMemory(pBuf2,BUFSIZE,0xAA); // 内存填充为0xAA KdPrint(("将内存地址pBuf2=%08X填充为0xAA",pBuf2)); if (BUFSIZE==RtlCompareMemory(pBuf1,pBuf2,BUFSIZE)) // 内存比较 { KdPrint(("内存 %08X 和内存 %08X 相等",pBuf1,pBuf2)); } else { KdPrint(("内存 %08X 和内存 %08X 不相等",pBuf1,pBuf2)); } RtlCopyMemory(pBuf2,pBuf1,BUFSIZE); // 内存拷贝 KdPrint(("将内存地址pBuf1=%08X拷贝到内存地址pBuf2=%08X",pBuf1,pBuf2)); RtlMoveMemory(pBuf2,pBuf1,BUFSIZE); // 内存移动 KdPrint(("将内存地址pBuf1=%08X移动到内存地址pBuf2=%08X",pBuf1,pBuf2)); if (BUFSIZE==RtlCompareMemory(pBuf1,pBuf2,BUFSIZE)) // 内存比较 { KdPrint(("内存 %08X 和内存 %08X 相等",pBuf1,pBuf2)); } else { KdPrint(("内存 %08X 和内存 %08X 不相等",pBuf1,pBuf2)); } ExFreePool(pBuf1); // 释放内存 ExFreePool(pBuf2); }
RTL内存函数
最新推荐文章于 2022-11-12 12:21:43 发布