当前位置: 首页 > news >正文

大连设计网站公司谷歌seo服务

大连设计网站公司,谷歌seo服务,微信公众号发布wordpress,网站微信认证费用二叉树中创建一个MEMORY_AREA节点#xff1a; 二叉树中创建一个MEMORY_AREA节点#xff1a; MmCreateMemoryArea() 参数AddressSpace是MADDRESS SPACE结构指针#xff0c;所指向的数据结构代表着一个进程的用 户空间。 参数BaseAddress是个指针#xff0c;用来给定和返回内…二叉树中创建一个MEMORY_AREA节点 二叉树中创建一个MEMORY_AREA节点 MmCreateMemoryArea() 参数AddressSpace是MADDRESS SPACE结构指针所指向的数据结构代表着一个进程的用 户空间。 参数BaseAddress是个指针用来给定和返回内存区块的基地址 文章目录 二叉树中创建一个MEMORY_AREA节点MmCreateMemoryArea() MmCreateMemoryArea() /*** name MmCreateMemoryArea** Create a memory area.** param AddressSpace* Address space to create the area in.* param Type* Type of the memory area.* param BaseAddress* Base address for the memory area were about the create. On* input it contains either 0 (auto-assign address) or preferred* address. On output it contains the starting address of the* newly created area.* param Length* Length of the area to allocate.* param Attributes* Protection attributes for the memory area.* param Result* Receives a pointer to the memory area on successful exit.** return Status** remarks Lock the address space before calling this function.*/NTSTATUS STDCALL MmCreateMemoryArea(PMADDRESS_SPACE AddressSpace,ULONG Type,PVOID *BaseAddress,ULONG_PTR Length,ULONG Protect,PMEMORY_AREA *Result,BOOLEAN FixedAddress,ULONG AllocationFlags,PHYSICAL_ADDRESS BoundaryAddressMultiple) {PVOID EndAddress;ULONG Granularity;ULONG tmpLength;PMEMORY_AREA MemoryArea;DPRINT(MmCreateMemoryArea(Type %d, BaseAddress %p, *BaseAddress %p, Length %p, AllocationFlags %x, FixedAddress %x, Result %p)\n,Type, BaseAddress, *BaseAddress, Length, AllocationFlags,FixedAddress, Result);MmVerifyMemoryAreas(AddressSpace);//检测该AVL树是否存在问题//根据Type选择相应的粒度Granularity (MEMORY_AREA_VIRTUAL_MEMORY Type ? MM_VIRTMEM_GRANULARITY : PAGE_SIZE);//if 用户不要求从固定地址处开始分配if ((*BaseAddress) 0 !FixedAddress){//不受给定地址的约束,只要找到一个够大的空隙即可tmpLength PAGE_ROUND_UP(Length);//根据用户空间找到一块符合的Area并返回其首地址*BaseAddress MmFindGap(AddressSpace,tmpLength,Granularity,(AllocationFlags MEM_TOP_DOWN) MEM_TOP_DOWN);if ((*BaseAddress) 0){DPRINT(No suitable gap\n);return STATUS_NO_MEMORY;}}else//用户给定了基址就必须从那儿开始分配{tmpLength Length ((ULONG_PTR) *BaseAddress- (ULONG_PTR) MM_ROUND_DOWN(*BaseAddress, Granularity));*BaseAddress MM_ROUND_DOWN(*BaseAddress, Granularity);if (AddressSpace-LowestAddress MmSystemRangeStart *BaseAddress MmSystemRangeStart){//给定的空间为系统空间但是地址落在用户空间严重错误CHECKPOINT;CHECKPOINT;return STATUS_ACCESS_VIOLATION;}if (AddressSpace-LowestAddress MmSystemRangeStart (ULONG_PTR)(*BaseAddress) tmpLength (ULONG_PTR)MmSystemRangeStart){//所要求的区间跨越用户空间和系统空间的分界严重错误CHECKPOINT;CHECKPOINT;return STATUS_ACCESS_VIOLATION;}//测试要分配的区域完全落在指定地址空间内部if (BoundaryAddressMultiple.QuadPart ! 0){EndAddress ((char*)(*BaseAddress)) tmpLength-1;ASSERT(((ULONG_PTR)*BaseAddress/BoundaryAddressMultiple.QuadPart) ((DWORD_PTR)EndAddress/BoundaryAddressMultiple.QuadPart));}//确认所要求的区间尚术分配if (MmLocateMemoryAreaByRegion(AddressSpace,*BaseAddress,tmpLength) ! NULL){//所要求的区间已经分配失敗DPRINT(Memory area already occupied\n);return STATUS_CONFLICTING_ADDRESSES;}}//创建MEMORY AREA节点把这块区域分配出去MemoryArea ExAllocatePoolWithTag(NonPagedPool, sizeof(MEMORY_AREA),TAG_MAREA);RtlZeroMemory(MemoryArea, sizeof(MEMORY_AREA));MemoryArea-Type Type;MemoryArea-StartingAddress *BaseAddress;MemoryArea-EndingAddress (PVOID)((ULONG_PTR)*BaseAddress tmpLength);MemoryArea-Protect Protect;MemoryArea-Flags AllocationFlags;//MemoryArea-LockCount 0;MemoryArea-PageOpCount 0;MemoryArea-DeleteInProgress FALSE;//将所创建节点插入一又树MmInsertMemoryArea(AddressSpace, MemoryArea);*Result MemoryArea;DPRINT(MmCreateMemoryArea() succeeded (%p)\n, *BaseAddress);return STATUS_SUCCESS; }//二叉树中创建-个MEMORY AREA节点 /* 参数AddressSpace是MADDRESS SPACE结构指针所指向的数据结构代表着一个进程的用 户空间。 参数BaseAddress是个指针用来给定和返回内存区块的基地址 : 参数Length、Protect的意义 则不言自明。 参数FixedAddress为TRUE说明给定的地址不容改变为FALSE则表示若不能满足 要求也可以浮动, 。 参数AllocationFlags : 分配标志TopDown ? TopUp 参数BoundaryAddressMultiple此分配不得跨越的物理地址倍数 */
http://www.dnsts.com.cn/news/277485.html

