Hi,
I don't know anything about the Win32 print API, but style wise I tend to stay away from alloca(). It screws up exception handling because it messes with the stack, and is machine dependant. Maybe LocalAlloc() would be a better choice?
Cheers, Jon