Tracy,
I've noted the section below from the code you posted earlier.
QQbinBfr = REPLICATE(CHR(0), 16384)
QQbinBf2 = REPLICATE(CHR(0), 1024)
QQnCount = DeviceCapabilities(QQprintername, pPort, DC_BINNAMES, @QQbinBfr, 0)
QQnCnt2 = DeviceCapabilities(QQprintername, pPort, DC_BINS, @QQbinBf2, 0)
In this code, you are also using strings lengths of 1024 and 16384 for the output buffer size you're sending to DeviceCapabilities. Do you have any idea where these numbers came from? That's the missing piece to the puzzle that I need to make my code more useful.