Правильное объявление функции:
[DllImport("user32.dll")]
static extern int SetScrollInfo (IntPtr hwnd, int n, ref SCROLLINFO lpcScrollInfo, bool b);
Я объявил это как:
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
static extern int SetScrollInfo (IntPtr hwnd, int n, SCROLLINFO lpcScrollInfo, bool b);
Может ли это быть причиной исключения нарушения прав доступа?
Это исключение, которое я получаю:
Произошло необработанное исключение в потоке пользовательского интерфейса
System.AccessViolationException: попытка чтения или записи защищена
объем памяти. Это часто указывает на то, что другая память повреждена.
в System.Drawing.SafeNativeMethods.PrintDlg (PRINTDLGX86 lppd) в
System.Drawing.Printing.PrinterSettings.GetDefaultPrinterName () в
System.Drawing.Printing.PrinterSettings.get_PrinterNameInternal ()
в System.Drawing.Printing.PrinterSettings.get_PrinterName ()