IDkmMemoryOperation Rozhraní

Definice

Implementované základními monitory ladění pro poskytnutí přístupu k paměti cílového procesu.Implemented by base debug monitors to provide access to the memory of the target process. Toto rozhraní je implementováno také pomocí součástí vyšší úrovně k zajištění ukládání do paměti.This interface is also implemented by higher level components to provide memory caching. Základní monitorování ladění zodpovídá za provádění vstupně-výstupních operací paměti, udržování tabulky neviditelného zápisu a poskytování událostí při aktualizaci neviditelné tabulky zápisu (přes DkmProcess. OnInstructionPatchInserted/odebrané).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).

Implementace tohoto rozhraní se můžou omezovat při volání pomocí filtru definovaného ve své konfiguraci součásti.Implementations of this interface may restrict when they are called using a filter defined in their component configuration. Lze použít následující vlastnosti: 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

Metody

InvisibleWriteMemory(DkmProcess, UInt64, Byte[])

Zapište paměť do cílového procesu, ale skryjte zápis z volání do readMemory –.Write memory to the target process, but hide the write from calls to ReadMemory. Toto rozhraní API se dá použít k opravě instrukcí nebo dat v rámci cílového procesu pro implementaci funkcí ladicího programu.This API may be used to patch instructions or data within the target process to implement debugger features. Než dojde k přenosu dat, systém ověří, že všechna data v základní adrese a paměti zadané velikosti jsou přístupná pro zápis, a pokud k ní nelze získat přístup, funkce vyvolá chybu 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[])

Přečtěte si paměť cílového procesu.Read the memory of the target process.

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

Přečte řetězec zakončený hodnotou null z paměti procesu cílového procesu.Reads a null-terminated string from the target process process's memory. Dá se použít ke čtení řetězců ANSI nebo Unicode (UTF-8, UTF-16 nebo UTF-32).This can be used to read an ANSI or Unicode (UTF-8, UTF-16 or UTF-32) strings.

WriteMemory(DkmProcess, UInt64, Byte[])

Zapíše paměť do cílového procesu.Writes memory to the target process. Než dojde k přenosu dat, systém ověří, že všechna data v základní adrese a paměti zadané velikosti jsou přístupná pro zápis, a pokud k ní nelze získat přístup, funkce vyvolá chybu 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.

Platí pro