Я обновляю наше приложение «Мониторинг принтера». Ранее это приложение успешно работало на сервере Windows 2000. Теперь мы перешли на сервер Windows 7. На Windows 7 происходит сбой нашего приложения «Монитор печати». При отладке я обнаружил, что наша функция SetJob
выдает следующее исключение:
Неверный параметр.
Кто-нибудь знает что-нибудь об этом?
Вызов функции:
SetJob(
mhPrinter,
midJob,
0,
IntPtr.Zero,
PrintJobControlCommands.JOB_CONTROL_PAUSE) 'Here exception is thrown
Spooler API, который мы используем:
<DllImport("winspool.drv", EntryPoint:="SetJob", _
SetLastError:=True, CharSet:=CharSet.Ansi, _
ExactSpelling:=False, _
CallingConvention:=CallingConvention.StdCall)> _
Public Function SetJob _
(<InAttribute()> ByVal hPrinter As IntPtr, _
<InAttribute()> ByVal dwJobId As Int32, _
<InAttribute()> ByVal Level As Int32, _
<InAttribute()> ByVal lpJob As IntPtr, _
<InAttribute(), MarshalAs(UnmanagedType.U4)> ByVal dwCommand As PrintJobControlCommands _
) As Boolean