IeXdi2Mem::CopyMemoryX (Windows Embedded CE 6.0)
1/5/2010
This method copies a designated block of memory.
Syntax
HRESULT CopyMemoryX(
DWORD dwCpuNum,
LINEAR_MEM_MAP_TYPE lmt,
ADDRESS_TYPE AddressSource,
ADDRESS_TYPE AddressTarget,
DWORD dwNbElem,
BYTE bAccessWidthInBytes
);
Parameters
dwCpuNum
[in] CPU number.This parameter should be 0 if this is not a symmetric multi-processor (SMP). Otherwise, assign dwCpuNum a value between 0 and n-1, where n is the CPU number in the SMP system.
lmt
[in] Linear memory map type.The following memory map types are used by convention:
Value Description LMM_VIRT, 0
Virtual memory
LMM_PHYS, 1
Physical memory
LMM_IO, 2
Peripheral I/O
3 and higher
Free for custom use
- AddressSource
[in]Starting address of the source memory block to be copied on the target device.
- AddressTarget
[in] Starting address of the target memory block to be overwritten on the target device.
dwNbElem
[in]Number of elements of bAccessWidthInBytes to be copied.Note
The server should handle copied blocks of at least 64 KB.
- bAccessWidthInBytes
[in] Data width in bytes, where byte=1, word=2, dword=4, and so on.
Return Value
The following table shows return values for this method.
Value | Description |
---|---|
S_OK |
Indicates the function was successful. |
E_FAIL |
Indicates an unspecified failure. |
E_OUTOFMEMORY |
Indicates an out of memory error. |
E_INVALIDARG |
Indicates one or more invalid arguments. |
EXDI_E_COMMUNICATION |
Indicates a communication error between host driver and debugging target. |
EXDI_E_ACCESSVIOLATION |
Indicates an access violation occurred on at least one element in the address range specified by the operation. |
Remarks
The memory content provided to this function should be sanitized to remove artifacts of software breakpoints or other memory modifications produced by debugging activity in the driver, probe, or target device.
Requirements
Header | eXDI2.h |
Library | ole32.lib, oleaut32.lib |
Windows Embedded CE | Windows CE 5.0 and later |