IDkmMemoryOperation Interface

Definição

Implementado por monitores de depuração base para fornecer acesso à memória do processo de destino.Implemented by base debug monitors to provide access to the memory of the target process. Essa interface também é implementada por componentes de nível superior para fornecer cache de memória.This interface is also implemented by higher level components to provide memory caching. Os monitores de depuração base são responsáveis por executar a memória e/s, manter uma tabela de gravações invisíveis e fornecer eventos quando a tabela de gravação invisível é atualizada (por meio de DkmProcess. OnInstructionPatchInserted/removido).Base debug monitors are responsible for performing the memory I/O, maintaining a table of invisible writes, and providing events when the invisible write table is updated (via DkmProcess.OnInstructionPatchInserted/Removed).

As implementações dessa interface podem restringir quando são chamadas usando um filtro definido em sua configuração de componente.Implementations of this interface may restrict when they are called using a filter defined in their component configuration. As propriedades a seguir podem ser usadas: BaseDebugMonitorId, Engineid, TransportKind.The following properties may be used: BaseDebugMonitorId, EngineId, TransportKind.

public interface class IDkmMemoryOperation
public interface class IDkmMemoryOperation
__interface IDkmMemoryOperation
public interface IDkmMemoryOperation
type IDkmMemoryOperation = interface
Public Interface IDkmMemoryOperation

Métodos

InvisibleWriteMemory(DkmProcess, UInt64, Byte[])

Grave a memória no processo de destino, mas oculte a gravação de chamadas para ReadMemory.Write memory to the target process, but hide the write from calls to ReadMemory. Essa API pode ser usada para corrigir instruções ou dados dentro do processo de destino para implementar recursos do depurador.This API may be used to patch instructions or data within the target process to implement debugger features. Antes que a transferência de dados ocorra, o sistema verifica se todos os dados no endereço base e na memória do tamanho especificado estão acessíveis para acesso de gravação e, se não estiver acessível, a função gerará um erro de E_INVALID_MEMORY_ADDRESS.Before data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access, and if it is not accessible, the function raises an E_INVALID_MEMORY_ADDRESS error.

ReadMemory(DkmProcess, UInt64, DkmReadMemoryFlags, Byte[])

Leia a memória do processo de destino.Read the memory of the target process.

ReadMemoryString(DkmProcess, UInt64, DkmReadMemoryFlags, UInt16, Int32)

Lê uma cadeia de caracteres terminada em nulo da memória do processo do processo de destino.Reads a null-terminated string from the target process process's memory. Isso pode ser usado para ler cadeias de caracteres ANSI ou Unicode (UTF-8, UTF-16 ou UTF-32).This can be used to read an ANSI or Unicode (UTF-8, UTF-16 or UTF-32) strings.

WriteMemory(DkmProcess, UInt64, Byte[])

Grava a memória no processo de destino.Writes memory to the target process. Antes que a transferência de dados ocorra, o sistema verifica se todos os dados no endereço base e na memória do tamanho especificado estão acessíveis para acesso de gravação e, se não estiver acessível, a função gerará um erro de E_INVALID_MEMORY_ADDRESS.Before data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access, and if it is not accessible, the function raises an E_INVALID_MEMORY_ADDRESS error.

Aplica-se a