19,502
社区成员
发帖
与我相关
我的任务
分享
#define ISA_BUS_ADDR (0x000D0000)
#define ISA_MEM_SIZE (0x1000)
char szBuff[ISA_MEM_SIZE];
PVOID pMem = NULL;
DWORD dwPhysAddr = NULL;
pMem = VirtualAlloc(0, ISA_MEM_SIZE, MEM_RESERVE, PAGE_NOACCESS);
if (pMem)
{
if (HalTranslateBusAddress())/* 此处 */
if (VirtualCopy(pMem, (PVOID)dwPhysAddr, ISA_MEM_SIZE, PAGE_READWRITE | PAGE_NOCACHE | PAGE_PHYSICAL))
memcpy(szBuff, pMem, ISA_MEM_SIZE);
VirtualFree(pMem, ISA_MEM_SIZE, MEM_RELEASE);
}
#define ISA_BUS_ADDR (0x000D0000)
#define ISA_MEM_SIZE (0x1000)
char szBuff[ISA_MEM_SIZE];
PVOID pMem = NULL;
PHYSICAL_ADDRESS paIsaBusAddr, paIsaPhysAddr;
pMem = VirtualAlloc(0, ISA_MEM_SIZE, MEM_RESERVE, PAGE_NOACCESS);
if (pMem)
{
paIsaBusAddr.QuadPart = ISA_BUS_ADDR;
if (HalTranslateBusAddress(Eisa, (ULONG)1, paIsaBusAddr, NULL, &paIsaPhysAddr))
if (VirtualCopy(pMem, (PVOID)&(paIsaPhysAddr.u.LowPart), ISA_MEM_SIZE, PAGE_READWRITE | PAGE_NOCACHE | PAGE_PHYSICAL))
memcpy(szBuff, pMem, ISA_MEM_SIZE);
VirtualFree(pMem, ISA_MEM_SIZE, MEM_RELEASE);
}