Ok, I'm sure I'm doing something really stupid. I'm trying to get some older code working which uses the old C SDK.
I can build and run the samples in VS2005... but they do not respond to any events from the 3DX device. SiGetEvent does not return SI_IS_EVENT.
However, if I run the sample app from outside of VS2005, everything works fine. Is VS2005 somehow preventing the messages from the 3Dx device from getting to the applications message pump?
Haven't heard of that before. The first thing to check is whether your application's window is in the foreground and has keyboard focus. Then turn on the driver's Log File and see if your application is being recognized.
17:54:29.527: s80trans:UdTransSendEvent: Error: Buffer full. Ignoring new event type=2. Resignaling last event.
Can anyone think why I would be getting a buffer full when I execute the demo from within VS2005 (release or debug builds are both affected), but when I execute the demo from outside VS2005, everything works fine?
It seems that your code is not emptying the message queue. This is done by calling SiGetEvent() from within the callback handler for the registered message ("SpaceWareMessage00").
Try tracing the calls to that handler. See if it being called when you grab the 3D mouse.