As it was mentioned, the MapPhysToLinear function returns the pointer to the linear memory defined by it's physical address and size. You can work with a returned pointer directly or by means of additional functions set which provides physical memory access by bytes, by words or by double words. It's especially useful for Visual Basic programmers as Visual basic has some limitations on working with a pointers directly.
Below is the list of the above mentioned functions:
| UCHAR GetMem (HANDLE hIsa, ULONG LinAddr, ULONG Offset);
|
| USHORT GetMemW (HANDLE hIsa, ULONG LinAddr, ULONG Offset);
|
| ULONG GetMemL (HANDLE hIsa, ULONG LinAddr, ULONG Offset);
|
| void SetMem (HANDLE hIsa, ULONG LinAddr, ULONG Offset, UCHAR bValue);
|
| void SetMemW (HANDLE hIsa, ULONG LinAddr, ULONG Offset, USHORT wValue);
|
| void SetMemL (HANDLE hIsa, ULONG LinAddr, ULONG Offset, ULONG dValue);
|
|