相关文章:

  • 网站建设背景需要写些什么软件徐州网站制作怎样
  • 站长工具权重查询云南最大的网络科技公司
  • 珠海网站优化巩义便宜网站建设价格
  • 医疗器械外贸网站建设wordpress ajax请求
  • 网上做任务网站有哪些做网站公司
  • wordpress中文网站模板下载个人网页制作
  • 石家庄建站工具dw网页设计素材包免费下载
  • 湛江企业模板建站如何汉化wordpress
  • 消防设备网站建设织梦安防网站源码
  • php企业网站开发实训报告网站建设概括
  • 左侧固定导航栏的网站wordpress 连接微信
  • 佛山市网站建站网站建设物流网站的规划
  • 网站建设是什么职位教育网站建设需求文档
  • wordpress 仿站 主题国外效果做的好的网站
  • 做网站的赢利点建筑人才招聘
  • 百度商桥怎么绑定网站关于网站建设的专家研讨会
  • 建设网站用什么app做电影网站涉及的侵权问题
  • 公司网站制作教程超八成搜索网站存在信息泄露问题
  • 建设网站的目的和功能互联网媒体广告公司
  • wordpress站内链接跳转四川省城乡住房与建设厅网站
  • 根据百度地图做网站2018网站建设合同
  • seo网站快速排名软件wordpress 家庭照片
  • 渭南网站建设公司定制网站建设公司个人视频网站制作
  • 阿里云服务器做电影网站吗长春做网站wang
  • 单页面网站怎么优化重庆市建设工程信息网证件信息
  • 深圳网站seo 乐云践新工程公司经营范围大全
  • 做企业网站用什么字体推荐一个可以做ppt的网站
  • 手机网站开发按返回弹出提示窗口网页制作基本步骤
  • 自由型网站net和cn哪个做网站好
  • 营销网站建设多少钱工厂外发订单哪里去找