阅读:2197回复:6
显卡驱动,在xp/vista工作正常,2003不行
显卡驱动,在xp/vista工作正常,2003不行。调试发现在2003上调用VideoPortMapMemory返回失败,有没人知道原因?
另外,如果要支持休眠,需要实现哪些东西? |
|
沙发#
发布于:2008-07-08 17:24
返回的代码是多少?
|
|
|
板凳#
发布于:2008-07-15 12:06
ERROR_INVALID_PARAMETER。
ULONG inIoSpace = VIDEO_MEMORY_SPACE_MEMORY; Status = VideoPortMapMemory(DeviceExtension, DeviceExtension->PhysicalFrameBufferAddress, &MapInformation->VideoRamLength, &inIoSpace, &MapInformation->VideoRamBase); 其中DeviceExtension->PhysicalFrameBufferAddress是我在系统内存中malloc出来的 |
|
地板#
发布于:2008-07-15 15:36
你的内存是怎么分配的,用ExAlloc?分配的是分页还是非分页的内存?
|
|
|
地下室#
发布于:2008-07-17 17:57
是调用MmAllocateContiguousMemory
|
|
5楼#
发布于:2008-07-17 18:39
换成VideoPortAllocatePool也不好使
fb = VideoPortAllocatePool(DeviceExtension, VpNonPagedPool, 8*1024*1024, GKFB_TAG); if (fb == NULL) { GK_DEBUG(T_ERROR, ("fb alloc error\n")); return (FALSE); } DeviceExtension->FrameBuffer = fb; DeviceExtension->PhysicalFrameBufferAddress = MmGetPhysicalAddress(fb); |
|
6楼#
发布于:2008-07-18 23:52
Maybe you can use another methot,such as file share, ExAll...,
|
|
|