svnno****@sourc*****
svnno****@sourc*****
2011年 1月 25日 (火) 00:59:06 JST
Revision: 4284 http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4284 Author: maya Date: 2011-01-25 00:59:06 +0900 (Tue, 25 Jan 2011) Log Message: ----------- ãããã¯ã¼ã¯å ±æã«ããããããããã¤ã¹ã«å¯¾ãã¦ç´æ¥å°å·åºåã§ããªãåé¡ãä¿®æ£ http://logmett.com/forum/viewtopic.php?f=8&t=1563 http://logmett.com/forum/viewtopic.php?f=2&t=1383 http://msdn.microsoft.com/en-us/library/aa363858(v=vs.85).aspx#5 Ticket Links: :----------- http://sourceforge.jp/projects/ttssh2/tracker/detail/5 Modified Paths: -------------- trunk/teraterm/teraterm/commlib.c -------------- next part -------------- Modified: trunk/teraterm/teraterm/commlib.c =================================================================== --- trunk/teraterm/teraterm/commlib.c 2011-01-24 14:25:23 UTC (rev 4283) +++ trunk/teraterm/teraterm/commlib.c 2011-01-24 15:59:06 UTC (rev 4284) @@ -1075,6 +1075,7 @@ DCB dcb; DWORD DErr; COMMTIMEOUTS ctmo; + OSVERSIONINFO osvi; strncpy_s(Temp, sizeof(Temp),DevName, _TRUNCATE); c = Temp; @@ -1084,9 +1085,24 @@ *c = '\0'; LPTFlag = (Temp[0]=='L') || (Temp[0]=='l'); - PrnID = CreateFile(Temp,GENERIC_WRITE, - 0,NULL,OPEN_EXISTING, - 0,NULL); + + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&osvi); + if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) { + // lbg[N¤LÉ}bv³ê½foCXªèÌêA±¤µÈ¢Æ¢¯È¢çµ¢ (2011.01.25 maya) + // http://logmett.com/forum/viewtopic.php?f=2&t=1383 + // http://msdn.microsoft.com/en-us/library/aa363858(v=vs.85).aspx#5 + PrnID = CreateFile(Temp,GENERIC_WRITE | FILE_READ_ATTRIBUTES, + FILE_SHARE_READ,NULL,CREATE_ALWAYS, + 0,NULL); + } + else { + // 9x ÅÍãLÌR[hŤܢ©È¢ÌÅ]ÊèÌ + PrnID = CreateFile(Temp,GENERIC_WRITE, + 0,NULL,OPEN_EXISTING, + 0,NULL); + } + if (PrnID == INVALID_HANDLE_VALUE) { return FALSE; }