Hi Christiaan,
The HSDL VI stores the 16 bit samples that is read form the DMA channel in 16 -> 12 compression in the following way:
it trows away the unused 4 bits (usally with 12 bit boards) then is stores two 12 bit samples is 3 bytes (24 bit).
If you used the same setup as the xamples then the first 4 bytes contain the length of the header. Read this header as a string and then use the VI's in the hsdl.llb to decode this in to the correct scaling information. After the header all samples follow. each 12 bit is one sample. so you will need to do some bit operations to get the correct samples.
Hope this helps
Karsten