DMDLL_PCIMapMemory
특정 물리메모리주소로부터 연속적인 일정부분의 크기의 메모리를 응용프로그램에서 접근할 수 있도록 가상주소를 매핑하는 함수입니다
Description
int DMDLL_PCIMapMemory(
IN DMHANDLE OpenedHandle,
IN MAP_MEMORY_REQ *pMapRequest,
OUT MAP_MEMORY *pResource
)
Parameters
OpenedHandle
작업중이던 디바이스 핸들, DMDLL_OpenDeviceForInterfaceDeviceStack()함수를 통해서 얻은 권한핸들이어야 합니다
pMapRequest
매핑하려는 메모리의 요구조건을 제공합니다
pResource
매핑된 가상 메모리의 정보를 리턴합니다
Return Values
return int
작업이 성공할 경우 DMSTAT_SUCCESS 리턴
Changelog
Examples
MAP_MEMORY_REQ MapReq; // 요청하는 내용
MAP_MEMORY MapRes; // 결과가 얻어지는 내용
// 아래의 내용은 ROMBIOS 0xF0000 번지부터 64KBytes의
// 물리메모리를 접근하는 가상주소를 매핑하는 예재이다.
MapReq.Size = 0x10000; // 64KBytes
MapReq.PhysicalAddress = 0xF0000; // 64비트까지 가능하다
dmStatus = DMDLL_PCIMapDMAMemory(DMHandle, &MapReq, &MapRes);