DMDLL_PCIAllocateDMAMemory

DMA에 사용할 수 있는 물리적으로 연속적인 메모리를 할당하고, 해당하는 주소정보를 리턴합니다


Description

int DMDLL_PCIAllocateDMAMemory( 
    IN DMHANDLE         OpenedHandle,
    IN DMA_MEMORY_REQ    *pDMARequest,
    OUT DMA_MEMORY    *pResource
)

Parameters

OpenedHandle
    작업중이던 디바이스 핸들, DMDLL_OpenDeviceForInterfaceDeviceStack()함수를 통해서 얻은 권한핸들이어야 합니다
pDMARequest
    할당하려는 메모리의 요구조건을 제공합니다
pResource
    할당된 메모리의 정보를 리턴합니다

Return Values

return  int
    작업이 성공할 경우 DMSTAT_SUCCESS 리턴

Changelog


Examples

DMA_MEMORY_REQ     DMAReq; // 요청하는 내용
DMA_MEMORY    DMARes; // 결과가 얻어지는 내용

// 아래의 내용은 1MBytes의 DMA를 위한 메모리를 할당요청하는 예재이다.
DMAReq.Size = 0x100000; // 1MBytes
DMAReq.HighestPhysicalAddress = 0xFFFFFFFF; // 32bit 최대    
// 64비트까지 가능하다

DMAReq.LowestPhysicalAddress = 0x0; 
DMAReq.BoundaryAddressMultiple = 0x100000;  
// Alignment, 1MB

dmStatus = DMDLL_PCIAllocateDMAMemory(DMHandle, &DMAReq, &DMARes);

results matching ""

    No results matching ""