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

建站推广免费公司怎样从网上卖东西啊

建站推广免费公司,怎样从网上卖东西啊,义务教育标准化建设网站,linux 部署wordpress在实际开发过程中#xff0c;经常希望能在应用程序中直接读写设备的物理空间。以前在做WinCE6.0下的MEMMgr时通过秘密加载一个内核态驱动实现了这个需求。但这种方式有一个明显的缺陷#xff0c;每次读写都必须经由它才能完成。如果只是读取GPIO#xff0c;那问题不算大。如… 在实际开发过程中经常希望能在应用程序中直接读写设备的物理空间。以前在做WinCE6.0下的MEMMgr时通过秘密加载一个内核态驱动实现了这个需求。但这种方式有一个明显的缺陷每次读写都必须经由它才能完成。如果只是读取GPIO那问题不算大。如果想通过这种方式实现视频播放的加速就比较困难了。估计非但不能加速反而会变得更慢。 早先曾与ZL仔细的讨论过这个问题他当时在WinCE6.0上移植TCPMP发现播放视频不太流畅于是想通过直接写显存进行加速。目的很明确在应用中申请一段虚拟空间通过某种方法将其映射到显存上视频解码过程中直接往映射过的虚拟空间上写。这种方法与使用GAPI有一点类似。 实现这个需求需要用到函数VirtualCopyEx()。看看帮助中关于它的说明This function dynamically maps a virtual address to a physical address by creating a new page-table entry.This function is callable in kernel mode and in user mode, when the source and destination process handles are the active process.This function is similar to VirtualCopy, except VirtualCopyEx requires handles to the source and destination process. 据此基本可以确定我们的确可以在应用中申请一段虚拟空间然后通过这个函数将其映射到某段物理空间上。其中目标进程是我们的应用而源进程是NK.exe。为了实现在NK.exe中执行VirtualCopyEx()可以加载一个内核态的驱动。更为方便的方法是移植一个OALIOCTL并在IOControl()中添加一个case。这样应用程序在做内存映射时就无需打开某个流驱动直接调用KernelIoControl()即可。 OALIOCTL中添加的关键代码如下。  1 typedef struct {  2     void*    pvDestMem;  3     DWORD    dwPhysAddr;  4     DWORD    dwSize;  5 } VIRTUAL_COPY_EX_DATA;  6   7 #define IOCTL_VIRTUAL_COPY_EX CTL_CODE (FILE_DEVICE_UNKNOWN,3333,METHOD_BUFFERED,FILE_ANY_ACCESS)  8   9  10 case IOCTL_VIRTUAL_COPY_EX: 11 { 12     VIRTUAL_COPY_EX_DATA *p  (VIRTUAL_COPY_EX_DATA*)pInBuf; 13     HANDLE hDst  (HANDLE)GetDirectCallerProcessId(); 14     HANDLE hSrc  (HANDLE)GetCurrentProcessId(); 15     fRet  VirtualCopyEx(hDst,p-pvDestMem,hSrc,(LPVOID)p-dwPhysAddr,p-dwSize, 16      PAGE_READWRITE|PAGE_PHYSICAL|PAGE_NOCACHE); 17 }break; 应用程序中进行内存映射的关键代码如下。 1 volatile LPVOID GetVirtual(DWORD dwPhyBaseAddress, DWORD dwSize)  2 {  3     volatile LPVOID pVirtual;  4     VIRTUAL_COPY_EX_DATA vced;  5       6     if(dwPhyBaseAddress0xFFF)  7     {  8         return NULL;  9     } 10     vced.dwPhysAddr  dwPhyBaseAddress8; 11     pVirtual  VirtualAlloc(0,dwSize,MEM_RESERVE,PAGE_NOACCESS); 12     vced.pvDestMem  pVirtual; 13     vced.dwSize  dwSize; 14     KernelIoControl(IOCTL_VIRTUAL_COPY_EX,vced, sizeof(vced), NULL, NULL, NULL); 15     return pVirtual; 16 } 17  18 // WinCE6.0模拟器中应用程序直接写屏 19 PBYTE pLCDBuf  (PBYTE)GetVirtual(0x33f00000,0x100000); 20 memset(pLCDBuf,0,0x100000); 21  这种方法在WinCE6.0的模拟器中测试了一下能达到预期的效果。
http://www.yutouwan.com/news/186913/

相关文章:

  • 网站建设中倒计时模板做海报 画册的素材网站
  • 3yx这个网站做刷单WordPress自动采集翻译插件
  • 个人网站 服务器八闽视频app下载
  • 劲松网站建设公司视频网站应该怎么做
  • 网站建设怎么提需求做百度手机网站优
  • 中国嘉兴门户网站武昌做网站多少钱
  • qingdao城乡住房建设厅网站怎么在地图上设置自己店的位置
  • 注销建设工程规划许可证在哪个网站海外网络服务商
  • 手机端网站开发书籍低代码平台的设计与实现
  • 超级采购小程序怎么注册杭州百度整站优化服务
  • 网站关键词表格下载网站开发与设计论文
  • 装修网站免费为你做的网站
  • 网络公司企业网站源码在线网页设计器
  • 如何将网站加入百度图 推广网络规划设计师备考
  • 关于域名用于非网站用途的承诺书某集团网站建设规划书
  • 电商网站建设内容规划桂林优化公司
  • 电子商务的网站建设名词解释网站建设 需求
  • 手机怎么制作网站教程视频教程网站内链设置
  • 移动端漂亮网站建设网页
  • 建设网站收费标准时间轴网站代码
  • 网站建设你懂的wordpress怎么改页面底部
  • 北京pc端网站开发苏ICP备网站建设中企动力无锡
  • 哈尔滨网站开发杭州模板建站
  • 网站建设一样注意什么北京中国建设部网站
  • 网站运营包括哪些网站如何做流量赚钱
  • 网站赚流量解决方案的网站建设
  • 紫金网站建设公司温州市建设工程招投标网站
  • 邯郸 网站建设深圳考试培训网站建设
  • 航空网站建设wordpress汉化主题
  • 上海闵行建网站公司新加坡网站域名