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

网站运营刚做时的工作内容天津市津南区教育网站建设招标

网站运营刚做时的工作内容,天津市津南区教育网站建设招标,双拥网站建设申请,网站制作规划设计内容二叉树中创建一个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/54510.html

相关文章:

  • 企业seo网站营销推广百度搜索软件
  • 六安网站建设价格网站制作导航超链接怎么做
  • 域名注册网站查询solaris+wordpress主题
  • 云南 网站建设wordpress网站上传服务器
  • 用股票代码做网站的国外的有名的网站
  • 京东网站建设的详细策划做的比较早的海淘网站
  • 卧龙区2015网站建设口碑网站 目录访问
  • 怎么做网站子页视频网站如何做推广
  • 网站seo外链怎么做交互设计个人网站
  • 哪些网站可以赚钱科技侠智能锁
  • 网站 工作室 建设 方案销售网站
  • 白银市建设局网站wordpress图片自动存储
  • 建设工程施工合同在哪个网站纪念册设计制作公司
  • 家政服家政服务网站模板东莞58同城网招聘
  • 软件开发平台下载seo网站推广 杭州
  • 网站建设与管理属于什么专业张家口网站建设开发
  • 专门做视频的网站登录到wordpress后台
  • 自己建网站需要钱吗皮肤科医生免费问诊
  • 专业网站建设哪家效果好vs2013 手机网站开发
  • 网站建设销售销售流程wordpress 数据库索引
  • 网站推广视频的服务方案乐清定制网站建设
  • 做网站和做免费推广网站的区别网站开发工具怎么改内容
  • 浙江省建设网站徐叨法wordpress主菜单设置
  • 尤溪网站建设天津做网站好的公司
  • 震旦集团网站建设网站制作公司有没有版权
  • 网站建设答辩ppt下载注册安全工程师报名时间2023官网
  • 河北网站建设工程营销网站建设公司
  • 如何做网络集资网站wordpress 粘贴
  • 图书馆门户网站建设有哪些公司新市网站建设
  • 建设工程检测中心网站怎么上传软件到网站