• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Aucun tag

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Révisionb4704f27a47610dc23de164a3193686bbccccd91 (tree)
l'heure2020-12-08 20:26:02
Auteurtfuruka1 <tfuruka1 at nifty dot com>
Commitertfuruka1

Message de Log

エラーメッセージを多少詳しくしました。

Change Summary

Modification

--- a/src/disrdpcp/main.c
+++ b/src/disrdpcp/main.c
@@ -6,6 +6,37 @@
66 #include <windows.h>
77 #include <getopt.h>
88
9+/*--------------------------------------------------------------------
10+ * dwErr で指定されたエラーコードに対応するエラーメッセージを関数にシ
11+ * ステムメッセージテーブルリソースから検索して一時的な文字列へのポイ
12+ * ンタを返却する。dwErr は GetLastError から得た値を指定する事。lpsz
13+ * はエラーメッセージへ追加する文字列を指定する。API 名等を指定する。
14+ * *-------------------------------------------------------------------*/
15+static LPCSTR WINAPI
16+GetLastErrorMessage(LPCSTR lpsz, DWORD dwErr)
17+{
18+ static char sz[1024];
19+ char szTmp[256];
20+ DWORD i;
21+
22+ if (!(i = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM |
23+ FORMAT_MESSAGE_IGNORE_INSERTS,
24+ NULL, dwErr, 0, szTmp, sizeof(szTmp), NULL))) {
25+ strcpy(szTmp, "---");
26+ } else {
27+ szTmp[i] = '\0';
28+ for (i--; 0 <= (int) i; i--) {
29+ if ('\n' == szTmp[i] || '\r' == szTmp[i]) {
30+ szTmp[i] = '\0';
31+ }
32+ }
33+ }
34+ wsprintf(sz, "[WIN32] %s: Error Code = %d(%#02x): %s",
35+ lpsz, dwErr, dwErr, szTmp);
36+ return (LPCTSTR)sz;
37+}
38+
39+
940 static void
1041 easyEncript(char *str)
1142 {
@@ -44,9 +75,11 @@ main(int argc, char *argv[])
4475 // SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
4576 char szSubKey[128] = "TZTUFN"
4677 "]DvssfouDpouspmTfu]Dpouspm]Ufsnjobm!Tfswfs]XjoTubujpot]SEQ.Udq";
47- char szValueNames[3][80] = {"gEjtbcmfDen", // "fDisableCdm"
48- "gEjtbcmfDmjq", //"fDisableClip"
49- "\0"};
78+ char szValueNames[][80] = {
79+ "gEjtbcmfDen", // "fDisableCdm"
80+ "gEjtbcmfDmjq", // "fDisableClip"
81+ "\0"
82+ };
5083 int i;
5184 int c;
5285
@@ -90,8 +123,12 @@ main(int argc, char *argv[])
90123 if (ERROR_SUCCESS != dwResult) {
91124 // エラー
92125 hResult = HRESULT_FROM_WIN32(dwResult);
93- fprintf(stderr, "Registory Open error: %lx\n", hResult);
94- MessageBox(NULL, TEXT("エラーが発生しました。"), TEXT("エラー"),
126+ fprintf(stderr, "%s %lx\n",
127+ GetLastErrorMessage("Registory Open", dwResult), hResult);
128+ MessageBox(NULL, TEXT("エラーが発生しました。"
129+ "詳細はコンソールの"
130+ "メッセージを確認して下さい。"),
131+ TEXT("エラー"),
95132 MB_ICONERROR);
96133 return 1;
97134 }
@@ -109,7 +146,10 @@ main(int argc, char *argv[])
109146 if (ERROR_SUCCESS != dwResult) {
110147 // エラー
111148 hResult = HRESULT_FROM_WIN32(dwResult);
112- fprintf(stderr, "Registory Set value error: %lx\n", hResult);
149+ fprintf(stderr, "%s %lx\n",
150+ GetLastErrorMessage("Registory set value",
151+ dwResult), hResult);
152+ RegCloseKey(hKey);
113153 return 1;
114154 }
115155 }