https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d15e36a1f19b78ca4acbc…
commit d15e36a1f19b78ca4acbc6041a06e5abaa8050d8
Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
AuthorDate: Mon Feb 4 01:02:26 2019 +0100
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Thu Jun 20 18:07:59 2019 +0200
[NTOS:KE][SDK:ASM] Code formatting/styling only.
- Un-hardcode the RPL_MASK value.
- s/KiUnexpectedInterrupt&Number/KiUnexpectedInterrupt&Vector/
- Use C-style comments in traphdlr.c as everywhere else in the file.
- Update the URLs for the MSDN "FPO" macro documentation.
---
ntoskrnl/include/internal/i386/asmmacro.S | 39 +++++----
ntoskrnl/ke/i386/trap.s | 2 +-
ntoskrnl/ke/i386/traphdlr.c | 128 +++++++++++++-----------------
sdk/include/asm/asm.inc | 18 +++--
4 files changed, 86 insertions(+), 101 deletions(-)
diff --git a/ntoskrnl/include/internal/i386/asmmacro.S b/ntoskrnl/include/internal/i386/asmmacro.S
index b976b1ab91..6d2d213c3d 100644
--- a/ntoskrnl/include/internal/i386/asmmacro.S
+++ b/ntoskrnl/include/internal/i386/asmmacro.S
@@ -66,16 +66,15 @@ MACRO(idt, Handler, Bits)
ENDM
-KI_PUSH_FAKE_ERROR_CODE = HEX(0001)
-KI_UNUSED = HEX(0002)
-KI_NONVOLATILES_ONLY = HEX(0004)
-KI_FAST_SYSTEM_CALL = HEX(0008)
-KI_SOFTWARE_TRAP = HEX(0010)
-KI_HARDWARE_INT = HEX(0020)
-KI_DONT_SAVE_SEGS = HEX(0100)
+#define KI_PUSH_FAKE_ERROR_CODE HEX(0001)
+#define KI_UNUSED HEX(0002)
+#define KI_NONVOLATILES_ONLY HEX(0004)
+#define KI_FAST_SYSTEM_CALL HEX(0008)
+#define KI_SOFTWARE_TRAP HEX(0010)
+#define KI_HARDWARE_INT HEX(0020)
+#define KI_DONT_SAVE_SEGS HEX(0100)
MACRO(KiEnterTrap, Flags)
- LOCAL kernel_trap
LOCAL not_v86_trap
LOCAL set_sane_segs
@@ -145,7 +144,7 @@ MACRO(KiEnterTrap, Flags)
if (Flags AND KI_DONT_SAVE_SEGS)
/* Initialize TrapFrame segment registers with sane values */
- mov eax, KGDT_R3_DATA OR 3
+ mov eax, KGDT_R3_DATA OR RPL_MASK
mov ecx, fs
mov [esp + KTRAP_FRAME_DS], eax
mov [esp + KTRAP_FRAME_ES], eax
@@ -250,17 +249,17 @@ MACRO(TRAP_ENTRY, Trap, Flags)
.ENDP
ENDM
-#define KI_RESTORE_EAX HEX(001)
-#define KI_RESTORE_ECX_EDX HEX(002)
-#define KI_RESTORE_FS HEX(004)
-#define KI_RESTORE_SEGMENTS HEX(008)
-#define KI_RESTORE_EFLAGS HEX(010)
-#define KI_EXIT_SYSCALL HEX(020)
-#define KI_EXIT_JMP HEX(040)
-#define KI_EXIT_RET HEX(080)
-#define KI_EXIT_IRET HEX(100)
-#define KI_EDITED_FRAME HEX(200)
-#define KI_EXIT_RET8 HEX(400)
+#define KI_RESTORE_EAX HEX(0001)
+#define KI_RESTORE_ECX_EDX HEX(0002)
+#define KI_RESTORE_FS HEX(0004)
+#define KI_RESTORE_SEGMENTS HEX(0008)
+#define KI_RESTORE_EFLAGS HEX(0010)
+#define KI_EXIT_SYSCALL HEX(0020)
+#define KI_EXIT_JMP HEX(0040)
+#define KI_EXIT_RET HEX(0080)
+#define KI_EXIT_IRET HEX(0100)
+#define KI_EDITED_FRAME HEX(0200)
+#define KI_EXIT_RET8 HEX(0400)
#define KI_RESTORE_VOLATILES (KI_RESTORE_EAX OR KI_RESTORE_ECX_EDX)
MACRO(KiTrapExitStub, Name, Flags)
diff --git a/ntoskrnl/ke/i386/trap.s b/ntoskrnl/ke/i386/trap.s
index 01d130e7e6..6bd57e8053 100644
--- a/ntoskrnl/ke/i386/trap.s
+++ b/ntoskrnl/ke/i386/trap.s
@@ -18,7 +18,7 @@ idt _KiUnexpectedInterrupt&Vector, INT_32_DPL0
ENDM
MACRO(GENERATE_INT_HANDLER, Vector)
-//.func KiUnexpectedInterrupt&Number
+//.func KiUnexpectedInterrupt&Vector
_KiUnexpectedInterrupt&Vector:
/* This is a push instruction with 8bit operand. Since the instruction
sign extends the value to 32 bits, we need to offset it */
diff --git a/ntoskrnl/ke/i386/traphdlr.c b/ntoskrnl/ke/i386/traphdlr.c
index 27ae26c805..7cf1fcde37 100644
--- a/ntoskrnl/ke/i386/traphdlr.c
+++ b/ntoskrnl/ke/i386/traphdlr.c
@@ -222,7 +222,7 @@ KiDebugHandler(IN PKTRAP_FRAME TrapFrame,
IN ULONG Parameter3)
{
/* Check for VDM trap */
- ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+ ASSERT(KiVdmTrap(TrapFrame) == FALSE);
/* Enable interrupts if the trap came from user-mode */
if (KiUserTrap(TrapFrame)) _enable();
@@ -248,7 +248,7 @@ KiNpxHandler(IN PKTRAP_FRAME TrapFrame,
ULONG Cr0, Mask, Error, ErrorOffset, DataOffset;
/* Check for VDM trap */
- ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+ ASSERT(KiVdmTrap(TrapFrame) == FALSE);
/* Check for kernel trap */
if (!KiUserTrap(TrapFrame))
@@ -410,7 +410,7 @@ KiTrap00Handler(IN PKTRAP_FRAME TrapFrame)
KiEnterTrap(TrapFrame);
/* Check for VDM trap */
- ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+ ASSERT(KiVdmTrap(TrapFrame) == FALSE);
/* Enable interrupts */
_enable();
@@ -430,7 +430,7 @@ KiTrap01Handler(IN PKTRAP_FRAME TrapFrame)
KiEnterTrap(TrapFrame);
/* Check for VDM trap */
- ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+ ASSERT(KiVdmTrap(TrapFrame) == FALSE);
/* Check if this was a single step after sysenter */
if (TrapFrame->Eip == (ULONG)KiFastCallEntry)
@@ -467,58 +467,52 @@ KiTrap02(VOID)
KTRAP_FRAME TrapFrame;
KIRQL OldIrql;
- //
- // In some sort of strange recursion case, we might end up here with the IF
- // flag incorrectly on the interrupt frame -- during a normal NMI this would
- // normally already be set.
- //
- // For sanity's sake, make sure interrupts are disabled for sure.
- // NMIs will already be since the CPU does it for us.
- //
+ /*
+ * In some sort of strange recursion case, we might end up here with the IF
+ * flag incorrectly on the interrupt frame -- during a normal NMI this would
+ * normally already be set.
+ *
+ * For sanity's sake, make sure interrupts are disabled for sure.
+ * NMIs will already be since the CPU does it for us.
+ */
_disable();
- //
- // Get the current TSS, thread, and process
- //
+ /* Get the current TSS, thread, and process */
Tss = PCR->TSS;
Thread = ((PKIPCR)PCR)->PrcbData.CurrentThread;
Process = Thread->ApcState.Process;
- //
- // Save data usually not in the TSS
- //
+ /* Save data usually not present in the TSS */
Tss->CR3 = Process->DirectoryTableBase[0];
Tss->IoMapBase = Process->IopmOffset;
Tss->LDT = Process->LdtDescriptor.LimitLow ? KGDT_LDT : 0;
- //
- // Now get the base address of the NMI TSS
- //
+ /* Now get the base address of the NMI TSS */
TssGdt = &((PKIPCR)KeGetPcr())->GDT[KGDT_NMI_TSS / sizeof(KGDTENTRY)];
NmiTss = (PKTSS)(ULONG_PTR)(TssGdt->BaseLow |
TssGdt->HighWord.Bytes.BaseMid << 16 |
TssGdt->HighWord.Bytes.BaseHi << 24);
- //
- // Switch to it and activate it, masking off the nested flag
- //
- // Note that in reality, we are already on the NMI tss -- we just need to
- // update the PCR to reflect this
- //
+ /*
+ * Switch to it and activate it, masking off the nested flag.
+ *
+ * Note that in reality, we are already on the NMI TSS -- we just
+ * need to update the PCR to reflect this.
+ */
PCR->TSS = NmiTss;
__writeeflags(__readeflags() &~ EFLAGS_NESTED_TASK);
TssGdt->HighWord.Bits.Dpl = 0;
TssGdt->HighWord.Bits.Pres = 1;
TssGdt->HighWord.Bits.Type = I386_TSS;
- //
- // Now build the trap frame based on the original TSS
- //
- // The CPU does a hardware "Context switch" / task switch of sorts and so it
- // takes care of saving our context in the normal TSS.
- //
- // We just have to go get the values...
- //
+ /*
+ * Now build the trap frame based on the original TSS.
+ *
+ * The CPU does a hardware "Context switch" / task switch of sorts
+ * and so it takes care of saving our context in the normal TSS.
+ *
+ * We just have to go get the values...
+ */
RtlZeroMemory(&TrapFrame, sizeof(KTRAP_FRAME));
TrapFrame.HardwareSegSs = Tss->Ss0;
TrapFrame.HardwareEsp = Tss->Esp0;
@@ -541,64 +535,50 @@ KiTrap02(VOID)
TrapFrame.DbgEip = Tss->Eip;
TrapFrame.DbgEbp = Tss->Ebp;
- //
- // Store the trap frame in the KPRCB
- //
+ /* Store the trap frame in the KPRCB */
KiSaveProcessorState(&TrapFrame, NULL);
- //
- // Call any registered NMI handlers and see if they handled it or not
- //
+ /* Call any registered NMI handlers and see if they handled it or not */
if (!KiHandleNmi())
{
- //
- // They did not, so call the platform HAL routine to bugcheck the system
- //
- // Make sure the HAL believes it's running at HIGH IRQL... we can't use
- // the normal APIs here as playing with the IRQL could change the system
- // state
- //
+ /*
+ * They did not, so call the platform HAL routine to bugcheck the system
+ *
+ * Make sure the HAL believes it's running at HIGH IRQL... we can't use
+ * the normal APIs here as playing with the IRQL could change the system
+ * state.
+ */
OldIrql = PCR->Irql;
PCR->Irql = HIGH_LEVEL;
HalHandleNMI(NULL);
PCR->Irql = OldIrql;
}
- //
- // Although the CPU disabled NMIs, we just did a BIOS Call, which could've
- // totally changed things.
- //
- // We have to make sure we're still in our original NMI -- a nested NMI
- // will point back to the NMI TSS, and in that case we're hosed.
- //
+ /*
+ * Although the CPU disabled NMIs, we just did a BIOS call, which could've
+ * totally changed things.
+ *
+ * We have to make sure we're still in our original NMI -- a nested NMI
+ * will point back to the NMI TSS, and in that case we're hosed.
+ */
if (PCR->TSS->Backlink != KGDT_NMI_TSS)
{
- //
- // Restore original TSS
- //
+ /* Restore original TSS */
PCR->TSS = Tss;
- //
- // Set it back to busy
- //
+ /* Set it back to busy */
TssGdt->HighWord.Bits.Dpl = 0;
TssGdt->HighWord.Bits.Pres = 1;
TssGdt->HighWord.Bits.Type = I386_ACTIVE_TSS;
- //
- // Restore nested flag
- //
+ /* Restore nested flag */
__writeeflags(__readeflags() | EFLAGS_NESTED_TASK);
- //
- // Handled, return from interrupt
- //
+ /* Handled, return from interrupt */
KiIret();
}
- //
- // Unhandled: crash the system
- //
+ /* Unhandled: crash the system */
KiSystemFatalException(EXCEPTION_NMI, NULL);
}
@@ -623,7 +603,7 @@ KiTrap04Handler(IN PKTRAP_FRAME TrapFrame)
KiEnterTrap(TrapFrame);
/* Check for VDM trap */
- ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+ ASSERT(KiVdmTrap(TrapFrame) == FALSE);
/* Enable interrupts */
_enable();
@@ -643,7 +623,7 @@ KiTrap05Handler(IN PKTRAP_FRAME TrapFrame)
KiEnterTrap(TrapFrame);
/* Check for VDM trap */
- ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+ ASSERT(KiVdmTrap(TrapFrame) == FALSE);
/* Check for kernel-mode fault */
if (!KiUserTrap(TrapFrame)) KiSystemFatalException(EXCEPTION_BOUND_CHECK, TrapFrame);
@@ -878,7 +858,7 @@ KiTrap0AHandler(IN PKTRAP_FRAME TrapFrame)
KiEnterTrap(TrapFrame);
/* Check for VDM trap */
- ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+ ASSERT(KiVdmTrap(TrapFrame) == FALSE);
/* Kill the system */
KiSystemFatalException(EXCEPTION_INVALID_TSS, TrapFrame);
@@ -1485,7 +1465,7 @@ KiTrap13Handler(IN PKTRAP_FRAME TrapFrame)
SaveArea = KiGetThreadNpxArea(Thread);
/* Check for VDM trap */
- ASSERT((KiVdmTrap(TrapFrame)) == FALSE);
+ ASSERT(KiVdmTrap(TrapFrame) == FALSE);
/* Check for user trap */
if (!KiUserTrap(TrapFrame))
diff --git a/sdk/include/asm/asm.inc b/sdk/include/asm/asm.inc
index 7612815607..458fce72f1 100644
--- a/sdk/include/asm/asm.inc
+++ b/sdk/include/asm/asm.inc
@@ -9,8 +9,10 @@
#ifndef __ASM_INC__
#define __ASM_INC__
-/* Common definitions for FPO macro
- see http://msdn.microsoft.com/en-us/library/ms679352%28VS.85%29.aspx */
+/*
+ * Common definitions for the FPO macro.
+ * See https://docs.microsoft.com/en-us/windows/desktop/api/winnt/ns-winnt-_fpo_da…
+ */
#define FRAME_FPO 0
#define FRAME_TRAP 1
#define FRAME_TSS 2
@@ -65,8 +67,10 @@ GLOBAL_LABEL MACRO label
%label::
ENDM
-/* check http://msdn.microsoft.com/en-us/library/9c9k076y%28VS.80%29.aspx
- and http://msdn.microsoft.com/en-us/library/ms679352%28VS.85%29.aspx */
+/*
+ * See https://docs.microsoft.com/en-us/cpp/assembler/masm/dot-fpo
+ * and https://docs.microsoft.com/en-us/windows/desktop/api/winnt/ns-winnt-_fpo_da…
+ */
FPO MACRO cdwLocals, cdwParams, cbProlog, cbRegs, fUseBP, cbFrame
.FPO (cdwLocals, cdwParams, cbProlog, cbRegs, fUseBP, cbFrame)
ENDM
@@ -317,8 +321,10 @@ ENDM
.section .rdata
.endm
-/* check http://msdn.microsoft.com/en-us/library/9c9k076y%28VS.80%29.aspx
- and http://msdn.microsoft.com/en-us/library/ms679352%28VS.85%29.aspx */
+/*
+ * See https://docs.microsoft.com/en-us/cpp/assembler/masm/dot-fpo
+ * and https://docs.microsoft.com/en-us/windows/desktop/api/winnt/ns-winnt-_fpo_da…
+ */
.macro FPO cdwLocals, cdwParams, cbProlog, cbRegs, fUseBP, cbFrame
.if (cbFrame == FRAME_TRAP)
.cfi_signal_frame
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=1dc4ba9da748a969ad511…
commit 1dc4ba9da748a969ad5111cff3911c2d434a52e3
Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
AuthorDate: Thu Jun 20 18:04:26 2019 +0200
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Thu Jun 20 18:04:26 2019 +0200
[DEVMGR] Add the missing pt-PT.rc translation file. Strange, I thought I added it before...
---
dll/win32/devmgr/lang/pt-PT.rc | 328 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 328 insertions(+)
diff --git a/dll/win32/devmgr/lang/pt-PT.rc b/dll/win32/devmgr/lang/pt-PT.rc
new file mode 100644
index 0000000000..f7e5b4ef59
--- /dev/null
+++ b/dll/win32/devmgr/lang/pt-PT.rc
@@ -0,0 +1,328 @@
+/* Brazilian Portuguese translation by Marcelo Zamperetti, 2007-07-21 */
+
+LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_NAME "Nome"
+ IDS_TYPE "Tipo"
+ IDS_MANUFACTURER "Fabricante: %1"
+ IDS_LOCATION "Local: %1"
+ IDS_STATUS "Status do Dispositivo: %1"
+ IDS_UNKNOWN "Desconhecido"
+ IDS_LOCATIONSTR "Local %1!u! (%2)"
+ IDS_DEVCODE " (Código %1!u!)"
+ IDS_DEVCODE2 " (Código %2!u!)"
+ IDS_ENABLEDEVICE "Usar este dispositivo (activar)"
+ IDS_DISABLEDEVICE "Não usar este dispositivo (desactivar)"
+ IDS_UNKNOWNDEVICE "Dispositivo desconhecido"
+ IDS_NODRIVERLOADED "Nenhum driver está instalado para este dispositivo."
+ IDS_DEVONPARENT "em %1"
+ IDS_TROUBLESHOOTDEV "&Resolução de problemas..."
+ IDS_ENABLEDEV "&Activar Dispositivo"
+ IDS_REINSTALLDRV "Re&instalar Driver"
+ IDS_PROPERTIES "P&ropriedades"
+ IDS_UPDATEDRV "Ac&tualizar Driver..."
+ IDS_REBOOT "Reiniciar o &Computador..."
+ IDS_NOTAVAILABLE "Não disponível"
+ IDS_NOTDIGITALLYSIGNED "Sem assinatura digital"
+ IDS_NODRIVERS "Nenhum arquivo de driver é necessário ou foi carregado para este dispositivo."
+ IDS_RESOURCE_COLUMN "Tipo de recurso"
+ IDS_SETTING_COLUMN "Definições"
+ IDS_RESOURCE_MEMORY_RANGE "Faixa de memória"
+ IDS_RESOURCE_INTERRUPT "IRQ"
+ IDS_RESOURCE_DMA "DMA"
+ IDS_RESOURCE_PORT "Faixa I/O"
+END
+
+/* error messages, source: http://www.z123.org/techsupport/medm.htm */
+STRINGTABLE
+BEGIN
+ IDS_DEV_NO_PROBLEM "Este dispositivo está funcionando correctamente."
+ IDS_DEV_NOT_CONFIGURED "Este dispositivo não está correctamente configurado."
+ IDS_DEV_DEVLOADER_FAILED "O ReactOS não pôde carregar o driver para este dispositivo porque o computador está a reportar dois tipos de barramento %1."
+ IDS_DEV_DEVLOADER_FAILED2 "O(s) carregadore(es) do dispositivo %1 não pôde/puderam carregar o driver do dispositivo para este dispositivo."
+ IDS_DEV_OUT_OF_MEMORY "O driver para este dispositivo pode estar danificado, ou seu sistema com pouca memória ou insuficiência de outros recursos."
+ IDS_DEV_ENTRY_IS_WRONG_TYPE "Este dispositivo não está funcionando correctamente porque um de seus drivers pode estar danificado, ou seu registo pode estar danificado."
+ IDS_DEV_LACKED_ARBITRATOR "O driver para este dispositivo requisitou um recurso que o ReactOS não sabe como manusear."
+ IDS_DEV_BOOT_CONFIG_CONFLICT "Outro dispositivo está a usar os recursos que este dispositivo necessita."
+ IDS_DEV_FAILED_FILTER "Os drivers para este dispositivo precisam ser reinstalados."
+ IDS_DEV_DEVLOADER_NOT_FOUND "Este dispositivo não está a funcionaro correctamente porque o ReactOS não pôde carregar o arquivo %1 que carrega os drivers para o dispositivo."
+ IDS_DEV_DEVLOADER_NOT_FOUND2 "Este dispositivo não está a funcionar correctamente porque o arquivo %1 que carrega os drivers para este dispositivo está danificado."
+ IDS_DEV_DEVLOADER_NOT_FOUND3 "Falha no dispositivo: tente mudar o driver para este dispositivo. Se isto não funcionar, consulte a documentação do seu hardware."
+ IDS_DEV_INVALID_DATA "Este dispositivo não está a funcionar correctamente porque a BIOS do seu computador está a reportar os recursos para este dispositivo incorretamente."
+ IDS_DEV_INVALID_DATA2 "Este dispositivo não está a funcionar correctamente porque a BIOS do dispositivo está a reportar os recursos para este dispositivo incorretamente."
+ IDS_DEV_FAILED_START "Este dispositivo não está presente, não está a funcionar correctamente ou não tem todos os drivers instalados."
+ IDS_DEV_LIAR "O ReactOS parou de responder enquanto tentava inicializar este dispositivo e em conseqüência não irá mais tentar inicializá-lo."
+ IDS_DEV_NORMAL_CONFLICT "Este dispositivo não pôde encontrar recursos %1 livres para utilizar."
+ IDS_DEV_NOT_VERIFIED "Este dispositivo não está presente, não está a funcionar correctamente ou não tem todos os drivers instalados."
+ IDS_DEV_NEED_RESTART "Este dispositivo não pode funcionar correctamente até que o computador seja reiniciado."
+ IDS_DEV_REENUMERATION "Este dispositivo está a causar um conflito de recursos."
+ IDS_DEV_PARTIAL_LOG_CONF "O ReactOS não pôde identificar todos os recursos que este dispositivo utiliza."
+ IDS_DEV_UNKNOWN_RESOURCE "O arquivo %1 de informações de driver indica que este dispositivo filho utilize um recurso que o dispositivo pai não possui ou reconhece."
+ IDS_DEV_REINSTALL "Os drivers para este dispositivo precisam ser reinstalados."
+ IDS_DEV_REGISTRY "O registo pode estar danificado."
+ IDS_DEV_WILL_BE_REMOVED "O ReactOS está a remover este dispositivo."
+ IDS_DEV_DISABLED "Este dispositivo não foi inicializado."
+ IDS_DEV_DISABLED2 "Este dispositivo está desactivado."
+ IDS_DEV_DEVLOADER_NOT_READY "Os carregadores para este dispositivo não puderam carregar os drivers necessários."
+ IDS_DEV_DEVLOADER_NOT_READY2 "" /* unused */
+ IDS_DEV_DEVLOADER_NOT_READY3 "" /* unused */
+ IDS_DEV_DEVICE_NOT_THERE "Este dispositivo não está presente, não está a funcionar correctamente ou não tem todos os drivers instalados."
+ IDS_DEV_MOVED "O ReactOS está no processo de configuração deste dispositivo."
+ IDS_DEV_TOO_EARLY "O ReactOS está no processo de configuração deste dispositivo."
+ IDS_DEV_NO_VALID_LOG_CONF "O ReactOS não pode especificar os recursos pra este dispositivo."
+ IDS_DEV_FAILED_INSTALL "Os drivers para este dispositivo não estão instalados."
+ IDS_DEV_HARDWARE_DISABLED "Este dispositivo está desactivado porque a BIOS para o dispositivo não lhe deu nenhum recurso."
+ IDS_DEV_CANT_SHARE_IRQ "Este dispositivo utiliza um recurso de Requisição de Interrupção (IRQ) que está em uso por outro dispositivo e não pode ser compartilhado.\nDeve alterar a configuração conflitante ou remover o driver de modo real que está causando o conflito."
+ IDS_DEV_FAILED_ADD "Este dispositivo não está a funcionar correctamente porque %1 não está a funcionar correctamente."
+ IDS_DEV_DISABLED_SERVICE "O ReactOS não pode instalar os drivers para este dispositivo porque não consegue acessar o drive ou local de rede que possui os arquivos de configuração."
+ IDS_DEV_TRANSLATION_FAILED "Este dispositivo não está a responder ao seu driver."
+ IDS_DEV_NO_SOFTCONFIG "O ReactOS não pode determinar as configurações para este dispositivo. Consulte a documentação que veio com este dispositivo e utilize a guia Recursos para definir a configuração."
+ IDS_DEV_BIOS_TABLE "O firmware de seu sistema não possui informação suficiente para configurar e utilizar este dispositivo correctamente.\nPara utilizar este dispositivo, contacte o fabricante de seu computador para obter uma actualização de firmware ou BIOS."
+ IDS_DEV_IRQ_TRANSLATION_FAILED "Este dispositivo requisita uma interrupção PCI mas está configurado para uma interrupção ISA (ou vice-versa).\nPor favor, utilize o sistema de configuração do computador para reconfigurar a interrupção para este dispositivo."
+ IDS_DEV_FAILED_DRIVER_ENTRY "O ReactOS não pode inicializar o driver do dispositivo para este hardware."
+ IDS_DEV_DRIVER_FAILED_PRIOR_UNLOAD "O ReactOS não pode carregar o driver do dispositivo para este hardware porque uma instância anterior do driver do dispositivo ainda está na memória."
+ IDS_DEV_DRIVER_FAILED_LOAD "O ReactOS não pode carregar o driver do dispositivo para este hardware. O driver pode estar corrompido ou ausente."
+ IDS_DEV_DRIVER_SERVICE_KEY_INVALID "O ReactOS não pode acessar este hardware porque suas informações sobre a chave do serviço não estão no Registo ou estão registadas incorrectamente."
+ IDS_DEV_LEGACY_SERVICE_NO_DEVICES "O ReactOS carregou o driver do dispositivo para este hardware correctamente mas não consegue encontrar o dispositivo de hardware."
+ IDS_DEV_DUPLICATE_DEVICE "O ReactOS não pode carregar o driver do dispositivo para este hardware porque já existe uma instância deste dispositivo em execução no sistema."
+ IDS_DEV_FAILED_POST_START "O ReactOS parou este dispositivo porque ele reportou problemas."
+ IDS_DEV_HALTED "Uma aplicação ou serviço desligou este dispositivo de hardware."
+ IDS_DEV_PHANTOM "No momento, este dispositivo de hardware não está ligado ao computador."
+ IDS_DEV_SYSTEM_SHUTDOWN "O ReactOS Não pode obter acesso a este dispositivo de hardware porque o sistema operacional está em processo de desligamento."
+ IDS_DEV_HELD_FOR_EJECT "O ReactOS não pode utilizar este dispositivo de hardware porque este foi preparado para remoção segura mas não foi removido do computador."
+ IDS_DEV_DRIVER_BLOCKED "O software para este dispositivo teve sua inicialização bloqueada pois é conhecido por possuir problemas com o ReactOS. Contacte o revendedor do hardware para um novo driver."
+ IDS_DEV_REGISTRY_TOO_LARGE "O ReactOS não pode iniciar os novos dispositivos de hardware porque a secção do sistema é muito grande (excede o limite de tamanho do Registo)."
+ IDS_DEV_SETPROPERTIES_FAILED "ReactOS não pôde alterar as configurações para este dispositivo."
+END
+
+STRINGTABLE
+BEGIN
+ IDS_PROP_DEVICEID "ID de instância do dispositivo"
+ IDS_PROP_HARDWAREIDS "ID de Hardware"
+ IDS_PROP_COMPATIBLEIDS "IDs Compativeis"
+ IDS_PROP_MATCHINGDEVICEID "ID de dispositivo correspondente"
+ IDS_PROP_SERVICE "Serviço"
+ IDS_PROP_ENUMERATOR "Enumerador"
+ IDS_PROP_CAPABILITIES "Capacidades"
+ IDS_PROP_DEVNODEFLAGS "Sinalizador Devnode"
+ IDS_PROP_CONFIGFLAGS "Sinalizador Config"
+ IDS_PROP_CSCONFIGFLAGS "Sinalizador CSConfig"
+ IDS_PROP_EJECTIONRELATIONS "Relações de ejecção"
+ IDS_PROP_REMOVALRELATIONS "Relações de Remoção"
+ IDS_PROP_BUSRELATIONS "Relações de barramento"
+ IDS_PROP_DEVUPPERFILTERS "Filtros superiores do dispositivo"
+ IDS_PROP_DEVLOWERFILTERS "Filtros inferiores do dispositivo"
+ IDS_PROP_CLASSUPPERFILTERS "Filtros superiores da classe"
+ IDS_PROP_CLASSLOWERFILTERS "Filtros inferiores da classe"
+ IDS_PROP_CLASSINSTALLER "Instaladore para classes"
+ IDS_PROP_CLASSCOINSTALLER "Co-instaladore para classes"
+ IDS_PROP_DEVICECOINSTALLER "Co-instalador para dispositivos"
+ IDS_PROP_FIRMWAREREVISION "Revisão de Firmware"
+ IDS_PROP_CURRENTPOWERSTATE "Estado actual de energia"
+ IDS_PROP_POWERCAPABILITIES "Funções de energia"
+ IDS_PROP_POWERSTATEMAPPINGS "Mapeamentos de estado de energia"
+END
+
+IDD_HARDWARE DIALOGEX 0, 0, 300, 400
+STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CAPTION | DS_SHELLFONT
+FONT 8, "MS Shell Dlg"
+BEGIN
+ LTEXT "&Dispositivos:", IDC_DEVICES, 7, 6, 196, 10
+ CONTROL "", IDC_LV_DEVICES, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS |
+ LVS_SHAREIMAGELISTS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 16, 196, 50
+ GROUPBOX "Propriedades do dispositivo", IDC_PROPERTIESGROUP, 7, 76, 196, 105
+ LTEXT "", IDC_MANUFACTURER, 14, 88, 183, 10, SS_ENDELLIPSIS
+ LTEXT "", IDC_LOCATION, 14, 100, 183, 10, SS_ENDELLIPSIS
+ LTEXT "", IDC_STATUS, 14, 112, 183, 30
+ PUSHBUTTON "&Resolução de problemas...", IDC_TROUBLESHOOT, 85, 140, 54, 14, BS_PUSHBUTTON | WS_CHILD | WS_DISABLED | WS_TABSTOP
+ PUSHBUTTON "P&ropriedades", IDC_PROPERTIES, 146, 140, 50, 14
+END
+
+IDD_DEVICEGENERAL DIALOGEX 0, 0, 252, 218
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "Geral"
+FONT 8, "MS Shell Dlg"
+BEGIN
+ ICON "", IDC_DEVICON, 7, 7, 20, 20
+ LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+ LTEXT "Tipo de dispositivo:", -1, 37, 39, 60, 8, SS_NOPREFIX
+ EDITTEXT IDC_DEVTYPE, 100, 39, 146, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY
+ LTEXT "Fabricante:", -1, 37, 53, 60, 8, SS_NOPREFIX
+ EDITTEXT IDC_DEVMANUFACTURER, 100, 53, 145, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY
+ LTEXT "Local:", -1, 37, 67, 60, 8, SS_NOPREFIX
+ EDITTEXT IDC_DEVLOCATION, 100, 67, 145, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY
+ GROUPBOX "Status do dispositivo", IDC_DEVSTATUSGROUP, 7, 83, 238, 100
+ EDITTEXT IDC_DEVSTATUS, 14, 96, 224, 61, NOT WS_TABSTOP | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL
+ PUSHBUTTON "&Resolução de problemas...", IDC_DEVPROBLEM, 148, 163, 90, 15
+ LTEXT "&Uso do dispositivo:", IDC_DEVUSAGELABEL, 7, 188, 222, 8, WS_DISABLED
+ COMBOBOX IDC_DEVUSAGE, 7, 198, 239, 40, CBS_DROPDOWNLIST | WS_VSCROLL | WS_DISABLED
+END
+
+IDD_DEVICEDRIVER DIALOGEX 0, 0, 252, 218
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "Driver"
+FONT 8, "MS Shell Dlg"
+BEGIN
+ ICON "", IDC_DEVICON, 7, 7, 20, 20
+ LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+ LTEXT "Fornecedor do driver:", -1, 37, 39, 60, 8, SS_NOPREFIX
+ EDITTEXT IDC_DRVPROVIDER, 100, 39, 146, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY
+ LTEXT "Data do driver:", -1, 37, 53, 60, 8, SS_NOPREFIX
+ EDITTEXT IDC_DRVDATE, 100, 53, 145, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY
+ LTEXT "Versão do driver:", -1, 37, 67, 60, 8, SS_NOPREFIX
+ EDITTEXT IDC_DRVVERSION, 100, 67, 145, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY
+ LTEXT "Signatário Digital:", -1, 37, 81, 60, 8, SS_NOPREFIX
+ EDITTEXT IDC_DIGITALSIGNER, 100, 81, 145, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY
+ PUSHBUTTON "&Detalhes do driver...", IDC_DRIVERDETAILS, 7, 106, 75, 15
+ LTEXT "Exibir detalhes sobre os arquivos de driver.", -1, 91, 110, 154, 17, SS_NOPREFIX
+ PUSHBUTTON "&Actualizar Driver...", IDC_UPDATEDRIVER, 7, 134, 75, 15
+ LTEXT "Actualiza o driver dede dispositivo.", -1, 91, 138, 154, 17, SS_NOPREFIX
+ PUSHBUTTON "&Repor Driver", IDC_ROLLBACKDRIVER, 7, 162, 75, 15
+ LTEXT "Se o dispositivo falhar após actualização,reverta para o driver instalado anteriormente.", -1, 91, 162, 154, 25, SS_NOPREFIX
+ PUSHBUTTON "&Desinstalar", IDC_UNINSTALLDRIVER, 7, 190, 75, 15
+ LTEXT "Para desinstalar o driver (Avançado).", -1, 91, 194, 154, 17, SS_NOPREFIX
+END
+
+IDD_DRIVERDETAILS DIALOGEX 0, 0, 224, 230
+STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_DLGFRAME
+CAPTION "Detalhes sobre os arquivos de driver"
+FONT 8, "MS Shell Dlg"
+BEGIN
+ ICON "", IDC_DEVICON, 7, 7, 20, 20
+ LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+ LTEXT "&Arquivos de driver:", -1, 7, 36, 204, 8
+ CONTROL "", IDC_DRIVERFILES, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER |
+ LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+ LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80
+ LTEXT "Fornecedor:", -1, 14, 134, 50, 8
+ EDITTEXT IDC_FILEPROVIDER, 66, 134, 155, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY
+ LTEXT "Versão do arquivo:", -1, 14, 150, 50, 8
+ EDITTEXT IDC_FILEVERSION, 66, 150, 155, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY
+ LTEXT "Direitos autorais:", -1, 14, 166, 50, 8
+ EDITTEXT IDC_FILECOPYRIGHT, 66, 166, 155, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY
+ LTEXT "Signatário digital:", -1, 14, 182, 50, 8
+ EDITTEXT IDC_DIGITALSIGNER, 66, 182, 155, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY
+ DEFPUSHBUTTON "OK", IDOK, 167, 208, 50, 14
+END
+
+IDD_DEVICEDETAILS DIALOGEX 0, 0, 252, 218
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "Details"
+FONT 8, "MS Shell Dlg"
+BEGIN
+ ICON "", IDC_DEVICON, 7, 7, 20, 20
+ LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+ COMBOBOX IDC_DETAILSPROPNAME, 7, 36, 238, 165, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+ CONTROL "", IDC_DETAILSPROPVALUE, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER |
+ LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS |
+ LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 58, 238, 155
+END
+
+IDD_DEVICERESOURCES DIALOGEX 0, 0, 252, 218
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "Recursos"
+FONT 8, "MS Shell Dlg"
+BEGIN
+ ICON "", IDC_DEVICON, 7, 7, 20, 20
+ LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+ LTEXT "Definições de recursos:", -1, 7, 36, 204, 8
+ CONTROL "", IDC_DRIVERRESOURCES, "SysListView32", LVS_REPORT |
+ LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING |
+ LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 238, 80
+END
+
+IDD_DEVICEPOWER DIALOGEX 0, 0, 252, 218
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "Alimentação"
+FONT 8, "MS Shell Dlg"
+BEGIN
+ ICON "", IDC_DEVICON, 7, 7, 20, 20
+ LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX
+END
+
+
+
+
+/*
+ This code relates to the device manager GUI
+ */
+
+IDR_MAINMENU MENU
+BEGIN
+ POPUP "&Ficheiro"
+ BEGIN
+ MENUITEM "&Sair", IDC_EXIT
+ END
+ MENUITEM "Acção", IDC_ACTIONMENU
+ POPUP "Vista"
+ BEGIN
+ MENUITEM "Dispositivos por tipo", IDC_DEVBYTYPE
+ MENUITEM "Dispositivos por ligação", IDC_DEVBYCONN
+ MENUITEM "Recursos por tipo", IDC_RESBYTYPE, GRAYED
+ MENUITEM "Recursos por ligação", IDC_RESBYCONN, GRAYED
+ MENUITEM SEPARATOR
+ MENUITEM "Mostrardispositivos ocultos", IDC_SHOWHIDDEN
+ END
+ POPUP "Ajuda"
+ BEGIN
+ MENUITEM "Acerca de", IDC_ABOUT
+ END
+END
+
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_APPNAME "ReactOS Gestor de dispositivos"
+ IDS_CONFIRM_DISABLE "Desativar este dispositivo fará com que pare de funcionar. \r\nDeseja realmente desactivá-lo?"
+ IDS_CONFIRM_UNINSTALL "Aviso: Está prestes a desinstalar este dispositivo do sistema.\r\nDeseja continuar?"
+END
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_MENU_UPDATE "Actualizar software do driver..."
+ IDS_MENU_ENABLE "Habilitar"
+ IDS_MENU_DISABLE "Desabilitar"
+ IDS_MENU_UNINSTALL "Desinstalar"
+ IDS_MENU_SCAN "Verificar alterações de hardware"
+ IDS_MENU_ADD "Adicionar hardware"
+ IDS_MENU_PROPERTIES "Propriedades"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_TOOLTIP_PROPERTIES "Propriedades"
+ IDS_TOOLTIP_SCAN "Verificar alterações de hardware"
+ IDS_TOOLTIP_ENABLE "Habilitar"
+ IDS_TOOLTIP_DISABLE "Desabilitar"
+ IDS_TOOLTIP_UPDATE "Actualizar software do Driver "
+ IDS_TOOLTIP_UNINSTALL "Desinstalar"
+END
+
+/* Hints */
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_HINT_BLANK " "
+ IDS_HINT_PROPERTIES " Abrir caixa de diálogo propriedade para a selecção actual."
+ IDS_HINT_SCAN " Verificar se há novos dispositivos plug and play."
+ IDS_HINT_ENABLE " Habilita o dispositivo seleccionado."
+ IDS_HINT_DISABLE " Desabilita o dispositivo seleccionado."
+ IDS_HINT_UPDATE " Inicia o assistente Atualizar software de driver para o dispositivo seleccionado."
+ IDS_HINT_UNINSTALL " Desinstala o driver para o dispositivo seleccionado."
+ IDS_HINT_ADD " Adiciona um dispositivo legado (não Plug and Play) ao computador."
+ IDS_HINT_ABOUT " Acerca de ReactOS Gestor de dispositivos."
+ IDS_HINT_EXIT " Termina o programa."
+
+ IDS_HINT_DEV_BY_TYPE " Exibe dispositivos por tipo."
+ IDS_HINT_DEV_BY_CONN " Exibe dispositivos por ligação."
+ IDS_HINT_RES_BY_TYPE " Exibe recursos por tipo."
+ IDS_HINT_RES_BY_CONN " Exibe recursos por ligação."
+ IDS_HINT_SHOW_HIDDEN " Exibe dispositivos herdados que não estão instalados."
+
+ IDS_HINT_SYS_RESTORE " Restaura esta janela para o tamanho normal."
+ IDS_HINT_SYS_MOVE " Move esta janela."
+ IDS_HINT_SYS_SIZE " Redimensiona esta janela."
+ IDS_HINT_SYS_MINIMIZE " Minimiza esta janela para um ícone."
+ IDS_HINT_SYS_MAXIMIZE " Expande esta janela para preencher a tela."
+ IDS_HINT_SYS_CLOSE " Fecha esta janela."
+END