[Ttssh2-commit] [4284] ネットワーク共有にマップされたデバイスに対して直接印刷出力できない問題を修正

Zurück zum Archiv-Index

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) {
+		// ƒlƒbƒgƒ[ƒN‹¤—L‚Ƀ}ƒbƒv‚³‚ꂽƒfƒoƒCƒX‚ª‘ŠŽè‚̏ꍇ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;
 	}



Ttssh2-commit メーリングリストの案内
Zurück zum Archiv-Index