Develop and Download Open Source Software

Browse Subversion Repository

Diff of /branches/ttcomtester/teraterm/teraterm/commlib.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4283 by maya, Mon Jan 24 14:25:23 2011 UTC revision 4284 by maya, Mon Jan 24 15:59:06 2011 UTC
# Line 1075  BOOL PrnOpen(PCHAR DevName) Line 1075  BOOL PrnOpen(PCHAR DevName)
1075          DCB dcb;          DCB dcb;
1076          DWORD DErr;          DWORD DErr;
1077          COMMTIMEOUTS ctmo;          COMMTIMEOUTS ctmo;
1078            OSVERSIONINFO osvi;
1079    
1080          strncpy_s(Temp, sizeof(Temp),DevName, _TRUNCATE);          strncpy_s(Temp, sizeof(Temp),DevName, _TRUNCATE);
1081          c = Temp;          c = Temp;
# Line 1084  BOOL PrnOpen(PCHAR DevName) Line 1085  BOOL PrnOpen(PCHAR DevName)
1085          *c = '\0';          *c = '\0';
1086          LPTFlag = (Temp[0]=='L') ||          LPTFlag = (Temp[0]=='L') ||
1087                    (Temp[0]=='l');                    (Temp[0]=='l');
1088          PrnID = CreateFile(Temp,GENERIC_WRITE,  
1089                             0,NULL,OPEN_EXISTING,          osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
1090                             0,NULL);          GetVersionEx(&osvi);
1091            if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) {
1092                    // ネットワーク共有にマップされたデバイスが相手の場合、こうしないといけないらしい (2011.01.25 maya)
1093                    // http://logmett.com/forum/viewtopic.php?f=2&t=1383
1094                    // http://msdn.microsoft.com/en-us/library/aa363858(v=vs.85).aspx#5
1095                    PrnID = CreateFile(Temp,GENERIC_WRITE | FILE_READ_ATTRIBUTES,
1096                                       FILE_SHARE_READ,NULL,CREATE_ALWAYS,
1097                                       0,NULL);
1098            }
1099            else {
1100                    // 9x では上記のコードでうまくいかないので従来通りの処理
1101                    PrnID = CreateFile(Temp,GENERIC_WRITE,
1102                                       0,NULL,OPEN_EXISTING,
1103                                       0,NULL);
1104            }
1105    
1106          if (PrnID == INVALID_HANDLE_VALUE) {          if (PrnID == INVALID_HANDLE_VALUE) {
1107                  return FALSE;                  return FALSE;
1108          }          }

Legend:
Removed from v.4283  
changed lines
  Added in v.4284

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26