Category Archives: Windows

First-chance exception at {address} (ntdll.dll) in {exename}.exe: 0xC0000139: Entry Point Not Found

Writing a plugin for a Windows application using Visual Studio?

You had the smarts to define the application’s exe as the debug executable in Visual Studio project options?

While reading the output, you saw the error from the post’s title?

First-chance exception at 
(ntdll.dll) in .exe: 0xC0000139: Entry Point Not Found

You’ve probably got a classic case of app-uses-one-version-of-dll-while-one-of-my-plugin’s-dependencies-wants-another-one. In my case, I had to replace zlib1.dll in the app with the one that came with Igor Zlatković’s Win32 builds of libxml2, xmlsec, etc.

Read a bit more about the error, including different causes.

Unibody Macbook 2009 – NVIDIA 9400m support for PhysX

Since 9400m has 16 CUDA cores, newer releases of PhysX system software do not support hardware acceleration on it. In newer releases, NVIDIA demands 256MB of memory on the GPU and 32 CUDA cores. 

But if you need it for development, testing or just for trying how it works and proving to yourself you can do it… grab old drivers from NVIDIA to get PhysX running on your machine. I’ve tried 9.09.0408.
Beware, NVIDIA’s Fluid Demo is still abysmally slow so I’m not sure if there’s any point. (Although I suspect this has more to do with it rendering 60000 particles than with anything else.)
You’ll need to manually uninstall the PhysX drivers that ship with your GPU drivers. If you don’t see them in Add/Remove Programs, then install the latest version of PhysX drivers (not your GPU drivers) and then uninstall.

Printscreen et al. on Macbook in Windows

If you’re bootcamping, you may have trouble issuing some standard keyboard commands. For example, Print screen. Because there’s no printscreen key on Mac.

To do printscreen, press Fn+Shift+F11

More information on other keys can be found at Apple’s knowledge base:
Disclosure: Previously this page has read “Fn+Shift+F4”. I have no idea how I came up with F4. Mea culpa.

P2PVPN 0.7

Anyone looking for a piece  of software similar to Hamachi, but open source free software – take a look at P2PVPN. It uses torrent trackers for finding nodes, it works on GNU/Linux and Windows and individual nodes do the forwarding. (This also means at least one node in network needs to be able to accept connections but that can probably be arranged.)

Now, since this is a blog with programmer’s thoughts, I’ve taken special interest in this program’s source code; especially in how it manages to use OpenVPN‘s TUN/TAP driver under Windows. You see, TUN/TAP devices under GNU/Linux reveal themselves to be just simple named file descriptors you can write into and read from. But how to do it under Windows?  This seemed like it might be another one of those things where you can venture around the net for days looking for an answer, but luckily, there was no need for that.

P2PVPN’s got two versions of its low level code for accessing TUN/TAP devices, one for GNU/Linux and one for Windows. They are written in C and are Java wrappers for accessing the devices. Windows version has 280 lines of code excluding header, and GNU/Linux version has 111 lines excluding header. They are a must-read tutorial for anyone wanting to write some code that has to do with virtual network devices and VPN. P2PVPN’s licensed under GPLv3, and the TUN/TAP Java wrapper code is licensed under LGPLv3.

Wolfgang Ginolas did some great work here. Anyone that wants to try something new aside from Hamachi, or wants to write their own VPN software, should take a look at P2PVPN.

Windows Product Activation – "significant hardware changes"

I’ve just had a run-in with deactivation of Windows XP due to “significant hardware changes since the copy was last activated”. But, since I installed XP, the only thing I did was remove 512MB of RAM in the laptop, and install 1GB of RAM. I also plugged in the USB mouse during the bootup.

What probably triggered it, however, was changing filesystem of the system partition from FAT32 to NTFS using Microsoft’s own convert.exe, included with Windows. I have no idea where they’re pulling out the idea that filesystem of root system partition is a hardware thing.
I have no idea if this reactivation ate one of my activation slots for this product key, since Microsoft’s Knowledge Base link on the subject appears down. I surely hope I won’t have to deal with tech support; I’ve heard they’re friendly and unintrusive in Croatia, but still…
(By the way, unusually for tech-savvy Croats, this is a legit copy. From MSDNAA and FER, of course 🙂
Since there’s no way I could have captured the messagebox that appears during login (this isn’t a VM and I don’t have a good camera) included is just a leftover shot of WGA, after repeated activation.