The latest we have is from 2007. It is poorly documented in some of the source code comment blocks and some source is not documented at all. Also, another question is whether or not USB_TIMEOUT_INIFINITE is stil lthe only viable option for the timeout. The comment indicate the testing was done with QNX 6.2.1. Using INIFINITE isn't a viable option because it locks up if the device is disconnected so there isn't much benefit to the application monitoring for insertion and removal.
I'd like to explain a bit about how NI intends the different DDK packages to be used. The main intent of the DDK is to allow its users to write a custom driver for their device and operating system; it is not intended to be a stand-alone driver.
To that end, the DDK demonstrates how to program a DAQ device -- the hardware calls and firmware messages that need to be made to program a device to take and return a measurement. In order to bootstrap a new user, NI provides the OS Interface component as a bare-bones implementation to get a handle on the device. The OS Interface is not intended to serve as a model for a driver's architecture, but as a bridge to get the device up and running quickly. NI knows that the OS Interface is not full-featured and, for certain OSes, may even circumvent OS security, and so we encourage the DDK users to write their own OS extensions rather than use the OS Interface.
NI VirtualBench Application Software Get with your fellow hardware users :: [ NI's VirtualBench User Group ]
Get with your fellow OS users :: [ NI's Linux User Group ] [ NI's OS X User Group ]
Get with your fellow developers :: [ NI's DAQmx Base User Group ] [ NI's DDK User Group ]
Senior Software Engineer :: Multifunction Instruments Applications Group
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)