Share via


IOsAxsMem::CopyMemoryByProc (Windows Embedded CE 6.0)

1/5/2010

This method copies memory.

Syntax

HRESULT CopyMemoryByProc(
  DWORD ProcID,
  LINEAR_MEM_MAP_TYPE lmt,
  ADDRESS_TYPE AddressSource,
  ADDRESS_TYPE AddressTarget,
  DWORD dwNbElem,
  BYTE bAccessWidthInBytes
);

Parameters

  • ProcID
    [in] Identifier of the process of interest.
  • 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 and all breakpoints were created.

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 target device.

Remarks

The memory content provided to this function should be cleaned of software breakpoint artifacts and other memory modifications produced by the debugging activity of a driver, probe, or target device.

In general, the driver internal mechanism should be transparent to the client.

Requirements

Header OsAccess.h
Library OSAXSC.lib
Windows Embedded CE Windows CE 5.0 and later

See Also

Reference

IOsAxsMem
IOsAxs Interfaces