internal DeviceContext CreateDeviceContext(PageSettings pageSettings)
 {
     IntPtr hdevmodeInternal = this.GetHdevmodeInternal();
     DeviceContext context = null;
     try
     {
         System.Drawing.IntSecurity.AllPrintingAndUnmanagedCode.Assert();
         try
         {
             pageSettings.CopyToHdevmode(hdevmodeInternal);
         }
         finally
         {
             CodeAccessPermission.RevertAssert();
         }
         context = this.CreateDeviceContext(hdevmodeInternal);
     }
     finally
     {
         SafeNativeMethods.GlobalFree(new HandleRef(null, hdevmodeInternal));
     }
     return context;
 }
        internal DeviceContext CreateInformationContext(PageSettings pageSettings) {
            IntPtr modeHandle = GetHdevmodeInternal();
            DeviceContext dc;

            try {
                //Copy the PageSettings to the DEVMODE...
                //Assert permission as CopyToHdevmode() demands...
                IntSecurity.AllPrintingAndUnmanagedCode.Assert();
                try 
                {
                    pageSettings.CopyToHdevmode(modeHandle);
                }
                finally
                {
                    CodeAccessPermission.RevertAssert();
                }
                dc = CreateInformationContext(modeHandle);
            }
            finally {
                SafeNativeMethods.GlobalFree(new HandleRef(null, modeHandle));
            }
            return dc;
        }
 public IntPtr GetHdevmode(PageSettings pageSettings)
 {
     System.Drawing.IntSecurity.AllPrintingAndUnmanagedCode.Demand();
     IntPtr hdevmodeInternal = this.GetHdevmodeInternal();
     pageSettings.CopyToHdevmode(hdevmodeInternal);
     return hdevmodeInternal;
 }
        public IntPtr GetHdevmode(PageSettings pageSettings) {
            IntSecurity.AllPrintingAndUnmanagedCode.Demand();
            // Don't assert unmanaged code -- anyone using handles should have unmanaged code permission
            IntPtr modeHandle = GetHdevmodeInternal();
            pageSettings.CopyToHdevmode(modeHandle);

            return modeHandle;
        }