[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Никак не могу выделить в памяти кусок. Использую Windriver (5.04). Вот код:
#include "d:/windriver/include/windrvr.h" HANDLE hWD; int main(int argc, char *argv[]) WD_DMA dma; RegisterWinDriver(); BZERO(dma);
E-mail:
info@telesys.ru
#include
{
dma.dwBytes = 10*4096;
dma.pUserAddr = NULL;
dma.dwOptions = DMA_KERNEL_BUFFER_ALLOC;
// lock region in memory & get page list
WD_DMALock(hWD,&dma);
// on return dma.Page has the list of physical addresses
if (dma.hDma==0)
printf("Failed allocating buffer for DMA\n");
else
printf("Pages %u size %u \n", dma.dwPages, dma.Page[0].dwBytes);
WD_DMAUnlock(hWD,&dma);
}
Всегда пишет Failed allocating buffer for DMA.
Может кто знает где ошибка или как это сделать по другому?
Ответы