[ttssh2-commit] [9868] ビルド時の SDK バージョンを取得する関数を追加

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2022年 4月 20日 (水) 21:21:56 JST


Revision: 9868
          https://osdn.net/projects/ttssh2/scm/svn/commits/9868
Author:   nmaya
Date:     2022-04-20 21:21:56 +0900 (Wed, 20 Apr 2022)
Log Message:
-----------
ビルド時の SDK バージョンを取得する関数を追加

Modified Paths:
--------------
    trunk/teraterm/ttpdlg/ttdlg.c

-------------- next part --------------
Modified: trunk/teraterm/ttpdlg/ttdlg.c
===================================================================
--- trunk/teraterm/ttpdlg/ttdlg.c	2022-04-19 14:45:56 UTC (rev 9867)
+++ trunk/teraterm/ttpdlg/ttdlg.c	2022-04-20 12:21:56 UTC (rev 9868)
@@ -2452,6 +2452,83 @@
 	strncpy_s(buf, buf_size, "unknown compiler");
 }
 #endif
+
+#if defined(WDK_NTDDI_VERSION)
+// \x83r\x83\x8B\x83h\x82\xB5\x82\xBD\x82Ƃ\xAB\x82Ɏg\x82\xED\x82ꂽ SDK \x82̃o\x81[\x83W\x83\x87\x83\x93\x82\xF0\x8E擾\x82\xB7\x82\xE9
+// URL: https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/
+// - Visual Studio Installer \x82ɕ\\x8E\xA6\x82\xB3\x82\xEA\x82\xE9\x83o\x81[\x83W\x83\x87\x83\x93
+// - \x83C\x83\x93\x83X\x83g\x81[\x83\x8B\x82\xB3\x82ꂽ SDK \x82\xAA\x81u\x83A\x83v\x83\x8A\x82Ƌ@\x94\\x81v\x82ŕ\\x8E\xA6\x82\xB3\x82\xEA\x82\xE9\x83o\x81[\x83W\x83\x87\x83\x93
+// - \x8F\xE3\x8BL URL \x82ł̕\\x8E\xA6\x83o\x81[\x83W\x83\x87\x83\x93
+// - \x83C\x83\x93\x83X\x83g\x81[\x83\x8B\x90\xE6\x83t\x83H\x83\x8B\x83_\x96\xBC
+// \x82ŁA\x8DŌ\xE3\x82̃u\x83\x8D\x83b\x83N\x82̐\x94\x8E\x9A\x82\xAA\x93\xAF\x82\xB6\x82ł͂Ȃ\xA2\x81B
+// 
+static void GetSDKInfo(char *buf, size_t buf_size)
+{
+	char tmpbuf[128];
+
+	if (WDK_NTDDI_VERSION >= 0x0A00000B) {
+		strncpy_s(buf, buf_size, "Windows SDK", _TRUNCATE);
+		switch (WDK_NTDDI_VERSION) {
+			case 0x0A00000B: // NTDDI_WIN10_CO
+				strncat_s(buf, buf_size, " for Windows 11 (10.0.22000.194)", _TRUNCATE);
+				break;
+			default:
+				strncat_s(buf, buf_size, " (unknown)", _TRUNCATE);
+				break;
+		}
+	}
+	else if (WDK_NTDDI_VERSION >= 0x0A000000) {
+		strncpy_s(buf, buf_size, "Windows 10 SDK", _TRUNCATE);
+		switch (WDK_NTDDI_VERSION) {
+			case 0x0A000000: // NTDDI_WIN10, 1507
+				strncat_s(buf, buf_size, " (10.0.10240.0)", _TRUNCATE);
+				break;
+			case 0x0A000001: // NTDDI_WIN10_TH2, 1511
+				strncat_s(buf, buf_size, " Version 1511 (10.0.10586.212)", _TRUNCATE);
+				break;
+			case 0x0A000002: // NTDDI_WIN10_RS1, 1607
+				strncat_s(buf, buf_size, " Version 1607 (10.0.14393.795)", _TRUNCATE);
+				break;
+			case 0x0A000003: // NTDDI_WIN10_RS2, 1703
+				strncat_s(buf, buf_size, " Version 1703 (10.0.15063.468)", _TRUNCATE);
+				break;
+			case 0x0A000004: // NTDDI_WIN10_RS3, 1709
+				strncat_s(buf, buf_size, " Version 1709 (10.0.16299.91)", _TRUNCATE);
+				break;
+			case 0x0A000005: // NTDDI_WIN10_RS4, 1803
+				strncat_s(buf, buf_size, " Version 1803 (10.0.17134.12)", _TRUNCATE);
+				break;
+			case 0x0A000006: // NTDDI_WIN10_RS5, 1809
+				strncat_s(buf, buf_size, " Version 1809 (10.0.17763.132)", _TRUNCATE);
+				break;
+			case 0x0A000007: // NTDDI_WIN10_19H1, 1903
+				strncat_s(buf, buf_size, " Version 1903 (10.0.18362.1)", _TRUNCATE);
+				break;
+			case 0x0A000008: // NTDDI_WIN10_VB, 2004
+				strncat_s(buf, buf_size, " Version 2004 (10.0.19041.685)", _TRUNCATE);
+				break;
+			case 0x0A000009: // NTDDI_WIN10_MN, 2004? cf. _PCW_REGISTRATION_INFORMATION
+				strncat_s(buf, buf_size, " Version 2004 (10.0.19645.0)", _TRUNCATE);
+				break;
+			case 0x0A00000A: // NTDDI_WIN10_FE, 2104
+				strncat_s(buf, buf_size, " Version 2104 (10.0.20348.1)", _TRUNCATE);
+				break;
+			default:
+				strncat_s(buf, buf_size, " (unknown)", _TRUNCATE);
+				break;
+		}
+	}
+	else {
+		strncpy_s(buf, buf_size, "Windows SDK unknown", _TRUNCATE);
+	}
+}
+#else
+static void GetSDKInfo(char *buf, size_t buf_size)
+{
+	strncpy_s(buf, buf_size, "Windows SDK unknown", _TRUNCATE);
+}
+#endif
+
 static INT_PTR CALLBACK AboutDlg(HWND Dialog, UINT Message, WPARAM wParam, LPARAM lParam)
 {
 	static const DlgTextInfo TextInfos[] = {


ttssh2-commit メーリングリストの案内
Back to archive index