https://git.reactos.org/?p=reactos.git;a=commitdiff;h=73bed3136351bf4995b6f…
commit 73bed3136351bf4995b6f200c1d775b1072a625c
Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
AuthorDate: Mon Aug 5 15:38:54 2024 +0200
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Fri Aug 9 22:42:50 2024 +0200
[SYSDM] Fix for Italian (it-IT) translation (#7216)
Addendum to commit 04b2d35f5b (PR #4844),
translation proposed by Carlo Bramini.
Co-authored-by: Carlo Bramini <carlo.bramix(a)libero.it>
---
dll/cpl/sysdm/lang/it-IT.rc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dll/cpl/sysdm/lang/it-IT.rc b/dll/cpl/sysdm/lang/it-IT.rc
index 4cfcf099f12..af6fcf7796f 100644
--- a/dll/cpl/sysdm/lang/it-IT.rc
+++ b/dll/cpl/sysdm/lang/it-IT.rc
@@ -356,8 +356,8 @@ BEGIN
IDS_MESSAGEBOXTITLE "Applet di sistema del pannello di controllo"
IDS_WARNINITIALSIZE "Immettere la dimensione iniziale del file di paging."
IDS_WARNMAXIMUMSIZE "Immettere la dimensione massima del file di paging."
- IDS_WARNINITIALRANGE "The initial paging file size must be between 2 MB and %lu MB on the selected drive."
- IDS_WARNMAXIMUMRANGE "The maximum paging file size must be larger than or equal to its initial size, and less than %lu MB on the selected drive."
+ IDS_WARNINITIALRANGE "La dimensione iniziale del file di paging deve essere compresa tra 2 MB e %lu MB nell'unità selezionata."
+ IDS_WARNMAXIMUMRANGE "La dimensione massima del file di paging deve essere superiore a quella iniziale e minore di %lu MB nell'unità selezionata."
IDS_PAGEFILE_MB "%lu MB"
IDS_PAGEFILE_NONE "None"
IDS_PAGEFILE_SYSTEM "System Managed"
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5d96ba9217416e955641b…
commit 5d96ba9217416e955641b7282acc62a0ed9ca277
Author: Oleg Dubinskiy <oleg.dubinskij30(a)gmail.com>
AuthorDate: Thu Aug 8 21:02:35 2024 +0200
Commit: GitHub <noreply(a)github.com>
CommitDate: Thu Aug 8 21:02:35 2024 +0200
[NTOS:MM] Implement MmProbeAndLockProcessPages (#7221)
Implement undocumented MmProbeAndLockProcessPages routine. Based on mm-implement-mappingaddress.patch by Thomas Faber from CORE-10147, with some improvements from me.
It's badly required by FltMgr.sys driver from Windows XP/Server 2003 and closely used by a lot of apps those are depending on this driver (e. g., Avast Free Antivirus several versions, Avira Antivir Personal 8.2 etc. etc.).
Fixes several asserts from MDL support routines when the 3rd-party minifilter drivers are loading FltMgr.
CORE-14157
---
ntoskrnl/mm/ARM3/mdlsup.c | 56 ++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 48 insertions(+), 8 deletions(-)
diff --git a/ntoskrnl/mm/ARM3/mdlsup.c b/ntoskrnl/mm/ARM3/mdlsup.c
index cc6d2ffb4ec..76b06f0c72e 100644
--- a/ntoskrnl/mm/ARM3/mdlsup.c
+++ b/ntoskrnl/mm/ARM3/mdlsup.c
@@ -1671,19 +1671,59 @@ MmProtectMdlSystemAddress(IN PMDL MemoryDescriptorList,
return STATUS_NOT_IMPLEMENTED;
}
-/*
- * @unimplemented
+/**
+ * @brief
+ * Probes and locks virtual pages in memory for the specified process.
+ *
+ * @param[in,out] MemoryDescriptorList
+ * Memory Descriptor List (MDL) containing the buffer to be probed and locked.
+ *
+ * @param[in] Process
+ * The process for which the buffer should be probed and locked.
+ *
+ * @param[in] AccessMode
+ * Access mode for probing the pages. Can be KernelMode or UserMode.
+ *
+ * @param[in] LockOperation
+ * The type of the probing and locking operation. Can be IoReadAccess, IoWriteAccess or IoModifyAccess.
+ *
+ * @return
+ * Nothing.
+ *
+ * @see MmProbeAndLockPages
+ *
+ * @remarks Must be called at IRQL <= APC_LEVEL
*/
+_IRQL_requires_max_(APC_LEVEL)
VOID
NTAPI
-MmProbeAndLockProcessPages(IN OUT PMDL MemoryDescriptorList,
- IN PEPROCESS Process,
- IN KPROCESSOR_MODE AccessMode,
- IN LOCK_OPERATION Operation)
+MmProbeAndLockProcessPages(
+ _Inout_ PMDL MemoryDescriptorList,
+ _In_ PEPROCESS Process,
+ _In_ KPROCESSOR_MODE AccessMode,
+ _In_ LOCK_OPERATION Operation)
{
- UNIMPLEMENTED;
-}
+ KAPC_STATE ApcState;
+ BOOLEAN IsAttached = FALSE;
+
+ if (Process != PsGetCurrentProcess())
+ {
+ KeStackAttachProcess(&Process->Pcb, &ApcState);
+ IsAttached = TRUE;
+ }
+ /* Protect in try/finally to ensure we detach even if MmProbeAndLockPages() throws an exception */
+ _SEH2_TRY
+ {
+ MmProbeAndLockPages(MemoryDescriptorList, AccessMode, Operation);
+ }
+ _SEH2_FINALLY
+ {
+ if (IsAttached)
+ KeUnstackDetachProcess(&ApcState);
+ }
+ _SEH2_END;
+}
/*
* @unimplemented