ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
December 2018
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
26 participants
322 discussions
Start a n
N
ew thread
[reactos] 01/01: [TRANSLATION] Update Simplified Chinese translation. (#1096)
by Luo Yufan
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=39a478d17ba011b87c8e7…
commit 39a478d17ba011b87c8e756fde6e7b9dfe0641f1 Author: Luo Yufan <njlyf2011(a)hotmail.com> AuthorDate: Wed Dec 5 23:50:05 2018 +0800 Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org> CommitDate: Wed Dec 5 16:50:05 2018 +0100 [TRANSLATION] Update Simplified Chinese translation. (#1096) --- base/applications/msconfig_new/lang/zh-CN.rc | 6 +++--- base/applications/mspaint/lang/zh-CN.rc | 4 ++-- base/applications/network/ping/lang/zh-CN.rc | 16 ++++++++-------- base/applications/notepad/lang/zh-CN.rc | 8 +++++--- base/applications/rapps/lang/zh-CN.rc | 6 +++--- base/shell/explorer/lang/zh-CN.rc | 12 ++++++------ base/system/winlogon/lang/zh-CN.rc | 6 +++--- boot/freeldr/fdebug/lang/zh-CN.rc | 2 +- dll/cpl/sysdm/lang/zh-CN.rc | 14 +++++++------- dll/shellext/netshell/lang/zh-CN.rc | 24 ++++++++++++------------ dll/win32/devmgr/lang/zh-CN.rc | 4 ++-- dll/win32/syssetup/lang/zh-CN.rc | 12 ++++++------ media/inf/shortcuts.inf | 8 ++++---- media/themes/lautus.msstyles/lang/zh-CN.rc | 8 ++++---- media/themes/modern.msstyles/lang/zh-CN.rc | 16 ++++++++-------- 15 files changed, 74 insertions(+), 72 deletions(-) diff --git a/base/applications/msconfig_new/lang/zh-CN.rc b/base/applications/msconfig_new/lang/zh-CN.rc index ecab57f3ae..e2fc1ec1e9 100644 --- a/base/applications/msconfig_new/lang/zh-CN.rc +++ b/base/applications/msconfig_new/lang/zh-CN.rc @@ -9,11 +9,11 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED IDD_ABOUTBOX DIALOGEX 0, 0, 229, 98 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "关于系统配置实用程序" +CAPTION "关于系统配置程序" FONT 9, "宋体" BEGIN ICON IDI_APPICON, IDC_STATIC, 14, 14, 20, 20 - LTEXT "系统配置实用程序\n版本 1.0", IDC_STATIC, 42, 14, 182, 17, SS_NOPREFIX + LTEXT "系统配置程序\n版本 1.0", IDC_STATIC, 42, 14, 182, 17, SS_NOPREFIX // "Copyright (C) ReactOS Team 2005-"COPYRIGHT_YEAR"\n" LTEXT "版权所有 (C) ReactOS Team 2005-2015\n\ Christoph von Wittich (Christoph(a)ApiViewer.de)\n\ @@ -40,7 +40,7 @@ BEGIN PUSHBUTTON "展开文件(&E)...", IDC_BTN_FILE_EXTRACTION, 275, 156, 85, 14 GROUPBOX "启动选择", IDC_STATIC, 5, 5, 356, 145 LTEXT "加载所有设备驱动程序和服务", IDC_STATIC, 25, 30, 322, 10 - LTEXT "仅加载基本设备驱动程序和服务", IDC_STATIC, 25, 58, 322, 10 + LTEXT "仅加载基本的设备驱动程序和服务", IDC_STATIC, 25, 58, 322, 10 END IDD_SYSTEM_PAGE DIALOGEX 0, 0, 366, 175 diff --git a/base/applications/mspaint/lang/zh-CN.rc b/base/applications/mspaint/lang/zh-CN.rc index 719f97a805..1cdd838bf2 100644 --- a/base/applications/mspaint/lang/zh-CN.rc +++ b/base/applications/mspaint/lang/zh-CN.rc @@ -37,7 +37,7 @@ BEGIN POPUP "编辑(&E)" BEGIN MENUITEM "撤销(&U)\tCtrl+Z", IDM_EDITUNDO - MENUITEM "重做(&R)\tCtrl+Y", IDM_EDITREDO + MENUITEM "重来(&R)\tCtrl+Y", IDM_EDITREDO MENUITEM SEPARATOR MENUITEM "剪切(&T)\tCtrl+X", IDM_EDITCUT MENUITEM "复制(&C)\tCtrl+C", IDM_EDITCOPY @@ -95,7 +95,7 @@ BEGIN BEGIN MENUITEM "帮助主题(&H)", IDM_HELPHELPTOPICS MENUITEM SEPARATOR - MENUITEM "信息(&I)", IDM_HELPINFO + MENUITEM "系统信息(&I)", IDM_HELPINFO END END diff --git a/base/applications/network/ping/lang/zh-CN.rc b/base/applications/network/ping/lang/zh-CN.rc index 206c4be6d5..9df0e3c62a 100644 --- a/base/applications/network/ping/lang/zh-CN.rc +++ b/base/applications/network/ping/lang/zh-CN.rc @@ -12,10 +12,10 @@ BEGIN 用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]\n\ [-w timeout] [-4] [-6] target\n\ \n\ -Options:\n\ - -t Ping 指定的主机,直到停止。\n\ - 若要查看统计信息并继续操作,请键入 Control-Break;\n\ - 若要停止,请键入 Control-C。\n\ +选项:\n\ + -t Ping 指定的主机直到停止为止。\n\ + 若要查看统计信息并继续操作,请按 Control-Break;\n\ + 若要停止,请按 Control-C。\n\ -a 将地址解析为主机名。\n\ -n count 要发送的回显请求数。\n\ -l size 发送缓冲区大小。\n\ @@ -38,7 +38,7 @@ Options:\n\ IDS_BAD_PARAMETER "错误的参数 %s。\n" IDS_BAD_VALUE "选项 %s 的值有误,有效范围从 %u 到 %u。\n" IDS_WRONG_FAMILY "选项 %s 只支持 %s。\n" - IDS_UNKNOWN_HOST "Ping 请求找不到主机 %s. 请检查该名称,然后重试。\n" + IDS_UNKNOWN_HOST "Ping 无法找到主机 %s. 请检查该名称,然后重试。\n" IDS_PINGING_ADDRESS "\nPinging %s " IDS_PINGING_HOSTNAME "\nPinging %s [%s] " IDS_SOURCE_ADDRESS "从 %s %s" @@ -48,11 +48,11 @@ Options:\n\ IDS_REPLY_TIME_MS "时间=%lums " IDS_REPLY_TIME_0MS "时间<1ms " IDS_REPLY_TTL "TTL=%d\n" - IDS_REPLY_STATUS "回显返回 %lu。\n" + IDS_REPLY_STATUS "回显已返回 %lu。\n" IDS_DEST_HOST_UNREACHABLE "目标主机不可达。\n" IDS_DEST_NET_UNREACHABLE "目标网络不可达。\n" - IDS_REQUEST_TIMED_OUT "请求超时。\n" - IDS_TTL_EXPIRED "TTL 再传输中过期。\n" + IDS_REQUEST_TIMED_OUT "请求已过期。\n" + IDS_TTL_EXPIRED "TTL 在传输途中过期。\n" IDS_TRANSMIT_FAILED "PING: 传输失败。(Error %u)\n" IDS_STATISTICS "\n\ diff --git a/base/applications/notepad/lang/zh-CN.rc b/base/applications/notepad/lang/zh-CN.rc index e255bb2d6e..b09b2daa41 100644 --- a/base/applications/notepad/lang/zh-CN.rc +++ b/base/applications/notepad/lang/zh-CN.rc @@ -1,3 +1,5 @@ +/* Translation has been changed by Luo Yufan on 2018-12-05 (njlyf2011(a)hotmail.com) */ + LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED ID_ACCEL ACCELERATORS @@ -63,7 +65,7 @@ BEGIN MENUITEM "内容(&C)", CMD_HELP_CONTENTS MENUITEM SEPARATOR MENUITEM "关于(&A)", CMD_ABOUT - MENUITEM "信息(&O)...", CMD_HELP_ABOUT_NOTEPAD + MENUITEM "系统信息(&O)...", CMD_HELP_ABOUT_NOTEPAD END END @@ -133,7 +135,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "关于 ReactOS 记事本" FONT 9, "宋体" BEGIN - CONTROL "ReactOS 记事本 v1.0\r\n版权 1997,98 Marcel Baur\r\n版权 2000 Mike McCormack\r\n版权 2002 Sylvain Petreolle\r\n版权 2002 Andriy Palamarchuk\r\n", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 46, 7, 232, 39 + CONTROL "ReactOS 记事本 v1.0\r\n版权所有 1997,98 Marcel Baur\r\n版权所有 2000 Mike McCormack\r\n版权所有 2002 Sylvain Petreolle\r\n版权所有 2002 Andriy Palamarchuk\r\n", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 46, 7, 232, 39 CONTROL " ", -1, "Static", 0x50000000, 8, 48, 272, 11 DEFPUSHBUTTON "关闭", IDOK, 114, 149, 44, 15, WS_GROUP ICON IDI_NPICON, -1, 12, 9, 20, 30 @@ -142,7 +144,7 @@ END STRINGTABLE BEGIN - STRING_LICENSE "此程序是免费软件;您可以依据由自由软件基金会发布的 GNU 通用公共许可的条款将它重新分发和/或修改;许可协议的版本 2,或 (以您的选择) 任何后续的版本。\r\n\r\n此程序因为希望有所用途而被分发,但没有任何担保。没有甚至对适销性或特定用途的默示保证。请参阅 GNU 通用公共许可证有关更多详细信息。\r\n\r\n您应该已经收到一份 GNU 通用公共许可证以及这一计划; 如果没有,请写信给自由软件基金会, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." + STRING_LICENSE "本程序为自由软件; 您可以根据自由软件基金会发布的 GNU 通用公共许可证许可证的第 2 版,或(根据您的选择)任何更高版本的条款进行重新分发和修改它。\r\n\r\n本程序的发布是希望它有用,但没有任何担保; 甚至没有适销性或特定用途适用性的暗示保证。 有关详细信息,请参阅 GNU 通用公共许可证。\r\n\r\n您应该已收到 GNU 通用公共许可证的副本以及本程序; 如果没有,请写信给 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA。" END STRINGTABLE diff --git a/base/applications/rapps/lang/zh-CN.rc b/base/applications/rapps/lang/zh-CN.rc index 9d452ae1f7..40ec00756d 100644 --- a/base/applications/rapps/lang/zh-CN.rc +++ b/base/applications/rapps/lang/zh-CN.rc @@ -1,5 +1,5 @@ /* Translated by Song Fuchang (0xfc) <sfc_0(a)yahoo.com.cn> */ -/* Imporved by Li Keqing <auroracloud4096(a)gmail.com> */ +/* Imporved by Li Keqing <auroracloud4096(a)gmail.com>, Luo Yufan (njlyf2011(a)hotmail.com) */ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED IDR_MAINMENU MENU @@ -67,7 +67,7 @@ BEGIN LTEXT "下载文件夹: ", -1, 16, 75, 100, 9 EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP | ES_AUTOHSCROLL PUSHBUTTON "选择(&C)", IDC_CHOOSE, 187, 85, 50, 14 - AUTOCHECKBOX "在安装完程序后删除安装程序(&D)", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12 + AUTOCHECKBOX "在安装程序完成后删除安装程序(&D)", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12 GROUPBOX "代理服务器", -1, 4, 116, 240, 76 CONTROL "使用系统代理设置", IDC_PROXY_DEFAULT, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 15, 130, 210, 10 CONTROL "直连 (无代理)", IDC_NO_PROXY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 145, 210, 10 @@ -213,7 +213,7 @@ BEGIN IDS_SELECT_ALL "全选/全反选" IDS_INSTALL_SELECTED "安装已选中的" IDS_SELECTEDFORINST "选中以安装" - IDS_MISMATCH_CERT_INFO "使用的证书是未知的:\n主题: %s\n发行方: %s\n您是否仍然想继续?" + IDS_MISMATCH_CERT_INFO "所使用的证书未知:\n主题: %s\n发行方: %s\n您是否仍然想继续?" END STRINGTABLE diff --git a/base/shell/explorer/lang/zh-CN.rc b/base/shell/explorer/lang/zh-CN.rc index 25cdb9ea14..0873deaca6 100644 --- a/base/shell/explorer/lang/zh-CN.rc +++ b/base/shell/explorer/lang/zh-CN.rc @@ -112,7 +112,7 @@ EXSTYLE WS_EX_CONTEXTHELP CAPTION "自定义通知" FONT 9, "宋体" BEGIN - LTEXT "ReactOS 显示图标为活跃和紧急通知,并隐藏不活动的。您可以更改此行为下面列表中的项目。", IDC_STATIC, 6, 6, 220, 30 + LTEXT "ReactOS 显示活动和紧急通知的图标,并隐藏不活动的通知。 您可以更改以下列表中的项目的此行为。", IDC_STATIC, 6, 6, 220, 30 LTEXT "选择一个项目,然后选择它的通知行为:", IDC_STATIC, 6, 40, 220, 10 CONTROL "", IDC_NOTIFICATION_LIST, "SysListView32", WS_CLIPSIBLINGS | WS_BORDER | 0x00008005, 6, 50, 220, 128 COMBOBOX IDC_NOTIFICATION_BEHAVIOUR, 103, 178, 78, 200, CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_CLIPSIBLINGS @@ -128,7 +128,7 @@ FONT 9, "宋体" BEGIN GROUPBOX "开始菜单", IDC_STATIC, 8, 7, 218, 114 ICON IDI_STARTMENU2, IDC_STATIC, 19, 17, 20, 20 - LTEXT "你可以通过添加或移除项自定义开始菜单。", IDC_STATIC, 48, 17, 108, 39 + LTEXT "您可以通过添加或删除项目来自定义开始菜单。", IDC_STATIC, 48, 17, 108, 39 PUSHBUTTON "添加...(&D)", IDC_CLASSICSTART_ADD, 162, 18, 53, 14 PUSHBUTTON "删除...(&R)", IDC_CLASSICSTART_REMOVE, 162, 33, 53, 14 PUSHBUTTON "高级(&V)", IDC_CLASSICSTART_ADVANCED, 162, 49, 53, 14 @@ -144,13 +144,13 @@ END IDD_FILENAME_WARNING DIALOGEX 0, 0, 272, 81, 0 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUPWINDOW | WS_DLGFRAME -CAPTION "文件名称警告" +CAPTION "文件名警告" FONT 9, "宋体" BEGIN DEFPUSHBUTTON "忽略(&I)", IDIGNORE, 215, 60, 50, 14 PUSHBUTTON "重命名(&R)", IDC_FILE_RENAME, 159, 60, 50, 14 LTEXT "", IDC_STATIC, 7, 51, 258, 1, NOT WS_GROUP - AUTOCHECKBOX "不执行此检查启动时(&D)", IDC_NOTCHECK, 7, 62, 139, 10 + AUTOCHECKBOX "不要在启动时执行此检查(&D)", IDC_NOTCHECK, 7, 62, 139, 10 ICON 32515, IDC_STATIC, 7, 7, 21, 20 LTEXT "有是一个文件或文件夹在您的计算机被称为 %s 这可能会导致某些应用程序不能够正确。重命名为 %s 将解决这个问题。您想现在重命名它?", IDC_STATIC, 34, 7, 224, 37 END @@ -161,7 +161,7 @@ CAPTION "高级" FONT 9, "宋体" BEGIN GROUPBOX "开始菜单设置 ", IDC_STATIC, 7, 7, 238, 42 - AUTOCHECKBOX "与我的鼠标上他们暂停时打开子菜单(&O)", IDC_AUTOOPEN, 14, 21, 224, 10 + AUTOCHECKBOX "当我用鼠标暂停它们时打开子菜单(&O)", IDC_AUTOOPEN, 14, 21, 224, 10 AUTOCHECKBOX "突出显示新安装的程序(&N)", IDC_HIGHLIGHT, 14, 35, 224, 10 LTEXT "开始菜单项:(&M)", IDC_STATIC, 7, 53, 238, 8 CONTROL "开始菜单设置(&T)", IDC_ITEMS, "SysTreeView32", WS_BORDER | 0x00000001, 7, 63, 238, 67, WS_EX_CLIENTEDGE @@ -206,5 +206,5 @@ END STRINGTABLE BEGIN IDS_TASKBAR_STARTMENU_PROP_CAPTION "任务栏和开始菜单属性" - IDS_RESTORE_ALL "&Show Open Windows" + IDS_RESTORE_ALL "显示打开的窗口(&S)" END diff --git a/base/system/winlogon/lang/zh-CN.rc b/base/system/winlogon/lang/zh-CN.rc index dbdc737742..4ede506c99 100644 --- a/base/system/winlogon/lang/zh-CN.rc +++ b/base/system/winlogon/lang/zh-CN.rc @@ -15,10 +15,10 @@ END IDD_GINALOADFAILED DIALOGEX 58, 83, 231, 119 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "用户界面失败" +CAPTION "用户界面加载失败" FONT 9, "宋体" BEGIN - LTEXT "加载登录用户界面的 DLL 文件 %s 失败。", IDC_GINALOADFAILED, 39, 16, 156, 24 + LTEXT "加载登录用户界面的 DLL 文件 %s 启动失败。", IDC_GINALOADFAILED, 39, 16, 156, 24 LTEXT "请与系统管理员联系,以替换 DLL 文件,或还原初始的 DLL。", IDC_GINALOADFAILEDCONTACT, 39, 53, 151, 25 DEFPUSHBUTTON "重新启动(&R)", 1, 80, 91, 68, 14 END @@ -29,7 +29,7 @@ CAPTION "关机" FONT 9, "宋体" BEGIN ICON IDI_WARNING, IDC_SYSSHUTDOWNICON, 6, 7, 18, 20 - LTEXT "系统关机指令已经下达。请保存您的工作内容并注销此次会话。系统关机时,一切未保存的工作内容将会丢失。", -1, 38, 7, 135, 40 + LTEXT "已启动系统关闭。请保存所有工作并终止会话。 系统关闭时,所有未保存的工作都将丢失。", -1, 38, 7, 135, 40 LTEXT "系统将在以下时间内关机:", -1, 38, 50, 90, 8 LTEXT "00:00:00", IDC_SYSSHUTDOWNTIMELEFT, 132, 50, 41, 8 LTEXT "附加信息:", -1, 38, 65, 135, 8 diff --git a/boot/freeldr/fdebug/lang/zh-CN.rc b/boot/freeldr/fdebug/lang/zh-CN.rc index 6351f6f095..96a2f9cff8 100644 --- a/boot/freeldr/fdebug/lang/zh-CN.rc +++ b/boot/freeldr/fdebug/lang/zh-CN.rc @@ -82,5 +82,5 @@ END STRINGTABLE BEGIN - IDS_LICENSE "本程序为自由软件; 您可以根据自由软件基金会发布的 GNU 通用公共许可证第 2 版或您选择的更高版本中的条款重新分发或修改它\r\n\r\n本程序之所以分发是希望其有用,但不提供任何担保。有关详细信息,请参阅 GNU 通用公共许可证。\r\n\r\n您应该伴随此程序收到了 GPL 许可证的副本,如果没有,请写信给 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA。" + IDS_LICENSE "本程序为自由软件; 您可以根据自由软件基金会发布的 GNU 通用公共许可证许可证的第 2 版,或(根据您的选择)任何更高版本的条款进行重新分发和修改它。\r\n\r\n本程序的发布是希望它有用,但没有任何担保; 甚至没有适销性或特定用途适用性的暗示保证。 有关详细信息,请参阅 GNU 通用公共许可证。\r\n\r\n您应该已收到 GNU 通用公共许可证的副本以及本程序; 如果没有,请写信给 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA。" END diff --git a/dll/cpl/sysdm/lang/zh-CN.rc b/dll/cpl/sysdm/lang/zh-CN.rc index 8b6597de28..4dbe284a90 100644 --- a/dll/cpl/sysdm/lang/zh-CN.rc +++ b/dll/cpl/sysdm/lang/zh-CN.rc @@ -1,5 +1,5 @@ /* Simplified Chinese translation by Jingjing Fu (jingjingf AT
188.com
) 2009-05-02 */ -/* Improved by Luo Yufan (njlyf2011(a)hotmail.com) */ +/* Translation has been changed by Luo Yufan (njlyf2011(a)hotmail.com) */ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED @@ -33,7 +33,7 @@ FONT 9, "宋体", 0, 0, 0x0 BEGIN GROUPBOX "设备管理器", IDC_STATIC, 6, 7, 244, 61 ICON IDI_DEVMGR, IDC_STATIC, 12, 18, 23, 21, SS_ICON - LTEXT "设备管理器列出所有安装在计算机上的硬件设备。请使用设备管理器来更改设备的属性。", IDC_STATIC, 42, 18, 204, 24 + LTEXT "设备管理器列出了计算机上安装的所有硬件设备。使用“设备管理器”可以更改任何设备的属性。", IDC_STATIC, 42, 18, 204, 24 PUSHBUTTON "设备管理器(&D)...", IDC_HARDWARE_DEVICE_MANAGER, 154, 48, 90, 15 GROUPBOX "添加硬件向导", IDC_STATIC, 6, 79, 244, 61 ICON IDI_ADDHW, IDC_STATIC, 12, 90, 23, 21, SS_ICON @@ -41,7 +41,7 @@ BEGIN PUSHBUTTON "添加硬件向导(&H)", IDC_HARDWARE_WIZARD, 154, 120, 90, 15 GROUPBOX "硬件配置文件", IDC_STATIC, 6, 149, 244, 61 ICON IDI_HARDPROF, IDC_STATIC, 12, 160, 23, 21, SS_ICON - LTEXT "硬件配置文件向您提供建立和保存不同硬件配置的方法。", IDC_STATIC, 42, 160, 204, 24 + LTEXT "硬件配置文件为您提供了一种设置和存储不同硬件配置的方法。", IDC_STATIC, 42, 160, 204, 24 PUSHBUTTON "硬件配置文件(&W)...", IDC_HARDWARE_PROFILE, 154, 190, 90, 15 END @@ -50,12 +50,12 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "高级" FONT 9, "宋体", 0, 0, 0x0 BEGIN - LTEXT "要进行大多数改动,您必须作为管理员登录。", IDC_STATIC, 12, 5, 236, 8 + LTEXT "大多数这些设置都需要管理员权限。", IDC_STATIC, 12, 5, 236, 8 GROUPBOX "性能", IDC_STATIC, 6, 18, 244, 50 - LTEXT "性能选项控制应用程序如何使用内存。这将会影响到计算机运行速度。", IDC_STATIC, 16, 29, 228, 17 + LTEXT "性能选项控制应用程序如何使用内存,这会影响计算机的运行速度。", IDC_STATIC, 16, 29, 228, 17 PUSHBUTTON "设置", IDC_PERFOR, 194, 48, 50, 15 GROUPBOX "用户配置文件", IDC_STATIC, 6, 75, 244, 48 - LTEXT "与您登录相关的桌面设置", IDC_STATIC, 16, 88, 228, 20 + LTEXT "与登录有关的桌面设置", IDC_STATIC, 16, 88, 228, 20 PUSHBUTTON "设置", IDC_USERPROFILE, 194, 103, 50, 15 GROUPBOX "启动和故障恢复", IDC_STATIC, 6, 131, 244, 52 LTEXT "启动和故障恢复选项指定计算机如何启动并设定系统失败时所需要采取的动作。", IDC_STATIC, 16, 144, 228, 19 @@ -71,7 +71,7 @@ CAPTION "系统设置" FONT 9, "宋体", 0, 0, 0x1 BEGIN GROUPBOX "版本信息", IDC_STATIC, 6, 3, 210, 73 - LTEXT "ReactOS 作为服务器操作系统而被构建,并如此被报告。选中此框可更改(仅对于应用程序有效)。", IDC_STATIC, 15, 15, 183, 41 + LTEXT "ReactOS 作为服务器操作系统被构建,并如此被报告。选中此框可更改(仅对于应用程序有效)。", IDC_STATIC, 15, 15, 183, 41 CONTROL "报告为工作站(&R)", IDC_REPORTASWORKSTATION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 16, 57, 190, 10 PUSHBUTTON "确定", IDOK, 166, 83, 50, 14 END diff --git a/dll/shellext/netshell/lang/zh-CN.rc b/dll/shellext/netshell/lang/zh-CN.rc index 79f41bd0a0..0a9dff8f10 100644 --- a/dll/shellext/netshell/lang/zh-CN.rc +++ b/dll/shellext/netshell/lang/zh-CN.rc @@ -18,7 +18,7 @@ BEGIN LTEXT "连接时使用:", -1, 9, 9, 217, 8 EDITTEXT IDC_NETCARDNAME, 9, 21, 230, 12, WS_BORDER | WS_TABSTOP | ES_READONLY PUSHBUTTON "配置(&C)", IDC_CONFIGURE, 189, 38, 50, 14 - LTEXT "此连接使用选中的组件:", -1, 9, 59, 217, 8 + LTEXT "选中的组件由此连接使用:", -1, 9, 59, 217, 8 PUSHBUTTON "安装(&I)", IDC_INSTALL, 9, 130, 65, 14, WS_DISABLED | WS_TABSTOP PUSHBUTTON "卸载(&U)", IDC_UNINSTALL, 90, 130, 65, 14, WS_DISABLED | WS_TABSTOP PUSHBUTTON "属性(&P)", IDC_PROPERTIES, 174, 130, 65, 14 @@ -60,7 +60,7 @@ END IDD_LAN_NETSTATUSADVANCED DIALOGEX 0, 0, 200, 180 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "维持" +CAPTION "支持" FONT 9, "宋体" BEGIN GROUPBOX "连接状态", -1, 9, 8, 190, 88, BS_GROUPBOX @@ -91,11 +91,11 @@ CAPTION "ReactOS 安装程序" FONT 9, "宋体" BEGIN ICON IDI_NET_SETUP, IDC_STATIC, 21, 10, 20, 20 - LTEXT "选择使用典型设置还是自定义设置:", IDC_STATIC, 53, 7, 240, 20 + LTEXT "请选择使用典型设置还是自定义设置:", IDC_STATIC, 53, 7, 240, 20 AUTORADIOBUTTON "典型设置", IDC_NETWORK_TYPICAL, 53, 27, 253, 20, WS_TABSTOP | WS_GROUP AUTORADIOBUTTON "自定义设置", IDC_NETWORK_CUSTOM, 53, 72, 253, 20, WS_TABSTOP - LTEXT "使用 “ReactOS 网络客户端”、“ReactOS 网络的文件和打印共享”和自动寻址的 TCP/IP 传输协议来创建网络连接。", IDC_STATIC, 65, 45, 240, 30 - LTEXT "允许手动配置网络组件。", IDC_STATIC, 65, 90, 243, 20 + LTEXT "使用 ReactOS 网络客户端,ReactOS 网络的文件和打印共享以及具有自动寻址功能的 TCP/IP 传输协议创建网络连接。", IDC_STATIC, 65, 45, 240, 30 + LTEXT "允许您手动配置网络组件。", IDC_STATIC, 65, 90, 243, 20 END IDD_NETWORKCOMPONENTPAGE DIALOGEX 0, 0, 317, 143 @@ -118,13 +118,13 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "ReactOS 安装程序" FONT 9, "宋体" BEGIN - LTEXT "您想让这个计算机成为域成员吗?\n\ -(您可能需要从网络管理员那里获得该信息。)", IDC_STATIC, 33, 2, 263, 50 - AUTORADIOBUTTON "不,这台计算机将成为工作组成员。", IDC_SELECT_WORKGROUP, 33, 32, 253, 20, WS_TABSTOP | WS_GROUP - AUTORADIOBUTTON "是,这台计算机将成为域成员。", IDC_SELECT_DOMAIN, 33, 47, 253, 20, WS_TABSTOP + LTEXT "您是否希望此计算机成为域的成员?\n\ +(您可以从网络管理员处获取此信息。)", IDC_STATIC, 33, 2, 263, 50 + AUTORADIOBUTTON "不,这台计算机将成为工作组的一部分。", IDC_SELECT_WORKGROUP, 33, 32, 253, 20, WS_TABSTOP | WS_GROUP + AUTORADIOBUTTON "是的,这台计算机将成为域的一部分。", IDC_SELECT_DOMAIN, 33, 47, 253, 20, WS_TABSTOP LTEXT "工作组或域名称:", IDC_STATIC, 33, 72, 126, 14 EDITTEXT IDC_DOMAIN_NAME, 33, 82, 126, 14, WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL - LTEXT "注意: 如果您的计算机选择不成为网络的一部分,您将没有权限加入域,如果您不知道应该选择什么,那么请现在加入工作组。这些选项可以在以后更改。", IDC_STATIC, 33, 107, 263, 50 + LTEXT "注意:如果此计算机不是网络的一部分,您没有足够的权限加入域,或者您不知道要输入什么,那么现在就选择工作组。这些选项可以在以后更改。", IDC_STATIC, 33, 107, 263, 50 END STRINGTABLE @@ -134,7 +134,7 @@ BEGIN IDS_SUBNET_MASK "子网掩码" IDS_DEF_GATEWAY "默认网关" IDS_DHCP_SERVER "DHCP 服务器" - IDS_LEASE_OBTAINED "获得了租约" + IDS_LEASE_OBTAINED "已获得租约" IDS_LEASE_EXPIRES "租约过期" IDS_DNS_SERVERS "DNS 服务器" IDS_WINS_SERVERS "WINS 服务器" @@ -175,7 +175,7 @@ END STRINGTABLE BEGIN IDS_NETWORKSETTINGSTITLE "网络设置" - IDS_NETWORKSETTINGSSUBTITLE "安装用于连接其他网络、计算机和 Internet 的网络软件。 " + IDS_NETWORKSETTINGSSUBTITLE "安装用于连接其他网络、计算机和 Internet 的网络软件。" IDS_NETWORKCOMPONENTTITLE "网络组件" IDS_NETWORKCOMPONENTSUBTITLE "确定计算机上使用的网络组件。若要添加新组件,请单击“安装”。" IDS_NETWORKDOMAINTITLE "工作组或计算机域" diff --git a/dll/win32/devmgr/lang/zh-CN.rc b/dll/win32/devmgr/lang/zh-CN.rc index 9af8f4addc..3cd8c4701a 100644 --- a/dll/win32/devmgr/lang/zh-CN.rc +++ b/dll/win32/devmgr/lang/zh-CN.rc @@ -1,5 +1,5 @@ /* Simplified Chinese translation by Henry Tang Ih 2016 (henrytang2(a)hotmail.com) */ - +/* Translation has been changed by Luo Yufan 2018 (njlyf2011(a)hotmail.com) */ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED STRINGTABLE @@ -253,7 +253,7 @@ BEGIN BEGIN MENUITEM "关闭(&X)", IDC_EXIT END - MENUITEM "行动", IDC_ACTIONMENU + MENUITEM "操作", IDC_ACTIONMENU POPUP "视图" BEGIN MENUITEM "按类型设备", IDC_DEVBYTYPE diff --git a/dll/win32/syssetup/lang/zh-CN.rc b/dll/win32/syssetup/lang/zh-CN.rc index 48c6e84d5b..12ddbc5e50 100644 --- a/dll/win32/syssetup/lang/zh-CN.rc +++ b/dll/win32/syssetup/lang/zh-CN.rc @@ -60,19 +60,19 @@ CAPTION "ReactOS 安装程序 " FONT 9, "宋体" BEGIN ICON IDI_ICON4, IDC_STATIC, 21, 7, 20, 20 - LTEXT "系统区域用于设置应用使用的语言,用户区域用于设置数值,货币,日期的显示方式 ", IDC_STATIC, 53, 7, 253, 20 + LTEXT "系统区域设置应与您要使用的应用程序的语言相匹配。 用户区域设置控制数字,货币和日期的显示方式。", IDC_STATIC, 53, 7, 253, 20 LTEXT "", IDC_LOCALETEXT, 53, 29, 250, 16 - LTEXT "要更改系统和用户的区域设置,请单击 “自定义” 。", IDC_STATIC, 53, 60, 184, 8 + LTEXT "想要更改系统和用户的区域设置,请单击 “自定义” 。", IDC_STATIC, 53, 60, 184, 8 PUSHBUTTON "自定义(&C)...", IDC_CUSTOMLOCALE, 245, 57, 50, 14 LTEXT "“文字输入语言”让您使用多种输入方法和设备用\r\n许多不同的语言输入文字。", IDC_STATIC, 53, 86, 253, 20 LTEXT "", IDC_LAYOUTTEXT, 53, 100, 250, 16 - LTEXT "要查看或改变当前配置,请单击“自定义”。", IDC_STATIC, 53, 124, 184, 8 + LTEXT "想要查看或改变当前配置,请单击“自定义”。", IDC_STATIC, 53, 124, 184, 8 PUSHBUTTON "自定义(&U)...", IDC_CUSTOMLAYOUT, 245, 120, 50, 14 END IDD_DATETIMEPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS 安装程序 " +CAPTION "ReactOS 安装程序" FONT 9, "宋体" BEGIN ICON IDI_ICON3, IDC_STATIC, 21, 10, 20, 20 @@ -81,7 +81,7 @@ BEGIN CONTROL "", IDC_TIMEPICKER, "SysDateTimePick32", DTS_TIMEFORMAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 200, 17, 54, 14 LTEXT "时间区域", IDC_STATIC, 53, 42, 253, 8 COMBOBOX IDC_TIMEZONELIST, 53, 52, 201, 93, CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL - AUTOCHECKBOX "夏时制自动调整时间(&D)", IDC_AUTODAYLIGHT, 53, 124, 201, 10 + AUTOCHECKBOX "夏令时自动调整时间(&D)", IDC_AUTODAYLIGHT, 53, 124, 201, 10 END IDD_THEMEPAGE DIALOGEX 0, 0, 317, 143 @@ -89,7 +89,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "ReactOS 安装程序" FONT 9, "宋体" BEGIN - PUSHBUTTON "磊灿", IDC_THEMEDSTYLE, 18,7,130,130, BS_AUTORADIOBUTTON|BS_PUSHLIKE + PUSHBUTTON "Lautus", IDC_THEMEDSTYLE, 18,7,130,130, BS_AUTORADIOBUTTON|BS_PUSHLIKE PUSHBUTTON "经典主题", IDC_CLASSICSTYLE, 175,7,130,130, BS_AUTORADIOBUTTON|BS_PUSHLIKE END diff --git a/media/inf/shortcuts.inf b/media/inf/shortcuts.inf index fc4443c9d8..3f416df53c 100644 --- a/media/inf/shortcuts.inf +++ b/media/inf/shortcuts.inf @@ -1479,14 +1479,14 @@ EXPLORER_TITLE=ReactOS 资源管理器 EXPLORER_DESC=ReactOS 资源管理器 RAPPS_TITLE=ReactOS 应用程序管理器 RAPPS_TITLE_SHORT=应用程序管理器 -RAPPS_DESC=下载并安装其他应用程序 +RAPPS_DESC=下载并安装其它应用程序 SERVMAN_TITLE=服务 SERVMAN_DESC=服务 DEVMGMT_TITLE=设备管理器 DEVMGMT_DESC=设备管理器 EVENTVWR_TITLE=事件查看器 EVENTVWR_DESC=启动事件查看器 -MSCONFIG_TITLE=系统配置 +MSCONFIG_TITLE=系统配置程序 MSCONFIG_DESC=启动系统配置程序 CALC_TITLE=计算器 CALC_DESC=计算器 @@ -1512,8 +1512,8 @@ MAGNIFY_TITLE=放大镜 MAGNIFY_DESC=放大镜 OSK_TITLE=屏幕键盘 OSK_DESC=启动屏幕键盘 -MPLAY_TITLE=多媒体播放器 -MPLAY_DESC=启动多媒体播放器 +MPLAY_TITLE=媒体播放器 +MPLAY_DESC=启动媒体播放器 SNDVOL_TITLE=音量控制 SNDVOL_DESC=启动音量控制 SNDREC32_TITLE=录音机 diff --git a/media/themes/lautus.msstyles/lang/zh-CN.rc b/media/themes/lautus.msstyles/lang/zh-CN.rc index 1e154943ab..8bf9130954 100644 --- a/media/themes/lautus.msstyles/lang/zh-CN.rc +++ b/media/themes/lautus.msstyles/lang/zh-CN.rc @@ -5,12 +5,12 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED STRINGTABLE { -1000, "亚特" +1000, "Ater" } STRINGTABLE { -2000, "磊灿亚特" +2000, "Lautus Ater" } STRINGTABLE @@ -29,12 +29,12 @@ STRINGTABLE STRINGTABLE { -5000, "磊灿" +5000, "Lautus" 5001, "视觉样式" 5002, "ReactOS 基金会" 5003, "Pisarz, 基于 Luna Inspirat 项目" 5004, "基于 GNU/GPL 2.0,于 2011 年发行" 5005, "
http://www.reactos.org
" 5006, "版本 1.0" -5007, "ReactOS 的视觉样式" +5007, "ReactOS 视觉样式" } \ No newline at end of file diff --git a/media/themes/modern.msstyles/lang/zh-CN.rc b/media/themes/modern.msstyles/lang/zh-CN.rc index 96d9348078..adc995191b 100644 --- a/media/themes/modern.msstyles/lang/zh-CN.rc +++ b/media/themes/modern.msstyles/lang/zh-CN.rc @@ -1,18 +1,18 @@ /* Simplified Chinese translation by Henry Tang Ih 2015 (henrytang2(a)hotmail.com) */ -/* Improved by Luo Yufan (njlyf2011(a)hotmail.com) */ +/* Translation has been changed by Luo Yufan 2018 (njlyf2011(a)hotmail.com) */ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED STRINGTABLE { -1000, "亚白" -1001, "黑暗" +1000, "亮色" +1001, "深色" } STRINGTABLE { -2000, "???" -2001, "???" +2000, "Modern(亮色)" +2001, "Modern(深色)" } STRINGTABLE @@ -31,12 +31,12 @@ STRINGTABLE STRINGTABLE { -5000, "现在" +5000, "Modern" 5001, "视觉样式" 5002, "ReactOS 基金会" -5003, "Polar, 基于 Win10 项目" +5003, "Polar, 基于 Win10 的项目" 5004, "基于 GNU/GPL 3.0,于 2018 年发行" 5005, "
http://www.reactos.org
" 5006, "版本 1.0" -5007, "ReactOS 的视觉样式" +5007, "ReactOS 视觉样式" }
6 years
1
0
0
0
[reactos] 01/01: [SDK][NDK] Move SYSTEM_POWER_INFORMATION to ntpoapi.h (#869)
by Serge Gautherie
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c34fa1e3899bf3f3a9f58…
commit c34fa1e3899bf3f3a9f58c11ba78c919d40220b6 Author: Serge Gautherie <32623169+SergeGautherie(a)users.noreply.github.com> AuthorDate: Wed Dec 5 13:48:01 2018 +0100 Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org> CommitDate: Wed Dec 5 13:48:01 2018 +0100 [SDK][NDK] Move SYSTEM_POWER_INFORMATION to ntpoapi.h (#869) As suggested by Thomas Faber. See CORE-12587 for more details. --- modules/rostests/apitests/powrprof/power.c | 1 + sdk/include/ddk/ntpoapi.h | 7 +++++++ sdk/include/ndk/potypes.h | 16 ++++++++++++++++ sdk/include/xdk/winnt_old.h | 9 --------- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/modules/rostests/apitests/powrprof/power.c b/modules/rostests/apitests/powrprof/power.c index e618fd8369..d95b8d108e 100644 --- a/modules/rostests/apitests/powrprof/power.c +++ b/modules/rostests/apitests/powrprof/power.c @@ -14,6 +14,7 @@ #include <ntstatus.h> #define WIN32_NO_STATUS #include <winreg.h> +#include <ndk/potypes.h> #include <powrprof.h> unsigned int g_NumPwrSchemes = 0; diff --git a/sdk/include/ddk/ntpoapi.h b/sdk/include/ddk/ntpoapi.h index 7f1496308d..7856fff043 100644 --- a/sdk/include/ddk/ntpoapi.h +++ b/sdk/include/ddk/ntpoapi.h @@ -271,6 +271,13 @@ typedef struct _PROCESSOR_STATE_HANDLER2 { PROCESSOR_PERF_LEVEL PerfLevel[1]; } PROCESSOR_STATE_HANDLER2, *PPROCESSOR_STATE_HANDLER2; +typedef struct _SYSTEM_POWER_INFORMATION { + ULONG MaxIdlenessAllowed; + ULONG Idleness; + ULONG TimeRemaining; + UCHAR CoolingMode; +} SYSTEM_POWER_INFORMATION, *PSYSTEM_POWER_INFORMATION; + _IRQL_requires_max_(PASSIVE_LEVEL) __kernel_entry NTSYSCALLAPI diff --git a/sdk/include/ndk/potypes.h b/sdk/include/ndk/potypes.h index 48a2dd69cc..9c67881085 100644 --- a/sdk/include/ndk/potypes.h +++ b/sdk/include/ndk/potypes.h @@ -27,6 +27,20 @@ Author: #include <ntpoapi.h> #endif +#ifdef NTOS_MODE_USER +// +// Information Structures for NtPowerInformation +// Copied from ddk\ntpoapi.h +// +typedef struct _SYSTEM_POWER_INFORMATION +{ + ULONG MaxIdlenessAllowed; + ULONG Idleness; + ULONG TimeRemaining; + UCHAR CoolingMode; +} SYSTEM_POWER_INFORMATION, *PSYSTEM_POWER_INFORMATION; +#endif + // // Docking states // @@ -123,7 +137,9 @@ typedef struct _PO_IRP_QUEUE PIRP PendingIrpList; } PO_IRP_QUEUE, *PPO_IRP_QUEUE; +// // Power IRP Manager +// typedef struct _PO_IRP_MANAGER { PO_IRP_QUEUE DeviceIrpQueue; diff --git a/sdk/include/xdk/winnt_old.h b/sdk/include/xdk/winnt_old.h index 07c811837f..1ea3d93973 100644 --- a/sdk/include/xdk/winnt_old.h +++ b/sdk/include/xdk/winnt_old.h @@ -3882,15 +3882,6 @@ typedef enum _POWER_INFORMATION_LEVEL { PowerInformationLevelMaximum } POWER_INFORMATION_LEVEL; -#if 1 /* (_WIN32_WINNT >= 0x0500) */ -typedef struct _SYSTEM_POWER_INFORMATION { - ULONG MaxIdlenessAllowed; - ULONG Idleness; - ULONG TimeRemaining; - UCHAR CoolingMode; -} SYSTEM_POWER_INFORMATION,*PSYSTEM_POWER_INFORMATION; -#endif - #if (_WIN32_WINNT >= 0x0501) typedef enum _ACTIVATION_CONTEXT_INFO_CLASS {
6 years
1
0
0
0
[reactos] 01/01: [WIN32SS][FONT] Use HHEA table metrics if (fsSelection & 0x80) (#1093)
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=88ddb37acba00219eda08…
commit 88ddb37acba00219eda08593b1c9773bb4c86f39 Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Wed Dec 5 21:05:42 2018 +0900 Commit: GitHub <noreply(a)github.com> CommitDate: Wed Dec 5 21:05:42 2018 +0900 [WIN32SS][FONT] Use HHEA table metrics if (fsSelection & 0x80) (#1093) This PR will fix too tiny glyph rendering. CORE-15166 --- win32ss/gdi/ntgdi/freetype.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/win32ss/gdi/ntgdi/freetype.c b/win32ss/gdi/ntgdi/freetype.c index dd5e0064a5..e07606ab52 100644 --- a/win32ss/gdi/ntgdi/freetype.c +++ b/win32ss/gdi/ntgdi/freetype.c @@ -3317,11 +3317,13 @@ IntRequestFontSize(PDC dc, PFONTGDI FontGDI, LONG lfWidth, LONG lfHeight) return FT_Request_Size(face, &req); } + /* See also:
https://docs.microsoft.com/en-us/typography/opentype/spec/os2#fsselection
*/ +#define FM_SEL_USE_TYPO_METRICS 0x80 if (lfHeight > 0) { /* case (A): lfHeight is positive */ Sum = pOS2->usWinAscent + pOS2->usWinDescent; - if (Sum == 0) + if (Sum == 0 || (pOS2->fsSelection & FM_SEL_USE_TYPO_METRICS)) { Ascent = pHori->Ascender; Descent = -pHori->Descender; @@ -3341,11 +3343,20 @@ IntRequestFontSize(PDC dc, PFONTGDI FontGDI, LONG lfWidth, LONG lfHeight) else if (lfHeight < 0) { /* case (B): lfHeight is negative */ - FontGDI->tmAscent = FT_MulDiv(-lfHeight, pOS2->usWinAscent, face->units_per_EM); - FontGDI->tmDescent = FT_MulDiv(-lfHeight, pOS2->usWinDescent, face->units_per_EM); + if (pOS2->fsSelection & FM_SEL_USE_TYPO_METRICS) + { + FontGDI->tmAscent = FT_MulDiv(-lfHeight, pHori->Ascender, face->units_per_EM); + FontGDI->tmDescent = FT_MulDiv(-lfHeight, -pHori->Descender, face->units_per_EM); + } + else + { + FontGDI->tmAscent = FT_MulDiv(-lfHeight, pOS2->usWinAscent, face->units_per_EM); + FontGDI->tmDescent = FT_MulDiv(-lfHeight, pOS2->usWinDescent, face->units_per_EM); + } FontGDI->tmHeight = FontGDI->tmAscent + FontGDI->tmDescent; FontGDI->tmInternalLeading = FontGDI->tmHeight + lfHeight; } +#undef FM_SEL_USE_TYPO_METRICS FontGDI->EmHeight = FontGDI->tmHeight - FontGDI->tmInternalLeading; FontGDI->EmHeight = max(FontGDI->EmHeight, 1);
6 years
1
0
0
0
[reactos] 01/01: [MPR] Import Wine commit: 9988bb5e0729178b527052803d3ad670e5e0b46e Implement remembered connection enumeration.
by Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9c2a264d77e666869c5d0…
commit 9c2a264d77e666869c5d04cf49847c19ca5b51f1 Author: Pierre Schweitzer <pierre(a)reactos.org> AuthorDate: Wed Dec 5 08:47:25 2018 +0100 Commit: Pierre Schweitzer <pierre(a)reactos.org> CommitDate: Wed Dec 5 08:47:25 2018 +0100 [MPR] Import Wine commit: 9988bb5e0729178b527052803d3ad670e5e0b46e Implement remembered connection enumeration. CORE-15310 --- dll/win32/mpr/wnet.c | 230 ++++++++++++++++++--------------------------------- 1 file changed, 82 insertions(+), 148 deletions(-) diff --git a/dll/win32/mpr/wnet.c b/dll/win32/mpr/wnet.c index 2d2d7e10f7..6c9d7cd631 100644 --- a/dll/win32/mpr/wnet.c +++ b/dll/win32/mpr/wnet.c @@ -4,7 +4,7 @@ * Copyright 1999 Ulrich Weigand * Copyright 2004 Juan Lang * Copyright 2007 Maarten Lankhorst - * Copyright 2016 Pierre Schweitzer + * Copyright 2016-2018 Pierre Schweitzer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -73,36 +73,12 @@ typedef struct _WNetProviderTable WNetProvider table[1]; } WNetProviderTable, *PWNetProviderTable; -#ifndef __REACTOS__ -#define WNET_ENUMERATOR_TYPE_NULL 0 -#define WNET_ENUMERATOR_TYPE_GLOBAL 1 -#define WNET_ENUMERATOR_TYPE_PROVIDER 2 -#define WNET_ENUMERATOR_TYPE_CONTEXT 3 -#define WNET_ENUMERATOR_TYPE_CONNECTED 4 -#else #define WNET_ENUMERATOR_TYPE_GLOBAL 0 #define WNET_ENUMERATOR_TYPE_PROVIDER 1 #define WNET_ENUMERATOR_TYPE_CONTEXT 2 #define WNET_ENUMERATOR_TYPE_CONNECTED 3 #define WNET_ENUMERATOR_TYPE_REMEMBERED 4 -#endif -#ifndef __REACTOS__ -/* An WNet enumerator. Note that the type doesn't correspond to the scope of - * the enumeration; it represents one of the following types: - * - a 'null' enumeration, one that contains no members - * - a global enumeration, one that's executed across all providers - * - a provider-specific enumeration, one that's only executed by a single - * provider - * - a context enumeration. I know this contradicts what I just said about - * there being no correspondence between the scope and the type, but it's - * necessary for the special case that a "Entire Network" entry needs to - * be enumerated in an enumeration of the context scope. Thus an enumeration - * of the context scope results in a context type enumerator, which morphs - * into a global enumeration (so the enumeration continues across all - * providers). - */ -#else /* An WNet enumerator. Note that the type doesn't correspond to the scope of * the enumeration; it represents one of the following types: * - a global enumeration, one that's executed across all providers @@ -118,7 +94,6 @@ typedef struct _WNetProviderTable * - a remembered enumeration, not related to providers themselves, but it * is a registry enumeration for saved connections */ -#endif typedef struct _WNetEnumerator { DWORD enumType; @@ -132,13 +107,11 @@ typedef struct _WNetEnumerator { NETRESOURCEW* net; HANDLE* handles; -#ifdef __REACTOS__ struct { HKEY registry; DWORD index; } remembered; -#endif } specific; } WNetEnumerator, *PWNetEnumerator; @@ -449,18 +422,6 @@ static void _freeEnumNetResource(LPNETRESOURCEW lpNet) } } -#ifndef __REACTOS__ -static PWNetEnumerator _createNullEnumerator(void) -{ - PWNetEnumerator ret = HeapAlloc(GetProcessHeap(), - HEAP_ZERO_MEMORY, sizeof(WNetEnumerator)); - - if (ret) - ret->enumType = WNET_ENUMERATOR_TYPE_NULL; - return ret; -} -#endif - static PWNetEnumerator _createGlobalEnumeratorW(DWORD dwScope, DWORD dwType, DWORD dwUsage, LPNETRESOURCEW lpNet) { @@ -537,7 +498,6 @@ static PWNetEnumerator _createConnectedEnumerator(DWORD dwScope, DWORD dwType, return ret; } -#ifdef __REACTOS__ static PWNetEnumerator _createRememberedEnumerator(DWORD dwScope, DWORD dwType, HKEY remembered) { @@ -551,7 +511,6 @@ static PWNetEnumerator _createRememberedEnumerator(DWORD dwScope, DWORD dwType, } return ret; } -#endif /* Thunks the array of wide-string LPNETRESOURCEs lpNetArrayIn into buffer * lpBuffer, with size *lpBufferSize. lpNetArrayIn contains *lpcCount entries @@ -918,10 +877,6 @@ DWORD WINAPI WNetOpenEnumW( DWORD dwScope, DWORD dwType, DWORD dwUsage, ret = *lphEnum ? WN_SUCCESS : WN_OUT_OF_MEMORY; break; case RESOURCE_REMEMBERED: -#ifndef __REACTOS__ - *lphEnum = _createNullEnumerator(); - ret = *lphEnum ? WN_SUCCESS : WN_OUT_OF_MEMORY; -#else { HKEY remembered, user_profile; @@ -939,7 +894,6 @@ DWORD WINAPI WNetOpenEnumW( DWORD dwScope, DWORD dwType, DWORD dwUsage, RegCloseKey(user_profile); } } -#endif break; default: WARN("unknown scope 0x%08x\n", dwScope); @@ -1446,36 +1400,39 @@ static DWORD _enumerateConnectedW(PWNetEnumerator enumerator, DWORD* user_count, return ret; } -#ifdef __REACTOS__ -static const WCHAR connectionType[] = { 'C','o','n','n','e','c','t', - 'i','o','n','T','y','p','e',0 }; -static const WCHAR providerName[] = { 'P','r','o','v','i','d','e','r', - 'N','a','m','e',0 }; -static const WCHAR remotePath[] = { 'R','e','m','o','t','e','P', - 'a','t','h',0 }; +static const WCHAR connectionType[] = { 'C','o','n','n','e','c','t','i','o','n','T','y','p','e',0 }; +static const WCHAR providerName[] = { 'P','r','o','v','i','d','e','r','N','a','m','e',0 }; +static const WCHAR remotePath[] = { 'R','e','m','o','t','e','P','a','t','h',0 }; + +static WCHAR *get_reg_str(HKEY hkey, const WCHAR *value, DWORD *len) +{ + DWORD type; + WCHAR *ret = NULL; + + if (!RegQueryValueExW(hkey, value, NULL, &type, NULL, len) && type == REG_SZ) + { + if (!(ret = HeapAlloc(GetProcessHeap(), 0, *len))) return NULL; + RegQueryValueExW(hkey, value, 0, 0, (BYTE *)ret, len); + } + + return ret; +} static DWORD _enumeratorRememberedW(PWNetEnumerator enumerator, DWORD* user_count, void* user_buffer, DWORD* user_size) { HKEY registry, connection; WCHAR buffer[255]; - DWORD index, ret, type, len, size, provider_size, remote_size, full_size, total_count, size_left = *user_size; + LONG size_left; + DWORD index, ret, type, len, size, registry_size, full_size = 0, total_count; NETRESOURCEW * net_buffer = user_buffer; - WCHAR * str; - - if (!enumerator) - return WN_BAD_POINTER; - if (enumerator->enumType != WNET_ENUMERATOR_TYPE_REMEMBERED) - return WN_BAD_VALUE; - if (!user_count || !user_buffer || !user_size) - return WN_BAD_POINTER; - if (!providerTable) - return WN_NO_NETWORK; + WCHAR * str, * registry_string; - /* We will do the work in a single loop, so here is some things: + /* we will do the work in a single loop, so here is some things: * we write netresource at the begin of the user buffer * we write strings at the end of the user buffer */ + size_left = *user_size; total_count = 0; type = enumerator->dwType; registry = enumerator->specific.remembered.registry; @@ -1490,24 +1447,12 @@ static DWORD _enumeratorRememberedW(PWNetEnumerator enumerator, DWORD* user_coun break; } - if (size_left < sizeof(NETRESOURCEW)) - { - ret = WN_MORE_DATA; - break; - } - len = ARRAY_SIZE(buffer); ret = RegEnumKeyExW(registry, index, buffer, &len, NULL, NULL, NULL, NULL); if (ret != ERROR_SUCCESS) { - /* We're done, that's a success! */ - if (ret == ERROR_NO_MORE_ITEMS) - { - ret = WN_SUCCESS; - break; - } - - continue; + if (ret == ERROR_NO_MORE_ITEMS) ret = WN_SUCCESS; + break; } if (RegOpenKeyExW(registry, buffer, 0, KEY_READ, &connection) != ERROR_SUCCESS) @@ -1515,80 +1460,84 @@ static DWORD _enumeratorRememberedW(PWNetEnumerator enumerator, DWORD* user_coun continue; } - size = sizeof(DWORD); - RegQueryValueExW(connection, connectionType, NULL, NULL, (BYTE *)&net_buffer->dwType, &size); - if (type != RESOURCETYPE_ANY && net_buffer->dwType != type) - { - RegCloseKey(connection); - continue; - } - - net_buffer->dwScope = RESOURCE_REMEMBERED; - net_buffer->dwDisplayType = RESOURCEDISPLAYTYPE_GENERIC; - net_buffer->dwUsage = RESOURCEUSAGE_CONNECTABLE; - + full_size = sizeof(NETRESOURCEW); size_left -= sizeof(NETRESOURCEW); - /* Compute the whole size */ - full_size = 0; - if (RegQueryValueExW(connection, providerName, NULL, NULL, NULL, &provider_size) != ERROR_SUCCESS) + if (size_left > 0) { - RegCloseKey(connection); - continue; - } - full_size += provider_size; + size = sizeof(DWORD); + RegQueryValueExW(connection, connectionType, NULL, NULL, (BYTE *)&net_buffer->dwType, &size); + if (type != RESOURCETYPE_ANY && net_buffer->dwType != type) + { + size_left += sizeof(NETRESOURCEW); + RegCloseKey(connection); + continue; + } - if (RegQueryValueExW(connection, remotePath, NULL, NULL, NULL, &remote_size) != ERROR_SUCCESS) - { - RegCloseKey(connection); - continue; + net_buffer->dwScope = RESOURCE_REMEMBERED; + net_buffer->dwDisplayType = RESOURCEDISPLAYTYPE_GENERIC; + net_buffer->dwUsage = RESOURCEUSAGE_CONNECTABLE; } - full_size += remote_size; + else + ret = WN_MORE_DATA; /* FIXME: this only supports drive letters */ full_size += 3 * sizeof(WCHAR); - if (full_size > size_left) + size_left -= 3 * sizeof(WCHAR); + if (size_left > 0) { - RegCloseKey(connection); - ret = WN_MORE_DATA; - break; + str -= 3; + str[0] = buffer[0]; + str[1] = ':'; + str[2] = 0; + net_buffer->lpLocalName = str; } - str -= 3; - str[0] = buffer[0]; - str[1] = L':'; - str[2] = 0; - net_buffer->lpLocalName = str; - size_left -= 3 * sizeof(WCHAR); - - size = provider_size; - str -= (provider_size / sizeof(WCHAR)); - ret = RegQueryValueExW(connection, providerName, NULL, NULL, (BYTE *)str, &size); - if (ret == ERROR_MORE_DATA) + registry_size = 0; + registry_string = get_reg_str(connection, providerName, ®istry_size); + if (registry_string) { - RegCloseKey(connection); - ret = WN_MORE_DATA; - break; + full_size += registry_size; + size_left -= registry_size; + + if (size_left > 0) + { + str -= (registry_size / sizeof(WCHAR)); + lstrcpyW(str, registry_string); + net_buffer->lpProvider = str; + } + else + ret = WN_MORE_DATA; + + HeapFree(GetProcessHeap(), 0, registry_string); } - net_buffer->lpProvider = str; - size_left -= size; - size = remote_size; - str -= (remote_size / sizeof(WCHAR)); - ret = RegQueryValueExW(connection, remotePath, NULL, NULL, (BYTE *)str, &size); - if (ret == ERROR_MORE_DATA) + registry_size = 0; + registry_string = get_reg_str(connection, remotePath, ®istry_size); + if (registry_string) { - RegCloseKey(connection); - ret = WN_MORE_DATA; - break; + full_size += registry_size; + size_left -= registry_size; + + if (size_left > 0) + { + str -= (registry_size / sizeof(WCHAR)); + lstrcpyW(str, registry_string); + net_buffer->lpRemoteName = str; + } + else + ret = WN_MORE_DATA; + + HeapFree(GetProcessHeap(), 0, registry_string); } - net_buffer->lpRemoteName = str; - size_left -= size; RegCloseKey(connection); net_buffer->lpComment = NULL; + if (size_left < 0) + break; + ++total_count; ++net_buffer; } @@ -1606,7 +1555,6 @@ static DWORD _enumeratorRememberedW(PWNetEnumerator enumerator, DWORD* user_coun return ret; } -#endif /********************************************************************* * WNetEnumResourceW [MPR.@] @@ -1637,11 +1585,6 @@ DWORD WINAPI WNetEnumResourceW( HANDLE hEnum, LPDWORD lpcCount, switch (enumerator->enumType) { -#ifndef __REACTOS__ - case WNET_ENUMERATOR_TYPE_NULL: - ret = WN_NO_MORE_ENTRIES; - break; -#endif case WNET_ENUMERATOR_TYPE_GLOBAL: ret = _enumerateGlobalW(enumerator, lpcCount, lpBuffer, lpBufferSize); @@ -1658,12 +1601,10 @@ DWORD WINAPI WNetEnumResourceW( HANDLE hEnum, LPDWORD lpcCount, ret = _enumerateConnectedW(enumerator, lpcCount, lpBuffer, lpBufferSize); break; -#ifdef __REACTOS__ case WNET_ENUMERATOR_TYPE_REMEMBERED: ret = _enumeratorRememberedW(enumerator, lpcCount, lpBuffer, lpBufferSize); break; -#endif default: WARN("bogus enumerator type!\n"); ret = WN_NO_NETWORK; @@ -1691,11 +1632,6 @@ DWORD WINAPI WNetCloseEnum( HANDLE hEnum ) switch (enumerator->enumType) { -#ifndef __REACTOS__ - case WNET_ENUMERATOR_TYPE_NULL: - ret = WN_SUCCESS; - break; -#endif case WNET_ENUMERATOR_TYPE_GLOBAL: if (enumerator->
specific.net
) _freeEnumNetResource(enumerator->
specific.net
); @@ -1720,12 +1656,10 @@ DWORD WINAPI WNetCloseEnum( HANDLE hEnum ) HeapFree(GetProcessHeap(), 0, handles); ret = WN_SUCCESS; break; -#ifdef __REACTOS__ case WNET_ENUMERATOR_TYPE_REMEMBERED: RegCloseKey(enumerator->specific.remembered.registry); ret = WN_SUCCESS; break; -#endif default: WARN("bogus enumerator type!\n"); ret = WN_BAD_HANDLE;
6 years
1
0
0
0
[reactos] 01/01: [NTOSKRNL] Use proper enum type for IopCreateSecurityDescriptorPerType()
by Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=67e73991645c36e82f9c2…
commit 67e73991645c36e82f9c25b073e6e089eb87e968 Author: Pierre Schweitzer <pierre(a)reactos.org> AuthorDate: Tue Dec 4 19:20:47 2018 +0100 Commit: Pierre Schweitzer <pierre(a)reactos.org> CommitDate: Tue Dec 4 19:20:47 2018 +0100 [NTOSKRNL] Use proper enum type for IopCreateSecurityDescriptorPerType() --- ntoskrnl/include/internal/io.h | 2 +- ntoskrnl/io/iomgr/device.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ntoskrnl/include/internal/io.h b/ntoskrnl/include/internal/io.h index 5835c66aa3..8ae32a0dc5 100644 --- a/ntoskrnl/include/internal/io.h +++ b/ntoskrnl/include/internal/io.h @@ -527,7 +527,7 @@ typedef struct _RESERVE_IRP_ALLOCATOR } RESERVE_IRP_ALLOCATOR, *PRESERVE_IRP_ALLOCATOR; // -// +// Type selection for IopCreateSecurityDescriptorPerType() // typedef enum _SECURITY_DESCRIPTOR_TYPE { diff --git a/ntoskrnl/io/iomgr/device.c b/ntoskrnl/io/iomgr/device.c index 7d17ce9551..3810dd587c 100644 --- a/ntoskrnl/io/iomgr/device.c +++ b/ntoskrnl/io/iomgr/device.c @@ -727,7 +727,7 @@ IopVerifyDeviceObjectOnStack(IN PDEVICE_OBJECT BaseDeviceObject, NTSTATUS NTAPI IopCreateSecurityDescriptorPerType(IN PSECURITY_DESCRIPTOR SecurityDescriptor, - IN ULONG Type, + IN SECURITY_DESCRIPTOR_TYPE Type, OUT PULONG OutputFlags) { PACL Dacl;
6 years
1
0
0
0
[reactos] 02/02: [NTOSKRNL] Use the appropriated security descriptor when creating a device
by Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=73e7a5d474d374daa9f63…
commit 73e7a5d474d374daa9f63496ba9ae4dd85e6b873 Author: Pierre Schweitzer <pierre(a)reactos.org> AuthorDate: Tue Dec 4 19:12:06 2018 +0100 Commit: Pierre Schweitzer <pierre(a)reactos.org> CommitDate: Tue Dec 4 19:13:57 2018 +0100 [NTOSKRNL] Use the appropriated security descriptor when creating a device CORE-9176 --- ntoskrnl/io/iomgr/device.c | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/ntoskrnl/io/iomgr/device.c b/ntoskrnl/io/iomgr/device.c index 5cb7f5cfda..7d17ce9551 100644 --- a/ntoskrnl/io/iomgr/device.c +++ b/ntoskrnl/io/iomgr/device.c @@ -1045,6 +1045,8 @@ IoCreateDevice(IN PDRIVER_OBJECT DriverObject, ULONG AlignedDeviceExtensionSize; ULONG TotalSize; HANDLE TempHandle; + PACL Dacl; + SECURITY_DESCRIPTOR SecurityDescriptor, *ReturnedSD; PAGED_CODE(); /* Check if we have to generate a name */ @@ -1060,12 +1062,20 @@ IoCreateDevice(IN PDRIVER_OBJECT DriverObject, DeviceName = &AutoName; } + /* Get the security descriptor */ + ReturnedSD = IopCreateDefaultDeviceSecurityDescriptor(DeviceType, + DeviceCharacteristics, + DeviceName != NULL, + &SecurityDescriptor, + &Dacl, + NULL); + /* Initialize the Object Attributes */ InitializeObjectAttributes(&ObjectAttributes, DeviceName, OBJ_KERNEL_HANDLE, NULL, - SePublicOpenUnrestrictedSd); + ReturnedSD); /* Honor exclusive flag */ if (Exclusive) ObjectAttributes.Attributes |= OBJ_EXCLUSIVE; @@ -1092,7 +1102,12 @@ IoCreateDevice(IN PDRIVER_OBJECT DriverObject, 0, 0, (PVOID*)&CreatedDeviceObject); - if (!NT_SUCCESS(Status)) return Status; + if (!NT_SUCCESS(Status)) + { + if (Dacl != NULL) ExFreePoolWithTag(Dacl, 'eSoI'); + + return Status; + } /* Clear the whole Object and extension so we don't null stuff manually */ RtlZeroMemory(CreatedDeviceObject, TotalSize); @@ -1144,6 +1159,8 @@ IoCreateDevice(IN PDRIVER_OBJECT DriverObject, Status = IopCreateVpb(CreatedDeviceObject); if (!NT_SUCCESS(Status)) { + if (Dacl != NULL) ExFreePoolWithTag(Dacl, 'eSoI'); + /* Dereference the device object and fail */ ObDereferenceObject(CreatedDeviceObject); return Status; @@ -1197,7 +1214,12 @@ IoCreateDevice(IN PDRIVER_OBJECT DriverObject, 1, (PVOID*)&CreatedDeviceObject, &TempHandle); - if (!NT_SUCCESS(Status)) return Status; + if (!NT_SUCCESS(Status)) + { + if (Dacl != NULL) ExFreePoolWithTag(Dacl, 'eSoI'); + + return Status; + } /* Now do the final linking */ ObReferenceObject(DriverObject); @@ -1211,6 +1233,9 @@ IoCreateDevice(IN PDRIVER_OBJECT DriverObject, /* Close the temporary handle and return to caller */ ObCloseHandle(TempHandle, KernelMode); *DeviceObject = CreatedDeviceObject; + + if (Dacl != NULL) ExFreePoolWithTag(Dacl, 'eSoI'); + return STATUS_SUCCESS; }
6 years
1
0
0
0
[reactos] 01/02: [NTOSKRNL] Implement IopCreateDefaultDeviceSecurityDescriptor() and IopCreateSecurityDescriptorPerType()
by Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=36c38c45eee2780c50bd5…
commit 36c38c45eee2780c50bd5c885188a73808636f64 Author: Pierre Schweitzer <pierre(a)reactos.org> AuthorDate: Tue Dec 4 19:10:40 2018 +0100 Commit: Pierre Schweitzer <pierre(a)reactos.org> CommitDate: Tue Dec 4 19:13:57 2018 +0100 [NTOSKRNL] Implement IopCreateDefaultDeviceSecurityDescriptor() and IopCreateSecurityDescriptorPerType() CORE-9176 --- ntoskrnl/include/internal/io.h | 12 +++ ntoskrnl/io/iomgr/device.c | 166 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+) diff --git a/ntoskrnl/include/internal/io.h b/ntoskrnl/include/internal/io.h index 18a9b2de50..5835c66aa3 100644 --- a/ntoskrnl/include/internal/io.h +++ b/ntoskrnl/include/internal/io.h @@ -526,6 +526,18 @@ typedef struct _RESERVE_IRP_ALLOCATOR CCHAR StackSize; } RESERVE_IRP_ALLOCATOR, *PRESERVE_IRP_ALLOCATOR; +// +// +// +typedef enum _SECURITY_DESCRIPTOR_TYPE +{ + RestrictedPublic = 1, + UnrestrictedPublic, + RestrictedPublicOpen, + UnrestrictedPublicOpen, + SystemDefault, +} SECURITY_DESCRIPTOR_TYPE, *PSECURITY_DESCRIPTOR_TYPE; + // // Resource code // diff --git a/ntoskrnl/io/iomgr/device.c b/ntoskrnl/io/iomgr/device.c index 416a16e6aa..5cb7f5cfda 100644 --- a/ntoskrnl/io/iomgr/device.c +++ b/ntoskrnl/io/iomgr/device.c @@ -25,6 +25,8 @@ extern LIST_ENTRY IopCdRomFileSystemQueueHead; extern LIST_ENTRY IopTapeFileSystemQueueHead; extern ERESOURCE IopDatabaseResource; +#define DACL_SET 4 + /* PRIVATE FUNCTIONS **********************************************************/ VOID @@ -722,6 +724,170 @@ IopVerifyDeviceObjectOnStack(IN PDEVICE_OBJECT BaseDeviceObject, return Result; } +NTSTATUS +NTAPI +IopCreateSecurityDescriptorPerType(IN PSECURITY_DESCRIPTOR SecurityDescriptor, + IN ULONG Type, + OUT PULONG OutputFlags) +{ + PACL Dacl; + NTSTATUS Status; + + /* Select the DACL the caller wants */ + switch (Type) + { + case RestrictedPublic: + Dacl = SePublicDefaultDacl; + break; + + case UnrestrictedPublic: + Dacl = SePublicDefaultUnrestrictedDacl; + break; + + case RestrictedPublicOpen: + Dacl = SePublicOpenDacl; + break; + + case UnrestrictedPublicOpen: + Dacl = SePublicOpenUnrestrictedDacl; + break; + + case SystemDefault: + Dacl = SeSystemDefaultDacl; + break; + + default: + ASSERT(FALSE); + return STATUS_INVALID_PARAMETER; + } + + /* Create the SD and set the DACL caller wanted */ + Status = RtlCreateSecurityDescriptor(SecurityDescriptor, SECURITY_DESCRIPTOR_REVISION); + ASSERT(NT_SUCCESS(Status)); + Status = RtlSetDaclSecurityDescriptor(SecurityDescriptor, TRUE, Dacl, FALSE); + + /* We've set DACL */ + if (OutputFlags) *OutputFlags |= DACL_SET; + + /* Done */ + return Status; +} + +PSECURITY_DESCRIPTOR +NTAPI +IopCreateDefaultDeviceSecurityDescriptor(IN DEVICE_TYPE DeviceType, + IN ULONG DeviceCharacteristics, + IN BOOLEAN HasDeviceName, + IN PSECURITY_DESCRIPTOR SecurityDescriptor, + OUT PACL * OutputDacl, + OUT PULONG OutputFlags) +{ + PACL Dacl; + ULONG AceId; + NTSTATUS Status; + PACCESS_ALLOWED_ACE Ace; + BOOLEAN AdminsSet, WorldSet; + + PAGED_CODE(); + + /* Zero our output vars */ + if (OutputFlags) *OutputFlags = 0; + + *OutputDacl = NULL; + + /* For FSD, easy use SePublicDefaultUnrestrictedDacl */ + if (DeviceType == FILE_DEVICE_TAPE_FILE_SYSTEM || + DeviceType == FILE_DEVICE_CD_ROM_FILE_SYSTEM || + DeviceType == FILE_DEVICE_DISK_FILE_SYSTEM || + DeviceType == FILE_DEVICE_FILE_SYSTEM) + { + Status = IopCreateSecurityDescriptorPerType(SecurityDescriptor, + UnrestrictedPublic, + OutputFlags); + goto Quit; + } + /* For storage devices with a name and floppy attribute, + * use SePublicOpenUnrestrictedDacl + */ + else if ((DeviceType != FILE_DEVICE_VIRTUAL_DISK && + DeviceType != FILE_DEVICE_MASS_STORAGE && + DeviceType != FILE_DEVICE_CD_ROM && + DeviceType != FILE_DEVICE_DISK && + DeviceType != FILE_DEVICE_DFS_FILE_SYSTEM && + DeviceType != FILE_DEVICE_NETWORK && + DeviceType != FILE_DEVICE_NETWORK_FILE_SYSTEM) || + (HasDeviceName && BooleanFlagOn(DeviceCharacteristics, FILE_FLOPPY_DISKETTE))) + { + Status = IopCreateSecurityDescriptorPerType(SecurityDescriptor, + UnrestrictedPublicOpen, + OutputFlags); + goto Quit; + } + + /* The rest... + * We will rely on SePublicDefaultUnrestrictedDacl as well + */ + Dacl = ExAllocatePoolWithTag(PagedPool, SePublicDefaultUnrestrictedDacl->AclSize, 'eSoI'); + if (Dacl == NULL) + { + return NULL; + } + + /* Copy our DACL */ + RtlCopyMemory(Dacl, SePublicDefaultUnrestrictedDacl, SePublicDefaultUnrestrictedDacl->AclSize); + + /* Now, browse the DACL to make sure we have everything we want in them, + * including permissions + */ + AceId = 0; + AdminsSet = FALSE; + WorldSet = FALSE; + while (NT_SUCCESS(RtlGetAce(Dacl, AceId, (PVOID *)&Ace))) + { + /* Admins must acess and in RWX, set it */ + if (RtlEqualSid(SeAliasAdminsSid, &Ace->SidStart)) + { + SetFlag(Ace->Mask, (GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE)); + AdminsSet = TRUE; + } + + /* World can read a CD_ROM device */ + if (DeviceType == FILE_DEVICE_CD_ROM && RtlEqualSid(SeWorldSid, &Ace->SidStart)) + { + SetFlag(Ace->Mask, GENERIC_READ); + WorldSet = TRUE; + } + + ++AceId; + } + + /* AdminSid was present and set (otherwise, we have big trouble) */ + ASSERT(AdminsSet); + + /* If CD_ROM device, we've set world permissions */ + if (DeviceType == FILE_DEVICE_CD_ROM) ASSERT(WorldSet); + + /* Now our DACL is correct, setup the security descriptor */ + RtlCreateSecurityDescriptor(SecurityDescriptor, SECURITY_DESCRIPTOR_REVISION); + RtlSetDaclSecurityDescriptor(SecurityDescriptor, TRUE, Dacl, FALSE); + + /* We've set DACL */ + if (OutputFlags) *OutputFlags |= DACL_SET; + + /* Return DACL to allow later freeing */ + *OutputDacl = Dacl; + Status = STATUS_SUCCESS; + +Quit: + /* Only return SD if we succeed */ + if (!NT_SUCCESS(Status)) + { + return NULL; + } + + return SecurityDescriptor; +} + /* PUBLIC FUNCTIONS ***********************************************************/ /*
6 years
1
0
0
0
[reactos] 01/01: [TRANSLATION] Update Simplified Chinese translation. (#1094)
by Luo Yufan
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=07b120bd5605350356578…
commit 07b120bd5605350356578129112801bb40a60798 Author: Luo Yufan <njlyf2011(a)hotmail.com> AuthorDate: Wed Dec 5 00:13:39 2018 +0800 Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org> CommitDate: Tue Dec 4 17:13:39 2018 +0100 [TRANSLATION] Update Simplified Chinese translation. (#1094) --- base/applications/fontview/lang/zh-CN.rc | 5 +++-- base/applications/msconfig_new/lang/zh-CN.rc | 6 +++--- base/applications/osk/lang/zh-CN.rc | 11 ++++++----- base/applications/shutdown/lang/zh-CN.rc | 4 ++-- dll/cpl/appwiz/lang/zh-CN.rc | 14 +++++++------- dll/cpl/desk/lang/zh-CN.rc | 22 +++++++++++----------- dll/cpl/hdwwiz/lang/zh-CN.rc | 25 +++++++++++++------------ dll/cpl/inetcpl/lang/zh-CN.rc | 6 +++--- dll/cpl/liccpa/lang/zh-CN.rc | 6 +++--- dll/cpl/mmsys/lang/zh-CN.rc | 14 +++++++------- dll/win32/ieframe/lang/zh-CN.rc | 4 ++-- dll/win32/shdoclc/lang/Zh.rc | 13 +++++++------ dll/win32/shell32/lang/zh-CN.rc | 28 ++++++++++++++-------------- 13 files changed, 81 insertions(+), 77 deletions(-) diff --git a/base/applications/fontview/lang/zh-CN.rc b/base/applications/fontview/lang/zh-CN.rc index 87f9e9eb8a..f25b09165b 100644 --- a/base/applications/fontview/lang/zh-CN.rc +++ b/base/applications/fontview/lang/zh-CN.rc @@ -5,6 +5,7 @@ * PURPOSE: Chinese (Simplified) Language File for FontView * TRANSLATOR: Elton Chung aka MfldElton <elton328(a)gmail.com> * Li Keqing <auroracloud4096(a)gmail.com> + * Luo Yufan <njlyf2011(a)hotmail.com> */ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED @@ -22,9 +23,9 @@ BEGIN IDS_FILTER_LIST "支持所有的字体 (*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc)\0*.fon;*.fnt;*.ttf;*.ttc;*.otf;*.otc\0\ 字体文件 (*.fon;*.fnt)\0*.fon;*.fnt\0\ TrueType 字体 (*.ttf)\0*.ttf\0\ -TrueType Font Collection (*.ttc)\0*.ttc\0\ +TrueType 字体集合 (*.ttc)\0*.ttc\0\ OpenType 字体 (*.otf)\0*.otf\0\ -OpenType Font Collection (*.otc)\0*.otc\0\ +OpenType 字体集合 (*.otc)\0*.otc\0\ 所有文件 (*.*)\0*.*\0" IDS_PREVIOUS "< 上一个(&R)" IDS_NEXT "下一个(&N) >" diff --git a/base/applications/msconfig_new/lang/zh-CN.rc b/base/applications/msconfig_new/lang/zh-CN.rc index ba309047a7..ecab57f3ae 100644 --- a/base/applications/msconfig_new/lang/zh-CN.rc +++ b/base/applications/msconfig_new/lang/zh-CN.rc @@ -74,10 +74,10 @@ BEGIN GROUPBOX "引导选项", IDC_STATIC, 5, 84, 285, 86 GROUPBOX "", IDC_STATIC, 10, 97, 143, 68 CHECKBOX "安全模式 (/SA&FEBOOT)", IDC_CBX_SAFE_BOOT, 15, 97, 121, 10 - CONTROL "最小 (&MINIMAL)", IDC_RADIO1, "Button", BS_AUTORADIOBUTTON, 15, 110, 133, 10 - CONTROL "其他外壳\n(M&INIMAL (ALTERNATESHELL))", IDC_RADIO4, + CONTROL "最小化启动 (&MINIMAL)", IDC_RADIO1, "Button", BS_AUTORADIOBUTTON, 15, 110, 133, 10 + CONTROL "其他外壳程序\n(M&INIMAL (ALTERNATESHELL))", IDC_RADIO4, "Button", BS_AUTORADIOBUTTON | BS_MULTILINE, 15, 121, 133, 17 - CONTROL "维修活动目录 (DSRE&PAIR)", IDC_RADIO3, "Button", BS_AUTORADIOBUTTON, 15, 139, 133, 10 + CONTROL "修复活动目录 (DSRE&PAIR)", IDC_RADIO3, "Button", BS_AUTORADIOBUTTON, 15, 139, 133, 10 CONTROL "网络 (NET&WORK)", IDC_RADIO2, "Button", BS_AUTORADIOBUTTON, 15, 150, 133, 10 CHECKBOX "无 GUI 引导\n(/&NOGUIBOOT)", IDC_CBX_NO_GUI_BOOT, 158, 91, 127, 17, BS_MULTILINE CHECKBOX "引导日志 (/&BOOTLOG)", IDC_CBX_BOOT_LOG, 158, 110, 127, 12 diff --git a/base/applications/osk/lang/zh-CN.rc b/base/applications/osk/lang/zh-CN.rc index e873cc4434..4fcbdac06f 100644 --- a/base/applications/osk/lang/zh-CN.rc +++ b/base/applications/osk/lang/zh-CN.rc @@ -7,6 +7,7 @@ */ /* Simplified Chinese translation by Henry Tang Ih 2015 (henrytang2(a)hotmail.com) */ +/* Translation has been changed by Luo Yufan <njlyf2011(a)hotmail.com> */ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED @@ -129,13 +130,13 @@ END IDD_WARNINGDIALOG_OSK DIALOGEX 0, 0, 250, 97 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION -CAPTION "On-Screen Keyboard" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 +CAPTION "屏幕键盘" +FONT 9, "宋体", 400, 0, 0x1 BEGIN - DEFPUSHBUTTON "OK", IDOK, 193, 76, 50, 14 + DEFPUSHBUTTON "确定", IDOK, 193, 76, 50, 14 ICON IDI_OSK, IDC_STATIC, 7, 17, 20, 20 - LTEXT "On-Screen Keyboard provides a minimum level of functionality for mobility-impaired users. Mobility-impaired users will need a utility program with higher functionality for daily use.", IDC_STATIC, 36, 7, 207, 33 - CONTROL "Do not show this message again", IDC_SHOWWARNINGCHECK, "Button", + LTEXT "屏幕键盘为行动不便的用户提供最低级别的功能。 移动性受损用户需要具有更高功能的实用程序以供日常使用。", IDC_STATIC, 36, 7, 207, 33 + CONTROL "不再显示此消息", IDC_SHOWWARNINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 43, 80, 137, 10 END diff --git a/base/applications/shutdown/lang/zh-CN.rc b/base/applications/shutdown/lang/zh-CN.rc index 2af8cee48e..4bd58c7384 100644 --- a/base/applications/shutdown/lang/zh-CN.rc +++ b/base/applications/shutdown/lang/zh-CN.rc @@ -72,7 +72,7 @@ BEGIN IDS_ERROR_MAX_COMMENT_LENGTH "错误: 注释长度超过由系统设置的最大限制。\n" IDS_ERROR_HIBERNATE "错误: 无法使系统进入休眠模式。\n" IDS_ERROR_HIBERNATE_LOCAL "错误: 无法远程启动休眠模式。\n" - IDS_ERROR_HIBERNATE_ENABLED "错误: 未启用休眠模式。\n" + IDS_ERROR_HIBERNATE_ENABLED "错误: 没有启用休眠模式。\n" IDS_ERROR_DIALOG_CAPTION "远程关机" IDS_ERROR_DIALOG_INIT "无法显示图形用户界面。" END @@ -82,7 +82,7 @@ STRINGTABLE BEGIN IDS_ACTION_SHUTDOWN "关闭系统" IDS_ACTION_RESTART "重新启动系统" - IDS_ACTION_UNEXPECTED_SHUTDOWN "注释意外的关闭" + IDS_ACTION_UNEXPECTED_SHUTDOWN "备注意外的关机事件" END /* Remote shutdown reason strings */ diff --git a/dll/cpl/appwiz/lang/zh-CN.rc b/dll/cpl/appwiz/lang/zh-CN.rc index a8d9a7a3ee..22deec74bb 100644 --- a/dll/cpl/appwiz/lang/zh-CN.rc +++ b/dll/cpl/appwiz/lang/zh-CN.rc @@ -4,7 +4,7 @@ * TRANSLATOR: Jingjing Fu (jingjingf AT
188.com
) * Luo Yufan (njlyf2011(a)hotmail.com) * CREATED: 2009-04-25 - * UPDATED: 2018-01-05 + * UPDATED: 2018-12-03 */ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED @@ -33,7 +33,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "创建快捷方式" FONT 9, "宋体", 0, 0, 0x0 BEGIN - LTEXT "此向导帮助您创建本地或网络程序、文件、目录、计算机或 Internet 地址的快捷方式。", -1, 120, 15, 200, 30 + LTEXT "此向导可帮助您创建本地或网络程序、文件、文件夹、计算机或 Internet 地址的快捷方式。", -1, 120, 15, 200, 30 LTEXT "请输入项目位置:", -1, 120, 50, 120, 10 EDITTEXT IDC_SHORTCUT_LOCATION, 120, 65, 150, 15, ES_LEFT PUSHBUTTON "浏览...", IDC_SHORTCUT_BROWSE, 272, 65, 55, 15, ES_LEFT @@ -55,7 +55,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "删除快捷方式/文件夹" FONT 8, "宋体" BEGIN - LTEXT "从「 开始 」菜单中删除项目,选择项目并单击删除。(&T)", -1, 10, 10, 192, 16 + LTEXT "从「开始」菜单中删除项目,选择项目并单击删除。(&T)", -1, 10, 10, 192, 16 CONTROL "List1", IDC_STARTMENU_TREE, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 10, 32, 192, 138 PUSHBUTTON "删除(&R)", IDC_REMOVE_ENTRIES, 98, 176, 50, 14, WS_GROUP | WS_TABSTOP @@ -87,8 +87,8 @@ BEGIN IDS_DOWNLOADING "正在下载..." IDS_INSTALLING "正在安装..." IDS_INVALID_SHA "下载的文件校验和错误。中止安装已损坏的文件。" - IDS_NEW_INTERNET_SHORTCUT "New Internet Shortcut" - IDS_DWL_FAILED "Failed to download the Gecko package. Make sure you have an internet connection in order to download it. The setup will proceed without installing Gecko." - IDS_CANTMAKEINETSHORTCUT "Failed to create internet shortcut." - IDS_CANTMAKESHORTCUT "Failed to create shortcut." + IDS_NEW_INTERNET_SHORTCUT "新建 Internet 快捷方式" + IDS_DWL_FAILED "无法下载 Gecko 安装包。请确保您有互联网连接才能进行下载。安装程序将在不安装 Gecko 的情况下继续。" + IDS_CANTMAKEINETSHORTCUT "无法创建 Internet 快捷方式" + IDS_CANTMAKESHORTCUT "无法创建快捷方式。" END diff --git a/dll/cpl/desk/lang/zh-CN.rc b/dll/cpl/desk/lang/zh-CN.rc index 33d6443661..4cacec5001 100644 --- a/dll/cpl/desk/lang/zh-CN.rc +++ b/dll/cpl/desk/lang/zh-CN.rc @@ -16,7 +16,7 @@ BEGIN CONTROL "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0 CONTROL "", IDC_BACKGROUND_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 8, 104, 174, 86 - LTEXT "墙纸:", IDC_STATIC, 8, 93, 230, 9 + LTEXT "壁纸:", IDC_STATIC, 8, 93, 230, 9 PUSHBUTTON "浏览(&B)...", IDC_BROWSE_BUTTON, 188, 104, 55, 15 PUSHBUTTON "颜色(&C)...", IDC_COLOR_BUTTON, 188, 167, 55, 15 LTEXT "位置:", IDC_STATIC, 188, 128, 55, 9 @@ -101,11 +101,11 @@ EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE CAPTION "效果" FONT 9, "宋体" BEGIN - CONTROL "为菜单和工具提示使用以下过渡效果(&U):", + CONTROL "对菜单和工具提示使用以下过渡效果(&U):", IDC_EFFAPPEARANCE_ANIMATION, "button", BS_AUTOCHECKBOX | WS_TABSTOP, 10, 5, 267, 19 COMBOBOX IDC_EFFAPPEARANCE_ANIMATIONTYPE, 20, 25, 95, 19, CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_CHILD | WS_VSCROLL | WS_TABSTOP - CONTROL "使用下列方式使屏幕字体的边缘平滑(&S)", IDC_EFFAPPEARANCE_SMOOTHING, + CONTROL "使用以下方法平滑屏幕字体的边缘(&S)", IDC_EFFAPPEARANCE_SMOOTHING, "button", BS_AUTOCHECKBOX | WS_TABSTOP, 10, 42, 267, 19 COMBOBOX IDC_EFFAPPEARANCE_SMOOTHINGTYPE, 20, 62, 95, 19, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP @@ -113,11 +113,11 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP | WS_DISABLED, 10, 80, 267, 19 CONTROL "在菜单下显示阴影(&A)", IDC_EFFAPPEARANCE_SETDROPSHADOW, "button", BS_AUTOCHECKBOX | WS_TABSTOP, 10, 95, 267, 19 - CONTROL "拖动时显示窗口内容(&W)", IDC_EFFAPPEARANCE_DRAGFULLWINDOWS, + CONTROL "拖动时显示窗口的内容(&W)", IDC_EFFAPPEARANCE_DRAGFULLWINDOWS, "button", BS_AUTOCHECKBOX | WS_TABSTOP, 10, 110, 267, 19 CONTROL "直到我按 Alt 键之前,请隐藏有下划线的字母供键盘使用", IDC_EFFAPPEARANCE_KEYBOARDCUES, "button", BS_AUTOCHECKBOX | WS_TABSTOP, 10, 125, 267, 19 - CONTROL "Use &flat menus", IDC_EFFAPPEARANCE_FLATMENUS, + CONTROL "使用平面菜单(&F)", IDC_EFFAPPEARANCE_FLATMENUS, "button", BS_AUTOCHECKBOX | WS_TABSTOP, 10, 140, 267, 19 PUSHBUTTON "取消", IDCANCEL, 226, 165, 50, 14 DEFPUSHBUTTON "确定", IDOK, 172, 165, 50, 14 @@ -128,7 +128,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "设置" FONT 9, "宋体" BEGIN - LTEXT "拖动监视器图标以便与监视器的物理设置匹配。", -1, 3, 3, 240, 20 + LTEXT "拖动监视器图标以匹配监视器的物理排列。", -1, 3, 3, 240, 20 CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE LTEXT "显示(&D):", 1820, 3, 107, 70, 9 @@ -155,9 +155,9 @@ BEGIN LTEXT "", IDC_FONTSIZE_CUSTOM, 14, 46, 223, 12 GROUPBOX "兼容性", -1, 7, 67, 237, 97 LTEXT "如果在更改颜色设置后不立即重新启动计算机,某些程序可能无法正常工作。\r\n\n更改显示设置后:", -1, 12, 78, 228, 34 - AUTORADIOBUTTON "在应用新的显示设置之前重新启动计算机(&R)", IDC_RESTART_RB, 14, 116, 228, 10 - AUTORADIOBUTTON "应用新的显示设置而不重新启动计算机(&P)", IDC_WITHOUTREBOOT_RB, 14, 131, 228, 10 - AUTORADIOBUTTON "在应用新的显示设置之前询问(&K)", IDC_ASKME_RB, 14, 146, 228, 10 + AUTORADIOBUTTON "在应用新的颜色设置之前重新启动计算机。(&R)", IDC_RESTART_RB, 14, 116, 228, 10 + AUTORADIOBUTTON "应用新的颜色设置而不重新启动。(&P)", IDC_WITHOUTREBOOT_RB, 14, 131, 228, 10 + AUTORADIOBUTTON "在应用新颜色设置之前询问我。(&K)", IDC_ASKME_RB, 14, 146, 228, 10 END IDD_CONFIRMSETTINGS DIALOGEX 20, 30, 233, 57 @@ -274,6 +274,6 @@ STRINGTABLE BEGIN IDS_DISPLAY_SETTINGS "显示设置" IDS_APPLY_FAILED "应用新设置失败..." - IDS_APPLY_NEEDS_RESTART "需要重新启动计算机使更改生效。" - IDS_TIMEOUTTEXT "%d 秒内恢复" + IDS_APPLY_NEEDS_RESTART "需要重新启动以生效。" + IDS_TIMEOUTTEXT "%d 秒之内复原" END diff --git a/dll/cpl/hdwwiz/lang/zh-CN.rc b/dll/cpl/hdwwiz/lang/zh-CN.rc index 67bdafa178..e639252858 100644 --- a/dll/cpl/hdwwiz/lang/zh-CN.rc +++ b/dll/cpl/hdwwiz/lang/zh-CN.rc @@ -3,6 +3,7 @@ * (简体中文资源) * by zhangbing 2008 <e_zb(a)21cn.com, ezb(a)mail.gywb.cn> * Updated: 2009-04-26 Jingjing Fu <Jingjingf AT
188.com
> + * 2018-12-03 Luo Yufan <njlyf2011(a)hotmail.com> */ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED @@ -17,8 +18,8 @@ BEGIN LTEXT "1) 安装软件来支持添加到计算机的硬件。", -1, 121, 56, 184, 16 LTEXT "2) 解决您的硬件问题。", -1, 121, 78, 185, 16 ICON IDI_WARNINGICON, IDC_WARNINGICON, 124, 109, 20, 20 - LTEXT "如果硬件带安装 CD,建议您单击“取消”,关闭这个向导,用制造商的 CD 来安装这个硬件。", 503, 150, 106, 155, 50 - LTEXT "要继续,请单击“下一步”。", -1, 114, 166, 193, 8 + LTEXT "如果该硬件附带安装 CD,建议您单击“取消” 并关闭此向导以使用制造商的 CD 安装此硬件。", 503, 150, 106, 155, 50 + LTEXT "若要继续,请单击“下一步”。", -1, 114, 166, 193, 8 END IDD_SEARCHPAGE DIALOGEX 0, 0, 317, 143 @@ -35,9 +36,9 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "添加硬件向导" FONT 9, "宋体" BEGIN - LTEXT "您是否已将这个硬件跟计算机连接?", -1, 20, 11, 275, 8 - AUTORADIOBUTTON "是,硬件已连接好(&Y)", IDC_CONNECTED, 29, 23, 266, 8, WS_GROUP - AUTORADIOBUTTON "否,尚未添加硬件(&N)", IDC_NOTCONNECTED, 29, 35, 266, 8 + LTEXT "您是否已将此硬件连接到计算机?", -1, 20, 11, 275, 8 + AUTORADIOBUTTON "是,我已经连接好该硬件(&Y)", IDC_CONNECTED, 29, 23, 266, 8, WS_GROUP + AUTORADIOBUTTON "否,我还没有连接该硬件(&N)", IDC_NOTCONNECTED, 29, 35, 266, 8 END IDD_PROBELISTPAGE DIALOGEX 0, 0, 317, 143 @@ -87,7 +88,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "添加硬件向导" FONT 9, "宋体" BEGIN - LTEXT "可能需要几分钟的时间来查找硬件。", -1, 21, 8, 275, 15 + LTEXT "可能需要几分钟的时间来查找该硬件。", -1, 21, 8, 275, 15 LTEXT "整个进度:", IDC_TPROGRESSTEXT, 21, 25, 275, 8 CONTROL "", IDC_TPROGRESSBAR, "msctls_progress32", 0, 21, 37, 275, 14 LTEXT "", IDC_PROGRESSTEXT, 58, 58, 200, 8, SS_NOPREFIX @@ -111,8 +112,8 @@ CAPTION "添加硬件向导" FONT 9, "宋体" BEGIN LTEXT "正在完成添加硬件向导", IDC_FINISHTITLE, 114, 8, 203, 24 - LTEXT "安装了下列硬件:", -1, 114, 32, 193, 19 - LTEXT "要关闭这个向导,请单击“完成”。", -1, 114, 166, 132, 8 + LTEXT "已经安装下列硬件:", -1, 114, 32, 193, 19 + LTEXT "想要关闭这个向导,请单击“完成”。", -1, 114, 166, 132, 8 CONTROL "", IDC_FOUNDHARDWARELIST, "SysListView32", WS_BORDER | WS_GROUP | WS_TABSTOP | LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHAREIMAGELISTS, 114, 56, 193, 78 END @@ -125,7 +126,7 @@ BEGIN LTEXT "这里是您所选硬件的当前状态:", -1, 114, 40, 193, 19 EDITTEXT IDC_HWSTATUSEDIT, 114, 60, 193, 70, ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | NOT WS_TABSTOP LTEXT "要启用可以帮助您解决问题的疑难解答,请单击“完成”。", -1, 114, 136, 193, 16 - LTEXT "要退出这个向导,请单击“取消”。", IDC_STATUSTEXT, 114, 166, 132, 8 + LTEXT "想要退出这个向导,请单击“取消”。", IDC_STATUSTEXT, 114, 166, 132, 8 END IDD_NOTCONNECTEDPAGE DIALOGEX 0, 0, 317, 186 @@ -136,19 +137,19 @@ BEGIN LTEXT "无法继续添加硬件向导", IDC_FINISHTITLE, 114, 8, 203, 28 LTEXT "要继续,请将这个硬件跟计算机连接。", -1, 114, 40, 193, 16 AUTOCHECKBOX "单击“完成”时关闭计算机;这样,我可以打开计算机并连接硬件(&T)。", IDC_TURNOFFCHECKBOX, 114, 64, 203, 20, BS_TOP | BS_MULTILINE - LTEXT "在大多数情况下,ReactOS 在硬件跟计算机连接后自动将其安装。如果 ReactOS 找不到这个硬件,您可以重新打开这个向导,安装支持软件。", -1, 114, 98, 193, 32 + LTEXT "在大多数情况下,ReactOS 会在您连接硬件后自动安装该硬件。如果 ReactOS 找不到,您可以重新打开此向导以安装支持软件。", -1, 114, 98, 193, 32 LTEXT "要关闭这个向导,请单击“完成”。", IDC_STATUSTEXT, 114, 166, 193, 8 END STRINGTABLE BEGIN IDS_CPLNAME "添加硬件" - IDS_CPLDESCRIPTION "为计算机添加新硬件" + IDS_CPLDESCRIPTION "为您的计算机添加新硬件。" IDS_SEARCHTITLE "向导正在搜索,请稍候..." IDS_SEARCHTEXT "向导正在搜索最近连接到计算机但尚未安装的硬件。" IDS_ISCONNECTED "硬件已经与计算机连接了吗?" IDS_PROBELISTTITLE "以下硬件已安装在您的计算机上" - IDS_ADDNEWDEVICE "添加一个新硬件设备" + IDS_ADDNEWDEVICE "添加新硬件设备" IDS_SELECTWAYTITLE "此向导可以帮助您安装其它硬件" IDS_HDTYPESTITLE "从以下列表,选择要安装的硬件类型" END diff --git a/dll/cpl/inetcpl/lang/zh-CN.rc b/dll/cpl/inetcpl/lang/zh-CN.rc index 1be0e008eb..824a0bddf2 100644 --- a/dll/cpl/inetcpl/lang/zh-CN.rc +++ b/dll/cpl/inetcpl/lang/zh-CN.rc @@ -26,8 +26,8 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED STRINGTABLE BEGIN - IDS_CPL_NAME "互联网设置" - IDS_CPL_INFO "配置 WINE Internet Explorer 和相关设置" + IDS_CPL_NAME "Internet 设置" + IDS_CPL_INFO "配置 WINE Internet Explorer 以及相关设置" IDS_SEC_SETTINGS "区域的安全设置: " IDS_SEC_LEVEL0 "自定义" IDS_SEC_LEVEL1 "非常低" @@ -74,7 +74,7 @@ BEGIN IDC_DELETE_HISTORY, 10, 88, 230, 40, BS_TOP | BS_MULTILINE AUTOCHECKBOX "表单数据\n您已进入形式的用户名和其他信息。", IDC_DELETE_FORM_DATA, 10, 128, 230, 40, BS_TOP | BS_MULTILINE - AUTOCHECKBOX "密码\n保存在窗体中输入的密码。", + AUTOCHECKBOX "密码\n保存在窗口中输入的密码。", IDC_DELETE_PASSWORDS, 10, 168, 230, 40, BS_TOP | BS_MULTILINE DEFPUSHBUTTON "取消", IDCANCEL, 185, 230, 60, 15, WS_GROUP PUSHBUTTON "删除", IDOK, 120, 230, 60, 15, WS_GROUP diff --git a/dll/cpl/liccpa/lang/zh-CN.rc b/dll/cpl/liccpa/lang/zh-CN.rc index aeb3f4e8cc..5e4cd55ea0 100644 --- a/dll/cpl/liccpa/lang/zh-CN.rc +++ b/dll/cpl/liccpa/lang/zh-CN.rc @@ -3,19 +3,19 @@ * (简体中文资源) * by zhangbing 2008 <e_zb(a)21cn.com, ezb(a)mail.gywb.cn> * Updated: 2009-05-02 Jingjing Fu <jingjingf AT
188.com
> - * 2018-01-06 Luo Yufan <njlyf2011(a)hotmail.com> + * 2018-12-03 Luo Yufan <njlyf2011(a)hotmail.com> */ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED IDD_PROPPAGE1 DIALOGEX 20, 40, 315, 104 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_OVERLAPPED | WS_CAPTION | WS_VISIBLE | WS_SYSMENU -CAPTION "选择协议模式" +CAPTION "选择授权模式" FONT 9, "宋体" BEGIN CONTROL "客户端授权模式", 100, "BUTTON", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 4, 4, 239, 94 CONTROL "每设备或每用户", 102, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE, 13, 79, 107, 12 - CONTROL "每服务器。同时连接数", 103, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE, 13, 38, 163, 9 + CONTROL "每台服务器。并发连接数", 103, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE, 13, 38, 163, 9 CONTROL "产品:", 105, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE, 13, 20, 31, 8 CONTROL "", 106, "COMBOBOX", CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP, 49, 20, 171, 12 CONTROL "确定", 107, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 263, 7, 46, 14 diff --git a/dll/cpl/mmsys/lang/zh-CN.rc b/dll/cpl/mmsys/lang/zh-CN.rc index 9474203d30..88ea861070 100644 --- a/dll/cpl/mmsys/lang/zh-CN.rc +++ b/dll/cpl/mmsys/lang/zh-CN.rc @@ -105,7 +105,7 @@ END IDD_SAVE_SCHEME_AS DIALOGEX 9, 23, 225, 54 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "将方案存为" +CAPTION "将方案另存为" FONT 9, "宋体" BEGIN LTEXT "将此声音方案存为(&S):", -1, 7, 7, 212, 9 @@ -173,13 +173,13 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION CAPTION "安装" FONT 9, "宋体" BEGIN - GROUPBOX "ReactOS 音频", 10243, 7, 5, 213, 192 + GROUPBOX "ReactOS 声音", 10243, 7, 5, 213, 192 ICON 4393, 10241, 26, 26, 20, 20 - LTEXT "因为 ReactOS 音频服务无效因此这台计算机目前无法播放声音", 10245, 60, 25, 150, 40 - AUTOCHECKBOX "启用ReactOS 音频(&E)", 10253, 60, 68, 150, 9 + LTEXT "因为 ReactOS 声音服务无效因此这台计算机目前无法播放声音", 10245, 60, 25, 150, 40 + AUTOCHECKBOX "启用 ReactOS 声音(&E)", 10253, 60, 68, 150, 9 LTEXT "注意", 10246, 58, 87, 150, 11 LTEXT "1. 您必须是管理员才能启用此服务。如果您没有以管理员身份登录,您将提示输入管理员名称和密码。", 10247, 60, 100, 150, 40 - LTEXT "2. 您启用ReactOS音频后,必须重新启动计算机。", 10248, 60, 140, 150, 40 + LTEXT "2. 您启用 ReactOS 声音后,必须重新启动计算机。", 10248, 60, 140, 150, 40 END IDD_MULTICHANNEL DIALOGEX 0, 0, 227, 218 @@ -229,7 +229,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION CAPTION "安装" FONT 9, "宋体" BEGIN - GROUPBOX "ReactOS 音频", 10259, 7, 5, 213, 192 + GROUPBOX "ReactOS 声音", 10259, 7, 5, 213, 192 ICON 4394, 10257, 25, 25, 20, 20 LTEXT "驱动程序设置已经更改。必须退出 ReactOS 后重新启动,新的设置才会生效。", 10261, 60, 25, 150, 50 LTEXT "点击这里重新启动 ReactOS", 10262, 60, 75, 150, 20 @@ -239,7 +239,7 @@ END STRINGTABLE BEGIN IDS_CPLNAME "声音和音频设备" - IDS_CPLDESCRIPTION "更改计算机的声音方案,或者配置扬声器和录音设备的设置" + IDS_CPLDESCRIPTION "更改计算机的声音方案,或配置扬声器和录音设备的设置。" IDS_NO_SOUND "(无)" IDS_NO_DEVICES "没有设备" 5825 "程序出错" diff --git a/dll/win32/ieframe/lang/zh-CN.rc b/dll/win32/ieframe/lang/zh-CN.rc index 3a8cfa77ea..7bb664a2bb 100644 --- a/dll/win32/ieframe/lang/zh-CN.rc +++ b/dll/win32/ieframe/lang/zh-CN.rc @@ -1,5 +1,5 @@ /* Simplified Chinese translation by Henry Tang Ih 2015 (henrytang2(a)hotmail.com) */ -/* Improved by Luo Yufan 2018 (njlyf2011(a)hotmail.com) */ +/* Translation has been changed by Luo Yufan 2018 (njlyf2011(a)hotmail.com) */ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED @@ -60,7 +60,7 @@ STRINGTABLE { IDS_FINDINGRESOURCE "正在搜索 %s" IDS_BEGINDOWNLOADDATA "开始下载 %s" - IDS_ENDDOWNLOADDATA "正在 %s " + IDS_ENDDOWNLOADDATA "正在下载 %s " IDS_SENDINGREQUEST "需要 %s" } diff --git a/dll/win32/shdoclc/lang/Zh.rc b/dll/win32/shdoclc/lang/Zh.rc index b9b3d479d3..1c11ae4b8c 100644 --- a/dll/win32/shdoclc/lang/Zh.rc +++ b/dll/win32/shdoclc/lang/Zh.rc @@ -16,11 +16,12 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +/* Translation has been changed by Luo Yufan on 2018-12-03 (njlyf2011(a)hotmail.com) */ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED STRINGTABLE { - IDS_MESSAGE_BOX_TITLE, "Wine 互联网浏览器" + IDS_MESSAGE_BOX_TITLE, "Wine Internet Explorer" } STRINGTABLE @@ -33,10 +34,10 @@ IDR_BROWSE_CONTEXT_MENU MENU { POPUP "" /* Default */ { - MENUITEM "向后(&B)", IDM_GOBACKWARD - MENUITEM "向前(&O)", IDM_GOFORWARD + MENUITEM "后退(&B)", IDM_GOBACKWARD + MENUITEM "前进(&O)", IDM_GOFORWARD MENUITEM SEPARATOR - MENUITEM "将背景存为(&S)...", IDM_SAVEBACKGROUND + MENUITEM "将背景另存为(&S)...", IDM_SAVEBACKGROUND MENUITEM "设为背景(&G)", IDM_SETWALLPAPER MENUITEM "复制背景(&C)", IDM_COPYBACKGROUND MENUITEM "设置到桌面(&D)", IDM_SETDESKTOPITEM @@ -44,7 +45,7 @@ IDR_BROWSE_CONTEXT_MENU MENU MENUITEM "全选(&A)", IDM_SELECTALL MENUITEM "粘贴(&P)", IDM_PASTE MENUITEM SEPARATOR - MENUITEM "创建捷径(&T)", IDM_CREATESHORTCUT + MENUITEM "创建快捷方式(&T)", IDM_CREATESHORTCUT MENUITEM "添加到我的最爱(&F)", IDM_ADDFAVORITES MENUITEM "查看源代码(&V)", IDM_VIEWSOURCE MENUITEM SEPARATOR @@ -76,7 +77,7 @@ IDR_BROWSE_CONTEXT_MENU MENU MENUITEM "复制捷径(&T)", IDM_COPYSHORTCUT MENUITEM "粘贴(&P)", IDM_PASTE MENUITEM SEPARATOR - MENUITEM "添加到我的最爱(&F)", IDM_ADDFAVORITES + MENUITEM "添加到我的收藏夹(&F)", IDM_ADDFAVORITES MENUITEM SEPARATOR MENUITEM "属性(&R)", IDM_PROPERTIES } diff --git a/dll/win32/shell32/lang/zh-CN.rc b/dll/win32/shell32/lang/zh-CN.rc index 81ec20686a..12f9b68681 100644 --- a/dll/win32/shell32/lang/zh-CN.rc +++ b/dll/win32/shell32/lang/zh-CN.rc @@ -153,7 +153,7 @@ BEGIN LTEXT COPYRIGHT_YEAR, IDC_STATIC, 88, 75, 17, 10 LTEXT " ReactOS Team\0", IDC_STATIC, 105, 75, 53, 10 LTEXT "", IDC_ABOUT_OTHERSTUFF, 35, 90, 180, 20 - LTEXT "此 ReactOS 版本注册到:", IDC_STATIC, 35, 115, 180, 10 + LTEXT "这个 ReactOS 版本注册到:", IDC_STATIC, 35, 115, 180, 10 LTEXT "", IDC_ABOUT_REG_USERNAME, 45, 125, 180, 10 LTEXT "", IDC_ABOUT_REG_ORGNAME, 45, 135, 180, 10 LTEXT "", IDC_STATIC, 35, 147, 235, 1, SS_ETCHEDHORZ @@ -427,7 +427,7 @@ BEGIN GROUPBOX "任务", -1, 7, 10, 249, 45 CONTROL "", IDC_FOLDER_OPTIONS_TASKICON, "Static", SS_ICON | WS_CHILD | WS_VISIBLE, 14, 25, 21, 20 AUTORADIOBUTTON "在文件夹中显示常见任务(&F)", IDC_FOLDER_OPTIONS_COMMONTASKS, 40, 25, 120, 10, WS_TABSTOP | WS_GROUP - AUTORADIOBUTTON "使用 ReactOS 传统风格的文件夹(&I)", IDC_FOLDER_OPTIONS_CLASSICFOLDERS, 40, 37, 120, 10 + AUTORADIOBUTTON "使用 ReactOS 经典风格的文件夹(&I)", IDC_FOLDER_OPTIONS_CLASSICFOLDERS, 40, 37, 120, 10 GROUPBOX "浏览文件夹", -1, 7, 60, 249, 45, WS_TABSTOP CONTROL "", IDC_FOLDER_OPTIONS_FOLDERICON, "Static", SS_ICON | WS_CHILD | WS_VISIBLE, 14, 70, 21, 20 AUTORADIOBUTTON "在同一窗口中打开每个文件夹(&M)", IDC_FOLDER_OPTIONS_SAMEWINDOW, 40, 70, 140, 10, WS_TABSTOP | WS_GROUP @@ -468,7 +468,7 @@ BEGIN GROUPBOX "'%S' 扩展的详细信息", IDC_FILETYPES_DETAILS_GROUPBOX, 7, 130, 249, 70 LTEXT "打开方式:", -1, 12, 140, 40, 10 CONTROL "", IDC_FILETYPES_ICON, "STATIC", SS_BITMAP | SS_REALSIZEIMAGE, 85, 140, 10, 10 - LTEXT "应用程序名称", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 + LTEXT "程序名称", IDC_FILETYPES_APPNAME, 100, 140, 80, 10 PUSHBUTTON "更改...(&C)", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 PUSHBUTTON "高级(&V)", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP @@ -476,7 +476,7 @@ END IDD_CONFIRM_FILE_REPLACE DIALOGEX 0, 0, 282, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "确认文件替换" +CAPTION "文件替换确认" FONT 9, "宋体" BEGIN DEFPUSHBUTTON "是(&Y)", IDYES, 20, 122, 60, 14 @@ -522,7 +522,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CLIPSIBLIN CAPTION "自动播放" FONT 9, "宋体" BEGIN - LTEXT "&选择一个内容类型,然后选择操作电脑来自动执行在此设备中使用该类型的时候(&S):", 1000, 7, 7, 215, 20 + LTEXT "选择内容类型,然后选择 ReactOS 在此设备中使用该类型时自动执行的操作(&S):", 1000, 7, 7, 215, 20 CONTROL "", 1001, "COMBOBOXEX32", WS_TABSTOP | 0x00000043, 7, 27, 212, 200 GROUPBOX "行动", -1, 7, 45, 212, 146 AUTORADIOBUTTON "选择要执行的操作(&P):", 1005, 14, 54, 202, 10, WS_GROUP @@ -942,23 +942,23 @@ BEGIN IDS_ADVANCED_FOLDER "文件和文件夹" IDS_ADVANCED_NET_CRAWLER "自动搜索网络文件夹和打印机" - IDS_ADVANCED_FOLDER_SIZE_TIP "在文件夹提示中显示文件大小信息" - IDS_ADVANCED_FRIENDLY_TREE "在资源管理器文件夹列表中显示简单文件夹查看" - IDS_ADVANCED_WEB_VIEW_BARRICADE "显示系统文件夹的内容" + IDS_ADVANCED_FOLDER_SIZE_TIP "在文件夹提示中显示大小信息" + IDS_ADVANCED_FRIENDLY_TREE "在资源管理器的文件夹列表中显示简单的文件夹视图" + IDS_ADVANCED_WEB_VIEW_BARRICADE "显示系统文件夹内容" IDS_ADVANCED_SHOW_FULL_PATH_ADDRESS "在地址栏中显示完整路径" IDS_ADVANCED_SHOW_FULL_PATH "在标题栏中显示完整路径" - IDS_ADVANCED_DISABLE_THUMB_CACHE "不缓存缩略图" + IDS_ADVANCED_DISABLE_THUMB_CACHE "不要缓存缩略图" IDS_ADVANCED_HIDDEN "隐藏的文件和文件夹" IDS_ADVANCED_DONT_SHOW_HIDDEN "不显示隐藏的文件和文件夹" IDS_ADVANCED_SHOW_HIDDEN "显示隐藏的文件和文件夹" IDS_ADVANCED_HIDE_FILE_EXT "隐藏已知文件类型的扩展名" - IDS_ADVANCED_SUPER_HIDDEN "隐藏受保护的操作系统文件 (推荐)" - IDS_ADVANCED_DESKTOP_PROCESS "在单独的进程中打开文件夹窗口" - IDS_ADVANCED_CLASSIC_VIEW_STATE "记住每个文件夹的视图设置" + IDS_ADVANCED_SUPER_HIDDEN "隐藏已被保护的操作系统文件 (推荐)" + IDS_ADVANCED_DESKTOP_PROCESS "在单独的进程中启动文件夹窗口" + IDS_ADVANCED_CLASSIC_VIEW_STATE "记住每一个文件夹的试图设置" IDS_ADVANCED_PERSIST_BROWSERS "在登录时还原上一个文件夹窗口" IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "在我的电脑中显示控制面板" - IDS_ADVANCED_SHOW_COMP_COLOR "用彩色显示加密或压缩的 NTFS 文件" - IDS_ADVANCED_SHOW_INFO_TIP "鼠标指向文件夹和桌面项时显示提示信息" + IDS_ADVANCED_SHOW_COMP_COLOR "以彩色显示已被加密或压缩的 NTFS 文件" + IDS_ADVANCED_SHOW_INFO_TIP "显示文件夹和桌面项目的弹出描述" IDS_NEWEXT_ADVANCED_LEFT "<< 高级(&V)" IDS_NEWEXT_ADVANCED_RIGHT "高级(&V) >>"
6 years
1
0
0
0
[reactos] 01/01: [SETUPAPI] GetDeviceInstanceKeyPath: Trying to open the hardware key opens the software key and vice versa. Fix it by swapping the code paths.
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2037bab6c4ae50a6b92dd…
commit 2037bab6c4ae50a6b92ddf2d7294c6dbb420b89a Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Sun Dec 2 15:53:22 2018 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Mon Dec 3 22:03:38 2018 +0100 [SETUPAPI] GetDeviceInstanceKeyPath: Trying to open the hardware key opens the software key and vice versa. Fix it by swapping the code paths. --- dll/win32/setupapi/cfgmgr.c | 96 ++++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/dll/win32/setupapi/cfgmgr.c b/dll/win32/setupapi/cfgmgr.c index 2c56fd1caa..98b09139b7 100644 --- a/dll/win32/setupapi/cfgmgr.c +++ b/dll/win32/setupapi/cfgmgr.c @@ -236,19 +236,39 @@ GetDeviceInstanceKeyPath( { /* Software Key Path */ - if (ulFlags & CM_REGISTRY_CONFIG) + ulTransferLength = 300 * sizeof(WCHAR); + ulLength = 300 * sizeof(WCHAR); + ret = PNP_GetDeviceRegProp(BindingHandle, + pszDeviceInst, + CM_DRP_DRIVER, + &ulType, + (PVOID)pszBuffer, + &ulTransferLength, + &ulLength, + 0); + if (ret != CR_SUCCESS) { - SplitDeviceInstanceId(pszDeviceInst, - pszBuffer, - pszInstancePath); + ERR("PNP_GetDeviceRegProp() failed (Error %lu)\n", ret); + goto done; + } + + TRACE("szBuffer: %S\n", pszBuffer); + + SplitDeviceInstanceId(pszBuffer, + pszBuffer, + pszInstancePath); + TRACE("szBuffer: %S\n", pszBuffer); + + if (ulFlags & CM_REGISTRY_CONFIG) + { if (ulHardwareProfile == 0) { wsprintfW(pszKeyPath, L"%s\\%s\\%s\\%s", L"System\\CurrentControlSet\\Hardware Profiles", L"Current", - L"System\\CurrentControlSet\\Enum", + L"System\\CurrentControlSet\\Control\\Class", pszBuffer); } else @@ -257,29 +277,15 @@ GetDeviceInstanceKeyPath( L"%s\\%04lu\\%s\\%s", L"System\\CurrentControlSet\\Hardware Profiles", ulHardwareProfile, - L"System\\CurrentControlSet\\Enum", + L"System\\CurrentControlSet\\Control\\Class", pszBuffer); } } - else if (ulFlags & CM_REGISTRY_USER) - { - wsprintfW(pszKeyPath, - L"%s\\%s", - L"System\\CurrentControlSet\\Enum", - pszDeviceInst); - - wcscpy(pszInstancePath, - L"Device Parameters"); - } else { - SplitDeviceInstanceId(pszDeviceInst, - pszBuffer, - pszInstancePath); - wsprintfW(pszKeyPath, L"%s\\%s", - L"System\\CurrentControlSet\\Enum", + L"System\\CurrentControlSet\\Control\\Class", pszBuffer); } } @@ -287,39 +293,19 @@ GetDeviceInstanceKeyPath( { /* Hardware Key Path */ - ulTransferLength = 300 * sizeof(WCHAR); - ulLength = 300 * sizeof(WCHAR); - ret = PNP_GetDeviceRegProp(BindingHandle, - pszDeviceInst, - CM_DRP_DRIVER, - &ulType, - (PVOID)pszBuffer, - &ulTransferLength, - &ulLength, - 0); - if (ret != CR_SUCCESS) - { - ERR("PNP_GetDeviceRegProp() failed (Error %lu)\n", ret); - goto done; - } - - TRACE("szBuffer: %S\n", pszBuffer); - - SplitDeviceInstanceId(pszBuffer, - pszBuffer, - pszInstancePath); - - TRACE("szBuffer: %S\n", pszBuffer); - if (ulFlags & CM_REGISTRY_CONFIG) { + SplitDeviceInstanceId(pszDeviceInst, + pszBuffer, + pszInstancePath); + if (ulHardwareProfile == 0) { wsprintfW(pszKeyPath, L"%s\\%s\\%s\\%s", L"System\\CurrentControlSet\\Hardware Profiles", L"Current", - L"System\\CurrentControlSet\\Control\\Class", + L"System\\CurrentControlSet\\Enum", pszBuffer); } else @@ -328,15 +314,29 @@ GetDeviceInstanceKeyPath( L"%s\\%04lu\\%s\\%s", L"System\\CurrentControlSet\\Hardware Profiles", ulHardwareProfile, - L"System\\CurrentControlSet\\Control\\Class", + L"System\\CurrentControlSet\\Enum", pszBuffer); } } + else if (ulFlags & CM_REGISTRY_USER) + { + wsprintfW(pszKeyPath, + L"%s\\%s", + L"System\\CurrentControlSet\\Enum", + pszDeviceInst); + + wcscpy(pszInstancePath, + L"Device Parameters"); + } else { + SplitDeviceInstanceId(pszDeviceInst, + pszBuffer, + pszInstancePath); + wsprintfW(pszKeyPath, L"%s\\%s", - L"System\\CurrentControlSet\\Control\\Class", + L"System\\CurrentControlSet\\Enum", pszBuffer); } }
6 years
1
0
0
0
[reactos] 01/01: [KERNEL32] Revert d897e27, which would re-initialized a list. Spotted by Andrew Boyarshin.
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=faddd38b36e50c0b52d8c…
commit faddd38b36e50c0b52d8c2ac702486be0b346e59 Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Mon Dec 3 20:46:31 2018 +0100 Commit: Mark Jansen <mark.jansen(a)reactos.org> CommitDate: Mon Dec 3 20:48:14 2018 +0100 [KERNEL32] Revert d897e27, which would re-initialized a list. Spotted by Andrew Boyarshin. --- dll/win32/kernel32/client/fiber.c | 1 - 1 file changed, 1 deletion(-) diff --git a/dll/win32/kernel32/client/fiber.c b/dll/win32/kernel32/client/fiber.c index a1a5ffe5d3..1b1e1e37ac 100644 --- a/dll/win32/kernel32/client/fiber.c +++ b/dll/win32/kernel32/client/fiber.c @@ -372,7 +372,6 @@ FlsAlloc(PFLS_CALLBACK_FUNCTION lpCallback) if (!NtCurrentTeb()->FlsData) { NtCurrentTeb()->FlsData = pFlsData; - InitializeListHead(&Peb->FlsListHead); InsertTailList(&Peb->FlsListHead, &pFlsData->ListEntry); }
6 years
1
0
0
0
← Newer
1
...
27
28
29
30
31
32
33
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Results per page:
10
25
50
100
200