public Printer(string name) : base(name) { var defaults = new PRINTER_DEFAULTS { DesiredPrinterAccess = PRINTER_ACCESS_MASK.PRINTER_ACCESS_USE }; OpenPrinter(ref defaults); }
/// <summary> /// Opens the printer and stores the handle. /// </summary> /// <param name="defaults"></param> /// <returns></returns> protected IntPtr OpenPrinter(ref PRINTER_DEFAULTS defaults) { if (NativeMethods.OpenPrinterW(_printerName, out var printerHandle, ref defaults) == 0) { throw new Win32Exception(); } _printerHandle = printerHandle; return(_printerHandle); }
public static extern int OpenPrinterW(string pPrinterName, out IntPtr phPrinter, ref PRINTER_DEFAULTS pDefault);