Проблема с использованием CreateFile для принтера Zebra - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь распечатать на принтере Zebra, и на одном компьютере я получаю сообщение об ошибке, что не могу найти источник. Самое странное, что я не могу найти значение, возвращаемое GetLastError: 384 Это код, который я использую

_hPort = CreateFile(printerPath, EFileAccess.GenericWrite, EFileShare.Read | EFileShare.Write, IntPtr.Zero, ECreationDisposition.CreateAlways, 0, IntPtr.Zero);
            if (_hPort.IsInvalid)
            {
                Logger.Log("GetLastError " + GetLastError());

GetLastError возвращает 384

Так я определил DllImport

[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        static extern int GetLastError();

        [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        private static extern SafeFileHandle CreateFile(
           string lpFileName,
           EFileAccess dwDesiredAccess,
           EFileShare dwShareMode,
           IntPtr lpSecurityAttributes,
           ECreationDisposition dwCreationDisposition,
           int dwFlagsAndAttributes,
           IntPtr hTemplateFile);

Наконец, путь к принтеру "\ PS-736A06 \ PS-736A06-P3 \ ZDesigner Z4M 203DPI"

Эта же последовательность кода работает на нескольких компьютерах, но только на этом (A windows 10 PRO)

Есть идеи?

Спасибо

...