Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

dll collision with nimxprxu.dll

I am having trouble with the national instrument drivers. I am programming in C++ and have 3 National instrument cards installed on my system, a PCICAN bus card and 2 PCI-6110 boards.
I have several other DLLS that are being relocated "due to collision with C:\WINNT\System\nimxprxu.dll".
I'm running under windows NT4.0.

My other hardware is definately being affected by this issue. Does anyone know what nimxpruxu.dll is used for?
Thanks,
Jane Pavlich
0 Kudos
Message 1 of 4
(3,644 Views)
nimxprxu.dll is a component that is used by traditional DAQ to disable the DAQmx driver for a device that is being used by traditional DAQ.

The fact that other DLLs have a collision with nimxprxu.dll should not cause a problem. That simply means that your other DLLs have a "preferred base address" that is the same as or overlaps with the base address of nimxprxu.dll. The Windows loader will load those other DLLs at a different address, and this doesn't usually cause a problem (the only exception is when a DLL is written in such a way that it must be loaded at a certain address, or needs to be loaded at the same address in all processes).

Most likely, this message is not the cause of your problem. However, if you really think this collision is causing a problem, you can change the preferred base address of nimxprxu.dll to another address by using the rebase.exe program in the Windows Platform SDK. nimxprxu.dll definitely doesn't care about the address at which its loaded, so you can change it without issue. I would be very curious to know if that fixes your problem. What are the DLLs that are being relocated?

Joe

P.S. By the way, if you aren't using traditional DAQ, then just uninstall it and this DLL will never be loaded.
0 Kudos
Message 2 of 4
(3,642 Views)
Thanks for responding Joe.
I am using the traditional DAQ. The libraries that nimxprxu.dll is colliding with are the following

the following are for a program called IDL from RSI Inc.
LDR: Automatic DLL Relocation in GroundWinds.exe
LDR: Dll Idl32.dll base 10000000 relocated due to collision with C:\WINNT\System32\nimxprxu.dll
Loaded 'D:\Program Files\RSI\IDL60\bin\bin.x86\idl32.dll', no matching symbolic information found.
LDR: Automatic DLL Relocation in GroundWinds.exe
LDR: Dll UG3220.dll base 10000000 relocated due to collision with C:\WINNT\System32\nimxprxu.dll
Loaded 'D:\Program Files\RSI\IDL60\bin\bin.x86\ug3220.dll', no matching symbolic information found.
LDR: Automatic DLL Relocation in GroundWinds.exe
LDR: Dll MesaGLU4_0.dll base 10000000 relocated due to collision with C:\WINNT\System32\nimxprxu.dll
Loaded 'D:\Program Files\RSI\IDL60\bin\bin.x86\MesaGLU4_0.dll', no matching symbolic information found.
LDR: Automatic DLL Relocation in GroundWinds.exe
LDR: Dll MesaGL4_0.dll base 10000000 relocated due to collision with C:\WINNT\System32\nimxprxu.dll
Loaded 'D:\Program Files\RSI\IDL60\bin\bin.x86\MesaGL4_0.dll', no matching symbolic information found.


LDR: Automatic DLL Relocation in GroundWinds.exe
LDR: Dll osmesa4_0.dll base 10000000 relocated due to collision with C:\WINNT\System32\nimxprxu.dll
LDR: Automatic DLL Relocation in GroundWinds.exe
LDR: Dll freetype2_1_3.dll base 10000000 relocated due to collision with C:\WINNT\System32\nimxprxu.dll
DR: Automatic DLL Relocation in GroundWinds.exe
LDR: Dll HPBF4320.DLL base 10000000 relocated due to collision with C:\WINNT\System32\nimxprxu.dll
LDR: Automatic DLL Relocation in GroundWinds.exe
LDR: Dll WinGL32.DLL base 10000000 relocated due to collision with C:\WINNT\System32\nimxprxu.dll
LDR: Automatic DLL Relocation in GroundWinds.exe
LDR: Dll wm_hooks.dll base 10000000 relocated due to collision with C:\WINNT\System32\nimxprxu.dll



The following are inhouse dlls
LDR: Automatic DLL Relocation in GroundWinds.exe
LDR: Dll GW_Idl.dll base 10000000 relocated due to collision with C:\WINNT\System32\nimxprxu.dll
LDR: Automatic DLL Relocation in GroundWinds.exe
LDR: Dll PMTDLL.dll base 10000000 relocated due to collision with C:\WINNT\System32\nimxprxu.dll



The hardware that I am having trouble with is a timing board(this also provides a hardware interrupt to the computer) that I access with a program call driverX from tetradyne. The library works fine with a test program but when the library is linked into a bigger program that uses the national instruments drivers, the timing board does not work. And then after this larger program is closed, the test program does not work properly anymore until a reboot.

I wouldn't think the relocation of the libraries would cause a problem either but I have seen this before with a collision with HP printer drivers. After uninstalling the drivers the program worked.


Thanks for the rebase info. If you have any other thoughts let me know.
Thanks,
Jane
0 Kudos
Message 3 of 4
(3,640 Views)
It looks like all of the following DLLs have the same preferred base address of 0x10000000:
Idl32.dll, UG3220.dll, MesaGLU4_0.dll, MesaGL4_0.dll, osmesa4_0.dll, freetype2_1_3.dll, HPBF4320.DLL, WinGL32.DLL, wm_hooks.dll, nimxprxu.dll, GW_Idl.dll, and PMTDLL.dll.

You can easily rebase nimxprxu.dll to a different address using rebase.exe as I described before. However, since all of the other 11 DLLs want to be based at 0x10000000, you're going to run into the same issue because only one of them is going to be based at 0x10000000 and the rest will be relocated. You'll end up with the same warning messages, just with a different DLL causing the collision in place of nimxprxu.dll. So I really doubt that these relocations are the source of your problem. But, of course, I've seen much weirder things, so I won't say that's for sure.

Joe
0 Kudos
Message 4 of 4
(3,636 Views)