Protecting Active Hardware Resources from External Access

Updated Aug 24, 2026

Issue Details

I want to verify whether other applications can access or configure my cDAQ, cRIO or PXIe hardware resources while my application is actively running. How can I ensure that no other software automatically modifies or uses the PXIe cards mid-operation? 

Solution

NI-DAQmx and NI Modular Instrument (MI) drivers prevent external applications from modifying hardware resources mid-operation through driver-level resource reservation. Therefore, another application cannot access an already reserved resource and cannot change or configure it mid-operation.

 

As long as the resource session exists and is currently reserved/in-use, that hardware resource cannot be accessed by another application. 

Additional Information

When a DAQmx task starts or otherwise enters the Reserved or Committed states, resources associated with that task such as clocks, channels, trigger lines, or buffer memory are acquired exclusively by the task.  

The DAQmx driver uses a Task State Model to define the current state of a Task. A Task includes one or more virtual channels. A Virtual Channel includes a physical channel (the physical terminal/pin on your devices) as well as any relevant channel-specific information, such as measurement range, custom scaling or terminal configuration.

You can see the diagram of the Task State Model below.

Image_2026-07-27_17-34-08.png

 

When a Task begins operation, it needs to pass through the Reserved State. When entering the Reserved State, the resources (hardware) the task uses are acquired exclusively to prevent other tasks from using these resources and interfere with the operation.

 

The DAQmx driver has specific error codes that appear when an application attempts to use resources that are already reserved and in-use. You can read about these errors in the following articles: