Может кому поможет, что бы не мучились:
1. Начиная с windows 7, а то и висты (не помню), а так же windows 2008, соответственно, маппинг портов через net use работает по другому. По сути алиас создается вместо \devices в ветке dosdevices, которую воткнули далеко от ROOT (ищем в районе Sessions) и при попытке открыть как \\.\lptxx он просто не ищется, т.к. должно быть там совсем другое. Отсюда и ошибка 2 (ERROR_FILE_NOT_FOUND). Кому интересно, сделайте маппинг и поищите с помощью бесплатной WinObj от sysinternals куда и в каком формате он заткнёт этот алиас.
2. Вторая проблема, если правильно помню, то начиная с win 7 и его реализация нетбиос в любом случае не поддерживает работу через CreateFile с алиасами dosdevice по сети. Т.е. всегда будет ошибка 53 (ERROR_BAD_NETPATH), даже если сумеете нащупать нужную ветку и подкорректируете hex-редактором текстовую строку в компоненте и тем самым уберете ошибку 2. Потому любые попытки работать с таким образом «отмапленными» портами через CreateFile в принципе бесполезны. Даже если прежде из самой компоненты вызвать функцию Win API DosDevice... Она, по сути, оставлена для работы с дисками
3. Правильный выход - перерабатывать логику работы самой компоненты и наконец-то добавить туда работу с сетевыми принтерами и работать через OpenPrinter2 или что-то типа такого (на дворе 2018, уж можно было бы, сетевые принтеры давно продаются, а изменения по сути на час-два работы программиста). Ну а простым смертным остаётся писать свои костыли, используя перехват функций компоненты или полностью реализуя драйвер на языке 1с или вообще свою компоненту. Или использовать утилиты типа DosPrint и иже с ними разной степени глюкавости для «старых» программ, которые создают виртуальный lptxx в нужном месте.
1. Начиная с windows 7, а то и висты (не помню), а так же windows 2008, соответственно, маппинг портов через net use работает по другому. По сути алиас создается вместо \devices в ветке dosdevices, которую воткнули далеко от ROOT (ищем в районе Sessions) и при попытке открыть как \\.\lptxx он просто не ищется, т.к. должно быть там совсем другое. Отсюда и ошибка 2 (ERROR_FILE_NOT_FOUND). Кому интересно, сделайте маппинг и поищите с помощью бесплатной WinObj от sysinternals куда и в каком формате он заткнёт этот алиас.
2. Вторая проблема, если правильно помню, то начиная с win 7 и его реализация нетбиос в любом случае не поддерживает работу через CreateFile с алиасами dosdevice по сети. Т.е. всегда будет ошибка 53 (ERROR_BAD_NETPATH), даже если сумеете нащупать нужную ветку и подкорректируете hex-редактором текстовую строку в компоненте и тем самым уберете ошибку 2. Потому любые попытки работать с таким образом «отмапленными» портами через CreateFile в принципе бесполезны. Даже если прежде из самой компоненты вызвать функцию Win API DosDevice... Она, по сути, оставлена для работы с дисками
3. Правильный выход - перерабатывать логику работы самой компоненты и наконец-то добавить туда работу с сетевыми принтерами и работать через OpenPrinter2 или что-то типа такого (на дворе 2018, уж можно было бы, сетевые принтеры давно продаются, а изменения по сути на час-два работы программиста). Ну а простым смертным остаётся писать свои костыли, используя перехват функций компоненты или полностью реализуя драйвер на языке 1с или вообще свою компоненту. Или использовать утилиты типа DosPrint и иже с ними разной степени глюкавости для «старых» программ, которые создают виртуальный lptxx в нужном месте.