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
2025
January
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
January 2019
----- 2025 -----
January 2025
----- 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
31 participants
300 discussions
Start a n
N
ew thread
[reactos] 01/01: [RDBSS][RXCE] Implement IRP cancellation
by Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a9124b412d39ac57e09bc…
commit a9124b412d39ac57e09bcb915064db0ec1265d1b Author: Pierre Schweitzer <pierre(a)reactos.org> AuthorDate: Wed Jan 2 15:01:38 2019 +0100 Commit: Pierre Schweitzer <pierre(a)reactos.org> CommitDate: Wed Jan 2 15:02:15 2019 +0100 [RDBSS][RXCE] Implement IRP cancellation CORE-15441 --- sdk/include/ddk/rxcontx.h | 17 +++++ sdk/lib/drivers/rdbsslib/rdbss.c | 150 ++++++++++++++++++++++++++++++++++++++- sdk/lib/drivers/rxce/rxce.c | 87 +++++++++++++++++++++++ 3 files changed, 252 insertions(+), 2 deletions(-) diff --git a/sdk/include/ddk/rxcontx.h b/sdk/include/ddk/rxcontx.h index bfab6952fc..d00e96383a 100644 --- a/sdk/include/ddk/rxcontx.h +++ b/sdk/include/ddk/rxcontx.h @@ -517,6 +517,8 @@ RxReinitializeContext( } #endif +extern FAST_MUTEX RxContextPerFileSerializationMutex; + VOID NTAPI RxResumeBlockedOperations_Serially( @@ -527,4 +529,19 @@ VOID RxResumeBlockedOperations_ALL( _Inout_ PRX_CONTEXT RxContext); +#if (_WIN32_WINNT >= 0x0600) +VOID +RxCancelBlockingOperation( + _Inout_ PRX_CONTEXT RxContext, + _In_ PIRP Irp); +#else +VOID +RxCancelBlockingOperation( + _Inout_ PRX_CONTEXT RxContext); +#endif + +VOID +RxRemoveOperationFromBlockingQueue( + _Inout_ PRX_CONTEXT RxContext); + #endif diff --git a/sdk/lib/drivers/rdbsslib/rdbss.c b/sdk/lib/drivers/rdbsslib/rdbss.c index 8822d03155..a65a695037 100644 --- a/sdk/lib/drivers/rdbsslib/rdbss.c +++ b/sdk/lib/drivers/rdbsslib/rdbss.c @@ -361,6 +361,11 @@ NTSTATUS RxNotifyChangeDirectory( PRX_CONTEXT RxContext); +VOID +NTAPI +RxpCancelRoutine( + PVOID Context); + NTSTATUS RxpQueryInfoMiniRdr( PRX_CONTEXT RxContext, @@ -529,7 +534,6 @@ BOOLEAN DisableFlushOnCleanup = FALSE; ULONG ReadAheadGranularity = 1 << PAGE_SHIFT; LIST_ENTRY RxActiveContexts; NPAGED_LOOKASIDE_LIST RxContextLookasideList; -FAST_MUTEX RxContextPerFileSerializationMutex; RDBSS_DATA RxData; FCB RxDeviceFCB; BOOLEAN RxLoudLowIoOpsEnabled = FALSE; @@ -1128,13 +1132,126 @@ RxCancelNotifyChangeDirectoryRequestsForVNetRoot( return Status; } +/* + * @implemented + */ +BOOLEAN +RxCancelOperationInOverflowQueue( + PRX_CONTEXT RxContext) +{ + KIRQL OldIrql; + BOOLEAN OperationToCancel; + + /* By default, nothing cancelled */ + OperationToCancel = FALSE; + + /* Acquire the overflow spinlock */ + KeAcquireSpinLock(&RxFileSystemDeviceObject->OverflowQueueSpinLock, &OldIrql); + + /* Is our context in any queue? */ + if (BooleanFlagOn(RxContext->Flags, (RX_CONTEXT_FLAG_FSP_DELAYED_OVERFLOW_QUEUE | RX_CONTEXT_FLAG_FSP_CRITICAL_OVERFLOW_QUEUE))) + { + /* Make sure flag is consistent with facts... */ + if (RxContext->OverflowListEntry.Flink != NULL) + { + /* Remove it from the list */ + RemoveEntryList(&RxContext->OverflowListEntry); + RxContext->OverflowListEntry.Flink == NULL; + + /* Decrement appropriate count */ + if (BooleanFlagOn(RxContext->Flags, RX_CONTEXT_FLAG_FSP_CRITICAL_OVERFLOW_QUEUE)) + { + --RxFileSystemDeviceObject->OverflowQueueCount[CriticalWorkQueue]; + } + else + { + --RxFileSystemDeviceObject->OverflowQueueCount[DelayedWorkQueue]; + } + + /* Clear the flag */ + ClearFlag(RxContext->Flags, ~(RX_CONTEXT_FLAG_FSP_DELAYED_OVERFLOW_QUEUE | RX_CONTEXT_FLAG_FSP_CRITICAL_OVERFLOW_QUEUE)); + + /* Time to cancel! */ + OperationToCancel = TRUE; + } + } + + KeReleaseSpinLock(&RxFileSystemDeviceObject->OverflowQueueSpinLock, OldIrql); + + /* We have something to cancel & complete */ + if (OperationToCancel) + { + RxRemoveOperationFromBlockingQueue(RxContext); + RxCompleteRequest(RxContext, STATUS_CANCELLED); + } + + return OperationToCancel; +} + +/* + * @implemented + */ VOID NTAPI RxCancelRoutine( PDEVICE_OBJECT DeviceObject, PIRP Irp) { - UNIMPLEMENTED; + KIRQL OldIrql; + PLIST_ENTRY Entry; + PRX_CONTEXT RxContext; + + /* Lock our contexts list */ + KeAcquireSpinLock(&RxStrucSupSpinLock, &OldIrql); + + /* Now, find a context that matches the cancelled IRP */ + Entry = RxActiveContexts.Flink; + while (Entry != &RxActiveContexts) + { + RxContext = CONTAINING_RECORD(Entry, RX_CONTEXT, ContextListEntry); + Entry = Entry->Flink; + + /* Found! */ + if (RxContext->CurrentIrp == Irp) + { + break; + } + } + + /* If we reached the end of the list, we didn't find any context, so zero the buffer + * If the context is already under cancellation, forget about it too + */ + if (Entry == &RxActiveContexts || BooleanFlagOn(RxContext->Flags, RX_CONTEXT_FLAG_CANCELLED)) + { + RxContext = NULL; + } + else + { + /* Otherwise, reference it and mark it cancelled */ + SetFlag(RxContext->Flags, RX_CONTEXT_FLAG_CANCELLED); + InterlockedIncrement((volatile long *)&RxContext->ReferenceCount); + } + + /* Done with the contexts list */ + KeReleaseSpinLock(&RxStrucSupSpinLock, OldIrql); + + /* And done with the cancellation, we'll do it now */ + IoReleaseCancelSpinLock(Irp->CancelIrql); + + /* If we have a context to cancel */ + if (RxContext != NULL) + { + /* We cannot executed at dispatch, so queue a deferred cancel */ + if (KeGetCurrentIrql() >= DISPATCH_LEVEL) + { + RxDispatchToWorkerThread(RxFileSystemDeviceObject, CriticalWorkQueue, RxpCancelRoutine, RxContext); + } + /* Cancel now! */ + else + { + RxpCancelRoutine(RxContext); + } + } } /* @@ -7491,6 +7608,35 @@ RxNotifyChangeDirectory( return Status; } +/* + * @implemented + */ +VOID +NTAPI +RxpCancelRoutine( + PVOID Context) +{ + PRX_CONTEXT RxContext; + + PAGED_CODE(); + + RxContext = Context; + + /* First, notify mini-rdr about cancellation */ + if (RxContext->MRxCancelRoutine != NULL) + { + RxContext->MRxCancelRoutine(RxContext); + } + /* If we didn't find in overflow queue, try in blocking operations */ + else if (!RxCancelOperationInOverflowQueue(RxContext)) + { + RxCancelBlockingOperation(RxContext); + } + + /* And delete the context */ + RxDereferenceAndDeleteRxContext_Real(RxContext); +} + NTSTATUS RxPostStackOverflowRead ( IN PRX_CONTEXT RxContext) diff --git a/sdk/lib/drivers/rxce/rxce.c b/sdk/lib/drivers/rxce/rxce.c index 424294b33d..9c106d477a 100644 --- a/sdk/lib/drivers/rxce/rxce.c +++ b/sdk/lib/drivers/rxce/rxce.c @@ -143,6 +143,7 @@ LIST_ENTRY RxRecurrentWorkItemsList; KDPC RxTimerDpc; KTIMER RxTimer; ULONG RxTimerTickCount; +FAST_MUTEX RxContextPerFileSerializationMutex; #if DBG BOOLEAN DumpDispatchRoutine = TRUE; #else @@ -715,6 +716,66 @@ RxBootstrapWorkerThreadDispatcher( RxpWorkerThreadDispatcher(RxWorkQueue, NULL); } +/* + * @implemented + */ +VOID +RxCancelBlockingOperation( + IN OUT PRX_CONTEXT RxContext) +{ + PFOBX Fobx; + BOOLEAN PostRequest; + C_ASSERT(FIELD_OFFSET(RX_CONTEXT, IoStatusBlock.Status) == 100); + + PAGED_CODE(); + + Fobx = (PFOBX)RxContext->pFobx; + PostRequest = FALSE; + + /* Acquire the pipe mutex */ + ExAcquireFastMutex(&RxContextPerFileSerializationMutex); + + /* If that's a blocking pipe operation which is not the CCB one, then handle it */ + if (BooleanFlagOn(RxContext->FlagsForLowIo, RXCONTEXT_FLAG4LOWIO_PIPE_SYNC_OPERATION) && + RxContext->RxContextSerializationQLinks.Flink != NULL && + RxContext != CONTAINING_RECORD(&Fobx->Specific.NamedPipe.ReadSerializationQueue, RX_CONTEXT, RxContextSerializationQLinks) && + RxContext != CONTAINING_RECORD(&Fobx->Specific.NamedPipe.WriteSerializationQueue, RX_CONTEXT, RxContextSerializationQLinks)) + { + /* Clear it! */ + ClearFlag(RxContext->FlagsForLowIo, RXCONTEXT_FLAG4LOWIO_PIPE_SYNC_OPERATION); + + /* Drop it off the list */ + RemoveEntryList(&RxContext->RxContextSerializationQLinks); + RxContext->RxContextSerializationQLinks.Flink = NULL; + RxContext->RxContextSerializationQLinks.Blink = NULL; + + /* Set we've been cancelled */ + RxContext->IoStatusBlock.Status = STATUS_CANCELLED; + + /* + * If it's async, we'll post completion, otherwise, we signal to waiters + * it's being cancelled + */ + if (BooleanFlagOn(RxContext->Flags, RX_CONTEXT_FLAG_ASYNC_OPERATION)) + { + PostRequest = TRUE; + } + else + { + RxSignalSynchronousWaiter(RxContext); + } + } + + /* Done */ + ExReleaseFastMutex(&RxContextPerFileSerializationMutex); + + /* Post if async */ + if (PostRequest) + { + RxFsdPostRequest(RxContext); + } +} + /* * @implemented */ @@ -7562,6 +7623,32 @@ RxRemoveNameNetFcb( #endif } +/* + * @implemented + */ +VOID +RxRemoveOperationFromBlockingQueue( + IN OUT PRX_CONTEXT RxContext) +{ + /* Acquire the pipe mutex */ + ExAcquireFastMutex(&RxContextPerFileSerializationMutex); + + /* Is that a blocking serial operation? */ + if (BooleanFlagOn(RxContext->FlagsForLowIo, RXCONTEXT_FLAG4LOWIO_PIPE_SYNC_OPERATION)) + { + /* Clear it! */ + ClearFlag(RxContext->FlagsForLowIo, RXCONTEXT_FLAG4LOWIO_PIPE_SYNC_OPERATION); + + /* Drop it off the list */ + RemoveEntryList(&RxContext->RxContextSerializationQLinks); + RxContext->RxContextSerializationQLinks.Flink = NULL; + RxContext->RxContextSerializationQLinks.Blink = NULL; + } + + /* Done */ + ExReleaseFastMutex(&RxContextPerFileSerializationMutex); +} + /* * @implemented */
6 years
1
0
0
0
[reactos] 01/01: [TRANSLATION] Spanish translations (#944)
by Julio Carchi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=1e141573e4db82ece5145…
commit 1e141573e4db82ece514503f756fe7f4ded4adae Author: Julio Carchi <contacto(a)julcar.info.tm> AuthorDate: Wed Jan 2 06:01:44 2019 -0500 Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org> CommitDate: Wed Jan 2 12:01:44 2019 +0100 [TRANSLATION] Spanish translations (#944) --- base/shell/explorer/lang/es-ES.rc | 6 +-- dll/cpl/appwiz/lang/es-ES.rc | 35 +++++++++------- dll/cpl/inetcpl/lang/es-ES.rc | 26 +++++++----- dll/cpl/sysdm/lang/es-ES.rc | 2 +- dll/shellext/netshell/lang/es-ES.rc | 2 +- dll/shellext/stobject/lang/es-ES.rc | 2 +- dll/win32/browseui/lang/es-ES.rc | 4 +- dll/win32/msgina/lang/es-ES.rc | 21 ++++++---- dll/win32/netcfgx/lang/es-ES.rc | 18 +++++--- dll/win32/setupapi/lang/es-ES.rc | 33 +++++++++------ dll/win32/syssetup/lang/es-ES.rc | 49 ++++++++++++---------- .../user/winsrv/consrv/frontends/gui/lang/es-ES.rc | 14 +++++-- win32ss/user/winsrv/consrv/lang/es-ES.rc | 2 +- .../winsrv/consrv_new/frontends/gui/lang/es-ES.rc | 10 ++++- win32ss/user/winsrv/consrv_new/lang/es-ES.rc | 2 +- 15 files changed, 137 insertions(+), 89 deletions(-) diff --git a/base/shell/explorer/lang/es-ES.rc b/base/shell/explorer/lang/es-ES.rc index dd51961bc1..74771c4572 100644 --- a/base/shell/explorer/lang/es-ES.rc +++ b/base/shell/explorer/lang/es-ES.rc @@ -85,11 +85,11 @@ BEGIN AUTOCHECKBOX "Mantener la barra de tareas &siempre visible", IDC_TASKBARPROP_ONTOP, 13,71,200,10 AUTOCHECKBOX "&Agrupar botones similares de la barra de tareas", IDC_TASKBARPROP_GROUP, 13,84,200,10 AUTOCHECKBOX "Mostrar Inicio rápi&do", IDC_TASKBARPROP_SHOWQL, 13,97,200,10 - GROUPBOX "Notification area", IDC_STATIC, 6, 114, 240, 98 + GROUPBOX "Área de notificaciones", IDC_STATIC, 6, 114, 240, 98 CONTROL "", IDC_TASKBARPROP_NOTIFICATIONBITMAP, "Static", SS_BITMAP | SS_SUNKEN | SS_CENTERIMAGE, 12, 126, 229, 24 AUTOCHECKBOX "Re&loj", IDC_TASKBARPROP_CLOCK, 13, 153, 80, 10 AUTOCHECKBOX "Mostrar segundos", IDC_TASKBARPROP_SECONDS, 120, 153, 80, 10, WS_DISABLED - LTEXT "Puede mantener libre el área de notifación ocultando iconos que no se han usadon recientemente.", IDC_STATIC, 13, 169, 223, 16 + LTEXT "Puede mantener libre el área de notifación ocultando iconos que no se han usado recientemente.", IDC_STATIC, 13, 169, 223, 16 AUTOCHECKBOX "Ocultar &iconos inactivos", IDC_TASKBARPROP_HIDEICONS, 13, 191, 125, 10 PUSHBUTTON "&Personalizar...", IDC_TASKBARPROP_ICONCUST, 184, 191, 50, 14 END @@ -130,7 +130,7 @@ FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Menú Inicio", IDC_STATIC, 8, 7, 218, 114 ICON IDI_STARTMENU2, IDC_STATIC, 19, 17, 20, 20 - LTEXT "Usted puede personalizar su Menú Inicio añadiendo or removiendo elementos.", IDC_STATIC, 48, 17, 108, 39 + LTEXT "Usted puede personalizar el Menú Inicio añadiendo o quitando elementos.", IDC_STATIC, 48, 17, 108, 39 PUSHBUTTON "&Añadir...", IDC_CLASSICSTART_ADD, 162, 18, 53, 14 PUSHBUTTON "&Remover...", IDC_CLASSICSTART_REMOVE, 162, 33, 53, 14 PUSHBUTTON "A&vanzado", IDC_CLASSICSTART_ADVANCED, 162, 49, 53, 14 diff --git a/dll/cpl/appwiz/lang/es-ES.rc b/dll/cpl/appwiz/lang/es-ES.rc index a26f64ff36..52f809c83b 100644 --- a/dll/cpl/appwiz/lang/es-ES.rc +++ b/dll/cpl/appwiz/lang/es-ES.rc @@ -1,7 +1,10 @@ -/* Spanish Language resource file - * - * Traducido por: Javier Remacha 2007-12-22 - * Traducido por: Ismael Ferreras Morezuelas 2014-12-30 +/* + * PROJECT: ReactOS Application Wizard + * LICENSE: GPL-2.0+ (
https://spdx.org/licenses/GPL-2.0+
) + * PURPOSE: Spanish language file ... + * COPYRIGHT: Javier Remacha 2007-12-22 + * Ismael Ferreras Morezuelas 2014-12-30 + * Julio Carchi Ruiz 2018-10-19 */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -49,14 +52,14 @@ END IDD_CONFIG_STARTMENU DIALOGEX 0, 0, 212, 200 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Remove Shortcuts/Folders" +CAPTION "Quitar accesos directos y directorios" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&To remove an item from the Start menu, select the item and click Remove.", -1, 10, 10, 192, 16 + LTEXT "Para quitar un elemento del Menú Inicio, selecciónelo y presione Quitar.", -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 "&Remove", IDC_REMOVE_ENTRIES, 98, 176, 50, 14, WS_GROUP | WS_TABSTOP - DEFPUSHBUTTON "Close", IDOK, 152, 176, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Quitar", IDC_REMOVE_ENTRIES, 98, 176, 50, 14, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "Salir", IDOK, 152, 176, 50, 14, WS_GROUP | WS_TABSTOP END ID_DWL_GECKO_DIALOG DIALOGEX 0, 0, 260, 95 @@ -68,7 +71,7 @@ BEGIN ID_DWL_STATUS, "SysLink", 0, 10, 10, 240, 65 CONTROL "", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER | PBS_SMOOTH, 10, 40, 240, 12 DEFPUSHBUTTON "&Instalar", ID_DWL_INSTALL, 200, 76, 50, 14, WS_GROUP | WS_TABSTOP - PUSHBUTTON "C&ancelar", IDCANCEL, 144, 76, 50, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Cancelar", IDCANCEL, 144, 76, 50, 14, WS_GROUP | WS_TABSTOP END STRINGTABLE @@ -84,11 +87,11 @@ BEGIN IDS_DOWNLOADING "Descargando..." IDS_INSTALLING "Instalando..." IDS_INVALID_SHA "La suma de verificación del archivo descargado no coincide. Se ha cancelado la instalación del archivo corrupto." - 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_NO_MEMORY "No memory could be allocated!" - IDS_NO_DIRECTORY "No directory given!" - IDS_INVALID_PATH "The given path is invalid!" + IDS_NEW_INTERNET_SHORTCUT "Nuevo acceso directo a Internet" + IDS_DWL_FAILED "ReactOS no pudo descargar el paquete de Wine Gecko. Asegúrese de que tiene conexión a Internet. La instalación continuará sin instalar Wine Gecko." + IDS_CANTMAKEINETSHORTCUT "No se pudo crear un acceso directo a Internet." + IDS_CANTMAKESHORTCUT "No se pudo crear un acceso directo." + IDS_NO_MEMORY "No se pudo asignar memoria" + IDS_NO_DIRECTORY "No se ha especificado directorio alguno" + IDS_INVALID_PATH "La ruta proporcionada es inválida" END diff --git a/dll/cpl/inetcpl/lang/es-ES.rc b/dll/cpl/inetcpl/lang/es-ES.rc index 9f1c2ac917..459e56d8a3 100644 --- a/dll/cpl/inetcpl/lang/es-ES.rc +++ b/dll/cpl/inetcpl/lang/es-ES.rc @@ -1,4 +1,10 @@ -/* Spanish translation by Ismael Ferreras Morezuelas (2014-12-30) */ +/* + * PROJECT: ReactOS Internet Options dialog + * LICENSE: GPL-2.0+ (
https://spdx.org/licenses/GPL-2.0+
) + * PURPOSE: Spanish language file ... + * COPYRIGHT: Ismael Ferreras Morezuelas (2014-12-30) + * Julio Carchi Ruiz (2018-10-19) + */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE @@ -98,17 +104,17 @@ END IDD_CONNECTIONS DIALOG 0, 0, 320, 220 STYLE WS_CAPTION | WS_CHILD | WS_DISABLED FONT 8, "MS Shell Dlg" -CAPTION "Connections" +CAPTION "Conexiones" BEGIN - GROUPBOX "Automatic configuration", IDC_STATIC, 4, 4, 312, 56 - AUTOCHECKBOX "Use Web Proxy Auto-Discovery (WPAD)", IDC_USE_WPAD, 10, 14, 200, 14, BS_TOP - AUTOCHECKBOX "Use Proxy Auto-Config (PAC) script", IDC_USE_PAC_SCRIPT, 10, 28, 200, 14, BS_TOP - LTEXT "Address:", IDC_STATIC, 10, 42, 40, 14 + GROUPBOX "Configuración automática", IDC_STATIC, 4, 4, 312, 56 + AUTOCHECKBOX "Usar autodescubrimiento de Proxy (WPAD)", IDC_USE_WPAD, 10, 14, 300, 14, BS_TOP + AUTOCHECKBOX "Usar autoconfiguración de Proxy (PAC)", IDC_USE_PAC_SCRIPT, 10, 28, 300, 14, BS_TOP + LTEXT "Dirección:", IDC_STATIC, 10, 42, 40, 14 EDITTEXT IDC_EDIT_PAC_SCRIPT, 50, 42, 160, 14, WS_VISIBLE | ES_AUTOHSCROLL | WS_DISABLED - GROUPBOX "Proxy server", IDC_STATIC, 4, 66, 312, 42 - AUTOCHECKBOX "Use a proxy server", IDC_USE_PROXY_SERVER, 10, 76, 200, 14, BS_TOP | BS_MULTILINE - LTEXT "Address:", IDC_STATIC, 10, 90, 40, 14 + GROUPBOX "Servidor Proxy", IDC_STATIC, 4, 66, 312, 42 + AUTOCHECKBOX "Usar un servidor Proxy", IDC_USE_PROXY_SERVER, 10, 76, 200, 14, BS_TOP | BS_MULTILINE + LTEXT "Dirección:", IDC_STATIC, 10, 90, 40, 14 EDITTEXT IDC_EDIT_PROXY_SERVER, 50, 90, 80, 14, WS_VISIBLE | ES_AUTOHSCROLL | WS_DISABLED - LTEXT "Port:", IDC_STATIC, 140, 90, 30, 14 + LTEXT "Puerto:", IDC_STATIC, 140, 90, 30, 14 EDITTEXT IDC_EDIT_PROXY_PORT, 170, 90, 40, 14, WS_VISIBLE | ES_AUTOHSCROLL | WS_DISABLED | ES_NUMBER END diff --git a/dll/cpl/sysdm/lang/es-ES.rc b/dll/cpl/sysdm/lang/es-ES.rc index 5d1209a135..edd88a10e1 100644 --- a/dll/cpl/sysdm/lang/es-ES.rc +++ b/dll/cpl/sysdm/lang/es-ES.rc @@ -12,7 +12,7 @@ BEGIN LTEXT REACTOS_STR_PRODUCT_NAME, IDC_STATIC, 10, 128, 116, 9 LTEXT "Versión", IDC_ROSVERSION, 10, 137, 116, 9 LTEXT REACTOS_STR_PRODUCT_BUILD, IDC_STATIC, 10, 146, 110, 9 - LTEXT "System Uptime:", IDC_STATIC, 4, 158, 86, 9 + LTEXT "Tiempo de operación:", IDC_STATIC, 4, 158, 86, 9 LTEXT "", IDC_UPTIME, 10, 170, 116, 9 LTEXT "Equipo:", IDC_STATIC, 124, 116, 34, 9 LTEXT "", IDC_MACHINELINE1, 130, 128, 118, 9 diff --git a/dll/shellext/netshell/lang/es-ES.rc b/dll/shellext/netshell/lang/es-ES.rc index 1d22fa0cea..a30d5e9cbf 100644 --- a/dll/shellext/netshell/lang/es-ES.rc +++ b/dll/shellext/netshell/lang/es-ES.rc @@ -121,7 +121,7 @@ BEGIN (Puede obtener más información de su administrador de red.)", IDC_STATIC, 33, 2, 263, 50 AUTORADIOBUTTON "No, esta computadora será parte de un grupo de trabajo.", IDC_SELECT_WORKGROUP, 33, 32, 253, 20, WS_TABSTOP | WS_GROUP AUTORADIOBUTTON "Si, esta computadora será parte de un dominio.", IDC_SELECT_DOMAIN, 33, 47, 253, 20, WS_TABSTOP - LTEXT "Nombre del dominio o grupo de trabajo:", IDC_STATIC, 33, 72, 126, 14 + LTEXT "Nombre del dominio o grupo de trabajo:", IDC_STATIC, 33, 72, 152, 20 EDITTEXT IDC_DOMAIN_NAME, 33, 82, 126, 14, WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL LTEXT "NOTE: Si esta computadora no va a ser parte de una red, usted no tiene suficientes privilegios para unirse a un dominio, o si simplemente no sabe qué elejir, entonces seleccione ""Grupo de trabajo"" por ahora. Éstas opciones pueden ser cambiadas después.", IDC_STATIC, 33, 107, 263, 50 END diff --git a/dll/shellext/stobject/lang/es-ES.rc b/dll/shellext/stobject/lang/es-ES.rc index ac008f2dd9..3da6c8f48e 100644 --- a/dll/shellext/stobject/lang/es-ES.rc +++ b/dll/shellext/stobject/lang/es-ES.rc @@ -20,7 +20,7 @@ BEGIN IDS_PWR_METER "Abrir &medidor de energía" IDS_PWR_RUN "shell32.dll,Control_RunDLL PowerCfg.cpl" IDS_PWR_PERCENT_REMAINING "Queda un %.2f%%" - IDS_PWR_CHARGING "%.2f%% and charging" + IDS_PWR_CHARGING "%.2f%% y cargando" IDS_PWR_UNKNOWN_REMAINING "Estado de batería desconocido" IDS_PWR_AC "En corriente alterna" IDS_PWR_HOURS_REMAINING "Quedan %1!u!:%2!02u! horas (%3!u!%%)" diff --git a/dll/win32/browseui/lang/es-ES.rc b/dll/win32/browseui/lang/es-ES.rc index 82dea9d8e0..c23b82ad7e 100644 --- a/dll/win32/browseui/lang/es-ES.rc +++ b/dll/win32/browseui/lang/es-ES.rc @@ -97,8 +97,8 @@ END IDM_BAND_MENU MENUEX BEGIN - MENUITEM "Sho&w Title", IDM_BAND_TITLE - MENUITEM "&Close Toolbar", IDM_BAND_CLOSE + MENUITEM "Mostrar &título", IDM_BAND_TITLE + MENUITEM "&Cerrar barra de herramientas", IDM_BAND_CLOSE END IDM_POPUPMENU MENUEX DISCARDABLE diff --git a/dll/win32/msgina/lang/es-ES.rc b/dll/win32/msgina/lang/es-ES.rc index c9a5a6ffb5..02c1e2cb4f 100644 --- a/dll/win32/msgina/lang/es-ES.rc +++ b/dll/win32/msgina/lang/es-ES.rc @@ -1,4 +1,11 @@ -/* Spanish translation by Ismael Ferreras Morezuelas (2015-01-02) */ +/* + * PROJECT: ReactOS MSGina + * LICENSE: GPL - See COPYING in the top level directory + * PURPOSE: Spanish Language Resource File + * COPYRIGHT: 2015-01-02 Ismael Ferreras Morezuelas + * 2018-08-04 Julio Carchi Ruiz + */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL IDD_STATUS DIALOGEX 0, 0, 275, 80 @@ -144,13 +151,13 @@ BEGIN LTEXT "¿&Qué desea hacer con el equipo?", IDC_STATIC, 39, 57, 167, 10 COMBOBOX IDC_SHUTDOWN_ACTION, 39, 70, 190, 210, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "", IDC_SHUTDOWN_DESCRIPTION, 39, 93, 190, 27 - GROUPBOX "Shutdown Event Tracker", IDC_STATIC, 9, 122, 257, 146 - LTEXT "Select the option that best describes why you want to shut down your computer.", IDC_STATIC, 39, 134, 190, 17 - LTEXT "&Option:", IDC_STATIC, 39, 154, 80, 8 - AUTOCHECKBOX "&Planned", IDC_REASON_PLANNED, 182, 154, 47, 10 + GROUPBOX "Eventos de Apagado", IDC_STATIC, 9, 122, 257, 146 + LTEXT "Seleccione la opción que mejor describa el motivo del apagado de esta computadora.", IDC_STATIC, 39, 134, 190, 17 + LTEXT "&Opción:", IDC_STATIC, 39, 154, 80, 8 + AUTOCHECKBOX "&Planificado", IDC_REASON_PLANNED, 182, 154, 47, 10 COMBOBOX IDC_REASON_LIST, 39, 165, 190, 210, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "", IDC_REASON_DESCRIPTION, 39, 184, 190, 27 - LTEXT "&Comment:", IDC_STATIC, 39, 214, 80, 8 + LTEXT "&Comentario:", IDC_STATIC, 39, 214, 80, 8 EDITTEXT IDC_REASON_COMMENT, 39, 224, 190, 35, ES_MULTILINE | WS_VISIBLE | WS_TABSTOP DEFPUSHBUTTON "Aceptar", IDOK, 150, 276, 55, 14, WS_GROUP PUSHBUTTON "Cancelar", IDCANCEL, 211, 276, 55, 14 @@ -199,7 +206,7 @@ BEGIN IDS_LOGONUSERDISABLED "La cuenta ha sido desactivada. Contacte con su administrador del sistema." IDS_PASSWORDMUSTCHANGE "Es necesario cambiar la contraseña en el primer inicio de sesión." IDS_PASSWORDEXPIRED "La contraseña ha expirado y debe cambiarse." - IDS_ACCOUNTEXPIRED "Your account has expired. Please see your system administrator." + IDS_ACCOUNTEXPIRED "Su cuenta ha expirado. Contacte con su administrador del sistema." END /* Shutdown Dialog Strings */ diff --git a/dll/win32/netcfgx/lang/es-ES.rc b/dll/win32/netcfgx/lang/es-ES.rc index e5fed5041f..b21bf0ffef 100644 --- a/dll/win32/netcfgx/lang/es-ES.rc +++ b/dll/win32/netcfgx/lang/es-ES.rc @@ -1,4 +1,10 @@ -/* Spanish translation by Ismael Ferreras Morezuelas (Swyter) */ +/* + * PROJECT: ReactOS Network Shell Extension + * LICENSE: GPL-2.0+ (
https://spdx.org/licenses/GPL-2.0+
) + * PURPOSE: Spanish locale file + * COPYRIGHT: Ismael Ferreras Morezuelas + * Julio Carchi Ruiz + */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -199,18 +205,18 @@ END IDD_NET_PROPERTY_DLG DIALOGEX 0, 0, 252, 218 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Advanced" +CAPTION "Avanzado" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "The following properties are available for this network adapter. Click the property you want to change on the left, and then select its value on the right.", -1, 7, 7, 218, 24, WS_GROUP - LTEXT "&Property:", -1, 7, 37, 60, 8, WS_GROUP + LTEXT "Las siguientes propiedades están disponibles para este adaptador de red. Seleccione una propiedad de la izquierda para cambiar su valor.", -1, 7, 7, 218, 24, WS_GROUP + LTEXT "&Propiedad:", -1, 7, 37, 60, 8, WS_GROUP LISTBOX IDC_PROPERTY_NAME, 7, 48, 124, 124, LBS_STANDARD | WS_TABSTOP - LTEXT "&Value:", -1, 151, 37, 60, 8, WS_GROUP + LTEXT "&Valor:", -1, 151, 37, 60, 8, WS_GROUP EDITTEXT IDC_PROPERTY_VALUE_EDIT, 153, 48, 92, 14, ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP CONTROL "", IDC_PROPERTY_VALUE_UPDN, "msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | WS_BORDER, 232, 48, 12, 12 COMBOBOX IDC_PROPERTY_VALUE_LIST, 153, 48, 92, 64, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP AUTORADIOBUTTON "", IDC_PROPERTY_PRESENT, 141, 50, 8, 10, BS_TOP | WS_GROUP - AUTORADIOBUTTON "&Not Present", IDC_PROPERTY_NOT_PRESENT, 141, 68, 103, 10, BS_TOP + AUTORADIOBUTTON "&Ausente", IDC_PROPERTY_NOT_PRESENT, 141, 68, 103, 10, BS_TOP END STRINGTABLE diff --git a/dll/win32/setupapi/lang/es-ES.rc b/dll/win32/setupapi/lang/es-ES.rc index 1b83a3be55..5bf04bf2f4 100644 --- a/dll/win32/setupapi/lang/es-ES.rc +++ b/dll/win32/setupapi/lang/es-ES.rc @@ -1,3 +1,10 @@ +/* + * PROJECT: ReactOS SetupApi + * LICENSE: GPL-2.0+ (
https://spdx.org/licenses/GPL-2.0+
) + * PURPOSE: Spanish language file + * COPYRIGHT: 2018 Julio Carchi Ruiz + */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL COPYFILEDLGORD DIALOGEX 20, 20, 208, 105 @@ -5,7 +12,7 @@ STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION CAPTION "Copiando archivos..." FONT 8, "MS Shell Dlg" BEGIN - PUSHBUTTON "Cancelar", IDCANCEL, 79, 84, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "&Cancelar", IDCANCEL, 79, 84, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP LTEXT "Origen:", -1, 7, 7, 77, 11, WS_CHILD | WS_VISIBLE | WS_GROUP LTEXT "", SOURCESTRORD, 7, 18, 194, 11, WS_CHILD | WS_VISIBLE | WS_GROUP LTEXT "Destino:", -1, 7, 30, 77, 11, WS_CHILD | WS_VISIBLE | WS_GROUP @@ -15,29 +22,29 @@ END IDPROMPTFORDISK DIALOG 0, 0, 260, 120 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Files Needed" +CAPTION "Archivos faltantes" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Insert the manufacturer's installation disk, and then\nmake sure the correct drive is selected below", IDC_FILENEEDED, 10, 10, 175, 38, WS_CHILD | WS_VISIBLE | WS_GROUP + LTEXT "Inserte el disco de instalación proporcionado por el fabricante,\ny entonces asegúrese de que el controlador adecuado está seleccionado abajo", IDC_FILENEEDED, 10, 10, 250, 38, WS_CHILD | WS_VISIBLE | WS_GROUP LTEXT "", IDC_INFO, 10, 50, 175, 38, WS_CHILD | WS_VISIBLE | WS_GROUP - LTEXT "Copy manufacturer's files from:", IDC_COPYFROM, 10, 90, 175, 11, WS_CHILD | WS_VISIBLE | WS_GROUP + LTEXT "Copiar controladores desde:", IDC_COPYFROM, 10, 90, 175, 11, WS_CHILD | WS_VISIBLE | WS_GROUP CONTROL "", IDC_PATH, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 10, 100, 175, 14 - DEFPUSHBUTTON "OK", IDOK, 195, 10, 60, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP - PUSHBUTTON "Cancel", IDCANCEL, 195, 30, 60, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP - PUSHBUTTON "Browse...", IDC_RUNDLG_BROWSE, 195, 100, 60, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + DEFPUSHBUTTON "&Aceptar", IDOK, 195, 10, 60, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "&Cancelar", IDCANCEL, 195, 30, 60, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "&Examinar...", IDC_RUNDLG_BROWSE, 195, 100, 60, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP END STRINGTABLE BEGIN - IDS_PROMPTDISK "The file '%1' on %2 is needed" - IDS_UNKNOWN "Unknown" - IDS_COPYFROM "Copy files from:" - IDS_INFO "Type the path where the file is located, and then click OK." + IDS_PROMPTDISK "El archivo '%1' en %2 no se encuentra" + IDS_UNKNOWN "Desconocido" + IDS_COPYFROM "Copiar archivos desde:" + IDS_INFO "Busque la ruta donde se localiza el archivo, y luego presione Aceptar." END STRINGTABLE BEGIN - IDS_QUERY_REBOOT_TEXT "Su equipo debe ser reinicializada para completar la instalación. ¿Desea continuar?" - IDS_QUERY_REBOOT_CAPTION "Reinicializar" + IDS_QUERY_REBOOT_TEXT "Su computadora debe reiniciarse para completar la instalación. ¿Desea continuar?" + IDS_QUERY_REBOOT_CAPTION "Reiniciar" IDS_INF_FILE "Información del instalador" END diff --git a/dll/win32/syssetup/lang/es-ES.rc b/dll/win32/syssetup/lang/es-ES.rc index da194b5e19..4736edf504 100644 --- a/dll/win32/syssetup/lang/es-ES.rc +++ b/dll/win32/syssetup/lang/es-ES.rc @@ -1,4 +1,11 @@ -/* Spanish translation created by ??? and refurbished by Ismael Ferreras Morezuelas (2014-12-30) */ +/* + * PROJECT: ReactOS Win32 Setup + * LICENSE: GPL-2.0+ (
https://spdx.org/licenses/GPL-2.0+
) + * PURPOSE: Spanish locale file + * COPYRIGHT: 2014 Ismael Ferreras Morezuelas + * 2018 Julio Carchi Ruiz + */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL IDD_WELCOMEPAGE DIALOGEX 0, 0, 317, 193 @@ -86,11 +93,11 @@ END IDD_THEMEPAGE DIALOGEX 0, 0, 317, 143 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS Setup" +CAPTION "Instalación de ReactOS" FONT 8, "MS Shell Dlg" BEGIN - PUSHBUTTON "Lautus theme", IDC_THEMEDSTYLE, 18,7,130,130, BS_AUTORADIOBUTTON|BS_PUSHLIKE - PUSHBUTTON "Classic theme", IDC_CLASSICSTYLE, 175,7,130,130, BS_AUTORADIOBUTTON|BS_PUSHLIKE + PUSHBUTTON "Estilo Lautus", IDC_THEMEDSTYLE, 18,7,130,130, BS_AUTORADIOBUTTON|BS_PUSHLIKE + PUSHBUTTON "Estilo Clásico", IDC_CLASSICSTYLE, 175,7,130,130, BS_AUTORADIOBUTTON|BS_PUSHLIKE END IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143 @@ -134,20 +141,20 @@ END IDD_PS2MOUSEPROPERTIES DIALOGEX 0, 0, 252, 218 STYLE WS_CHILD | WS_VISIBLE | WS_CAPTION -CAPTION "Advanced Settings" +CAPTION "Configuración avanzada" FONT 8, "MS Shell Dlg" BEGIN - RTEXT "&Sample Rate:", -1, 27, 35, 90, 8 - LTEXT "reports per second", -1, 169, 35, 76, 8 + RTEXT "&Promedio de muestra:", -1, 27, 35, 90, 8 + LTEXT "reportes 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 "&Wheel Detection:", -1, 27, 55, 90, 8 + RTEXT "&Detectar rueda:", -1, 27, 55, 90, 8 COMBOBOX IDC_PS2MOUSEWHEEL, 124, 53, 95, 46, CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL - RTEXT "&Input buffer length:", -1, 27, 75, 90, 8 - LTEXT "packets", -1, 169, 75, 26, 8 + RTEXT "&Buffer de entrada:", -1, 27, 75, 90, 8 + LTEXT "paquetes", -1, 169, 75, 26, 8 EDITTEXT IDC_PS2MOUSEINPUTLEN, 124, 72, 40, 14, ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | ES_NUMBER | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER CONTROL "", IDC_PS2MOUSEINPUTUPDN, "msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_CHILD | WS_VISIBLE, 168, 70, 10, 14 - AUTOCHECKBOX "&Fast Initialization", IDC_PS2MOUSEFASTINIT, 124, 97, 90, 10 - PUSHBUTTON "&Defaults", IDC_PS2MOUSEDEFAULTS, 195, 188, 50, 14 + AUTOCHECKBOX "&Inicialización rápida", IDC_PS2MOUSEFASTINIT, 124, 97, 90, 10 + PUSHBUTTON "Por &defecto", IDC_PS2MOUSEDEFAULTS, 195, 188, 50, 14 END STRINGTABLE @@ -164,8 +171,8 @@ BEGIN IDS_DATETIMESUBTITLE "Fije la fecha y hora correcta de su equipo." IDS_PROCESSTITLE "Registrando componentes" IDS_PROCESSSUBTITLE "Espere un momento..." - IDS_THEMESELECTIONTITLE "Appearance" - IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer." + IDS_THEMESELECTIONTITLE "Apariencia" + IDS_THEMESELECTIONSUBTITLE "Seleccione el estilo de su preferencia." END STRINGTABLE @@ -173,10 +180,10 @@ BEGIN IDS_REACTOS_SETUP "Instalación de ReactOS" IDS_UNKNOWN_ERROR "Error desconocido" IDS_REGISTERING_COMPONENTS "Registrando componentes..." - IDS_LOADLIBRARY_FAILED "LoadLibrary falló: " - IDS_GETPROCADDR_FAILED "GetProcAddr falló: " - IDS_REGSVR_FAILED "DllRegisterServer falló: " - IDS_DLLINSTALL_FAILED "DllInstall falló: " + IDS_LOADLIBRARY_FAILED "No se pudo cargar la librería: " + IDS_GETPROCADDR_FAILED "No se pudo obtener la ubicación del proceso: " + IDS_REGSVR_FAILED "No se pudo registrar la librería: " + IDS_DLLINSTALL_FAILED "No se pudo instalar la librería: " IDS_TIMEOUT "Se ha agotado el tiempo disponible para la instalación y registro de bibliotecas." IDS_REASON_UNKNOWN "" /* @@ -214,7 +221,7 @@ END STRINGTABLE BEGIN - IDS_DETECTIONDISABLED "Detection disabled" - IDS_LOOKFORWHEEL "Look for wheel" - IDS_ASSUMEPRESENT "Assume wheel is present" + IDS_DETECTIONDISABLED "Detección desactivada" + IDS_LOOKFORWHEEL "Detectar rueda" + IDS_ASSUMEPRESENT "Asumir que la rueda está presente" END diff --git a/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc b/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc index 60d1bdcbe8..6c67df7a64 100644 --- a/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc +++ b/win32ss/user/winsrv/consrv/frontends/gui/lang/es-ES.rc @@ -1,4 +1,10 @@ -/* Spanish translation by Javier Remacha 2008-26-01 */ +/* + * PROJECT: ReactOS Console Server + * LICENSE: GPL-2.0+ (
https://spdx.org/licenses/GPL-2.0+
) + * PURPOSE: Spanish language file + * COPYRIGHT: 2008 Javier Remacha + * 2018 Julio Carchi Ruiz + */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -22,11 +28,11 @@ BEGIN IDS_SCROLLUP "Desplazar arriba" IDS_SCROLLDOWN "Desplazar abajo" */ - IDS_TERMINAL_TITLE "ReactOS Console" + IDS_TERMINAL_TITLE "Consola de ReactOS" END STRINGTABLE BEGIN - IDS_MARK_TITLE "Mark" - IDS_SELECT_TITLE "Select" + IDS_MARK_TITLE "Marcar" + IDS_SELECT_TITLE "Seleccionar" END diff --git a/win32ss/user/winsrv/consrv/lang/es-ES.rc b/win32ss/user/winsrv/consrv/lang/es-ES.rc index 2b67b3f70f..4f30c02c48 100644 --- a/win32ss/user/winsrv/consrv/lang/es-ES.rc +++ b/win32ss/user/winsrv/consrv/lang/es-ES.rc @@ -2,5 +2,5 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE BEGIN - IDS_CONSOLE_TITLE "ReactOS Console" + IDS_CONSOLE_TITLE "Consola de ReactOS" END diff --git a/win32ss/user/winsrv/consrv_new/frontends/gui/lang/es-ES.rc b/win32ss/user/winsrv/consrv_new/frontends/gui/lang/es-ES.rc index ca10531bbd..ab830001fa 100644 --- a/win32ss/user/winsrv/consrv_new/frontends/gui/lang/es-ES.rc +++ b/win32ss/user/winsrv/consrv_new/frontends/gui/lang/es-ES.rc @@ -1,4 +1,10 @@ -/* Spanish translation by Javier Remacha 2008-26-01 */ +/* + * PROJECT: ReactOS Console Server + * LICENSE: GPL-2.0+ (
https://spdx.org/licenses/GPL-2.0+
) + * PURPOSE: Spanish language file + * COPYRIGHT: 2008 Javier Remacha + * 2018 Julio Carchi Ruiz + */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -22,5 +28,5 @@ BEGIN IDS_SCROLLUP "Desplazar arriba" IDS_SCROLLDOWN "Desplazar abajo" */ - IDS_TERMINAL_TITLE "ReactOS Console" + IDS_TERMINAL_TITLE "Consola de ReactOS" END diff --git a/win32ss/user/winsrv/consrv_new/lang/es-ES.rc b/win32ss/user/winsrv/consrv_new/lang/es-ES.rc index 2b67b3f70f..4f30c02c48 100644 --- a/win32ss/user/winsrv/consrv_new/lang/es-ES.rc +++ b/win32ss/user/winsrv/consrv_new/lang/es-ES.rc @@ -2,5 +2,5 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE BEGIN - IDS_CONSOLE_TITLE "ReactOS Console" + IDS_CONSOLE_TITLE "Consola de ReactOS" END
6 years
1
0
0
0
[reactos] 01/01: [NTOSKRNL] Add a raw implementation of !irpfind in kdbg
by Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d6dc1fd2310ed67891edc…
commit d6dc1fd2310ed67891edc27a49aacc2eb11220f3 Author: Pierre Schweitzer <pierre(a)reactos.org> AuthorDate: Tue Jan 1 21:58:18 2019 +0100 Commit: Pierre Schweitzer <pierre(a)reactos.org> CommitDate: Tue Jan 1 22:00:56 2019 +0100 [NTOSKRNL] Add a raw implementation of !irpfind in kdbg This is far from perfect, and totally doesn't match the WinDBG way of doing it. Instead of browsing pool to find matching 'IRP' tags, we just browse all the processes to find the queued IRP. This requires the IRPs to be queued, obviously, and will make us miss the leaked IRPs, for instance. Proper way to do it would be to implement !poolfind and then rely on its implementation to find our IRPs. Perhaps later ;-) --- ntoskrnl/kdbg/kdb_cli.c | 3 ++ ntoskrnl/ps/process.c | 115 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) diff --git a/ntoskrnl/kdbg/kdb_cli.c b/ntoskrnl/kdbg/kdb_cli.c index 3fce1977d9..37ad987b79 100644 --- a/ntoskrnl/kdbg/kdb_cli.c +++ b/ntoskrnl/kdbg/kdb_cli.c @@ -96,6 +96,8 @@ BOOLEAN ExpKdbgExtPoolUsed(ULONG Argc, PCHAR Argv[]); BOOLEAN ExpKdbgExtFileCache(ULONG Argc, PCHAR Argv[]); BOOLEAN ExpKdbgExtDefWrites(ULONG Argc, PCHAR Argv[]); +BOOLEAN PspKdbgIrpFind(ULONG Argc, PCHAR Argv[]); + #ifdef __ROS_DWARF__ static BOOLEAN KdbpCmdPrintStruct(ULONG Argc, PCHAR Argv[]); #endif @@ -190,6 +192,7 @@ static const struct { "!poolused", "!poolused [Flags [Tag]]", "Display pool usage.", ExpKdbgExtPoolUsed }, { "!filecache", "!filecache", "Display cache usage.", ExpKdbgExtFileCache }, { "!defwrites", "!defwrites", "Display cache write values.", ExpKdbgExtDefWrites }, + { "!irpfind", "!irpfind [criteria data]", "Lists IRPs potentially matching criteria", PspKdbgIrpFind }, }; /* FUNCTIONS *****************************************************************/ diff --git a/ntoskrnl/ps/process.c b/ntoskrnl/ps/process.c index c6962762e3..3554d601c1 100644 --- a/ntoskrnl/ps/process.c +++ b/ntoskrnl/ps/process.c @@ -1614,4 +1614,119 @@ NtOpenProcess(OUT PHANDLE ProcessHandle, /* Return status */ return Status; } + +#if DBG && defined(KDBG) +BOOLEAN +PspKdbgIrpFind( + ULONG Argc, + PCHAR Argv[]) +{ + PLIST_ENTRY PsEntry, TdEntry, IrpEntry; + PEPROCESS Process = NULL; + PETHREAD Thread = NULL; + PIRP Irp = NULL; + PIO_STACK_LOCATION IoStack = NULL; + PUNICODE_STRING DriverName; + ULONG_PTR SData = 0; + ULONG Criteria = 0; + + /* + * FIXME: To improve, badly + * This should just be a wrapper over !poolfind + * As a hack, here we just browse all the queued IRPs + * and return them + * If that's not *that* wrong, it makes sure that leaked + * IRPs are invisible! + * We also don't care about pool type, nor address start + */ + + /* Gets the criteria and its data */ + if (Argc > 2) + { + if (!KdbpGetHexNumber(Argv[2], &SData)) + { + SData = 0; + } + else + { + if (strcmp(Argv[1], "device") == 0) + { + Criteria = 0x1; + } + else if (strcmp(Argv[1], "fileobject") == 0) + { + Criteria = 0x2; + } + else if (strcmp(Argv[1], "mdlprocess") == 0) + { + Criteria = 0x4; + } + else if (strcmp(Argv[1], "thread") == 0) + { + Criteria = 0x8; + } + else if (strcmp(Argv[1], "userevent") == 0) + { + Criteria = 0x10; + } + else if (strcmp(Argv[1], "arg") == 0) + { + Criteria = 0x1f; + } + } + } + + PsEntry = PsActiveProcessHead.Flink; + /* Loop the process list */ + while (PsEntry != &PsActiveProcessHead) + { + /* Get the process */ + Process = CONTAINING_RECORD(PsEntry, EPROCESS, ActiveProcessLinks); + + /* Loop the thread list */ + TdEntry = Process->ThreadListHead.Flink; + while (TdEntry != &Process->ThreadListHead) + { + /* Get the thread */ + Thread = CONTAINING_RECORD(TdEntry, ETHREAD, ThreadListEntry); + + /* Loop the IRP list */ + IrpEntry = Thread->IrpList.Flink; + while (IrpEntry != &Thread->IrpList) + { + /* Get the IRP and its current stack */ + Irp = CONTAINING_RECORD(IrpEntry, IRP, ThreadListEntry); + IoStack = IoGetCurrentIrpStackLocation(Irp); + + /* Get associated driver */ + if (IoStack->DeviceObject && IoStack->DeviceObject->DriverObject) + DriverName = &IoStack->DeviceObject->DriverObject->DriverName; + else + DriverName = NULL; + + /* Display if: no data, no criteria or if criteria matches data */ + if (SData == 0 || Criteria == 0 || + (Criteria & 0x1 && SData == (ULONG_PTR)IoStack->DeviceObject) || + (Criteria & 0x2 && SData == (ULONG_PTR)Irp->Tail.Overlay.OriginalFileObject) || + (Criteria & 0x4 && Irp->MdlAddress && SData == (ULONG_PTR)Irp->MdlAddress->Process) || + (Criteria & 0x8 && SData == (ULONG_PTR)Irp->Tail.Overlay.Thread) || + (Criteria & 0x10 && SData == (ULONG_PTR)Irp->UserEvent)) + { + KdbpPrint("%p Thread %p current stack belongs to %wZ\n", Irp, Thread, DriverName); + } + + IrpEntry = IrpEntry->Flink; + } + + TdEntry = TdEntry->Flink; + } + + PsEntry = PsEntry->Flink; + } + + return TRUE; +} + +#endif // DBG && KDBG + /* EOF */
6 years
1
0
0
0
[reactos] 01/01: [TRANSLATION] Hindi translation of browseui, comctl32 and shell32 (#1209)
by Arnav Bhatt
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8ab3652c0112d152ba87e…
commit 8ab3652c0112d152ba87ea10db15a6837dc89e94 Author: Arnav Bhatt <arnavbhatt288(a)gmail.com> AuthorDate: Wed Jan 2 00:13:42 2019 +0530 Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org> CommitDate: Tue Jan 1 19:43:42 2019 +0100 [TRANSLATION] Hindi translation of browseui, comctl32 and shell32 (#1209) --- dll/win32/browseui/browseui.rc | 3 + dll/win32/browseui/lang/hi-IN.rc | 301 +++++++++++ dll/win32/comctl32/lang/comctl_Hi.rc | 100 ++++ dll/win32/comctl32/rsrc.rc | 3 + dll/win32/shell32/lang/hi-IN.rc | 970 +++++++++++++++++++++++++++++++++++ dll/win32/shell32/shell32.rc | 3 + 6 files changed, 1380 insertions(+) diff --git a/dll/win32/browseui/browseui.rc b/dll/win32/browseui/browseui.rc index 28899d1cea..6f307a46ca 100644 --- a/dll/win32/browseui/browseui.rc +++ b/dll/win32/browseui/browseui.rc @@ -80,6 +80,9 @@ IDR_TASKBARLIST REGISTRY "res/taskbarlist.rgs" #ifdef LANGUAGE_HE_IL #include "lang/he-IL.rc" #endif +#ifdef LANGUAGE_HI_IN + #include "lang/hi-IN.rc" +#endif #ifdef LANGUAGE_IT_IT #include "lang/it-IT.rc" #endif diff --git a/dll/win32/browseui/lang/hi-IN.rc b/dll/win32/browseui/lang/hi-IN.rc new file mode 100644 index 0000000000..1e6cd20f40 --- /dev/null +++ b/dll/win32/browseui/lang/hi-IN.rc @@ -0,0 +1,301 @@ +LANGUAGE LANG_HINDI, SUBLANG_HINDI_INDIA + +/* Menus */ + +IDM_CABINET_CONTEXTMENU MENUEX +BEGIN + POPUP "", 264,MFT_STRING,MFS_ENABLED + BEGIN + MENUITEM "&मानक बटन", IDM_TOOLBARS_STANDARDBUTTONS, MFT_STRING, MFS_ENABLED + MENUITEM "&एड्रेस बार", IDM_TOOLBARS_ADDRESSBAR, MFT_STRING, MFS_ENABLED + MENUITEM "&लिंक", IDM_TOOLBARS_LINKSBAR, MFT_STRING, MFS_ENABLED + MENUITEM "", -1, MFT_SEPARATOR + MENUITEM "&टूलबार लॉक करें", IDM_TOOLBARS_LOCKTOOLBARS, MFT_STRING, MFS_ENABLED + MENUITEM "&कस्टमाइज़...", IDM_TOOLBARS_CUSTOMIZE, MFT_STRING, MFS_ENABLED + MENUITEM "&टेक्स्ट लेबल", IDM_TOOLBARS_TEXTLABELS, MFT_STRING, MFS_ENABLED + MENUITEM "&गो बटन", IDM_TOOLBARS_GOBUTTON, MFT_STRING, MFS_ENABLED + END +END + +IDM_CABINET_MAINMENU MENUEX +BEGIN + POPUP "&फ़ाइल", FCIDM_MENU_FILE + BEGIN + MENUITEM "", -1, MFT_SEPARATOR + MENUITEM "&बंद करे", IDM_FILE_CLOSE + END + POPUP "&इडट", FCIDM_MENU_EDIT + BEGIN + MENUITEM "", -1, MFT_SEPARATOR + END + POPUP "&व्यू", FCIDM_MENU_VIEW + BEGIN + POPUP "&टूलबार", IDM_VIEW_TOOLBARS + BEGIN + MENUITEM "", -1, MFT_SEPARATOR + END + MENUITEM "स्टेटस &बार", IDM_VIEW_STATUSBAR + POPUP "&एक्सप्लोरर बार", IDM_VIEW_EXPLORERBAR + BEGIN + MENUITEM "&ढूंढे\tCtrl+E", IDM_EXPLORERBAR_SEARCH + MENUITEM "&पसंदीदा\tCtrl+I", IDM_EXPLORERBAR_FAVORITES + MENUITEM "&मीडिया", IDM_EXPLORERBAR_MEDIA + MENUITEM "&विवरण\tCtrl+H", IDM_EXPLORERBAR_HISTORY + MENUITEM "&फ़ोल्डर", IDM_EXPLORERBAR_FOLDERS + MENUITEM "", IDM_EXPLORERBAR_SEPARATOR + END + MENUITEM "", FCIDM_MENU_VIEW_SEP_OPTIONS, MFT_SEPARATOR + POPUP "के लिए &जाओ", FCIDM_MENU_EXPLORE + BEGIN + MENUITEM "&पीछे\tAlt+Left Arrow", IDM_GOTO_BACK + MENUITEM "&आगे\tAlt+Right Arrow", IDM_GOTO_FORWARD + MENUITEM "&एक लेवॅल ऊपर", IDM_GOTO_UPONELEVEL + MENUITEM "", -1, MFT_SEPARATOR + MENUITEM "&होम पेज\tAlt+Home", IDM_GOTO_HOMEPAGE + END + MENUITEM "&रिफ़्रिश", IDM_VIEW_REFRESH + END + POPUP "&पसंदीदा", FCIDM_MENU_FAVORITES + BEGIN + MENUITEM "&पसंदीदा में जोड़ें...", IDM_FAVORITES_ADDTOFAVORITES + MENUITEM "&पसंदीदा व्यवस्थित करें...", IDM_FAVORITES_ORGANIZEFAVORITES + MENUITEM "", -1, MFT_SEPARATOR + MENUITEM "(खाली)", IDM_FAVORITES_EMPTY + END + POPUP "&टूल्ज़", FCIDM_MENU_TOOLS + BEGIN + MENUITEM "&नेटवर्क ड्राइव मैप करें...", IDM_TOOLS_MAPNETWORKDRIVE + MENUITEM "&नेटवर्क ड्राइव डिस्कनेक्ट करें...", IDM_TOOLS_DISCONNECTNETWORKDRIVE + MENUITEM "&सिंक्रनाइज़...", IDM_TOOLS_SYNCHRONIZE + MENUITEM "", -1, MFT_SEPARATOR + MENUITEM "फ़ोल्डर &विकल्प...", IDM_TOOLS_FOLDEROPTIONS + END + POPUP "&मदद", FCIDM_MENU_HELP + BEGIN + MENUITEM "रिऐक्ट ओएस के &बारे में", IDM_HELP_ABOUT + END +END + +IDM_TASKBAR_TOOLBARS MENUEX +BEGIN + POPUP "&टूलबार", -1, MFT_STRING, MFS_ENABLED, 0 + BEGIN + MENUITEM "&डेस्कटॉप", IDM_TASKBAR_TOOLBARS_DESKTOP, MFT_STRING + MENUITEM "&शीघ्र प्रक्षेपण", IDM_TASKBAR_TOOLBARS_QUICKLAUNCH, MFT_STRING + MENUITEM "", -1, MFT_SEPARATOR, MFS_ENABLED + MENUITEM "&नया टूलबार...", IDM_TASKBAR_TOOLBARS_NEW, MFT_STRING + END +END + +IDM_BAND_MENU MENUEX +BEGIN + MENUITEM "टाइटल &दिखाओ", IDM_BAND_TITLE + MENUITEM "टूलबार &बंद करें", IDM_BAND_CLOSE +END + +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&व्यू", IDM_VIEW_MENU + BEGIN + MENUITEM "&बड़े आइकन", IDM_LARGE_ICONS + MENUITEM "&छोटा आइकन", IDM_SMALL_ICONS + END + MENUITEM "फोल्डर &खोलो", IDM_OPEN_FOLDER + MENUITEM "&टेक्स्ट दिखाओ", IDM_SHOW_TEXT + END +END + +/* Dialogs */ + +IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", IDC_ANIMATION, ANIMATE_CLASSA, 0, 12, 10, 236, 30 /* TODO: style */ + LTEXT "", IDC_TEXT_LINE, 7, 45, 250, 10, SS_LEFT|SS_NOPREFIX + LTEXT "", IDC_TEXT_LINE + 1, 7, 55, 250, 10, SS_LEFT|SS_NOPREFIX + LTEXT "", IDC_TEXT_LINE + 2, 7, 75, 190, 10, SS_LEFT|SS_NOPREFIX + CONTROL "", IDC_PROGRESS_BAR, PROGRESS_CLASSA, WS_BORDER, 7, 65, 190, 8 + PUSHBUTTON "रद्द करें", IDCANCEL, 205, 65, 50, 15, WS_GROUP | WS_TABSTOP | WS_VISIBLE +END + +IDD_CUSTOMIZETOOLBAREX DIALOGEX 0, 0, 357, 33 +STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CAPTION +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&टेक्स्ट विकल्प:", -1, 4, 2, 48, 15 + COMBOBOX IDC_TEXTOPTIONS, 52, 0, 123, 57, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "&आइकन विकल्प:", -1, 4, 20, 48, 15 + COMBOBOX IDC_ICONOPTIONS, 52, 18, 123, 57, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP +END + +/* Accelerators */ + +IDR_ACCELERATORS ACCELERATORS +BEGIN + VK_F5, IDM_VIEW_REFRESH, VIRTKEY, NOINVERT + VK_F5, IDM_VIEW_REFRESH, VIRTKEY, CONTROL, NOINVERT + "R", IDM_VIEW_REFRESH, VIRTKEY, CONTROL, NOINVERT + VK_HOME, IDM_GOTO_HOMEPAGE, VIRTKEY, ALT, NOINVERT + "D", IDM_FAVORITES_ADDTOFAVORITES, VIRTKEY, CONTROL, NOINVERT + "B", IDM_FAVORITES_ORGANIZEFAVORITES, VIRTKEY, CONTROL, NOINVERT + VK_LEFT, IDM_GOTO_BACK, VIRTKEY, ALT + VK_RIGHT, IDM_GOTO_FORWARD, VIRTKEY, ALT + VK_UP, IDM_GOTO_UPONELEVEL, VIRTKEY, ALT + VK_BACK, 41010, NOINVERT, VIRTKEY + "W", IDM_FILE_CLOSE, VIRTKEY, CONTROL, NOINVERT + "E", IDM_EXPLORERBAR_SEARCH, VIRTKEY, CONTROL, NOINVERT + "I", IDM_EXPLORERBAR_FAVORITES, VIRTKEY, CONTROL, NOINVERT + "H", IDM_EXPLORERBAR_HISTORY, VIRTKEY, CONTROL, NOINVERT +END + +/* Strings */ + +STRINGTABLE +BEGIN + IDS_CANCELLING "रद्द..." + IDS_REMAINING "शेष" +END + +STRINGTABLE +BEGIN + 800 "चयनित वस्तुओं में हेरफेर करने के लिए कमांड शामिल हैं।" +END + +STRINGTABLE +BEGIN + 864 "संपादन कमांड शामिल है।." +END + +STRINGTABLE +BEGIN + 928 "व्यू में हेरफेर करने के लिए कमांड शामिल हैं।" +END + +STRINGTABLE +BEGIN + 992 "टूल्ज़ कमांड शामिल है।" +END + +STRINGTABLE +BEGIN + 1056 "सहायता डिस्प्ले करने के लिए कमांड शामिल है।" +END + +STRINGTABLE +BEGIN + 9025 "विंडो बंद कर देता है।" + 9026 "एक लेवॅल ऊपर जाता है।" +END + +STRINGTABLE +BEGIN + 9121 "एक नेटवर्क ड्राइव से कनेक्ट होता है।" + 9122 "नेटवर्क ड्राइव से डिस्कनेक्ट हो जाता है।" +END + +STRINGTABLE +BEGIN + 9250 "प्रोग्राम जानकारी, संस्करण संख्या, और कॉपीराइट डिस्प्ले करता है।" + 9252 "डिबगिंग के लिए जानकारी डिस्प्ले करता है।" +END + +STRINGTABLE +BEGIN + 9281 "पिछले पेज पर जाता है।" + 9282 "अगले पेज पर जाता है।" + 9283 "सेटिंग्स बदलने के लिए आपको सक्षम बनाता है।" + 9285 "आपके होम पेज पर जाता है।" +END + +STRINGTABLE +BEGIN + 9362 "पसंदीदा फ़ोल्डर खोलता है।" + 9363 "वर्तमान पेज को आपकी पसंदीदा सूची में डालता है।" +END + +STRINGTABLE +BEGIN + 9505 "टूलबार दिखाता है या छुपाता है।" + 9506 "स्टेटस बार दिखाता है या छुपाता है।" + 9508 "यह मानक बटन टूलबार डिस्प्ले करता है।" + 9509 "एड्रेस बार डिस्प्ले करता है।" + 9510 "त्वरित लिंक बार डिस्प्ले करता है।" + 9516 "टूलबार के साइज़ और स्थिति को लॉक लगा देता है।" +END + +STRINGTABLE +BEGIN + 9533 "टूलबार को कस्टमाइज़ करता है।" +END + +STRINGTABLE +BEGIN + 9552 "एक्सप्लोरर बार दिखाता है या छुपाता है।" + 9553 "खोज बार दिखाता है।" + 9554 "पसंदीदा बार दिखाता है।" + 9555 "हिस्टरी बार दिखाता है।" + 9557 "फ़ोल्डर्स बार दिखाता है।" + 9559 "मीडिया बार दिखाता है।" +END + +STRINGTABLE +BEGIN + IDS_SMALLICONS "छोटा आइकन" + IDS_LARGEICONS "बड़ा आइकन" + IDS_SHOWTEXTLABELS "टेक्स्ट लेबल दिखाएं" +END + +STRINGTABLE +BEGIN + IDS_NOTEXTLABELS "कोई टेक्स्ट लेबल नहीं" + IDS_SELECTIVETEXTONRIGHT "दाईं ओर चुनिंदा टेक्स्ट।" +END + +STRINGTABLE +BEGIN + IDS_GOBUTTONLABEL "|जाओ||" + IDS_GOBUTTONTIPTEMPLATE """%s"" के लिए जाओ" +END + +STRINGTABLE +BEGIN + IDS_SEARCHLABEL "ढूंढे" + IDS_ADDRESSBANDLABEL "&एड्रेस" +END + +STRINGTABLE +BEGIN + IDS_FOLDERSLABEL "फ़ोल्डरों" +END + +STRINGTABLE +BEGIN + IDS_HISTORYTEXT "&हिस्टरी\tCtrl+H" +END + +STRINGTABLE +BEGIN + IDS_UP "ऊपर" +END + +STRINGTABLE +BEGIN + IDS_BACK "%s पर वापस" + IDS_FORWARD "%s के लिए आगे" +END + +STRINGTABLE +BEGIN + IDS_STANDARD_TOOLBAR, "|वापस|आगे|ऊपर|ढूंढे|फ़ोल्डरों|यहाँ ले जाएँ|को कॉपी|हटाएं|पूर्ववत|व्यू|रुकें|रिफ़ेश|होम|मैप ड्राइव|डिस्कनेक्ट|पसंदीदा|हिस्टरी|पूरा स्क्रीन|गुण|कट|कापी|पेस्ट|फ़ोल्डर विकल्प||" +END + +STRINGTABLE +BEGIN + IDS_BROWSEFORNEWTOOLAR "एक फ़ोल्डर का चयन करें" + IDS_TOOLBAR_ERR_TITLE "टूलबार" + IDS_TOOLBAR_ERR_TEXT "टूलबार नहीं बना सकता।" +END diff --git a/dll/win32/comctl32/lang/comctl_Hi.rc b/dll/win32/comctl32/lang/comctl_Hi.rc new file mode 100644 index 0000000000..010213fb38 --- /dev/null +++ b/dll/win32/comctl32/lang/comctl_Hi.rc @@ -0,0 +1,100 @@ +/* + * Top level resource file for Common Controls + * + * Copyright 1999 Bertho Stultiens + * Copyright 1999 Eric Kohl + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +LANGUAGE LANG_HINDI, SUBLANG_DEFAULT + +STRINGTABLE +{ + IDS_CLOSE "बंद करे" +} + +STRINGTABLE +{ + IDM_TODAY "आज:" + IDM_GOTODAY "आज तक जाओ" +} + +STRINGTABLE +{ + IDS_SEPARATOR "सेपरेटर" +} + +STRINGTABLE +{ + HKY_NONE "कोई नहीं" +} + +STRINGTABLE +{ + IDS_BUTTON_YES "&हाँ" + IDS_BUTTON_NO "&नहीं" + IDS_BUTTON_RETRY "&पुन: प्रयास करें" + IDS_BUTTON_OK "ओके" + IDS_BUTTON_CANCEL "रद्द करें" + IDS_BUTTON_CLOSE "&बंद करे" +} + +IDD_PROPSHEET DIALOGEX 0, 0, 220, 140 +STYLE DS_SHELLFONT | DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "%s के गुण" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "ओके", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP + PUSHBUTTON "रद्द करें", IDCANCEL,58,122,50,14 + PUSHBUTTON "&लागू करें", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED + PUSHBUTTON "सहायता", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP + CONTROL "", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114 +END + + +IDD_WIZARD DIALOGEX 0, 0, 290, 159 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "विज़ार्ड" +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "< &पीछे", IDC_BACK_BUTTON,56,138,55,14 + DEFPUSHBUTTON "&आगे >", IDC_NEXT_BUTTON,111,138,55,14 + DEFPUSHBUTTON "समाप्त", IDC_FINISH_BUTTON,111,138,55,14 + PUSHBUTTON "रद्द करें", IDCANCEL,173,138,55,14 + PUSHBUTTON "सहायता", IDHELP,235,138,55,14,WS_GROUP + LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN + CONTROL "", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5 + LTEXT "", IDC_SUNKEN_LINEHEADER,0,35,290,1,SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE +END + + +IDD_TBCUSTOMIZE DIALOGEX 10, 20, 395, 125 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "टूलबार कस्टमाइज़ करें" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&बंद करे", IDCANCEL,320,6,70,14 + PUSHBUTTON "&रीसेट", IDC_RESET_BTN,320,23,70,14 + PUSHBUTTON "&सहायता", IDC_HELP_BTN,320,40,70,14 + PUSHBUTTON "ऊपर की &ओर", IDC_MOVEUP_BTN,320,74,70,14 + PUSHBUTTON "नीचे की &ओर", IDC_MOVEDN_BTN,320,91,70,14 + LTEXT "&उपलब्ध बटन:", -1,4,5,120,10 + LISTBOX IDC_AVAILBTN_LBOX,5,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "&जोड़ो ->", IDOK, 132, 42, 55, 14 + PUSHBUTTON "<- &हटाओ", IDC_REMOVE_BTN,132,62,55,14 + LTEXT "&टूलबार बटन:", -1,194,5,120,10 + LISTBOX IDC_TOOLBARBTN_LBOX, 194,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP +END diff --git a/dll/win32/comctl32/rsrc.rc b/dll/win32/comctl32/rsrc.rc index 948c02ad46..5d62f5da6c 100644 --- a/dll/win32/comctl32/rsrc.rc +++ b/dll/win32/comctl32/rsrc.rc @@ -123,6 +123,9 @@ IDI_TT_ERROR_SM ICON idi_tt_error_sm.ico #ifdef LANGUAGE_HE_IL #include "lang/comctl_He.rc" #endif +#ifdef LANGUAGE_HI_IN + #include "lang/comctl_Hi.rc" +#endif #ifdef LANGUAGE_HU_HU #include "lang/comctl_Hu.rc" #endif diff --git a/dll/win32/shell32/lang/hi-IN.rc b/dll/win32/shell32/lang/hi-IN.rc new file mode 100644 index 0000000000..53462a60a0 --- /dev/null +++ b/dll/win32/shell32/lang/hi-IN.rc @@ -0,0 +1,970 @@ +LANGUAGE LANG_HINDI, SUBLANG_HINDI_INDIA + +MENU_001 MENUEX +BEGIN + MENUITEM "&बड़े आइकन", FCIDM_SHVIEW_BIGICON + MENUITEM "&छोटे आइकन", FCIDM_SHVIEW_SMALLICON + MENUITEM "&सूची", FCIDM_SHVIEW_LISTVIEW + MENUITEM "&विवरण", FCIDM_SHVIEW_REPORTVIEW + MENUITEM "", -1, MFT_SEPARATOR + POPUP "दद्वारा &आइकनों अरेंज", FCIDM_SHVIEW_ARRANGE + BEGIN + MENUITEM "", -1, MFT_SEPARATOR + MENUITEM "&ऑटो अरेंज", FCIDM_SHVIEW_AUTOARRANGE + END +END + +/* shellview background menu */ +MENU_002 MENUEX +BEGIN + POPUP "" + BEGIN + POPUP "&व्यू", FCIDM_SHVIEW_VIEW + BEGIN + MENUITEM "&बड़े आइकन", FCIDM_SHVIEW_BIGICON + MENUITEM "&छोटे आइकन", FCIDM_SHVIEW_SMALLICON + MENUITEM "&सूची", FCIDM_SHVIEW_LISTVIEW + MENUITEM "&विवरण", FCIDM_SHVIEW_REPORTVIEW + END + MENUITEM "", -1, MFT_SEPARATOR + POPUP "दद्वारा &आइकनों अरेंज", FCIDM_SHVIEW_ARRANGE + BEGIN + MENUITEM "", -1, MFT_SEPARATOR + MENUITEM "&ऑटो अरेंज", FCIDM_SHVIEW_AUTOARRANGE + END + MENUITEM "लाइन अप आइकन", FCIDM_SHVIEW_SNAPTOGRID + MENUITEM "", -1, MFT_SEPARATOR + MENUITEM "रिफ़्रिश", FCIDM_SHVIEW_REFRESH + MENUITEM "", -1, MFT_SEPARATOR + MENUITEM "पेस्ट", FCIDM_SHVIEW_INSERT + MENUITEM "लिंक के रूप में पेस्ट करें", FCIDM_SHVIEW_INSERTLINK + END +END + +/* menubar EDIT menu */ +MENU_003 MENU +BEGIN + MENUITEM "&पूर्ववत् करें\tCtrl+Z", FCIDM_SHVIEW_UNDO + MENUITEM SEPARATOR + MENUITEM "&कट\tCtrl+X", FCIDM_SHVIEW_CUT + MENUITEM "&कॉपी\tCtrl+C", FCIDM_SHVIEW_COPY + MENUITEM "&पेस्ट\tCtrl+V", FCIDM_SHVIEW_INSERT + MENUITEM "&शॉर्टकट पेस्ट करें", FCIDM_SHVIEW_INSERTLINK + MENUITEM SEPARATOR + MENUITEM "&फ़ोल्डर में कॉपी करें...", FCIDM_SHVIEW_COPYTO + MENUITEM "फोल्डर में &भेजें...", FCIDM_SHVIEW_MOVETO + MENUITEM SEPARATOR + MENUITEM "&सभी का चयन करे\tCtrl+A", FCIDM_SHVIEW_SELECTALL + MENUITEM "&चयन का उल्टा करें", FCIDM_SHVIEW_INVERTSELECTION +END + +/* shellview item menu */ +MENU_SHV_FILE MENU +BEGIN + POPUP "" + BEGIN + MENUITEM SEPARATOR + MENUITEM "&कट", IDM_CUT + MENUITEM "&कापी", IDM_COPY + MENUITEM "पेस्ट", IDM_INSERT + MENUITEM SEPARATOR + MENUITEM "&लिंक बनाएं", IDM_CREATELINK + MENUITEM "&हटाएं", IDM_DELETE + MENUITEM "&पुन:नामकरण", IDM_RENAME + MENUITEM SEPARATOR + MENUITEM "&गुण", IDM_PROPERTIES + END +END + +IDM_DRAGFILE MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&यहां कॉपी करें", IDM_COPYHERE + MENUITEM "यहां &स्थानांतरण करो", IDM_MOVEHERE + MENUITEM "यहां &शॉर्टकट बनाएं", IDM_LINKHERE + MENUITEM SEPARATOR + MENUITEM "रद्द करें", 0 + END +END + +IDD_BROWSE_FOR_FOLDER DIALOGEX 15, 40, 188, 192 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "फोल्डर खोंजे" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "ओके", 1, 60, 175, 60, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "रद्द करें", 2, 125, 175, 60, 15, WS_GROUP | WS_TABSTOP + LTEXT "", IDC_BROWSE_FOR_FOLDER_TITLE, 4, 4, 180, 12 + LTEXT "", IDC_BROWSE_FOR_FOLDER_STATUS, 4, 25, 180, 12 + CONTROL "", IDC_BROWSE_FOR_FOLDER_TREEVIEW, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | WS_BORDER | WS_TABSTOP, 4, 40, 180, 120 +END + +IDD_BROWSE_FOR_FOLDER_NEW DIALOGEX 15, 40, 218, 196 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "फोल्डर खोंजे" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "", IDC_BROWSE_FOR_FOLDER_TITLE, 10, 8, 198, 24 + LTEXT "", IDC_BROWSE_FOR_FOLDER_STATUS, 10, 25, 198, 12 + LTEXT "फ़ोल्डर:", IDC_BROWSE_FOR_FOLDER_FOLDER, 10, 152, 40, 12 + CONTROL "", IDC_BROWSE_FOR_FOLDER_TREEVIEW, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS | WS_BORDER | WS_TABSTOP, 12, 38, 194, 105 + EDITTEXT IDC_BROWSE_FOR_FOLDER_FOLDER_TEXT, 46, 150, 160, 14, WS_BORDER | WS_GROUP | WS_TABSTOP + PUSHBUTTON "नया फ़ोल्डर &बनाओ", IDC_BROWSE_FOR_FOLDER_NEW_FOLDER, 12, 174, 77, 14, WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "ओके", IDOK, 102, 174, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "रद्द करें", IDCANCEL, 156, 174, 50, 14, WS_GROUP | WS_TABSTOP +END + +IDD_YESTOALL_MSGBOX DIALOGEX 200, 100, 280, 90 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "संदेश" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&हाँ", IDYES, 34, 69, 53, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&सब को हां", IDC_YESTOALL, 92, 69, 65, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&नहीं", IDNO, 162, 69, 53, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&रद्द करें", IDCANCEL, 220, 69, 53, 14, WS_GROUP | WS_TABSTOP + ICON "", IDC_YESTOALL_ICON, 10, 10, 16, 16 + LTEXT "", IDC_YESTOALL_MESSAGE, 40, 10, 238, 52, 0 +END + +IDD_ABOUT DIALOGEX 0, 0, 275, 198 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "%s के बारे में" +FONT 8, "MS Shell Dlg" +BEGIN + ICON "", IDC_ABOUT_ICON, 7, 55, 21, 20 + LTEXT "", IDC_ABOUT_APPNAME, 35, 55, 200, 10 + LTEXT "वर्ज़न ", IDC_STATIC, 35, 65, 28, 10 + LTEXT KERNEL_VERSION_STR, IDC_STATIC, 63, 65, 27, 10 + LTEXT " (", IDC_STATIC, 90, 65, 5, 10 + LTEXT KERNEL_VERSION_BUILD_STR, IDC_STATIC, 95, 65, 58, 10 + LTEXT ")", IDC_STATIC, 153, 65, 5, 10 + LTEXT "कॉपीराइट 1998-", IDC_STATIC, 35, 75, 53, 10 + LTEXT COPYRIGHT_YEAR, IDC_STATIC, 88, 75, 17, 10 + LTEXT " रिऐक्ट ओएस टीम\0", IDC_STATIC, 105, 75, 53, 10 + LTEXT "", IDC_ABOUT_OTHERSTUFF, 35, 90, 180, 20 + LTEXT "यह रिऐक्ट ओएस वर्ज़न पंजीकृत है:", 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 + LTEXT "स्थापित भौतिक मेमोरी:", IDC_STATIC, 35, 152, 130, 10 + LTEXT "", IDC_ABOUT_PHYSMEM, 167, 152, 88, 10 + DEFPUSHBUTTON "ओके", IDOK, 220, 178, 50, 14 + PUSHBUTTON "", IDC_ABOUT_AUTHORS, 5, 178, 70, 14 +END + +IDD_ABOUT_AUTHORS DIALOGEX 35, 90, 235, 85 +STYLE DS_SHELLFONT | WS_CHILD +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "इन लोगों द्वारा रिऐक्ट ओएस बनाया गया था:", IDC_STATIC, 0, 0, 180, 10 + LISTBOX IDC_ABOUT_AUTHORS_LISTBOX, 0, 10, 165, 75 +END + +IDD_RUN DIALOGEX 0, 0, 227, 95 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "रन" +FONT 8, "MS Shell Dlg" +BEGIN + ICON "", IDC_RUNDLG_ICON, 7, 11, 18, 20, WS_VISIBLE + LTEXT "किसी भी प्रोग्राम, फ़ोल्डर, दस्तावेज़ या इंटरनेट संसाधन का नाम टाइप करें, और रिऐक्ट ओएस इसे आपके लिए खोल देगा।", 12289, 36, 11, 182, 18 + LTEXT "&खोलो:", 12305, 7, 39, 24, 10 + CONTROL "", IDC_RUNDLG_EDITPATH, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 184, 100 + DEFPUSHBUTTON "ओके", IDOK, 36, 70, 59, 14, WS_TABSTOP + PUSHBUTTON "रद्द करें", IDCANCEL, 98, 70, 59, 14, WS_TABSTOP + PUSHBUTTON "&ब्राउज़ करें...", 12288, 160, 70, 59, 14, WS_TABSTOP +END + +IDD_SHORTCUT_PROPERTIES DIALOGEX 0, 0, 235, 215 +STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION +CAPTION "शॉर्टकट" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON "", IDC_SHORTCUT_ICON, 8, 8, 21, 20, WS_VISIBLE + EDITTEXT IDC_SHORTCUT_TEXT, 49, 10, 180, 14, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "", -1, 8, 31, 223, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + LTEXT "टारगेट प्रकार:", IDC_SHORTCUT_TYPE, 8, 38, 68, 10 + EDITTEXT IDC_SHORTCUT_TYPE_EDIT, 79, 37, 150, 12, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "टारगेट स्थान:", IDC_SHORTCUT_LOCATION, 8, 55, 68, 10 + EDITTEXT IDC_SHORTCUT_LOCATION_EDIT, 79, 53, 150, 12, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "&टारगेट:", IDC_SHORTCUT_TARGET, 8, 71, 68, 10 + EDITTEXT IDC_SHORTCUT_TARGET_TEXT, 79, 69, 150, 14, ES_AUTOHSCROLL + LTEXT "", -1, 8, 88, 223, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + LTEXT "&करने लगना:", IDC_SHORTCUT_START_IN, 8, 98, 68, 10 + EDITTEXT IDC_SHORTCUT_START_IN_EDIT, 79, 96, 150, 14, ES_AUTOHSCROLL + LTEXT "शॉर्टकट &की:", IDC_SHORTCUT_KEY, 8, 117, 68, 10 + CONTROL "", IDC_SHORTCUT_KEY_HOTKEY, "msctls_hotkey32", WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP, 79, 115, 150, 14 + LTEXT "&रन:", IDC_SHORTCUT_RUN, 8, 136, 68, 10 + COMBOBOX IDC_SHORTCUT_RUN_COMBO, 79, 134, 150, 14, CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + LTEXT "&टिप्पणी:", IDC_SHORTCUT_COMMENT, 8, 154, 68, 10 + EDITTEXT IDC_SHORTCUT_COMMENT_EDIT, 79, 152, 150, 14, ES_AUTOHSCROLL + PUSHBUTTON "&टारगेट ढूंढें...", IDC_SHORTCUT_FIND, 9, 172, 70, 14, ES_LEFT + PUSHBUTTON "आइकॉन &बदलें...", IDC_SHORTCUT_CHANGE_ICON, 84, 172, 70, 14, ES_LEFT + PUSHBUTTON "&उन्नत...", IDC_SHORTCUT_ADVANCED, 159, 172, 70, 14, ES_LEFT +END + +IDD_SHORTCUT_EXTENDED_PROPERTIES DIALOGEX 0, 0, 230, 150 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION +CAPTION "विस्तारित गुण" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON IDI_SHELL_EXTENDED_PROPERTIES, IDI_SHELL_EXTENDED_PROPERTIES, 5, 5, 21, 20, SS_ICON + LTEXT "इस शॉर्टकट के लिए इच्छित उन्नत गुण चुनें।", -1, 5, 30, 210, 10 + CHECKBOX "विभिन्न क्रिडेन्शॅल के साथ रन करें", IDC_SHORTEX_RUN_DIFFERENT, 25, 50, 150, 10 + LTEXT "यह विकल्प आपको इस शॉर्टकट को किसी अन्य उपयोगकर्ता के रूप में चलाने की अनुमति दे सकता है, या अनधिकृत प्रोग्राम गतिविधि से आपके कंप्यूटर और डेटा की सुरक्षा करते समय स्वयं के रूप में जारी रख सकता है।", -1, 50, 60, 175, 40 + CHECKBOX "अलग मेमोरी स्पेस में चलाएं", IDC_SHORTEX_RUN_SEPARATE, 25, 100, 150, 10, WS_DISABLED + PUSHBUTTON "ओके", 1, 63, 124, 50, 15, WS_VISIBLE + PUSHBUTTON "रद्द करें", 2, 120, 124, 50, 15, WS_VISIBLE +END + +IDD_FOLDER_PROPERTIES DIALOGEX 0, 0, 240, 205 +STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION +CAPTION "सामान्य" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON "", 14000, 16, 7, 32, 32, WS_VISIBLE + EDITTEXT 14001, 58, 9, 170, 14, ES_LEFT + LTEXT "फ़ाइल का प्रकार:", 14004, 8, 40, 55, 10 + CONTROL "फ़ोल्डर", 14005, "edit", ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL, 58, 40, 170, 10 + LTEXT "", -1, 8, 31, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + EDITTEXT 14011, 58, 72, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "स्थान:", 14008, 8, 56, 55, 10 + EDITTEXT 14009, 58, 56, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | ES_AUTOHSCROLL | NOT WS_TABSTOP + LTEXT "साइज़:", 14010, 8, 72, 55, 10 + LTEXT "डिस्क का साइज़:", 140101, 8, 88, 55, 10 + EDITTEXT 14012, 58, 88, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "इसमें शामिल है:", 14026, 8, 104, 55, 10 + EDITTEXT 14027, 58, 104, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "", -1, 8, 120, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + LTEXT "बनाया था:", 14014, 8, 128, 55, 10 + EDITTEXT 14015, 58, 128, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "", -1, 8, 144, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + LTEXT "गुण:", 14020, 8, 152, 46, 10 + AUTOCHECKBOX "केवल &रीड", 14021, 58, 151, 70, 10 + AUTOCHECKBOX "&छुपा", 14022, 126, 151, 70, 10 + AUTOCHECKBOX "&पुरालेख", 14023, 181, 151, 70, 10 + PUSHBUTTON "&उन्नत...", 14028, 158, 150, 70, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP +END + +IDD_FILE_PROPERTIES DIALOGEX 0, 0, 240, 205 +STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION +CAPTION "सामान्य" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON "", 14000, 16, 7, 32, 32, WS_VISIBLE + EDITTEXT 14001, 58, 9, 170, 14, ES_LEFT | WS_TABSTOP + LTEXT "", -1, 8, 29, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + LTEXT "फ़ाइल का प्रकार:", 14004, 8, 35, 50, 10 + CONTROL "फ़ाइल", 14005, "edit", ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP, 58, 35, 170, 10 + LTEXT "इसके साथ खुलता है:", 14006, 8, 53, 50, 10 + ICON "", 14025, 58, 52, 11, 10, NOT WS_VISIBLE + PUSHBUTTON "&चेंज...", 14024, 168, 50, 60, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + EDITTEXT 14007, 58, 53, 100, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | ES_AUTOHSCROLL | NOT WS_TABSTOP + LTEXT "", -1, 8, 68, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + LTEXT "स्थान:", 14008, 8, 75, 45, 10 + EDITTEXT 14009, 58, 75, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | ES_AUTOHSCROLL | NOT WS_TABSTOP + LTEXT "साइज़:", 14010, 8, 91, 45, 10 + EDITTEXT 14011, 58, 91, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP + LTEXT "डिस्क का साइज़:", 140112, 8, 107, 55, 10 + EDITTEXT 14012, 58, 107, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP + LTEXT "", -1, 8, 123, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + LTEXT "बनाया था:", 14014, 8, 131, 45, 10 + EDITTEXT 14015, 58, 131, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP + LTEXT "संशोधित:", 14016, 8, 147, 45, 10 + EDITTEXT 14017, 58, 147, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP + LTEXT "ऐक्सेस:", 14018, 8, 163, 45, 10 + EDITTEXT 14019, 58, 163, 170, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP + LTEXT "", -1, 8, 179, 221, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + LTEXT "गुण:", 14020, 8, 189, 45, 10 + AUTOCHECKBOX "केवल &रीड", 14021, 58, 188, 67, 10 + AUTOCHECKBOX "&छुपा", 14022, 126, 188, 50, 10 + AUTOCHECKBOX "&पुरालेख", 14023, 181, 188, 49, 10 + PUSHBUTTON "&उन्नत...", 14028, 180, 185, 50, 15, WS_TABSTOP +END + +IDD_FILE_VERSION DIALOGEX 0, 0, 235, 215 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "वर्ज़न" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "फ़ाइल वर्ज़न: ", 14000, 10, 10, 55, 10 + EDITTEXT 14001, 77, 10, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + LTEXT "विवरण: ", 14002, 10, 27, 45, 10 + EDITTEXT 14003, 77, 27, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + LTEXT "कॉपीराइट: ", 14004, 10, 46, 66, 10 + EDITTEXT 14005, 77, 46, 152, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER + GROUPBOX "अन्य वर्ज़न की जानकारी: ", 14006, 6, 70, 222, 115 + LTEXT "वस्तु का नाम: ", 14007, 13, 82, 50, 10 + LTEXT "मूल्य: ", 14008, 112, 82, 45, 10 + LISTBOX 14009, 12, 94, 94, 83, LBS_STANDARD | WS_TABSTOP | LBS_NOTIFY + EDITTEXT 14010, 112, 93, 109, 83, ES_LEFT | WS_BORDER | WS_VSCROLL | WS_GROUP | ES_MULTILINE | ES_READONLY +END + +IDD_DRIVE_PROPERTIES DIALOGEX 0, 0, 240, 230 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "सामान्य" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON "", 14016, 10, 9, 32, 32, WS_VISIBLE + EDITTEXT 14000, 40, 11, 190, 14, ES_LEFT | WS_BORDER | WS_GROUP | ES_AUTOHSCROLL + LTEXT "", -1, 8, 32, 223, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + LTEXT "प्रकार:", -1, 8, 38, 95, 10 + EDITTEXT 14001, 110, 38, 120, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "फाइल सिस्टम:", -1, 8, 51, 95, 10 + EDITTEXT 14002, 110, 51, 120, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP + LTEXT "", -1, 8, 64, 223, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + CONTROL "", 14013, "Static", SS_SUNKEN | SS_OWNERDRAW, 8, 69, 10, 10 + LTEXT "उपयोग में लाया गया स्पेस :", -1, 25, 69, 80, 10 + EDITTEXT 14003, 110, 69, 86, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT 14004, 197, 69, 33, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + CONTROL "", 14014, "Static", SS_SUNKEN | SS_OWNERDRAW, 8, 82, 10, 10 + LTEXT "खाली स्पेस :", -1, 25, 82, 80, 10 + EDITTEXT 14005, 110, 82, 86, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT 14006, 197, 82, 33, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + LTEXT "", -1, 8, 97, 223, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + LTEXT "क्षमता:", -1, 25, 103, 80, 10 + EDITTEXT 14007, 110, 103, 86, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT 14008, 197, 103, 33, 10, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + CONTROL "", 14015, "Static", SS_OWNERDRAW, 70, 116, 100, 30 + LTEXT "ड्राइव %c", 14009, 100, 150, 70, 10 + PUSHBUTTON "&डिस्क की सफाई", 14010, 160, 154, 70, 15, WS_TABSTOP + LTEXT "", -1, 8, 171, 223, 1, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE + CHECKBOX "डिस्क के स्पेस को सहेजने के लिए ड्राइव को संक्षिप्त करें", 14011, 8, 191, 222, 10, WS_DISABLED + CHECKBOX "तेजी से फ़ाइल खोज के लिए इस डिस्क को इंडेक्स करने के लिए इंडेक्सिंग सर्विस को अनुमति दें", 14012, 8, 205, 222, 10, WS_DISABLED +END + +IDD_DRIVE_TOOLS DIALOGEX 0, 0, 240, 230 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "टूल्ज़" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + GROUPBOX "एरर जाँच ", -1, 5, 5, 230, 60 + ICON IDI_SHELL_TOOLS_CHKDSK, IDC_STATIC, 13, 25, 21, 20 + LTEXT "यह विकल्प\nएरर के लिए वॉल्यूम की जांच करेगा।", -1, 40, 25, 160, 20 + PUSHBUTTON "अब जांचें...", 14000, 130, 45, 90, 15, WS_TABSTOP + GROUPBOX "एकीकरण", -1, 5, 65, 230, 60 + ICON IDI_SHELL_TOOLS_DEFRAG, IDC_STATIC, 13, 85, 21, 20 + LTEXT "यह विकल्प वॉल्यूम पर फ़ाइलों को डीफ्रैगमेंट करेगा", -1, 40, 85, 160, 20 + PUSHBUTTON "डीफ्रैगमेंट अब करो...", 14001, 130, 105, 90, 15, WS_TABSTOP + GROUPBOX "बैकअप", -1, 5, 130, 230, 60 + ICON IDI_SHELL_TOOLS_BACKUP, IDC_STATIC, 13, 150, 21, 20 + LTEXT "यह विकल्प वॉल्यूम पर फ़ाइलों का बैकअप लेगा।", -1, 40, 150, 160, 20 + PUSHBUTTON "बैकअप अब करो...", 14002, 130, 170, 90, 15, WS_TABSTOP +END + +IDD_DRIVE_HARDWARE DIALOGEX 0, 0, 240, 230 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "हार्डवेयर" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN +END + +IDD_RUN_AS DIALOGEX 0, 0, 240, 190 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "रन ऐज़" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "इस प्रोग्राम को चलाने के लिए आप किस उपयोगकर्ता यूज़र का उपयोग करना चाहते हैं?", -1, 10, 20, 220, 20 + CHECKBOX "मौजूदा यूज़र %s", 14000, 10, 45, 150, 10 + LTEXT "अनधिकृत प्रोग्राम गतिविधि से अपने कंप्यूटर और डेटा को सुरक्षित रखें", -1, 25, 57, 200, 10, WS_DISABLED + CHECKBOX "यह विकल्प कंप्यूटर वायरस को आपके कंप्यूटर या व्यक्तिगत डेटा को नुकसान पहुंचाने से रोक सकता है, लेकिन इसे चुनने से प्रोग्राम अनुचित तरीके से कार्य कर सकता है।", 14001, 25, 68, 200, 30, WS_DISABLED | BS_MULTILINE + CHECKBOX "निम्नलिखित यूज़र :", 14002, 10, 100, 90, 10 + LTEXT "यूज़र नेम:", -1, 20, 118, 54, 10 + COMBOBOX 14003, 75, 115, 100, 15, CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "...", 14004, 180, 115, 30, 14, WS_TABSTOP + LTEXT "पासवर्ड:", -1, 20, 143, 53, 10 + EDITTEXT 14005, 74, 140, 100, 14, ES_LEFT | WS_BORDER | WS_GROUP + PUSHBUTTON "...", 14006, 180, 140, 30, 14, WS_TABSTOP + PUSHBUTTON "ओके", 14007, 57, 170, 60, 14, WS_TABSTOP + PUSHBUTTON "रद्द करें", 14008, 122, 170, 60, 14, WS_TABSTOP +END + +IDD_RECYCLE_BIN_PROPERTIES DIALOGEX 0, 0, 240, 190 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "रीसायकल बिन का गुण" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + CONTROL "", 14000, "SysListView32", LVS_REPORT | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 10, 10, 220, 50 + GROUPBOX "चयनित स्थान के लिए सेटिंग्स", -1, 10, 72, 220, 70 + RADIOBUTTON "&कस्टम साइज:", 14001, 20, 90, 80, 10, WS_TABSTOP + EDITTEXT 14002, 106, 87, 50, 14, WS_TABSTOP | ES_NUMBER + LTEXT "&अधिकतम साइज (एमबी):", -1, 20, 105, 70, 10 + RADIOBUTTON "&रीसायकल बिन में फ़ाइलों को मूव न करें। हटाए जाने पर तुरंत फ़ाइलों को हटा दें।", 14003, 20, 117, 170, 20, BS_MULTILINE | WS_TABSTOP + AUTOCHECKBOX "&हटाने का पुष्टीकरण डाइअलॉग देखाए", 14004, 20, 155, 140, 10, WS_TABSTOP +END + +IDD_OPEN_WITH DIALOGEX 0, 0, 264, 256 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "के साथ खोलें" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON IDI_SHELL_OPEN_WITH, -1, 8, 12, 21, 20 + LTEXT "इस फ़ाइल को खोलने के लिए आप जिस प्रोग्राम का उपयोग करना चाहते हैं उसे चुनें:", -1, 44, 12, 211, 10 + LTEXT "फ़ाइल: ", 14001, 44, 25, 188, 20 + GROUPBOX "&प्रोग्राम", -1, 7, 42, 249, 187 + CONTROL "प्रोग्राम", 14002, WC_TREEVIEW, WS_BORDER | WS_TABSTOP | TVS_SHOWSELALWAYS, 16 ,57, 230, 130 + AUTOCHECKBOX "&इस तरह की फाइल खोलने के लिए हमेशा चयनित प्रोग्राम का उपयोग करें", 14003, 20, 193, 225, 10 + PUSHBUTTON "&ब्राउज...", 14004, 198, 207, 50, 14 + DEFPUSHBUTTON "ठीक", IDOK, 150, 236, 50, 14 + PUSHBUTTON "रद्द करें", IDCANCEL, 206, 236, 50, 14 +END + +IDD_FOLDER_OPTIONS_GENERAL DIALOGEX 0, 0, 264, 256 +STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION +CAPTION "सामान्य" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + GROUPBOX "कार्य", -1, 7, 10, 249, 45 + CONTROL "", IDC_FOLDER_OPTIONS_TASKICON, "Static", SS_ICON | WS_CHILD | WS_VISIBLE, 14, 25, 21, 20 + AUTORADIOBUTTON "&फ़ोल्डर में सामान्य कार्यों को दिखाएं", IDC_FOLDER_OPTIONS_COMMONTASKS, 40, 25, 120, 10, WS_TABSTOP | WS_GROUP + AUTORADIOBUTTON "रिऐक्ट ओएस &क्लासिक फ़ोल्डरों का उपयोग करें", 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 "&एक ही विंडो में प्रत्येक फ़ोल्डर खोलें", IDC_FOLDER_OPTIONS_SAMEWINDOW, 40, 70, 140, 10, WS_TABSTOP | WS_GROUP + AUTORADIOBUTTON "प्रत्येक फ़ोल्डर को अपनी &विंडो में खोलें", IDC_FOLDER_OPTIONS_OWNWINDOW, 40, 82, 140, 10 + GROUPBOX "निम्नलिखित में आइटम क्लिक करें", -1, 7, 110, 249, 60 + CONTROL "", IDC_FOLDER_OPTIONS_CLICKICON, "Static", SS_ICON | WS_CHILD | WS_VISIBLE, 14, 120, 21, 20 + AUTORADIOBUTTON "एक आइटम खोलने के लिए &सिंगल-क्लिक करें (चयन करने के लिए बिंदु)", IDC_FOLDER_OPTIONS_SINGLECLICK, 40, 120, 170, 10, WS_TABSTOP | WS_GROUP + AUTORADIOBUTTON "&किसी आइटम को खोलने के लिए डबल-क्लिक करें (चयन करने के लिए सिंगल-क्लिक करें)", IDC_FOLDER_OPTIONS_DOUBLECLICK, 40, 156, 170, 10 + AUTORADIOBUTTON "मेरे &ब्राउज़र के साथ सुसंगत आइकन टाइटल खांकित करें", IDC_FOLDER_OPTIONS_ULBROWSER, 50, 132, 170, 10, WS_TABSTOP | WS_GROUP + AUTORADIOBUTTON "अंडरलाइन आइकन टाइटल केवल तभी जब मैं उन पर &इंगित करता हूं", IDC_FOLDER_OPTIONS_ULPOINT, 50, 144, 170, 10 + PUSHBUTTON "&डिफॉल्ट्स का पुनःस्थापन", IDC_FOLDER_OPTIONS_RESTORE, 167, 175, 90, 14, WS_TABSTOP +END + +IDD_FOLDER_OPTIONS_VIEW DIALOGEX 0, 0, 264, 256 +STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION +CAPTION "व्यू" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + GROUPBOX "फोल्डर व्यू", -1, 7, 10, 249, 60 + ICON IDI_SHELL_PROGRAMS_FOLDER2, IDC_STATIC, 20, 20, 21, 20 + LTEXT "आप व्यू (जैसे विवरण या टाइल्स) को लागू कर सकते हैं जिसका उपयोग\nआप इस फ़ोल्डर के लिए सभी फ़ोल्डर्स में कर रहे हैं।", -1, 60, 20, 180, 20 + PUSHBUTTON "&सभी फ़ोल्डरों पर लागू करें", IDC_VIEW_APPLY_TO_ALL, 60, 50, 80, 14, WS_TABSTOP + PUSHBUTTON "सभी फ़ोल्डरों को &रीसेट करें", IDC_VIEW_RESET_ALL, 150, 50, 80, 14, WS_TABSTOP + LTEXT "एडवांस सेटिंग:", -1, 7, 80, 100, 10 + CONTROL "", IDC_VIEW_TREEVIEW, "SysTreeView32", WS_BORDER | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | TVS_DISABLEDRAGDROP | TVS_LINESATROOT, 7, 90, 249, 120 + PUSHBUTTON "डिफॉल्ट्स का पुनःस्थापन", IDC_VIEW_RESTORE_DEFAULTS, 177, 215, 80, 14, WS_TABSTOP +END + +IDD_FOLDER_OPTIONS_FILETYPES DIALOGEX 0, 0, 264, 256 +STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION +CAPTION "फ़ाइल प्रकारों" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "रजिस्टर्ड फ़ाइल &प्रकार:", -1, 7, 10, 70, 10 + CONTROL "", IDC_FILETYPES_LISTVIEW, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHAREIMAGELISTS | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 20, 249, 80 + PUSHBUTTON "&नया", IDC_FILETYPES_NEW, 120, 110, 50, 14, WS_TABSTOP + PUSHBUTTON "&हटाएं", IDC_FILETYPES_DELETE, 180, 110, 50, 14, WS_TABSTOP + 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 + PUSHBUTTON "&चेंज...", IDC_FILETYPES_CHANGE, 180, 140, 50, 14, WS_TABSTOP + LTEXT "", IDC_FILETYPES_DESCRIPTION, 12, 155, 160, 30 + PUSHBUTTON "&उन्नत", IDC_FILETYPES_ADVANCED, 180, 175, 50, 14, WS_TABSTOP +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 "फ़ाइल रिप्लेस की पुष्टि करें" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&हाँ", IDYES, 20, 122, 60, 14 + PUSHBUTTON "हाँ to &All", 12807, 85, 122, 60, 14 + PUSHBUTTON "&नहीं", IDNO, 150, 122, 60, 14 + PUSHBUTTON "रद्द करें", IDCANCEL, 215, 122, 60, 14 + ICON 146, -1, 11, 10, 21, 20, SS_REALSIZECONTROL + LTEXT "इस फ़ोल्डर में पहले से ही '%2' नाम वाली एक फ़ाइल है।", 12291, 44, 10, 231, 22, SS_NOPREFIX + LTEXT "इस फ़ोल्डर में पहले से ही केवल पढ़ने-योग्य फ़ाइल है जिसे '%2' नाम दिया गया है।.", 12292, 41, 10, 222, 22, SS_NOPREFIX + LTEXT "इस फ़ोल्डर में पहले से ही '%2' नामक एक सिस्टम फ़ाइल है।", 12293, 41, 10, 222, 22, SS_NOPREFIX + LTEXT "क्या आप मौजूदा फाइल को बदलना चाहते हैं", -1, 44, 35, 228, 10, SS_NOPREFIX + LTEXT "(अज्ञात तिथि और साइज़)", 12302, 79, 51, 198, 20, SS_NOPREFIX + ICON "", 12300, 50, 49, 21, 20, SS_REALSIZECONTROL + LTEXT "इसके साथ?", -1, 44, 75, 228, 10, SS_NOPREFIX + LTEXT "(अज्ञात तिथि और साइज़)", 12303, 79, 91, 198, 20, SS_NOPREFIX + ICON "", 12301, 50, 89, 21, 20, SS_REALSIZECONTROL +END + +IDD_LOG_OFF DIALOGEX 0, 0, 188, 60 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "लॉग ऑफ़ रिऐक्ट ओएस" +FONT 8, "MS Shell Dlg" +BEGIN + ICON IDI_SHELL_LOGOFF, IDC_STATIC, 8, 6, 21, 20 + LTEXT "क्या आप वाकई लॉग आफ़ करना चाहते हैं?", -1, 49, 15, 131, 8 + DEFPUSHBUTTON "&लॉग आफ़", IDOK, 49, 38, 43, 14 + PUSHBUTTON "रद्द करें", IDCANCEL, 99, 38, 43, 14 +END + +IDD_DISCONNECT DIALOGEX 0, 0, 188, 60 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "डिस्कनेक्ट रिऐक्ट ओएस" +FONT 8, "MS Shell Dlg" +BEGIN + ICON IDI_SHELL_DISCONN, IDC_STATIC, 8, 6, 21, 20 + LTEXT "क्या आप वाकई डिस्कनेक्ट करना चाहते हैं?", -1, 49, 15, 131, 8 + DEFPUSHBUTTON "&डिस्कनेक्ट", IDOK, 47, 38, 47, 14 + PUSHBUTTON "रद्द करें", IDCANCEL, 99, 38, 47, 14 +END + +IDD_AUTOPLAY1 DIALOGEX 0, 0, 227, 218 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CAPTION +CAPTION "ऑटो प्ले" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "एक सामग्री प्रकार का &चयन करें, फिर उस डिवाइस में इस प्रकार का उपयोग करने पर रिऐक्ट ओएस के लिए स्वचालित रूप से कार्य करने के लिए एक क्रिया चुनें:", 1000, 7, 7, 215, 20 + CONTROL "", 1001, "COMBOBOXEX32", WS_TABSTOP | 0x00000043, 7, 27, 212, 200 + GROUPBOX "कार्य", -1, 7, 45, 212, 146 + AUTORADIOBUTTON "&निष्पादन करने के लिए एक कार्य चुनें:", 1005, 14, 54, 202, 10, WS_GROUP + CONTROL "LIST2", 1002, "SYSLISTVIEW32", WS_BORDER | WS_TABSTOP | 0x0000C04D, 22, 66, 192, 107 + AUTORADIOBUTTON "कार्रवाई &चुनने के लिए मुझे हर बार संकेत दें", 1006, 14, 177, 202, 10 + PUSHBUTTON "डिफॉल्ट्स का &पुनःस्थापन", 1008, 108, 197, 110, 14, WS_DISABLED +END + +IDD_MIXED_CONTENT1 DIALOGEX 0, 0, 227, 207 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CAPTION +CAPTION "मिश्रित सामग्री" +FONT 8, "MS Shell Dlg" +BEGIN + ICON "", 1000, 5, 7, 21, 20 + LTEXT "इस डिस्क या डिवाइस में एक से अधिक प्रकार की सामग्री है।", 1001, 32, 7, 191, 20 + LTEXT "आप रिऐक्ट ओएस से क्या करवाना चाहते हैं?", 1002, 32, 31, 188, 8 + CONTROL "", 1003, "SYSLISTVIEW32", WS_BORDER | WS_TABSTOP | 0x0000C04D, 32, 43, 188, 139 + DEFPUSHBUTTON "ठीक", IDOK, 96, 186, 60, 14 + PUSHBUTTON "रद्द करें", IDCANCEL, 160, 186, 60, 14 +END + +IDD_MIXED_CONTENT2 DIALOGEX 0, 0, 227, 206 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CAPTION +CAPTION "मिश्रित सामग्री" +FONT 8, "MS Shell Dlg" +BEGIN + ICON "", 1000, 5, 7, 21, 20 + LTEXT "जब आप डिस्क डालते हैं या डिवाइस को इस तरह की फ़ाइल से कनेक्ट करते हैं तो रिऐक्ट ओएस एक ही क्रिया कर सकता है:", 1001, 30, 7, 193, 20 + ICON "", 1005, 32, 27, 11, 10, SS_REALSIZECONTROL + EDITTEXT 1006, 49, 28, 177, 14, ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP + LTEXT "आप रिऐक्ट ओएस से क्या करवाना चाहते हैं?", 1002, 32, 41, 190, 8 + CONTROL "", 1003, "SYSLISTVIEW32", WS_BORDER | WS_TABSTOP | 0x0000C04D, 32, 55, 188, 112 + AUTOCHECKBOX "हमेशा चयनित कार्रवाई करें।", 1004, 32, 171, 190, 10 + DEFPUSHBUTTON "ठीक", IDOK, 96, 185, 60, 14 + PUSHBUTTON "रद्द करें", IDCANCEL, 160, 185, 60, 14 +END + +IDD_AUTOPLAY2 DIALOGEX 0, 0, 227, 181 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CAPTION +CAPTION "ऑटो प्ले" +FONT 8, "MS Shell Dlg" +BEGIN + ICON "", 1000, 5, 7, 21, 20 + LTEXT "हर बार जब आप इस डिवाइस को कनेक्ट करते हैं तो रिऐक्ट ओएस एक ही क्रिया कर सकता है।", 1001, 32, 7, 190, 22 + LTEXT "आप रिऐक्ट ओएस से &क्या करवाना चाहते हैं?", 1002, 32, 31, 190, 8 + CONTROL "", 1003, "SYSLISTVIEW32", WS_BORDER | WS_TABSTOP | 0x0000C04D, 32, 43, 187, 96 + AUTOCHECKBOX "&हमेशा चयनित कार्रवाई करें", 1004, 32, 143, 190, 8 + DEFPUSHBUTTON "ठीक", IDOK, 94, 160, 60, 14 + PUSHBUTTON "रद्द करें", IDCANCEL, 159, 160, 60, 14 +END + +IDD_SHUTDOWN DIALOGEX 0, 0, 211, 103 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION +CAPTION "शट डाउन रिऐक्ट ओएस" +FONT 8, "MS Shell Dlg" +BEGIN + ICON 8240, -1, 6, 6, 21, 20, SS_REALSIZECONTROL | WS_GROUP + LTEXT "आप कंप्यूटर को क्या करना चाहते हैं?", -1, 39, 7, 167, 10 + COMBOBOX 8224, 39, 20, 165, 200, CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "आपके सत्र को बनाए रखता है, कंप्यूटर को स्मृति में डेटा के साथ कम शक्ति पर चालू रखता है। जब आप कुंजी दबाते हैं या माउस को हिलाते हैं तो कंप्यूटर जाग जाता है।", 8225, 39, 40, 167, 37 + DEFPUSHBUTTON "ठीक", 1, 7, 82, 60, 14, WS_GROUP + PUSHBUTTON "रद्द करें", IDCANCEL, 75, 82, 60, 14 + PUSHBUTTON "&मदद", IDHELP, 144, 82, 60, 14 +END + +IDD_FORMAT_DRIVE DIALOGEX 50, 50, 184, 218 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION +CAPTION "फार्मेट" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "&शुरु करें", IDOK, 53, 198, 60, 14 + PUSHBUTTON "&बंद करे", IDCANCEL, 118, 198, 60, 14 + LTEXT "&कपेसिटी:", -1, 7, 6, 169, 9 + COMBOBOX 28673, 7, 17, 170, 200, CBS_DROPDOWNLIST | WS_VSCROLL | NOT WS_TABSTOP + LTEXT "&फाइल सिस्टम", -1, 7, 35, 170, 9 + COMBOBOX 28677, 7, 46, 170, 200, CBS_DROPDOWNLIST | WS_VSCROLL | NOT WS_TABSTOP + CONTROL "", 28678, "MSCTLS_PROGRESS32", 0, 7, 181, 170, 8 + LTEXT "&आवंटन यूनिट साइज़", -1, 7, 64, 170, 9 + COMBOBOX 28680, 7, 75, 170, 200, CBS_DROPDOWNLIST | WS_VSCROLL | NOT WS_TABSTOP + LTEXT "वोल्यूम &लेबल", -1, 7, 93, 170, 9 + EDITTEXT 28679, 7, 103, 170, 13, ES_AUTOHSCROLL + GROUPBOX "फार्मेट &विकल्प", 4610, 7, 121, 170, 49 + AUTOCHECKBOX "&त्वरित फार्मेट", 28674, 16, 135, 155, 10 + AUTOCHECKBOX "कम्प्रेशन &सक्षम करें", 28675, 16, 152, 155, 10 +END + +IDD_CHECK_DISK DIALOGEX 50, 50, 194, 115 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION +CAPTION "डिस्क चेक करें" +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "शुरु करें", IDOK, 63, 95, 60, 14 + GROUPBOX "डिस्क चेक का विकल्प", -1, 7, 6, 179, 40 + PUSHBUTTON "रद्द करें", IDCANCEL, 128, 95, 60, 14 + AUTOCHECKBOX "अपने आप फ़ाइल सिस्टम त्रुटियाँ ठीक करे", 14000, 12, 15, 155, 10 + AUTOCHECKBOX "बुरे सेक्टरों की रिकवरी का प्रयास के लिए &स्कैन करें", 14001, 12, 30, 165, 10 + CONTROL "", 14002, "MSCTLS_PROGRESS32", 16, 7, 50, 179, 8 + LTEXT "", 14003, 60, 80, 170, 10 +END + +IDD_PICK_ICON DIALOGEX 0, 0, 193, 200 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION +CAPTION "आइकॉन बदलें" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + LTEXT "इस फ़ाइल में आइकन देखें:", -1, 7, 7, 179, 10 + PUSHBUTTON "ब्राउज...", IDC_BUTTON_PATH, 135, 17, 50, 14 + EDITTEXT IDC_EDIT_PATH, 7, 17, 123, 14, ES_AUTOHSCROLL + LTEXT "नीचे दी गई सूची में से एक आइकन चुनें:", -1, 7, 36, 179, 10 + LISTBOX IDC_PICKICON_LIST, 7, 47, 181, 122, LBS_OWNERDRAWFIXED | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | LBS_DISABLENOSCROLL | WS_HSCROLL | WS_TABSTOP + DEFPUSHBUTTON "ठीक", IDOK, 81, 179, 50, 14 + PUSHBUTTON "रद्द करें", IDCANCEL, 135, 179, 50, 14 +END + +IDD_NOOPEN DIALOGEX 0, 0, 240, 75 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "सावधान" +FONT 8, "MS Shell Dlg" +BEGIN + ICON IDI_SHELL_SYSTEM_FILE, IDI_SHELL_SYSTEM_FILE, 5, 5, 21, 20 + LTEXT "यह फ़ाइल या तो ऑपरेटिंग सिस्टम या किसी\n\ +एप्लिकेशन द्वारा उपयोग की जा सकती है। इस फ़ाइल को संशोधित करना आपके सिस्टम को नुकसान\n\ +पहुंचा सकता है या इसे कम कार्यात्मक बना सकता है।\n\n\ +क्या आप वाकई इस फ़ाइल को खोलना चाहते हैं?", IDC_STATIC, 35, 5, 230, 60 + DEFPUSHBUTTON "हाँ", IDYES, 125, 55, 50, 14 + PUSHBUTTON "नहीं", IDNO, 180, 55, 50, 14 +END + +IDD_NEWEXTENSION DIALOGEX 0, 0, 260, 75 +CAPTION "नया एक्सटेंशन बनाएं" +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "&फ़ाइल एक्सटेंशन:", -1, 10, 10, 85, 14 + EDITTEXT IDC_NEWEXT_EDIT, 105, 8, 60, 14 + PUSHBUTTON "<< &उन्नत", IDC_NEWEXT_ADVANCED, 185, 8, 65, 15 + LTEXT "&एसोसिएटेड फ़ाइल प्रकार:", IDC_NEWEXT_ASSOC, 10, 34, 85, 14 + COMBOBOX IDC_NEWEXT_COMBOBOX, 105, 32, 145, 120, CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP + DEFPUSHBUTTON "ठीक", IDOK, 125, 55, 60, 14 + PUSHBUTTON "रद्द करें", IDCANCEL, 190, 55, 60, 14 +END + +IDD_EDITTYPE DIALOG 0, 0, 225, 190 +CAPTION "फ़ाइल प्रकार संपादित करें" +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +BEGIN + ICON "", IDC_EDITTYPE_ICON, 5, 8, 20, 20 + EDITTEXT IDC_EDITTYPE_TEXT, 30, 10, 115, 14, ES_AUTOHSCROLL + PUSHBUTTON "&आइकॉन बदलें...", IDC_EDITTYPE_CHANGE_ICON, 150, 10, 70, 14 + LTEXT "&कार्य:", -1, 5, 37, 70, 10 + LISTBOX IDC_EDITTYPE_LISTBOX, 5, 50, 140, 60, LBS_NOINTEGRALHEIGHT | LBS_HASSTRINGS | LBS_OWNERDRAWFIXED | LBS_NOTIFY | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "&नया...", IDC_EDITTYPE_NEW, 150, 50, 70, 14 + PUSHBUTTON "&संपादित करें...", IDC_EDITTYPE_EDIT_BUTTON, 150, 65, 70, 14 + PUSHBUTTON "&हटाएं", IDC_EDITTYPE_REMOVE, 150, 80, 70, 14 + PUSHBUTTON "&डिफॉल्ट सेट करें", IDC_EDITTYPE_SET_DEFAULT, 150, 95, 70, 14 + AUTOCHECKBOX "डाउनलोड करने के बाद &ओपन कन्फर्म करें", IDC_EDITTYPE_CONFIRM_OPEN, 5, 115, 150, 14 + AUTOCHECKBOX "&हमेशा एक्सटेंशन दिखाएं", IDC_EDITTYPE_SHOW_EXT, 5, 130, 150, 14 + AUTOCHECKBOX "उसी विंडो में &ब्राउज़ करें", IDC_EDITTYPE_SAME_WINDOW, 5, 145, 150, 14 + DEFPUSHBUTTON "ठीक", IDOK, 95, 170, 60, 14 + PUSHBUTTON "रद्द करें", IDCANCEL, 160, 170, 60, 14 +END + +IDD_ACTION DIALOG 0, 0, 225, 95 +CAPTION "नया कार्य" +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "&कार्य:", -1, 5, 7, 150, 10 + EDITTEXT IDC_ACTION_ACTION, 5, 20, 150, 14, ES_AUTOHSCROLL + LTEXT "&ऐप्लिकेशॅन कार्रवाई करने के लिए इस्तेमाल किया:", -1, 5, 42, 150, 10 + EDITTEXT IDC_ACTION_APP, 5, 55, 150, 14, ES_AUTOHSCROLL + PUSHBUTTON "&ब्राउज...", IDC_ACTION_BROWSE, 160, 60, 60, 14 + AUTOCHECKBOX "&Use DDE", IDC_ACTION_USE_DDE, 10, 75, 103, 14 + DEFPUSHBUTTON "ठीक", IDOK, 160, 20, 60, 14 + PUSHBUTTON "रद्द करें", IDCANCEL, 160, 40, 60, 14 +END + +IDD_FOLDER_CUSTOMIZE DIALOGEX 0, 0, 240, 250 +CAPTION "अनुकूलित करें" +STYLE DS_SHELLFONT | WS_CHILD | WS_CAPTION +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "आपको किस तरह का फोल्डर चाहिए?", IDC_STATIC, 5, 5, 230, 65, WS_TABSTOP + LTEXT "टेम्पलेट के रूप में इस &फ़ोल्डर प्रकार का उपयोग करें:", IDC_STATIC, 15, 20, 210, 12 + COMBOBOX IDC_FOLDERCUST_COMBOBOX, 15, 35, 210, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + AUTOCHECKBOX "इस टेम्पलेट को सभी &सबफ़ोल्डर्स पर भी लागू करें", IDC_FOLDERCUST_CHECKBOX, 15, 50, 210, 15 + GROUPBOX "फ़ोल्डर तस्वीरें", IDC_STATIC, 5, 75, 230, 90, WS_TABSTOP + LTEXT "थंबनेल दृश्य के लिए, आप सामग्री की याद दिलाने के लिए इस फ़ोल्डर में एक तस्वीर डाल सकते हैं।", IDC_STATIC, 15, 87, 115, 33 + PUSHBUTTON "&चित्र चुनें...", IDC_FOLDERCUST_CHOOSE_PIC, 15, 125, 115, 15 + PUSHBUTTON "&पहले जैसा कर दो", IDC_FOLDERCUST_RESTORE_DEFAULTS, 15, 144, 115, 15 + LTEXT "प्रीव्यू:", IDC_STATIC, 139, 85, 81, 11 + CONTROL "", IDC_FOLDERCUST_PREVIEW_BITMAP, "STATIC", SS_BITMAP | WS_GROUP, 150, 100, 60, 60 + GROUPBOX "फ़ोल्डर आइकन", IDC_STATIC, 5, 170, 230, 65, WS_TABSTOP + LTEXT "थंबनेल को छोड़कर सभी व्यूज़ के लिए, आप मानक "" फ़ोल्डर "" आइकन को दूसरे आइकन में बदल सकते हैं।", IDC_STATIC, 15, 180, 210, 25 + ICON 0, IDC_FOLDERCUST_ICON, 175, 209, 32, 30 + PUSHBUTTON "&आइकॉन बदलें...", IDC_FOLDERCUST_CHANGE_ICON, 15, 210, 75, 15 +END + +STRINGTABLE +BEGIN + /* columns in the shellview */ + IDS_SHV_COLUMN_NAME "नाम" + IDS_SHV_COLUMN_SIZE "साइज़" + IDS_SHV_COLUMN_TYPE "प्रकार" + IDS_SHV_COLUMN_MODIFIED "संशोधित" + IDS_SHV_COLUMN_ATTRIBUTES "गुण" + IDS_SHV_COLUMN_DISK_CAPACITY "संपूर्ण साइज़" + IDS_SHV_COLUMN_DISK_AVAILABLE "मुक्त साइज़" + IDS_SHV_COLUMN_OWNER "मालिक" + IDS_SHV_COLUMN_GROUP "ग्रुप" + IDS_SHV_COLUMN_FILENAME "फ़ाइल नाम" + IDS_SHV_COLUMN_CATEGORY "वर्ग" + IDS_SHV_COLUMN_DELFROM "मूल स्थान" + IDS_SHV_COLUMN_DELDATE "दिनांक हटा दी गई" + IDS_SHV_COLUMN_FONTTYPE "फ़ॉन्ट प्रकार" + IDS_SHV_COLUMN_WORKGROUP "कार्यसमूह" + IDS_SHV_COLUMN_NETLOCATION "नेटवर्क स्थान" + IDS_SHV_COLUMN_DOCUMENTS "डॉक्यूमेंट" + IDS_SHV_COLUMN_STATUS "स्थिति" + IDS_SHV_COLUMN_COMMENTS "टिप्पणियाँ" + IDS_SHV_COLUMN_LOCATION "स्थान" + IDS_SHV_COLUMN_MODEL "मॉडल" + + /* special folders */ + IDS_DESKTOP "डेस्कटॉप" + IDS_MYCOMPUTER "मेरा कंप्यूटर" + IDS_RECYCLEBIN_FOLDER_NAME "रीसायकल बिन" + IDS_CONTROLPANEL "कंट्रोल पैनल" + IDS_ADMINISTRATIVETOOLS "प्रशासनिक उपकरण" + + /* special folders descriptions */ + IDS_ADMINISTRATIVETOOLS_DESCRIPTION "अपने कंप्यूटर के लिए प्रशासनिक सेटिंग्स कॉन्फ़िगर करें।" + IDS_FOLDER_OPTIONS_DESCRIPTION "फ़ाइलों और फ़ोल्डरों के डिस्प्ले को अनुकूलित करें और फ़ाइल संघों को बदलें।" + IDS_FONTS_DESCRIPTION "अपने कंप्यूटर पर फ़ॉन्ट ऐड करे, बदलें और प्रबंधित करें।" + IDS_PRINTERS_DESCRIPTION "स्थापित प्रिंटर और फ़ैक्स प्रिंटर दिखाता है और आपको नए ऐड करने में मदद करता है।" + + /* context menus */ + IDS_VIEW_LARGE "&बड़े आइकन" + IDS_VIEW_SMALL "&छोटे आइकन" + IDS_VIEW_LIST "&सूची" + IDS_VIEW_DETAILS "&विवरण" + IDS_SELECT "चयन" + IDS_OPEN "खोलो" + IDS_CREATELINK "&लिंक बनाएं" + IDS_COPY "&कापी" + IDS_DELETE "हटाएं" + IDS_PROPERTIES "गुण" + IDS_CUT "&कट" + IDS_RESTORE "पुनर्स्थापित" + IDS_FORMATDRIVE "फार्मेट..." + IDS_RENAME "नाम बदलें" + IDS_PASTE "पैस्ट" + IDS_EJECT "इजेक्ट" + IDS_DISCONNECT "डिस्कनेक्ट" + + IDS_CREATEFOLDER_DENIED "फ़ोल्डर '%1' बनाने में असमर्थ" + IDS_CREATEFOLDER_CAPTION "फ़ोल्डर बनाने में असमर्थ" + IDS_DELETEITEM_CAPTION "फ़ाइल हटाए जाने की पुष्टि करें" + IDS_DELETEFOLDER_CAPTION "फ़ोल्डर हटाने की पुष्टि करें" + IDS_DELETEITEM_TEXT "क्या आप वाकई '%1' को हटाना चाहते हैं?" + IDS_DELETEMULTIPLE_TEXT "क्या आप वाकई इन %1 आइटम को हटाना चाहते हैं?" + IDS_DELETESELECTED_TEXT "क्या आप वाकई चयनित आइटम हटाना चाहते हैं?" + IDS_TRASHITEM_TEXT "क्या आप वाकई रीसायकल बिन को '%1' भेजना चाहते हैं?" + IDS_TRASHFOLDER_TEXT "क्या आप वाकई '%1' और उसकी सारी सामग्री रीसायकल बिन को भेजना चाहते हैं?" + IDS_TRASHMULTIPLE_TEXT "क्या आप वाकई इन %1 आइटम को रीसायकल बिन में भेजना चाहते हैं?" + IDS_CANTTRASH_TEXT "आइटम '%1' को रीसायकल बिन में नहीं भेजा जा सकता है। क्या आप इसके बजाय इसे हटाना चाहते हैं?" + IDS_OVERWRITEFILE_TEXT "इस फ़ोल्डर में पहले से ही '% 1' नामक फ़ाइल है।\n\nक्या आप इसे बदलना चाहते हैं?" + IDS_OVERWRITEFILE_CAPTION "फ़ाइल अधिलेखित करने की पुष्टि करें" + IDS_OVERWRITEFOLDER_TEXT "इस फ़ोल्डर में पहले से ही '% 1' नाम का एक फ़ोल्डर है।\n\nयदि गंतव्य फ़ोल्डर की फ़ाइलों में चयनित फ़ोल्डर में फ़ाइलों के\nसमान नाम हैं, तो उन्हें बदल दिया जाएगा। क्या आप अभी भी फ़ोल्डर को स्थानांतरित या कॉपी\nकरना चाहते हैं?" + + IDS_FILEOOP_COPYING "कॉपीइंग..." + IDS_FILEOOP_MOVING "मूविंग..." + IDS_FILEOOP_DELETING "हटाया जा रहा है..." + IDS_FILEOOP_FROM_TO "%1 से %2 तक" + IDS_FILEOOP_FROM "%1 से" + IDS_FILEOOP_PREFLIGHT "प्रीफ्लाइट" + + /* message box strings */ + IDS_RESTART_TITLE "रीस्टॉर्ट" + IDS_RESTART_PROMPT "क्या आप सिस्टम को रीस्टॉर्ट करना चाहते हैं?" + IDS_SHUTDOWN_TITLE "शटडाउन" + IDS_SHUTDOWN_PROMPT "क्या आप शटडाउन करना चाहते हैं?" + + /* Run File dialog */ + IDS_RUNDLG_ERROR "रन फ़ाइल डायलॉग बॉक्स डिस्प्ले करने में असमर्थ (आंतरिक त्रुटि)" + IDS_RUNDLG_BROWSE_ERROR "ब्राउज़ डायलॉग बॉक्स डिस्प्ले करने में असमर्थ (आंतरिक त्रुटि)" + IDS_RUNDLG_BROWSE_CAPTION "ब्राउज़" + IDS_RUNDLG_BROWSE_FILTER "एक्सेक्यूटेबल फ़ाइलें (*.exe)\0*.exe\0सारे फ़ाइलें (*.*)\0*.*\0" + + /* shell folder path default values */ + IDS_PROGRAMS "प्रारंभ मेनू\\प्रोग्राम" + IDS_PERSONAL "मेरे डॉक्यूमेंट" + IDS_FAVORITES "पसंदीदा" + IDS_STARTUP "प्रारंभ मेनू\\प्रोग्राम\\स्टार्टअप" + IDS_RECENT "हाल ही" + IDS_SENDTO "भेजना" + IDS_STARTMENU "प्रारंभ मेनू" + IDS_MYMUSIC "मेरा संगीत" + IDS_MYVIDEO "मेरे वीडियो" + IDS_DESKTOPDIRECTORY "डेस्कटॉप" + IDS_NETHOOD "नेटहुड" + IDS_TEMPLATES "टेम्पलेट्स" + IDS_APPDATA "ऐप्लिकेशन डेटा" + IDS_PRINTHOOD "प्रिंटहुड" + IDS_LOCAL_APPDATA "लोकल सेटिंग्स\\ऐप्लिकेशन डेटा" + IDS_INTERNET_CACHE "लोकल सेटिंग्स\\अस्थायी इंटरनेट फाइल" + IDS_COOKIES "कुकीज़" + IDS_HISTORY "लोकल सेटिंग्स\\हिस्टरी" + IDS_PROGRAM_FILES "प्रोग्राम फाइलें" + IDS_MYPICTURES "मेरी तस्वीरें" + IDS_PROGRAM_FILES_COMMON "प्रोग्राम फाइलें\\सामान्य फाइलें" + IDS_COMMON_DOCUMENTS "डॉक्यूमेंट" + IDS_ADMINTOOLS "प्रारंभ मेनू\\प्रोग्राम\\प्रशासनिक उपकरण" + IDS_COMMON_MUSIC "डॉक्यूमेंट\\मेरा संगीत" + IDS_COMMON_PICTURES "डॉक्यूमेंट\\मेरी तस्वीरें" + IDS_COMMON_VIDEO "डॉक्यूमेंट\\मेरे वीडियो" + IDS_CDBURN_AREA "लोकल सेटिंग्स\\ऐप्लिकेशन डेटा\\माईक्र्रोसॉफ्ट\\सीडी बर्निंग" + IDS_NETWORKPLACE "मेरे नेटवर्क स्थान" + + IDS_NEWFOLDER "नया फोल्डर" + + IDS_DRIVE_FIXED "लोकल डिस्क" + IDS_DRIVE_CDROM "सीडी ड्राइव" + IDS_DRIVE_NETWORK "नेटवर्क डिस्क" + IDS_DRIVE_FLOPPY "3.5 फ्लॉपी" + IDS_DRIVE_REMOVABLE "हटायी जा सकने वाली डिस्क" + IDS_FS_UNKNOWN "अनजान" + + /* Open With */ + IDS_OPEN_WITH "इसमें खोलें" + IDS_OPEN_WITH_CHOOSE "प्रोग्राम चुनें..." + IDS_OPEN_WITH_RECOMMENDED "अनुशंसित प्रोग्राम:" + IDS_OPEN_WITH_OTHER "अन्य प्रोग्राम:" + + IDS_SHELL_ABOUT_AUTHORS "&ऑथर" + IDS_SHELL_ABOUT_BACK "< &पीछे" + FCIDM_SHVIEW_NEW "नया" + FCIDM_SHVIEW_NEWFOLDER "नया &फोल्डर" + FCIDM_SHVIEW_NEWLINK "नया &लिंक" + IDS_FOLDER_OPTIONS "फोल्डर विकल्प" + IDS_RECYCLEBIN_LOCATION "रीसायकल बिन स्थान" + IDS_RECYCLEBIN_DISKSPACE "उपलब्ध जगह" + IDS_EMPTY_BITBUCKET "रीसायकल बिन खाली करें" + IDS_PICK_ICON_TITLE "आइकन चुनें" + IDS_PICK_ICON_FILTER "आइकन फ़ाइलें (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0सारे फ़ाइलें (*.*)\0*.*\0" + IDS_OPEN_WITH_FILTER "एक्सेक्यूटेबल फ़ाइलें (*.exe)\0*.exe\0All Files (*.*)\0*.*\0" + + IDS_CANTLOCKVOLUME "वॉल्यूम लॉक करने में असमर्थ (एरर कोड: %lu)." + IDS_CANTDISMOUNTVOLUME "वॉल्यूम को डिस्माउंट करने में असमर्थ (एरर कोड: %lu)." + IDS_CANTEJECTMEDIA "मीडिया को इजेक्ट करने में असमर्थ (एरर कोड: %lu)." + IDS_CANTSHOWPROPERTIES "गुण दिखाने में असमर्थ (एरर कोड: %lu)." + IDS_CANTDISCONNECT "डिस्कनेक्ट करने में असमर्थ (एरर कोड: %lu)." + + /* Friendly File Type Names */ + IDS_DIRECTORY "फोल्डर" + IDS_BAT_FILE "रिऐक्ट ओएस बैच फ़ाइल" + IDS_CMD_FILE "रिऐक्ट ओएस कमांड स्क्रिप्ट" + IDS_COM_FILE "डॉस ऐप्लिकेशन" + IDS_CPL_FILE "कंट्रोल पैनल आइटम" + IDS_CUR_FILE "कर्सर" + IDS_DB__FILE "डेटाबेस फ़ाइल" + IDS_DLL_FILE "ऐप्लिकेशन एक्सटेंशन" + IDS_DRV_FILE "डिवाइस ड्राइवर" + IDS_EFI_FILE "एक्स्टेंसिबल फ़र्मवेयर इंटरफ़ेस एक्सेक्यूटेबल" + IDS_EXE_FILE "ऐप्लिकेशन" + IDS_NLS_FILE "राष्ट्रीय भाषा समर्थन फ़ाइल" + IDS_OCX_FILE "एक्टिवएक्स नियंत्रण" + IDS_TLB_FILE "प्रकार लायब्रेरी" + IDS_FON_FILE "फ़ॉन्ट फ़ाइल" + IDS_TTF_FILE "ट्रूटाइप फ़ॉन्ट फ़ाइल" + IDS_OTF_FILE "ओपनटाइप फ़ॉन्ट फ़ाइल" + IDS_HLP_FILE "मदद फ़ाइल" + IDS_ICO_FILE "आइकन" + IDS_INI_FILE "कॉन्फ़िगरेशन सेटिंग्स" + IDS_LNK_FILE "शॉर्टकट" + IDS_NT__FILE "एनटी डॉस32 कॉन्फ़िगरेशन फ़ाइल" + IDS_PIF_FILE "एनटी वीडीइम प्रोग्राम जानकारी फ़ाइल" + IDS_SCR_FILE "स्क्रीन सेवर" + IDS_SYS_FILE "सिस्टम फ़ाइल" + IDS_VXD_FILE "वर्चुअल डिवाइस ड्राइवर" + IDS_ANY_FILE "%s-फ़ाइल" + + IDS_OPEN_VERB "ओपन" + IDS_EXPLORE_VERB "इक्स्प्लॉर" + IDS_RUNAS_VERB "रन ऐज़..." + IDS_EDIT_VERB "संपादित करें" + IDS_FIND_VERB "ढूंढे" + IDS_PRINT_VERB "प्रिंट" + + IDS_FILE_FOLDER "%u फ़ाइलें, %u फ़ोल्डर" + IDS_PRINTERS "प्रिंटर" + IDS_FONTS "फोंट्स" + IDS_INSTALLNEWFONT "नया फ़ॉन्ट इन्स्टॉल करें..." + + IDS_DEFAULT_CLUSTER_SIZE "डिफ़ॉल्ट ऐलॅकेशॅन साइज" + IDS_COPY_OF "की कापी" + + IDS_SHLEXEC_NOASSOC "इस प्रकार की फ़ाइल को खोलने के लिए कोई रिऐक्ट ओएस प्रोग्राम कॉन्फ़िगर नहीं किया गया है।" + + IDS_FILE_DETAILS "'%s' एक्सटेंशन के लिए विवरण" + IDS_FILE_DETAILSADV "एक्सटेंशन '%s' वाली फाइलें '%s' प्रकार की होती हैं। सभी '%s' फ़ाइलों को प्रभावित करने वाली सेटिंग्स बदलने के लिए, उन्नत पर क्लिक करें।" + IDS_FILE_TYPES "फ़ाइल प्रकारों" + IDS_COLUMN_EXTENSION "एक्सटेंशन" + + /* As in 'INI File' or 'WAV File', fallback string for no-name extensions + used in the _File type_ tab of the _Folder Options_ dialog */ + IDS_FILE_EXT_TYPE "%s फ़ाइल" + + IDS_BYTES_FORMAT "बाइट्स" + IDS_UNKNOWN_APP "अनजान ऐप्लिकेशन" + IDS_EXE_DESCRIPTION "विवरण:" + + IDS_MENU_EMPTY "(खाली)" + IDS_OBJECTS "%d वस्तुओं" + IDS_OBJECTS_SELECTED "%d वस्तुओं का चयन किया" + + IDS_ADVANCED_FOLDER "फ़ाइलें और फ़ोल्डर्स" + IDS_ADVANCED_NET_CRAWLER "स्वचालित रूप से नेटवर्क फ़ोल्डर और प्रिंटर खोजें" + 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_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_PERSIST_BROWSERS "लॉगऑन पर पिछले फ़ोल्डर विंडो को रिस्टॉर करें" + IDS_ADVANCED_CONTROL_PANEL_IN_MY_COMPUTER "मेरा कंप्यूटर में नियंत्रण कक्ष दिखाएं" + IDS_ADVANCED_SHOW_COMP_COLOR "एनक्रिप्टेड या कम्प्रेस्ट NTFS फ़ाइलों को रंग में दिखाएं" + IDS_ADVANCED_SHOW_INFO_TIP "फ़ोल्डर और डेस्कटॉप आइटम के लिए पॉप-अप विवरण दिखाएं" + + IDS_NEWEXT_ADVANCED_LEFT "<< &उन्नत" + IDS_NEWEXT_ADVANCED_RIGHT "&उन्नत >>" + IDS_NEWEXT_NEW "<नया>" + IDS_NEWEXT_SPECIFY_EXT "आपको एक एक्सटेंशन निर्दिष्ट करना होगा।" + IDS_NEWEXT_ALREADY_ASSOC "एक्सटेंशन %s पहले से ही फ़ाइल प्रकार %s के साथ जुड़ा हुआ है। क्या आप %s के साथ %s को अन-असोशिइट चाहते हैं और इसके लिए एक नया फ़ाइल प्रकार बनाना चाहते हैं?" + IDS_NEWEXT_EXT_IN_USE "एक्सटेंशन उपयोग में है" + + IDS_REMOVE_EXT "यदि आप एक पंजीकृत फ़ाइल नाम एक्सटेंशन को हटाते हैं, तो आप अपने आइकनों को डबल-क्लिक करके इस एक्सटेंशन के साथ फाइलें नहीं खोल पाएंगे।\n\nक्या आप वाकई इस एक्सटेंशन को हटाना चाहते हैं?" + IDS_SPECIFY_ACTION "आपको एक कार्रवाई निर्दिष्ट करनी चाहिए।" + IDS_INVALID_PROGRAM "निर्दिष्ट प्रोग्राम नहीं मिल सका। सुनिश्चित करें कि फ़ाइल का नाम और पथ सही है।" + IDS_REMOVE_ACTION "क्या आप वाकई इस कार्रवाई को हटाना चाहते हैं?" + IDS_ACTION_EXISTS "इस फ़ाइल प्रकार के लिए कार्रवाई '% s' पहले से ही पंजीकृत है। कृपया एक अलग नाम दर्ज करें और पुनः प्रयास करें।" + IDS_EXE_FILTER "प्रोग्राम\0*.exe\0सारे फ़ाइल\0*.*\0" + IDS_EDITING_ACTION "प्रकार के लिए संपादन कार्रवाई:" + IDS_NO_ICONS "फ़ाइल '%s' में कोई आइकन नहीं है।\n\nसूची से एक आइकन चुनें या एक अलग फ़ाइल निर्दिष्ट करें।" + IDS_FILE_NOT_FOUND "फ़ाइल '%s' नहीं मिली।" +END diff --git a/dll/win32/shell32/shell32.rc b/dll/win32/shell32/shell32.rc index 6d3cf110fc..df6c56eb85 100644 --- a/dll/win32/shell32/shell32.rc +++ b/dll/win32/shell32/shell32.rc @@ -131,6 +131,9 @@ END #ifdef LANGUAGE_HE_IL #include "lang/he-IL.rc" #endif +#ifdef LANGUAGE_HI_IN + #include "lang/hi-IN.rc" +#endif #ifdef LANGUAGE_HU_HU #include "lang/hu-HU.rc" #endif
6 years
1
0
0
0
[reactos] 01/01: [LDR] Introduce a private heap for the loader. This ensures we can still do stuff when the process heap is corrupted.
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=04ff7481b1da008b4e493…
commit 04ff7481b1da008b4e49354dda548ff8aa4853de Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Sun Oct 14 23:16:36 2018 +0200 Commit: Mark Jansen <mark.jansen(a)reactos.org> CommitDate: Tue Jan 1 16:20:13 2019 +0100 [LDR] Introduce a private heap for the loader. This ensures we can still do stuff when the process heap is corrupted. --- dll/ntdll/include/ntdllp.h | 1 + dll/ntdll/ldr/ldrinit.c | 20 ++++++++++++++------ dll/ntdll/ldr/ldrutils.c | 36 ++++++++++++++++++------------------ 3 files changed, 33 insertions(+), 24 deletions(-) diff --git a/dll/ntdll/include/ntdllp.h b/dll/ntdll/include/ntdllp.h index 934a4b2205..11f1e826f3 100644 --- a/dll/ntdll/include/ntdllp.h +++ b/dll/ntdll/include/ntdllp.h @@ -32,6 +32,7 @@ typedef struct _LDRP_TLS_DATA /* Global data */ extern RTL_CRITICAL_SECTION LdrpLoaderLock; extern BOOLEAN LdrpInLdrInit; +extern PVOID LdrpHeap; extern LIST_ENTRY LdrpHashTable[LDR_HASH_TABLE_ENTRIES]; extern BOOLEAN ShowSnaps; extern UNICODE_STRING LdrpDefaultPath; diff --git a/dll/ntdll/ldr/ldrinit.c b/dll/ntdll/ldr/ldrinit.c index e40db1717a..bc72c952cd 100644 --- a/dll/ntdll/ldr/ldrinit.c +++ b/dll/ntdll/ldr/ldrinit.c @@ -55,6 +55,7 @@ ULONG LdrpNumberOfProcessors; PVOID NtDllBase; extern LARGE_INTEGER RtlpTimeout; BOOLEAN RtlpTimeoutDisable; +PVOID LdrpHeap; LIST_ENTRY LdrpHashTable[LDR_HASH_TABLE_ENTRIES]; LIST_ENTRY LdrpDllNotificationList; HANDLE LdrpKnownDllObjectDirectory; @@ -663,7 +664,7 @@ LdrpRunInitializeRoutines(IN PCONTEXT Context OPTIONAL) if (Count > 16) { /* Allocate space for all the entries */ - LdrRootEntry = RtlAllocateHeap(RtlGetProcessHeap(), + LdrRootEntry = RtlAllocateHeap(LdrpHeap, 0, Count * sizeof(*LdrRootEntry)); if (!LdrRootEntry) return STATUS_NO_MEMORY; @@ -921,7 +922,7 @@ Quickie: if (LdrRootEntry != LocalArray) { /* Free the array */ - RtlFreeHeap(RtlGetProcessHeap(), 0, LdrRootEntry); + RtlFreeHeap(LdrpHeap, 0, LdrRootEntry); } /* Return to caller */ @@ -1752,9 +1753,9 @@ LdrpInitializeProcess(IN PCONTEXT Context, &ConfigSize); /* Setup the Heap Parameters */ - RtlZeroMemory(&HeapParameters, sizeof(RTL_HEAP_PARAMETERS)); + RtlZeroMemory(&HeapParameters, sizeof(HeapParameters)); HeapFlags = HEAP_GROWABLE; - HeapParameters.Length = sizeof(RTL_HEAP_PARAMETERS); + HeapParameters.Length = sizeof(HeapParameters); /* Check if we have Configuration Data */ if ((LoadConfig) && (ConfigSize == sizeof(IMAGE_LOAD_CONFIG_DIRECTORY))) @@ -1875,8 +1876,15 @@ LdrpInitializeProcess(IN PCONTEXT Context, Status = RtlAllocateActivationContextStack(&Teb->ActivationContextStackPointer); if (!NT_SUCCESS(Status)) return Status; - // FIXME: Loader private heap is missing - //DPRINT1("Loader private heap is missing\n"); + RtlZeroMemory(&HeapParameters, sizeof(HeapParameters)); + HeapFlags = HEAP_GROWABLE | HEAP_CLASS_1; + HeapParameters.Length = sizeof(HeapParameters); + LdrpHeap = RtlCreateHeap(HeapFlags, 0, 0x10000, 0x6000, 0, &HeapParameters); + if (!LdrpHeap) + { + DPRINT1("Failed to create loader private heap\n"); + return STATUS_NO_MEMORY; + } /* Check for Debug Heap */ if (OptionsKey) diff --git a/dll/ntdll/ldr/ldrutils.c b/dll/ntdll/ldr/ldrutils.c index aa18d0384f..5b6e26abd9 100644 --- a/dll/ntdll/ldr/ldrutils.c +++ b/dll/ntdll/ldr/ldrutils.c @@ -50,7 +50,7 @@ LdrpAllocateUnicodeString(IN OUT PUNICODE_STRING StringOut, } /* Allocate the string*/ - StringOut->Buffer = RtlAllocateHeap(RtlGetProcessHeap(), + StringOut->Buffer = RtlAllocateHeap(LdrpHeap, 0, StringOut->Length + sizeof(WCHAR)); if (!StringOut->Buffer) @@ -88,7 +88,7 @@ LdrpFreeUnicodeString(IN PUNICODE_STRING StringIn) /* If Buffer is not NULL - free it */ if (StringIn->Buffer) { - RtlFreeHeap(RtlGetProcessHeap(), 0, StringIn->Buffer); + RtlFreeHeap(LdrpHeap, 0, StringIn->Buffer); } /* Zero it out */ @@ -703,7 +703,7 @@ LdrpResolveDllName(PWSTR DllPath, ULONG BufSize = 500; /* Allocate space for full DLL name */ - FullDllName->Buffer = RtlAllocateHeap(RtlGetProcessHeap(), 0, BufSize + sizeof(UNICODE_NULL)); + FullDllName->Buffer = RtlAllocateHeap(LdrpHeap, 0, BufSize + sizeof(UNICODE_NULL)); if (!FullDllName->Buffer) return FALSE; Length = RtlDosSearchPath_U(DllPath ? DllPath : LdrpDefaultPath.Buffer, @@ -721,7 +721,7 @@ LdrpResolveDllName(PWSTR DllPath, DPRINT1("%ws from %ws\n", DllName, DllPath ? DllPath : LdrpDefaultPath.Buffer); } - RtlFreeUnicodeString(FullDllName); + LdrpFreeUnicodeString(FullDllName); return FALSE; } @@ -730,16 +730,16 @@ LdrpResolveDllName(PWSTR DllPath, FullDllName->MaximumLength = FullDllName->Length + sizeof(UNICODE_NULL); /* Allocate a new buffer */ - NameBuffer = RtlAllocateHeap(RtlGetProcessHeap(), 0, FullDllName->MaximumLength); + NameBuffer = RtlAllocateHeap(LdrpHeap, 0, FullDllName->MaximumLength); if (!NameBuffer) { - RtlFreeHeap(RtlGetProcessHeap(), 0, FullDllName->Buffer); + RtlFreeHeap(LdrpHeap, 0, FullDllName->Buffer); return FALSE; } /* Copy over the contents from the previous one and free it */ RtlCopyMemory(NameBuffer, FullDllName->Buffer, FullDllName->MaximumLength); - RtlFreeHeap(RtlGetProcessHeap(), 0, FullDllName->Buffer); + RtlFreeHeap(LdrpHeap, 0, FullDllName->Buffer); FullDllName->Buffer = NameBuffer; /* Find last backslash */ @@ -766,11 +766,11 @@ LdrpResolveDllName(PWSTR DllPath, /* Construct base DLL name */ BaseDllName->Length = (ULONG_PTR)p1 - (ULONG_PTR)p2; BaseDllName->MaximumLength = BaseDllName->Length + sizeof(UNICODE_NULL); - BaseDllName->Buffer = RtlAllocateHeap(RtlGetProcessHeap(), 0, BaseDllName->MaximumLength); + BaseDllName->Buffer = RtlAllocateHeap(LdrpHeap, 0, BaseDllName->MaximumLength); if (!BaseDllName->Buffer) { - RtlFreeHeap(RtlGetProcessHeap(), 0, NameBuffer); + RtlFreeHeap(LdrpHeap, 0, NameBuffer); return FALSE; } @@ -867,7 +867,7 @@ LdrpCheckForKnownDll(PWSTR DllName, /* Set up BaseDllName */ BaseDllName->Length = DllNameUnic.Length; BaseDllName->MaximumLength = DllNameUnic.MaximumLength; - BaseDllName->Buffer = RtlAllocateHeap(RtlGetProcessHeap(), + BaseDllName->Buffer = RtlAllocateHeap(LdrpHeap, 0, DllNameUnic.MaximumLength); if (!BaseDllName->Buffer) @@ -882,7 +882,7 @@ LdrpCheckForKnownDll(PWSTR DllName, /* Set up FullDllName */ FullDllName->Length = LdrpKnownDllPath.Length + BaseDllName->Length + sizeof(WCHAR); FullDllName->MaximumLength = FullDllName->Length + sizeof(UNICODE_NULL); - FullDllName->Buffer = RtlAllocateHeap(RtlGetProcessHeap(), 0, FullDllName->MaximumLength); + FullDllName->Buffer = RtlAllocateHeap(LdrpHeap, 0, FullDllName->MaximumLength); if (!FullDllName->Buffer) { Status = STATUS_NO_MEMORY; @@ -932,8 +932,8 @@ Failure: if (Section) NtClose(Section); /* Free string resources */ - if (BaseDllName->Buffer) RtlFreeHeap(RtlGetProcessHeap(), 0, BaseDllName->Buffer); - if (FullDllName->Buffer) RtlFreeHeap(RtlGetProcessHeap(), 0, FullDllName->Buffer); + if (BaseDllName->Buffer) RtlFreeHeap(LdrpHeap, 0, BaseDllName->Buffer); + if (FullDllName->Buffer) RtlFreeHeap(LdrpHeap, 0, FullDllName->Buffer); /* Return status */ return Status; @@ -1137,8 +1137,8 @@ SkipCheck: if (!NT_SUCCESS(Status)) { /* Free the name strings and return */ - RtlFreeUnicodeString(&FullDllName); - RtlFreeUnicodeString(&BaseDllName); + LdrpFreeUnicodeString(&FullDllName); + LdrpFreeUnicodeString(&BaseDllName); return Status; } } @@ -1286,7 +1286,7 @@ SkipCheck: RemoveEntryList(&LdrEntry->HashLinks); /* Remove the LDR Entry */ - RtlFreeHeap(RtlGetProcessHeap(), 0, LdrEntry ); + RtlFreeHeap(LdrpHeap, 0, LdrEntry ); /* Unmap and close section */ NtUnmapViewOfSection(NtCurrentProcess(), ViewBase); @@ -1553,7 +1553,7 @@ LdrpAllocateDataTableEntry(IN PVOID BaseAddress) if (NtHeader) { /* Allocate an entry */ - LdrEntry = RtlAllocateHeap(RtlGetProcessHeap(), + LdrEntry = RtlAllocateHeap(LdrpHeap, HEAP_ZERO_MEMORY, sizeof(LDR_DATA_TABLE_ENTRY)); @@ -1608,7 +1608,7 @@ LdrpFinalizeAndDeallocateDataTableEntry(IN PLDR_DATA_TABLE_ENTRY Entry) if (Entry->FullDllName.Buffer) LdrpFreeUnicodeString(&Entry->FullDllName); /* Finally free the entry's memory */ - RtlFreeHeap(RtlGetProcessHeap(), 0, Entry); + RtlFreeHeap(LdrpHeap, 0, Entry); } BOOLEAN
6 years
1
0
0
0
[reactos] 01/01: [BATTC] Fixed an oops!
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=34b0516ec4f97f43bd0f9…
commit 34b0516ec4f97f43bd0f9bc3a1ed5325fc297cef Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Tue Jan 1 13:48:43 2019 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Tue Jan 1 13:48:43 2019 +0100 [BATTC] Fixed an oops! --- drivers/battery/battc/battc.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/battery/battc/battc.c b/drivers/battery/battc/battc.c index 22664d4029..d07db5f495 100644 --- a/drivers/battery/battc/battc.c +++ b/drivers/battery/battc/battc.c @@ -201,13 +201,16 @@ BatteryClassIoctl(PVOID ClassData, BATTERY_NOTIFY BattNotify; ULONG ReturnedLength; - DPRINT("Received IOCTL %x for %p\n", IrpSp->Parameters.DeviceIoControl.IoControlCode, - ClassData); + DPRINT("BatteryClassIoctl(%p %p)\n", ClassData, Irp); BattClass = ClassData; + IrpSp = IoGetCurrentIrpStackLocation(Irp); Irp->IoStatus.Information = 0; + DPRINT("Received IOCTL %x for %p\n", IrpSp->Parameters.DeviceIoControl.IoControlCode, + ClassData); + switch (IrpSp->Parameters.DeviceIoControl.IoControlCode) { case IOCTL_BATTERY_QUERY_TAG:
6 years
1
0
0
0
[reactos] 02/02: [BATTC] Some tiny fixes
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=397fa2844e8da375acce2…
commit 397fa2844e8da375acce2eb570ffaee5a77cf6f8 Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Tue Jan 1 13:13:20 2019 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Tue Jan 1 13:20:41 2019 +0100 [BATTC] Some tiny fixes - Add missing parameter to a DPRINT. - Print pointers using %p instead of %x. - Move all executable code behind a functions initial DPRINT. - Do not use non-trivial initializers. - Check for NULL instead of using !. - Add missing parentheses. --- drivers/battery/battc/battc.c | 43 +++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/drivers/battery/battc/battc.c b/drivers/battery/battc/battc.c index 3eda4e8385..22664d4029 100644 --- a/drivers/battery/battc/battc.c +++ b/drivers/battery/battc/battc.c @@ -26,10 +26,11 @@ NTSTATUS NTAPI BatteryClassUnload(PVOID ClassData) { - PBATTERY_CLASS_DATA BattClass = ClassData; + PBATTERY_CLASS_DATA BattClass; - DPRINT("Battery 0x%x is being unloaded\n"); + DPRINT("Battery %p is being unloaded\n", ClassData); + BattClass = ClassData; if (BattClass->InterfaceName.Length != 0) { IoSetDeviceInterfaceState(&BattClass->InterfaceName, FALSE); @@ -77,12 +78,15 @@ NTSTATUS NTAPI BatteryClassStatusNotify(PVOID ClassData) { - PBATTERY_CLASS_DATA BattClass = ClassData; - PBATTERY_WAIT_STATUS BattWait = BattClass->EventTriggerContext; + PBATTERY_CLASS_DATA BattClass; + PBATTERY_WAIT_STATUS BattWait; BATTERY_STATUS BattStatus; NTSTATUS Status; - DPRINT("Received battery status notification from 0x%x\n", ClassData); + DPRINT("Received battery status notification from %p\n", ClassData); + + BattClass = ClassData; + BattWait = BattClass->EventTriggerContext; ExAcquireFastMutex(&BattClass->Mutex); if (!BattClass->Waiting) @@ -134,11 +138,12 @@ BatteryClassInitializeDevice(PBATTERY_MINIPORT_INFO MiniportInfo, PVOID *ClassData) { NTSTATUS Status; - PBATTERY_CLASS_DATA BattClass = ExAllocatePoolWithTag(NonPagedPool, - sizeof(BATTERY_CLASS_DATA), - BATTERY_CLASS_DATA_TAG); + PBATTERY_CLASS_DATA BattClass; - if (!BattClass) + BattClass = ExAllocatePoolWithTag(NonPagedPool, + sizeof(BATTERY_CLASS_DATA), + BATTERY_CLASS_DATA_TAG); + if (BattClass == NULL) return STATUS_INSUFFICIENT_RESOURCES; RtlZeroMemory(BattClass, sizeof(BATTERY_CLASS_DATA)); @@ -184,8 +189,8 @@ NTAPI BatteryClassIoctl(PVOID ClassData, PIRP Irp) { - PBATTERY_CLASS_DATA BattClass = ClassData; - PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp); + PBATTERY_CLASS_DATA BattClass; + PIO_STACK_LOCATION IrpSp; NTSTATUS Status; ULONG WaitTime; PBATTERY_WAIT_STATUS BattWait; @@ -196,11 +201,13 @@ BatteryClassIoctl(PVOID ClassData, BATTERY_NOTIFY BattNotify; ULONG ReturnedLength; - Irp->IoStatus.Information = 0; - - DPRINT("Received IOCTL %x for 0x%x\n", IrpSp->Parameters.DeviceIoControl.IoControlCode, + DPRINT("Received IOCTL %x for %p\n", IrpSp->Parameters.DeviceIoControl.IoControlCode, ClassData); + BattClass = ClassData; + IrpSp = IoGetCurrentIrpStackLocation(Irp); + Irp->IoStatus.Information = 0; + switch (IrpSp->Parameters.DeviceIoControl.IoControlCode) { case IOCTL_BATTERY_QUERY_TAG: @@ -247,7 +254,9 @@ BatteryClassIoctl(PVOID ClassData, } } else + { Irp->IoStatus.Information = sizeof(ULONG); + } break; case IOCTL_BATTERY_QUERY_STATUS: @@ -313,7 +322,9 @@ BatteryClassIoctl(PVOID ClassData, } } else + { Irp->IoStatus.Information = sizeof(BATTERY_STATUS); + } break; case IOCTL_BATTERY_QUERY_INFORMATION: @@ -334,7 +345,9 @@ BatteryClassIoctl(PVOID ClassData, &ReturnedLength); Irp->IoStatus.Information = ReturnedLength; if (!NT_SUCCESS(Status)) + { DPRINT1("QueryInformation failed (0x%x)\n", Status); + } break; case IOCTL_BATTERY_SET_INFORMATION: @@ -351,7 +364,9 @@ BatteryClassIoctl(PVOID ClassData, BattSetInfo->InformationLevel, BattSetInfo->Buffer); if (!NT_SUCCESS(Status)) + { DPRINT1("SetInformation failed (0x%x)\n", Status); + } break; default:
6 years
1
0
0
0
[reactos] 01/02: [BATTC] Fix indentation. No code changes!
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=04524fef3b6c64791eac1…
commit 04524fef3b6c64791eac1a58beba6b06e0135921 Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Tue Jan 1 12:58:53 2019 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Tue Jan 1 13:20:39 2019 +0100 [BATTC] Fix indentation. No code changes! --- drivers/battery/battc/battc.c | 549 +++++++++++++++++++++--------------------- drivers/battery/battc/battc.h | 17 +- 2 files changed, 284 insertions(+), 282 deletions(-) diff --git a/drivers/battery/battc/battc.c b/drivers/battery/battc/battc.c index 36f60887f4..3eda4e8385 100644 --- a/drivers/battery/battc/battc.c +++ b/drivers/battery/battc/battc.c @@ -16,9 +16,9 @@ NTAPI DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath) { - DPRINT("Battery class driver initialized\n"); + DPRINT("Battery class driver initialized\n"); - return STATUS_SUCCESS; + return STATUS_SUCCESS; } BCLASSAPI @@ -26,20 +26,20 @@ NTSTATUS NTAPI BatteryClassUnload(PVOID ClassData) { - PBATTERY_CLASS_DATA BattClass = ClassData; + PBATTERY_CLASS_DATA BattClass = ClassData; - DPRINT("Battery 0x%x is being unloaded\n"); + DPRINT("Battery 0x%x is being unloaded\n"); - if (BattClass->InterfaceName.Length != 0) - { - IoSetDeviceInterfaceState(&BattClass->InterfaceName, FALSE); - RtlFreeUnicodeString(&BattClass->InterfaceName); - } + if (BattClass->InterfaceName.Length != 0) + { + IoSetDeviceInterfaceState(&BattClass->InterfaceName, FALSE); + RtlFreeUnicodeString(&BattClass->InterfaceName); + } - ExFreePoolWithTag(BattClass, - BATTERY_CLASS_DATA_TAG); + ExFreePoolWithTag(BattClass, + BATTERY_CLASS_DATA_TAG); - return STATUS_SUCCESS; + return STATUS_SUCCESS; } BCLASSAPI @@ -51,9 +51,9 @@ BatteryClassSystemControl(PVOID ClassData, PIRP Irp, PVOID Disposition) { - UNIMPLEMENTED; + UNIMPLEMENTED; - return STATUS_WMI_GUID_NOT_FOUND; + return STATUS_WMI_GUID_NOT_FOUND; } BCLASSAPI @@ -67,9 +67,9 @@ BatteryClassQueryWmiDataBlock(PVOID ClassData, ULONG OutBufferSize, PUCHAR Buffer) { - UNIMPLEMENTED; + UNIMPLEMENTED; - return STATUS_WMI_GUID_NOT_FOUND; + return STATUS_WMI_GUID_NOT_FOUND; } BCLASSAPI @@ -77,54 +77,54 @@ NTSTATUS NTAPI BatteryClassStatusNotify(PVOID ClassData) { - PBATTERY_CLASS_DATA BattClass = ClassData; - PBATTERY_WAIT_STATUS BattWait = BattClass->EventTriggerContext; - BATTERY_STATUS BattStatus; - NTSTATUS Status; - - DPRINT("Received battery status notification from 0x%x\n", ClassData); - - ExAcquireFastMutex(&BattClass->Mutex); - if (!BattClass->Waiting) - { - ExReleaseFastMutex(&BattClass->Mutex); - return STATUS_SUCCESS; - } - - switch (BattClass->EventTrigger) - { - case EVENT_BATTERY_TAG: - ExReleaseFastMutex(&BattClass->Mutex); - DPRINT1("Waiting for battery is UNIMPLEMENTED!\n"); - break; - - case EVENT_BATTERY_STATUS: - ExReleaseFastMutex(&BattClass->Mutex); - Status = BattClass->MiniportInfo.QueryStatus(BattClass->MiniportInfo.Context, - BattWait->BatteryTag, - &BattStatus); - if (!NT_SUCCESS(Status)) - return Status; - - ExAcquireFastMutex(&BattClass->Mutex); - - if (!(BattWait->PowerState & BattStatus.PowerState) || - (BattWait->HighCapacity > BattStatus.Capacity) || - (BattWait->LowCapacity < BattStatus.Capacity)) - { - KeSetEvent(&BattClass->WaitEvent, IO_NO_INCREMENT, FALSE); - } - - ExReleaseFastMutex(&BattClass->Mutex); - break; - - default: - ExReleaseFastMutex(&BattClass->Mutex); - ASSERT(FALSE); - break; - } - - return STATUS_SUCCESS; + PBATTERY_CLASS_DATA BattClass = ClassData; + PBATTERY_WAIT_STATUS BattWait = BattClass->EventTriggerContext; + BATTERY_STATUS BattStatus; + NTSTATUS Status; + + DPRINT("Received battery status notification from 0x%x\n", ClassData); + + ExAcquireFastMutex(&BattClass->Mutex); + if (!BattClass->Waiting) + { + ExReleaseFastMutex(&BattClass->Mutex); + return STATUS_SUCCESS; + } + + switch (BattClass->EventTrigger) + { + case EVENT_BATTERY_TAG: + ExReleaseFastMutex(&BattClass->Mutex); + DPRINT1("Waiting for battery is UNIMPLEMENTED!\n"); + break; + + case EVENT_BATTERY_STATUS: + ExReleaseFastMutex(&BattClass->Mutex); + Status = BattClass->MiniportInfo.QueryStatus(BattClass->MiniportInfo.Context, + BattWait->BatteryTag, + &BattStatus); + if (!NT_SUCCESS(Status)) + return Status; + + ExAcquireFastMutex(&BattClass->Mutex); + + if (!(BattWait->PowerState & BattStatus.PowerState) || + (BattWait->HighCapacity > BattStatus.Capacity) || + (BattWait->LowCapacity < BattStatus.Capacity)) + { + KeSetEvent(&BattClass->WaitEvent, IO_NO_INCREMENT, FALSE); + } + + ExReleaseFastMutex(&BattClass->Mutex); + break; + + default: + ExReleaseFastMutex(&BattClass->Mutex); + ASSERT(FALSE); + break; + } + + return STATUS_SUCCESS; } BCLASSAPI @@ -133,49 +133,49 @@ NTAPI BatteryClassInitializeDevice(PBATTERY_MINIPORT_INFO MiniportInfo, PVOID *ClassData) { - NTSTATUS Status; - PBATTERY_CLASS_DATA BattClass = ExAllocatePoolWithTag(NonPagedPool, - sizeof(BATTERY_CLASS_DATA), - BATTERY_CLASS_DATA_TAG); + NTSTATUS Status; + PBATTERY_CLASS_DATA BattClass = ExAllocatePoolWithTag(NonPagedPool, + sizeof(BATTERY_CLASS_DATA), + BATTERY_CLASS_DATA_TAG); - if (!BattClass) - return STATUS_INSUFFICIENT_RESOURCES; + if (!BattClass) + return STATUS_INSUFFICIENT_RESOURCES; - RtlZeroMemory(BattClass, sizeof(BATTERY_CLASS_DATA)); + RtlZeroMemory(BattClass, sizeof(BATTERY_CLASS_DATA)); - RtlCopyMemory(&BattClass->MiniportInfo, - MiniportInfo, - sizeof(BattClass->MiniportInfo)); + RtlCopyMemory(&BattClass->MiniportInfo, + MiniportInfo, + sizeof(BattClass->MiniportInfo)); - KeInitializeEvent(&BattClass->WaitEvent, SynchronizationEvent, FALSE); + KeInitializeEvent(&BattClass->WaitEvent, SynchronizationEvent, FALSE); - ExInitializeFastMutex(&BattClass->Mutex); + ExInitializeFastMutex(&BattClass->Mutex); - if (MiniportInfo->Pdo != NULL) - { - Status = IoRegisterDeviceInterface(MiniportInfo->Pdo, - &GUID_DEVICE_BATTERY, - NULL, - &BattClass->InterfaceName); - if (NT_SUCCESS(Status)) + if (MiniportInfo->Pdo != NULL) { - DPRINT("Initialized battery interface: %wZ\n", &BattClass->InterfaceName); - Status = IoSetDeviceInterfaceState(&BattClass->InterfaceName, TRUE); - if (Status == STATUS_OBJECT_NAME_EXISTS) + Status = IoRegisterDeviceInterface(MiniportInfo->Pdo, + &GUID_DEVICE_BATTERY, + NULL, + &BattClass->InterfaceName); + if (NT_SUCCESS(Status)) { - DPRINT1("Got STATUS_OBJECT_NAME_EXISTS for SetDeviceInterfaceState\n"); - Status = STATUS_SUCCESS; + DPRINT("Initialized battery interface: %wZ\n", &BattClass->InterfaceName); + Status = IoSetDeviceInterfaceState(&BattClass->InterfaceName, TRUE); + if (Status == STATUS_OBJECT_NAME_EXISTS) + { + DPRINT1("Got STATUS_OBJECT_NAME_EXISTS for SetDeviceInterfaceState\n"); + Status = STATUS_SUCCESS; + } + } + else + { + DPRINT1("IoRegisterDeviceInterface failed (0x%x)\n", Status); } } - else - { - DPRINT1("IoRegisterDeviceInterface failed (0x%x)\n", Status); - } - } - *ClassData = BattClass; + *ClassData = BattClass; - return STATUS_SUCCESS; + return STATUS_SUCCESS; } BCLASSAPI @@ -184,183 +184,184 @@ NTAPI BatteryClassIoctl(PVOID ClassData, PIRP Irp) { - PBATTERY_CLASS_DATA BattClass = ClassData; - PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp); - NTSTATUS Status; - ULONG WaitTime; - PBATTERY_WAIT_STATUS BattWait; - PBATTERY_QUERY_INFORMATION BattQueryInfo; - PBATTERY_SET_INFORMATION BattSetInfo; - LARGE_INTEGER Timeout; - PBATTERY_STATUS BattStatus; - BATTERY_NOTIFY BattNotify; - ULONG ReturnedLength; - - Irp->IoStatus.Information = 0; - - DPRINT("Received IOCTL %x for 0x%x\n", IrpSp->Parameters.DeviceIoControl.IoControlCode, - ClassData); - - switch (IrpSp->Parameters.DeviceIoControl.IoControlCode) - { - case IOCTL_BATTERY_QUERY_TAG: - if (IrpSp->Parameters.DeviceIoControl.InputBufferLength < sizeof(ULONG) || - IrpSp->Parameters.DeviceIoControl.OutputBufferLength < sizeof(ULONG)) - { - Status = STATUS_BUFFER_TOO_SMALL; - break; - } - - WaitTime = *(PULONG)Irp->AssociatedIrp.SystemBuffer; - - Timeout.QuadPart = Int32x32To64(WaitTime, -1000); - - Status = BattClass->MiniportInfo.QueryTag(BattClass->MiniportInfo.Context, - (PULONG)Irp->AssociatedIrp.SystemBuffer); - if (!NT_SUCCESS(Status)) - { - ExAcquireFastMutex(&BattClass->Mutex); - BattClass->EventTrigger = EVENT_BATTERY_TAG; - BattClass->Waiting = TRUE; - ExReleaseFastMutex(&BattClass->Mutex); - - Status = KeWaitForSingleObject(&BattClass->WaitEvent, - Executive, - KernelMode, - FALSE, - WaitTime != -1 ? &Timeout : NULL); - - ExAcquireFastMutex(&BattClass->Mutex); - BattClass->Waiting = FALSE; - ExReleaseFastMutex(&BattClass->Mutex); - - if (Status == STATUS_SUCCESS) - { - Status = BattClass->MiniportInfo.QueryTag(BattClass->MiniportInfo.Context, - (PULONG)Irp->AssociatedIrp.SystemBuffer); - if (NT_SUCCESS(Status)) - Irp->IoStatus.Information = sizeof(ULONG); - } - else - { - Status = STATUS_NO_SUCH_DEVICE; - } - } - else - Irp->IoStatus.Information = sizeof(ULONG); - break; - - case IOCTL_BATTERY_QUERY_STATUS: - if (IrpSp->Parameters.DeviceIoControl.InputBufferLength < sizeof(*BattWait) || - IrpSp->Parameters.DeviceIoControl.OutputBufferLength < sizeof(BATTERY_STATUS)) - { - Status = STATUS_BUFFER_TOO_SMALL; - break; - } - - BattWait = Irp->AssociatedIrp.SystemBuffer; - - Timeout.QuadPart = Int32x32To64(BattWait->Timeout, -1000); - - Status = BattClass->MiniportInfo.QueryStatus(BattClass->MiniportInfo.Context, - BattWait->BatteryTag, - (PBATTERY_STATUS)Irp->AssociatedIrp.SystemBuffer); - - BattStatus = Irp->AssociatedIrp.SystemBuffer; - - if (!NT_SUCCESS(Status) || - ((BattWait->PowerState & BattStatus->PowerState) && - (BattWait->HighCapacity <= BattStatus->Capacity) && - (BattWait->LowCapacity >= BattStatus->Capacity))) - { - BattNotify.PowerState = BattWait->PowerState; - BattNotify.HighCapacity = BattWait->HighCapacity; - BattNotify.LowCapacity = BattWait->LowCapacity; - - BattClass->MiniportInfo.SetStatusNotify(BattClass->MiniportInfo.Context, - BattWait->BatteryTag, - &BattNotify); - - ExAcquireFastMutex(&BattClass->Mutex); - BattClass->EventTrigger = EVENT_BATTERY_STATUS; - BattClass->EventTriggerContext = BattWait; - BattClass->Waiting = TRUE; - ExReleaseFastMutex(&BattClass->Mutex); - - Status = KeWaitForSingleObject(&BattClass->WaitEvent, - Executive, - KernelMode, - FALSE, - BattWait->Timeout != -1 ? &Timeout : NULL); - - ExAcquireFastMutex(&BattClass->Mutex); - BattClass->Waiting = FALSE; - ExReleaseFastMutex(&BattClass->Mutex); - - BattClass->MiniportInfo.DisableStatusNotify(BattClass->MiniportInfo.Context); - - if (Status == STATUS_SUCCESS) - { - Status = BattClass->MiniportInfo.QueryStatus(BattClass->MiniportInfo.Context, - BattWait->BatteryTag, - (PBATTERY_STATUS)Irp->AssociatedIrp.SystemBuffer); - if (NT_SUCCESS(Status)) - Irp->IoStatus.Information = sizeof(ULONG); - } - else - { - Status = STATUS_NO_SUCH_DEVICE; - } - } - else - Irp->IoStatus.Information = sizeof(BATTERY_STATUS); - break; - - case IOCTL_BATTERY_QUERY_INFORMATION: - if (IrpSp->Parameters.DeviceIoControl.InputBufferLength < sizeof(*BattQueryInfo)) - { - Status = STATUS_BUFFER_TOO_SMALL; - break; - } - - BattQueryInfo = Irp->AssociatedIrp.SystemBuffer; - - Status = BattClass->MiniportInfo.QueryInformation(BattClass->MiniportInfo.Context, - BattQueryInfo->BatteryTag, - BattQueryInfo->InformationLevel, - BattQueryInfo->AtRate, - Irp->AssociatedIrp.SystemBuffer, - IrpSp->Parameters.DeviceIoControl.OutputBufferLength, - &ReturnedLength); - Irp->IoStatus.Information = ReturnedLength; - if (!NT_SUCCESS(Status)) - DPRINT1("QueryInformation failed (0x%x)\n", Status); - break; - case IOCTL_BATTERY_SET_INFORMATION: - if (IrpSp->Parameters.DeviceIoControl.InputBufferLength < sizeof(*BattSetInfo)) - { - Status = STATUS_BUFFER_TOO_SMALL; - break; - } - - BattSetInfo = Irp->AssociatedIrp.SystemBuffer; - - Status = BattClass->MiniportInfo.SetInformation(BattClass->MiniportInfo.Context, - BattSetInfo->BatteryTag, - BattSetInfo->InformationLevel, - BattSetInfo->Buffer); - if (!NT_SUCCESS(Status)) - DPRINT1("SetInformation failed (0x%x)\n", Status); - break; - - default: - DPRINT1("Received unsupported IRP %x\n", IrpSp->Parameters.DeviceIoControl.IoControlCode); - /* Do NOT complete the irp */ - return STATUS_NOT_SUPPORTED; - } - - Irp->IoStatus.Status = Status; - IoCompleteRequest(Irp, IO_NO_INCREMENT); - - return Status; + PBATTERY_CLASS_DATA BattClass = ClassData; + PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp); + NTSTATUS Status; + ULONG WaitTime; + PBATTERY_WAIT_STATUS BattWait; + PBATTERY_QUERY_INFORMATION BattQueryInfo; + PBATTERY_SET_INFORMATION BattSetInfo; + LARGE_INTEGER Timeout; + PBATTERY_STATUS BattStatus; + BATTERY_NOTIFY BattNotify; + ULONG ReturnedLength; + + Irp->IoStatus.Information = 0; + + DPRINT("Received IOCTL %x for 0x%x\n", IrpSp->Parameters.DeviceIoControl.IoControlCode, + ClassData); + + switch (IrpSp->Parameters.DeviceIoControl.IoControlCode) + { + case IOCTL_BATTERY_QUERY_TAG: + if (IrpSp->Parameters.DeviceIoControl.InputBufferLength < sizeof(ULONG) || + IrpSp->Parameters.DeviceIoControl.OutputBufferLength < sizeof(ULONG)) + { + Status = STATUS_BUFFER_TOO_SMALL; + break; + } + + WaitTime = *(PULONG)Irp->AssociatedIrp.SystemBuffer; + + Timeout.QuadPart = Int32x32To64(WaitTime, -1000); + + Status = BattClass->MiniportInfo.QueryTag(BattClass->MiniportInfo.Context, + (PULONG)Irp->AssociatedIrp.SystemBuffer); + if (!NT_SUCCESS(Status)) + { + ExAcquireFastMutex(&BattClass->Mutex); + BattClass->EventTrigger = EVENT_BATTERY_TAG; + BattClass->Waiting = TRUE; + ExReleaseFastMutex(&BattClass->Mutex); + + Status = KeWaitForSingleObject(&BattClass->WaitEvent, + Executive, + KernelMode, + FALSE, + WaitTime != -1 ? &Timeout : NULL); + + ExAcquireFastMutex(&BattClass->Mutex); + BattClass->Waiting = FALSE; + ExReleaseFastMutex(&BattClass->Mutex); + + if (Status == STATUS_SUCCESS) + { + Status = BattClass->MiniportInfo.QueryTag(BattClass->MiniportInfo.Context, + (PULONG)Irp->AssociatedIrp.SystemBuffer); + if (NT_SUCCESS(Status)) + Irp->IoStatus.Information = sizeof(ULONG); + } + else + { + Status = STATUS_NO_SUCH_DEVICE; + } + } + else + Irp->IoStatus.Information = sizeof(ULONG); + break; + + case IOCTL_BATTERY_QUERY_STATUS: + if (IrpSp->Parameters.DeviceIoControl.InputBufferLength < sizeof(*BattWait) || + IrpSp->Parameters.DeviceIoControl.OutputBufferLength < sizeof(BATTERY_STATUS)) + { + Status = STATUS_BUFFER_TOO_SMALL; + break; + } + + BattWait = Irp->AssociatedIrp.SystemBuffer; + + Timeout.QuadPart = Int32x32To64(BattWait->Timeout, -1000); + + Status = BattClass->MiniportInfo.QueryStatus(BattClass->MiniportInfo.Context, + BattWait->BatteryTag, + (PBATTERY_STATUS)Irp->AssociatedIrp.SystemBuffer); + + BattStatus = Irp->AssociatedIrp.SystemBuffer; + + if (!NT_SUCCESS(Status) || + ((BattWait->PowerState & BattStatus->PowerState) && + (BattWait->HighCapacity <= BattStatus->Capacity) && + (BattWait->LowCapacity >= BattStatus->Capacity))) + { + BattNotify.PowerState = BattWait->PowerState; + BattNotify.HighCapacity = BattWait->HighCapacity; + BattNotify.LowCapacity = BattWait->LowCapacity; + + BattClass->MiniportInfo.SetStatusNotify(BattClass->MiniportInfo.Context, + BattWait->BatteryTag, + &BattNotify); + + ExAcquireFastMutex(&BattClass->Mutex); + BattClass->EventTrigger = EVENT_BATTERY_STATUS; + BattClass->EventTriggerContext = BattWait; + BattClass->Waiting = TRUE; + ExReleaseFastMutex(&BattClass->Mutex); + + Status = KeWaitForSingleObject(&BattClass->WaitEvent, + Executive, + KernelMode, + FALSE, + BattWait->Timeout != -1 ? &Timeout : NULL); + + ExAcquireFastMutex(&BattClass->Mutex); + BattClass->Waiting = FALSE; + ExReleaseFastMutex(&BattClass->Mutex); + + BattClass->MiniportInfo.DisableStatusNotify(BattClass->MiniportInfo.Context); + + if (Status == STATUS_SUCCESS) + { + Status = BattClass->MiniportInfo.QueryStatus(BattClass->MiniportInfo.Context, + BattWait->BatteryTag, + (PBATTERY_STATUS)Irp->AssociatedIrp.SystemBuffer); + if (NT_SUCCESS(Status)) + Irp->IoStatus.Information = sizeof(ULONG); + } + else + { + Status = STATUS_NO_SUCH_DEVICE; + } + } + else + Irp->IoStatus.Information = sizeof(BATTERY_STATUS); + break; + + case IOCTL_BATTERY_QUERY_INFORMATION: + if (IrpSp->Parameters.DeviceIoControl.InputBufferLength < sizeof(*BattQueryInfo)) + { + Status = STATUS_BUFFER_TOO_SMALL; + break; + } + + BattQueryInfo = Irp->AssociatedIrp.SystemBuffer; + + Status = BattClass->MiniportInfo.QueryInformation(BattClass->MiniportInfo.Context, + BattQueryInfo->BatteryTag, + BattQueryInfo->InformationLevel, + BattQueryInfo->AtRate, + Irp->AssociatedIrp.SystemBuffer, + IrpSp->Parameters.DeviceIoControl.OutputBufferLength, + &ReturnedLength); + Irp->IoStatus.Information = ReturnedLength; + if (!NT_SUCCESS(Status)) + DPRINT1("QueryInformation failed (0x%x)\n", Status); + break; + + case IOCTL_BATTERY_SET_INFORMATION: + if (IrpSp->Parameters.DeviceIoControl.InputBufferLength < sizeof(*BattSetInfo)) + { + Status = STATUS_BUFFER_TOO_SMALL; + break; + } + + BattSetInfo = Irp->AssociatedIrp.SystemBuffer; + + Status = BattClass->MiniportInfo.SetInformation(BattClass->MiniportInfo.Context, + BattSetInfo->BatteryTag, + BattSetInfo->InformationLevel, + BattSetInfo->Buffer); + if (!NT_SUCCESS(Status)) + DPRINT1("SetInformation failed (0x%x)\n", Status); + break; + + default: + DPRINT1("Received unsupported IRP %x\n", IrpSp->Parameters.DeviceIoControl.IoControlCode); + /* Do NOT complete the irp */ + return STATUS_NOT_SUPPORTED; + } + + Irp->IoStatus.Status = Status; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + return Status; } diff --git a/drivers/battery/battc/battc.h b/drivers/battery/battc/battc.h index 24e864a853..5459a6f4af 100644 --- a/drivers/battery/battc/battc.h +++ b/drivers/battery/battc/battc.h @@ -13,14 +13,15 @@ #include <initguid.h> #include <batclass.h> -typedef struct _BATTERY_CLASS_DATA { - BATTERY_MINIPORT_INFO MiniportInfo; - KEVENT WaitEvent; - BOOLEAN Waiting; - FAST_MUTEX Mutex; - UCHAR EventTrigger; - PVOID EventTriggerContext; - UNICODE_STRING InterfaceName; +typedef struct _BATTERY_CLASS_DATA +{ + BATTERY_MINIPORT_INFO MiniportInfo; + KEVENT WaitEvent; + BOOLEAN Waiting; + FAST_MUTEX Mutex; + UCHAR EventTrigger; + PVOID EventTriggerContext; + UNICODE_STRING InterfaceName; } BATTERY_CLASS_DATA, *PBATTERY_CLASS_DATA; /* Memory tags */
6 years
1
0
0
0
[reactos] 01/01: [TCPIP] Check buffer before dereferencing it
by Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f76a097a252b52154bdc0…
commit f76a097a252b52154bdc0818a897200e99e2bc29 Author: Pierre Schweitzer <pierre(a)reactos.org> AuthorDate: Tue Jan 1 10:45:48 2019 +0100 Commit: Pierre Schweitzer <pierre(a)reactos.org> CommitDate: Tue Jan 1 10:45:48 2019 +0100 [TCPIP] Check buffer before dereferencing it CID 716664 --- drivers/network/tcpip/tcpip/ninfo.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/network/tcpip/tcpip/ninfo.c b/drivers/network/tcpip/tcpip/ninfo.c index cb88a2110d..5c0952b033 100644 --- a/drivers/network/tcpip/tcpip/ninfo.c +++ b/drivers/network/tcpip/tcpip/ninfo.c @@ -312,13 +312,13 @@ TDI_STATUS InfoTdiSetRoute(PIP_INTERFACE IF, PVOID Buffer, UINT BufferSize) IP_ADDRESS Address, Netmask, Router; PIPROUTE_ENTRY Route = Buffer; + if (!Buffer || BufferSize < sizeof(IPROUTE_ENTRY)) + return TDI_INVALID_PARAMETER; + AddrInitIPv4( &Address, Route->Dest ); AddrInitIPv4( &Netmask, Route->Mask ); AddrInitIPv4( &Router, Route->Gw ); - if (!Buffer || BufferSize < sizeof(IPROUTE_ENTRY)) - return TDI_INVALID_PARAMETER; - if (IF == Loopback) { DbgPrint("Failing attempt to add route to loopback adapter\n");
6 years
1
0
0
0
[reactos] 01/01: [SETUP] Silence some noisy DPRINT1
by Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0150bb964a411474d6cbd…
commit 0150bb964a411474d6cbd60ee45421bb6281deae Author: Pierre Schweitzer <pierre(a)reactos.org> AuthorDate: Tue Jan 1 09:57:26 2019 +0100 Commit: Pierre Schweitzer <pierre(a)reactos.org> CommitDate: Tue Jan 1 10:08:02 2019 +0100 [SETUP] Silence some noisy DPRINT1 --- base/setup/lib/registry.c | 5 ++++- base/setup/lib/settings.c | 4 ++-- base/setup/lib/utils/inicache.c | 4 ++-- base/setup/lib/utils/partlist.c | 6 +++--- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/base/setup/lib/registry.c b/base/setup/lib/registry.c index bc97489da0..6c02869a28 100644 --- a/base/setup/lib/registry.c +++ b/base/setup/lib/registry.c @@ -1048,7 +1048,10 @@ RegCleanupRegistry( Status = DisconnectRegistry(NULL, RegistryHives[i].HiveRegistryPath, 1 /* REG_FORCE_UNLOAD */); - DPRINT1("Unmounting '%S' %s\n", RegistryHives[i].HiveRegistryPath, NT_SUCCESS(Status) ? "succeeded" : "failed"); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Unmounting '%S' failed\n", RegistryHives[i].HiveRegistryPath); + } /* Switch the hive state to 'Update' */ RegistryHives[i].State = Update; diff --git a/base/setup/lib/settings.c b/base/setup/lib/settings.c index 20a6bd4b8d..2d1c4e1c34 100644 --- a/base/setup/lib/settings.c +++ b/base/setup/lib/settings.c @@ -809,7 +809,7 @@ ProcessDisplayRegistry( } ASSERT(wcslen(ServiceName) < 10); - DPRINT1("Service name: '%S'\n", ServiceName); + DPRINT("Service name: '%S'\n", ServiceName); RtlStringCchPrintfW(RegPath, ARRAYSIZE(RegPath), L"System\\CurrentControlSet\\Services\\%s", @@ -853,7 +853,7 @@ ProcessDisplayRegistry( RtlStringCchPrintfW(RegPath, ARRAYSIZE(RegPath), L"System\\CurrentControlSet\\Hardware Profiles\\Current\\System\\CurrentControlSet\\Services\\%s\\Device0", ServiceName); - DPRINT1("RegPath: '%S'\n", RegPath); + DPRINT("RegPath: '%S'\n", RegPath); RtlInitUnicodeString(&KeyName, RegPath); InitializeObjectAttributes(&ObjectAttributes, &KeyName, diff --git a/base/setup/lib/utils/inicache.c b/base/setup/lib/utils/inicache.c index e6b2895ab0..c38b618dcf 100644 --- a/base/setup/lib/utils/inicache.c +++ b/base/setup/lib/utils/inicache.c @@ -497,7 +497,7 @@ IniCacheLoadFromMemory( &SectionName, &SectionNameSize); - DPRINT1("[%.*s]\n", SectionNameSize, SectionName); + DPRINT("[%.*s]\n", SectionNameSize, SectionName); Section = IniCacheAddSection(*Cache, SectionName, @@ -526,7 +526,7 @@ IniCacheLoadFromMemory( &KeyValueSize, String); - DPRINT1("'%.*s' = '%.*s'\n", KeyNameSize, KeyName, KeyValueSize, KeyValue); + DPRINT("'%.*s' = '%.*s'\n", KeyNameSize, KeyName, KeyValueSize, KeyValue); Key = IniCacheAddKey(Section, KeyName, diff --git a/base/setup/lib/utils/partlist.c b/base/setup/lib/utils/partlist.c index 83ad8e0317..aee3c3c161 100644 --- a/base/setup/lib/utils/partlist.c +++ b/base/setup/lib/utils/partlist.c @@ -3032,7 +3032,7 @@ CheckActiveSystemPartition( return; } - DPRINT1("We are here (1)!\n"); + DPRINT("We are here (1)!\n"); List->SystemPartition = NULL; List->OriginalSystemPartition = NULL; @@ -3070,7 +3070,7 @@ CheckActiveSystemPartition( DPRINT1("NewDisk TRUE but first partition is used?\n"); } - DPRINT1("We are here (2)!\n"); + DPRINT("We are here (2)!\n"); /* * The disk is not new, check if any partition is initialized; @@ -3111,7 +3111,7 @@ CheckActiveSystemPartition( List->SystemPartition = NULL; List->OriginalSystemPartition = NULL; - DPRINT1("We are here (3)!\n"); + DPRINT("We are here (3)!\n"); /* The disk is not new, scan all partitions to find the (active) system partition */ for (ListEntry = DiskEntry->PrimaryPartListHead.Flink;
6 years
1
0
0
0
← Newer
1
...
27
28
29
30
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
Results per page:
10
25
50
100
200