Declare Long RtlMoveMemory in Kernel32 as Copy2Mem ; Long lpDest, String @cSource, Long nLength Declare Long RtlMoveMemory in Kernel32 as CopyMem2Num ; Long @nValue, Long lpSource, Long nLength Store 0 to pDevMode, dmFields ** Get DEVMODE from PRINTER_INFO_2 CopyMem2Num( @pDevMode, pi2 + 28, 4 ) * Get dmFields from DEVMODE CopyMem2Num( @dmFields, pDevMode+40, 4 ) *** pi2->pDevMode->dmFields = DM_ORIENTATION Copy2Mem( pDevMode+40, chr( DM_ORIENTATION )+chr(0)+chr(0)+chr(0), 4 ) *** pi2->pDevMode->dmOrientation = dmOrientation Copy2Mem( pDevMode+44, chr( DMORIENT_LANDSCAPE ) + chr(0), 2 ) *** // Do not attempt to set security descriptor... *** pi2->pSecurityDescriptor = NULL; Copy2Mem( pi2+48, replicate( chr(0), 4 ), 4 )Regards