I can find 500 ways to get settings from a print driver... but how do i set the settings.

I need to be able to turn on Collating..

have tried collate:=true didnt work
have tried

pDevMode.dmCollate = DMCOLLATE_TRUE
Call CopyMemory(pDevMode, aDevMode(1), Len(pDevMode))
using the Private Declare Function OpenPrinter Lib "winspool.drv" Alias _
"OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, _
ByVal pDefault As Long) As Long

That worked some times but not every time. maybe 1 out of 3. after i call copy memory and do a check settings it is still turned off.

if anyone can help or offer suggestions please drop me a line.