IOsAxsMem::WriteMemoryByProc (Windows Embedded CE 6.0)
1/5/2010
This method writes block of data to linear memory.
Syntax
HRESULT WriteMemoryByProc(
[in] DWORD ProcID,
[in] LINEAR_MEM_MAP_TYPE lmt,
[in] ADDRESS_TYPE Address,
[in] DWORD dwNbElemToWrite,
[in] BYTE bAccessWidthInBytes,
[in, size_is(dwNbElemToWrite* bAccessWidthInBytes)] const BYTE* pbWriteBuffer,
[out] DWORD* pdwNbElementEffectWritten
);
Parameters
- ProcID
Identifier of the process of interest.
lmt
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
- Address
Starting address of the data buffer to be accessed on the target device.
- dwNbElemToWrite
Number of elements of bAccessWidthInBytes bytes to be accessed.
- bAccessWidthInBytes
Data width in bytes, where byte=1, word=2, dword=4, and so on.
pbWriteBuffer
Buffer where the result of writing is written.This buffer must be at least as large as dwNbElemToWrite.
Note
The server should handle buffers of at least 64 KB.
pdwNbElementEffectWritten
Number of elements effectively written.A client can use this value to speed up a query in case of an access violation (EXDI_E_ACCESSVIOLATION).
If an entire range is not accessible, the returned value should be 0 to avoid making a query of small granularity.
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_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 from 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 |