Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

receiving error:10447 while acquisition

I have an application running on Computer with 2GB RAM, 80 GB Hard Drive,3.0GHz Pentium4 processor. The application acquires large amount of data (8 million samples-each 2bytes of data). The application works fine if I try to acquire 4million samples using scan_start() DAQ function. I am receiving an error -10447 Pgae can't be granted by OS for 8million samples.

I don't understnad why? I have enough memory (RAM-2GB and set the virual memory/swap space to use 4GB). I have allocated the required memory using virtualAlloc() function and locked it for the application using virtualLock() and sending this buffer to scan_start() function.

I have been using the same above mentioned procedure for last two years and was working fine f
or 4 million samples.

I have allocated memory in different ways(dynamic memory allocation, virtual allocation, statically) to avoid this problem but didn't work.


I found some info knowledge base saying 64MB is the maximum memory you can lock for a single application. I am able to allocate and lock the memory for 8 million samples before calling the scan_start() function. But when it enter into the scan_start fucntion, the error is retuned with ID: 10447 saying page can't be granted by OS.

It was revealed that OS can grant the memory for 8millions sample and can lock that much memory by single applicaion, which I tried and working fine.

I strongly suspect some thing is wrong with NI_DAQ drivers, any suggestion?

Thanks,
rampi
0 Kudos
Message 1 of 2
(2,500 Views)
I'm assumming that your operating system is Windows NT 4, Windows 2000, or Windows XP. For others reading, this is a link to the above referenced KnowledgeBase article.


NI-DAQ does not require you to invoke the VirtualLock function. NI-DAQ will page lock the buffer passed to the SCAN_Start function. It is possible that, since the buffer has already been paged locked by your code, that there are insufficient resources (i.e., kernel-mode Page Table Entries (PTEs)) available for NI-DAQ to page lock the buffer.


Remove the invocation of the VirtualLock function and see if that helps.

--
Geoff Schmit
Huskie Robotics, FIRST Team 3061 Lead Mentor
http://team3061.org/
@team3061
0 Kudos
Message 2 of 2
(2,500 Views)