https://git.reactos.org/?p=reactos.git;a=commitdiff;h=07e19a5e093ec44464031…
commit 07e19a5e093ec444640313baa4a71e5c1940d517
Author: Eric Kohl <eric.kohl(a)reactos.org>
AuthorDate: Wed Nov 24 13:34:26 2021 +0100
Commit: Eric Kohl <eric.kohl(a)reactos.org>
CommitDate: Wed Nov 24 13:34:26 2021 +0100
[NTOS:IO] Fail, if io completion port and an apc routine are used at the same time
Add checks to NtNotifyChangeDirectoryFile, NtLockFile, NtReadFile and NtWriteFile.
This fixes two ntdll tests.
---
ntoskrnl/io/iomgr/iofunc.c | 34 +++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/ntoskrnl/io/iomgr/iofunc.c b/ntoskrnl/io/iomgr/iofunc.c
index b9bf75736f5..62fb626fa25 100644
--- a/ntoskrnl/io/iomgr/iofunc.c
+++ b/ntoskrnl/io/iomgr/iofunc.c
@@ -287,7 +287,7 @@ IopDeviceFsIoControl(IN HANDLE DeviceHandle,
&HandleInformation);
if (!NT_SUCCESS(Status)) return Status;
- /* Can't use an I/O completion port and an APC in the same time */
+ /* Can't use an I/O completion port and an APC at the same time */
if ((FileObject->CompletionContext) && (UserApcRoutine))
{
/* Fail */
@@ -1675,6 +1675,14 @@ NtNotifyChangeDirectoryFile(IN HANDLE FileHandle,
NULL);
if (!NT_SUCCESS(Status)) return Status;
+ /* Can't use an I/O completion port and an APC at the same time */
+ if ((FileObject->CompletionContext) && (ApcRoutine))
+ {
+ /* Fail */
+ ObDereferenceObject(FileObject);
+ return STATUS_INVALID_PARAMETER;
+ }
+
/* Check if we have an event handle */
if (EventHandle)
{
@@ -1793,6 +1801,14 @@ NtLockFile(IN HANDLE FileHandle,
/* Check if we're called from user mode */
if (PreviousMode != KernelMode)
{
+ /* Can't use an I/O completion port and an APC at the same time */
+ if ((FileObject->CompletionContext) && (ApcRoutine))
+ {
+ /* Fail */
+ ObDereferenceObject(FileObject);
+ return STATUS_INVALID_PARAMETER;
+ }
+
/* Must have either FILE_READ_DATA or FILE_WRITE_DATA access */
if (!(HandleInformation.GrantedAccess &
(FILE_WRITE_DATA | FILE_READ_DATA)))
@@ -2743,6 +2759,14 @@ NtReadFile(IN HANDLE FileHandle,
CapturedByteOffset = ProbeForReadLargeInteger(ByteOffset);
}
+ /* Can't use an I/O completion port and an APC at the same time */
+ if ((FileObject->CompletionContext) && (ApcRoutine))
+ {
+ /* Fail */
+ ObDereferenceObject(FileObject);
+ return STATUS_INVALID_PARAMETER;
+ }
+
/* Perform additional checks for non-cached file access */
if (FileObject->Flags & FO_NO_INTERMEDIATE_BUFFERING)
{
@@ -3796,6 +3820,14 @@ NtWriteFile(IN HANDLE FileHandle,
CapturedByteOffset = ProbeForReadLargeInteger(ByteOffset);
}
+ /* Can't use an I/O completion port and an APC at the same time */
+ if ((FileObject->CompletionContext) && (ApcRoutine))
+ {
+ /* Fail */
+ ObDereferenceObject(FileObject);
+ return STATUS_INVALID_PARAMETER;
+ }
+
/* Perform additional checks for non-cached file access */
if (FileObject->Flags & FO_NO_INTERMEDIATE_BUFFERING)
{
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b3c6407d6e52592aa8004…
commit b3c6407d6e52592aa8004c2832759d2c969da5af
Author: Jose Carlos Jesus <zecarlos1957(a)hotmail.com>
AuthorDate: Wed Nov 24 00:57:11 2021 +0000
Commit: GitHub <noreply(a)github.com>
CommitDate: Wed Nov 24 01:57:11 2021 +0100
[SYSSETUP][USETUP] [NLS] Update pt-PT translation (#4120)
- NLS: Change weekdays name to capital letter.
- USETUP: Fix typos to pt-PT translation.
- SYSSETUP: Update pt-PT translation.
+ Sync IDS_USER_ADMINISTRATOR_NAME and IDS_ADMINISTRATOR_NAME (in samsrv).
---
base/setup/usetup/lang/pt-PT.h | 2 +-
dll/win32/kernel32/winnls/nls/ptg.nls | 28 ++++++++++++++--------------
dll/win32/samsrv/lang/pt-PT.rc | 2 +-
dll/win32/syssetup/lang/pt-PT.rc | 12 ++++++------
4 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/base/setup/usetup/lang/pt-PT.h b/base/setup/usetup/lang/pt-PT.h
index 5466de82d18..690e5cc3362 100644
--- a/base/setup/usetup/lang/pt-PT.h
+++ b/base/setup/usetup/lang/pt-PT.h
@@ -220,7 +220,7 @@ static MUI_ENTRY ptPTIntroPageEntries[] =
{
6,
15,
- "Fa\207a c\242pia de segur\306n\207 dos seus dados ou teste num computador",
+ "Fa\207a c\242pia de seguran\207a dos seus dados ou teste num computador",
TEXT_STYLE_NORMAL,
TEXT_ID_STATIC
},
diff --git a/dll/win32/kernel32/winnls/nls/ptg.nls b/dll/win32/kernel32/winnls/nls/ptg.nls
index c75d5a1cafe..cf5cd523ea6 100644
--- a/dll/win32/kernel32/winnls/nls/ptg.nls
+++ b/dll/win32/kernel32/winnls/nls/ptg.nls
@@ -67,13 +67,13 @@ STRINGTABLE LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
LOCALE_S1159 ""
LOCALE_S2359 ""
LOCALE_SABBREVCTRYNAME "PRT"
- LOCALE_SABBREVDAYNAME1 "seg"
- LOCALE_SABBREVDAYNAME2 "ter"
- LOCALE_SABBREVDAYNAME3 "qua"
- LOCALE_SABBREVDAYNAME4 "qui"
- LOCALE_SABBREVDAYNAME5 "sex"
- LOCALE_SABBREVDAYNAME6 "sáb"
- LOCALE_SABBREVDAYNAME7 "dom"
+ LOCALE_SABBREVDAYNAME1 "Seg"
+ LOCALE_SABBREVDAYNAME2 "Ter"
+ LOCALE_SABBREVDAYNAME3 "Qua"
+ LOCALE_SABBREVDAYNAME4 "Qui"
+ LOCALE_SABBREVDAYNAME5 "Sex"
+ LOCALE_SABBREVDAYNAME6 "Sáb"
+ LOCALE_SABBREVDAYNAME7 "Dom"
LOCALE_SABBREVLANGNAME "PTG"
LOCALE_SABBREVMONTHNAME1 "Jan"
LOCALE_SABBREVMONTHNAME2 "Fev"
@@ -91,13 +91,13 @@ STRINGTABLE LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
LOCALE_SCOUNTRY "Portugal"
LOCALE_SCURRENCY "€"
LOCALE_SDATE "-"
- LOCALE_SDAYNAME1 "segunda-feira"
- LOCALE_SDAYNAME2 "terça-feira"
- LOCALE_SDAYNAME3 "quarta-feira"
- LOCALE_SDAYNAME4 "quinta-feira"
- LOCALE_SDAYNAME5 "sexta-feira"
- LOCALE_SDAYNAME6 "sábado"
- LOCALE_SDAYNAME7 "domingo"
+ LOCALE_SDAYNAME1 "Segunda-feira"
+ LOCALE_SDAYNAME2 "Terça-feira"
+ LOCALE_SDAYNAME3 "Quarta-feira"
+ LOCALE_SDAYNAME4 "Quinta-feira"
+ LOCALE_SDAYNAME5 "Sexta-feira"
+ LOCALE_SDAYNAME6 "Sábado"
+ LOCALE_SDAYNAME7 "Domingo"
LOCALE_SDECIMAL ","
LOCALE_SENGCOUNTRY "Portugal"
LOCALE_SENGCURRNAME "Euro"
diff --git a/dll/win32/samsrv/lang/pt-PT.rc b/dll/win32/samsrv/lang/pt-PT.rc
index 5687933e00c..26fa4c8aa9c 100644
--- a/dll/win32/samsrv/lang/pt-PT.rc
+++ b/dll/win32/samsrv/lang/pt-PT.rc
@@ -32,7 +32,7 @@ BEGIN
* If you translate the administrator account name, keep IDS_USER_ADMINISTRATOR_NAME and
* syssetup.dll:IDS_ADMINISTRATOR_NAME synchronized.
*/
- IDS_USER_ADMINISTRATOR_NAME "Administrator"
+ IDS_USER_ADMINISTRATOR_NAME "Administrador"
IDS_USER_ADMINISTRATOR_COMMENT "Conta interna usada para administrar o computador ou domínio."
IDS_USER_GUEST_NAME "Convidado"
IDS_USER_GUEST_COMMENT "Conta interna para acesso de convidado ao computador ou domínio."
diff --git a/dll/win32/syssetup/lang/pt-PT.rc b/dll/win32/syssetup/lang/pt-PT.rc
index db1ca0fd77f..9776a609035 100644
--- a/dll/win32/syssetup/lang/pt-PT.rc
+++ b/dll/win32/syssetup/lang/pt-PT.rc
@@ -59,7 +59,7 @@ BEGIN
LTEXT "Nome do &Computador:", IDC_STATIC, 54, 38, 75, 8
EDITTEXT IDC_COMPUTERNAME, 165, 35, 148, 14, WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL | ES_UPPERCASE
ICON IDI_ICON5, IDC_STATIC, 21, 57, 20, 20
- LTEXT "A instalação vai criar uma conta chamada Administrator. Pode usar esta conta se precisar de acesso total ao seu computador.", IDC_STATIC, 54, 57, 250, 25
+ LTEXT "A instalação vai criar uma conta chamada Administrador. Pode usar esta conta se precisar de acesso total ao seu computador.", IDC_STATIC, 54, 57, 250, 25
LTEXT "Digite uma palavra-passe para o administrador com 127 caracteres ou menos.", IDC_STATIC, 54, 87, 250, 8
LTEXT "Palavra-passe do &Administrador:", IDC_STATIC, 54, 104, 105, 8
EDITTEXT IDC_ADMINPASSWORD1, 165, 101, 148, 14, WS_VISIBLE | WS_TABSTOP | ES_PASSWORD
@@ -152,7 +152,7 @@ CAPTION "Definições avançadas"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "", IDC_PS2STATIC, 5, 20, 242, 110
- RTEXT "&Frequencia de amostragem:", -1, 27, 35, 90, 8
+ RTEXT "&Frequência de amostragem:", -1, 27, 35, 90, 8
LTEXT "Relatórios por segundo", -1, 169, 35, 76, 8
COMBOBOX IDC_PS2MOUSESAMPLERATE, 124, 33, 42, 41, CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL
RTEXT "&Detecção da roda:", -1, 27, 55, 90, 8
@@ -175,8 +175,8 @@ BEGIN
IDS_COMPUTERSUBTITLE "Deve fornecer um nome e palavra-passe de administrador para o seu computador."
IDS_LOCALETITLE "Configurações Regionais"
IDS_LOCALESUBTITLE "Pode personalizar o ReactOS para diferentes regiões e línguas."
- IDS_LOCALETEXT "The Standards and formats are set to %s, and the location is set to %s."
- IDS_LAYOUTTEXT "Your default text input language and method is: %s keyboard layout"
+ IDS_LOCALETEXT "Os padrões e formatos são definidos como %s, e o local é definido como %s."
+ IDS_LAYOUTTEXT "O método e idioma de entrada de texto padrão é: Estilo de teclado %s"
IDS_DATETIMETITLE "Data e Hora"
IDS_DATETIMESUBTITLE "Definir a data e a hora correctas para o seu computador."
IDS_PROCESSTITLE "A registar componentes"
@@ -202,7 +202,7 @@ BEGIN
* samsrv.dll:IDS_USER_ADMINISTRATOR_NAME synchronized.
* Also check the IDD_COMPUTERPAGE dialog.
*/
- IDS_ADMINISTRATOR_NAME "Administrator"
+ IDS_ADMINISTRATOR_NAME "Administrador"
IDS_MACHINE_OWNER_NAME "Proprietário"
END
@@ -252,5 +252,5 @@ BEGIN
IDS_PRODUCTWORKSTATIONNAME "Estação de trabalho ReactOS"
IDS_PRODUCTSERVERINFO "O sistema será reconhecido como um servidor. As pastas privadas ""Minhas imagens"", ""Meus vídeos"" e ""Minhas músicas"" são independentes de ""Meus documentos""."
IDS_PRODUCTWORKSTATIONINFO "O sistema será reconhecido como uma estação de trabalho. As pastas privadas ""Minhas imagens"", ""Meus vídeos"" e ""Minhas músicas"" estão em ""Meus documentos""."
- IDS_DEFAULT "(Default)"
+ IDS_DEFAULT "(Padrão)"
END