ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

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,539 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,539 Views)