У меня возникают проблемы при попытке запустить кучу старых 16-битных приложений в Windows 2008 Server.Приложения работали нормально до Windows 2003 Server, но при попытке печати с любого из них все показывают ошибки печати (невозможно создать драйвер принтера / ошибка TERM / и т. Д.)
- Порт LPT1Перенаправление на общий принтер через NET USE LPT1 \ ServerName \ SharedPrinter
- DIR> LPT1 (или любое перенаправление оболочки на принтер) работает нормально.
- Я использую учетную запись администратора, поэтомуэто не должно быть проблемой с разрешениями, верно?
Чтобы воспроизвести поведение, я создал небольшую тестовую программу на C (TCC 1.01 для DOS).Он работает нормально в XP / 2003 Server, но на 2008 Server он показывает открытие дескриптора (5), но при попытке записи в этот дескриптор выдает ошибку (Ошибка записи при записи устройства LPT1, Abort, Retry, Ignore, Fail)
#include <io.h>
#include <fcntl.h>
#include <sys\stat.h>
int main(void)
{
int handle, status;
char* sbuff;
handle = open("LPT1", O_WRONLY, S_IFBLK);
printf("%d\n", handle);
if (!handle)
{
printf("open failed\n");
exit(1);
}
sbuff = "[print test]\n";
write(handle, sbuff, strlen(sbuff));
close(handle);
getch();
return 0;
}
Есть какие-нибудь подсказки?
TIA, Pablo