Функция установки задания диспетчера очереди печати Windows не работает в Windows-7?

Я обновляю наше приложение «Мониторинг принтера». Ранее это приложение успешно работало на сервере 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
6
задан BartoszKP 6 October 2013 в 10:41
поделиться