Search

Asymmetric Map

Related Topics

News & Events

Asymmetric's New Site
Release of HWAccess v1.10

Overview

This section describes the various messages used by HWAccess and external libraries.

Message format follows the standard WIN32 API. The common library included with the SDK, performs all necessary translation so a message arrives with only 2 used arguments. Those are the WPARAM and LPARAM. AM_ messages are send by HWAccess to the DLL. LM_ type messages are send by the DLL to HWAccess request inginformation. The AM_ messages are within the User message range WM_USER to WM_USER+0x0FFF. The LM_ messages are within the User message range WM_USER+0x1000 to WM_USER+0x1FFF. Command messages relate the WPARAM with a command identifier. Most messages relate the LPARAM argument with a structure pointer unless otherwise noted..

AM_ Type Messages

AM_ Type messages are send by HWAccess to the DLL requesting the library to perform an operation. Such operations may include information to update the Parameters and View windows, Configuration Dialog updates as well as initialization and termination of the library. The following table summarizes the AM_ type messages:

AM_DISPATCH_INIT

This is the first message to the DLL to perform initialization. 

AM_DISPATCH_END

This is the last message to the DLL signals a termination request.

AM_PANE_INIT

Request for Parameters window initialization.

AM_PANE_TRACK_MENU

Notification the user did a Mouse right-click operation to one of the DLL entries in the Parameters window.

AM_PANE_FLOAT_HELP

Optional Request to retrieve help information about an item.

AM_VIEW_COLORS

Request to update colors of the DLL controls.

AM_VIEW_SHOW_SIZE

Request to receive the total buffer required for the data transfer operation.

AM_VIEW_SHOW

Request to update the main View buffer with DLL information.

AM_DLG_INIT 

Request for Configuration Dialog initialization.

AM_MENU_TOOL_ENTRIES

Notification for the DLL to add entries in the main menu of HWAccess

AM_ACTIVE_INIT

Request for initialization of active controls

All AM_ type messages are regular function calls to the commondll.lib There the common dispatcher uses a single argument pointer of type PTHREADINFO. When the commondll.lib is integrated with an external library it decodes these function calls to windows messages and dispatches them to the DLL main message loop. With MFC, such a message loop can be implemented in a class derived by CCommonDll in the main class of the external library.

If you decide to interface your library with WIN32 API most of the common library interface description is not applicable.

LM_ Type Messages

LM_ Type messages are send by the DLL to HWAccess requesting the application to perform an operation. Such operations may include H/W access, updates in the Parameters window as well as information about the HWAccess framework. The following table summarizes the LM_ type messages:

LM_EMPTY_QUEUE

Request to empty the message queue where all LM_ type messages are stored

LM_PANE_UPDATE

Request to update the Parameters window

LM_PANE_INSERT_ENTRY

Request to insert an entry for in the Parameters window.

LM_PANE_REMOVE_ENTRY

Request to remove an entry from the Parameters window.

LM_PANE_ITEM_INFO

Request to retrieve information for an entry in the Parameters window

LM_STATUS_UPDATE

Request update of the second status pane.

LM_VIEW_UPDATE

Request to update the main View of HWAccess.

LM_VIEW_DATA

Request to retrieve the current data from the View of HWAccess

LM_VIEW_DATA_SIZE

Request to retrieve the size in bytes used by HWAccess to display the current view in the main View window

LM_VIEW_COLORS

Request to retrieve the Foreground and Background colors used in the main View window.

LM_MENU_REGISTER_ENTRY

Request to register a submenu that contains identifiers with HWAccess

LM_WATCH_ITEM_UPDATE

Request to update the watch value

LM_WATCH_INSERT_ENTRY

Request to insert a watch.

LM_WATCH_REMOVE_ENTRY

Request to remove a watch.

LM_WATCH_ITEM_INFO

Request to retrieve information for a watch.

LM_PORT_READ

Request to read a H/W port.

LM_PORT_WRITE

Request to write to a H/W port

LM_PORT_BUFFER_READ

Request to read a H/W port using a buffer

LM_PORT_BUFFER_WRITE

Request to write to a H/W port using a buffer

LM_PORT_DOUBLE

Request to perform a R/W operation to a H/W port

LM_PORT_BUFFER_MULTI

Request to perform a R/W operation to a H/W port using a buffer.

LM_PORT_MULTI

Request to perform multiple access to a H/W port.

LM_PORT_SAMPLE

Request to sample a H/W port using a buffer

LM_MEMORY_READ

Request to read a range of linear addresses

LM_MEMORY_WRITE

Request to write to a range of linear addresses

LM_MEMORY_MULTI

Request to perform multiple access to a linear address

LM_MEMORY_SAMPLE

Request to sample a linear address.

LM_IA32_MSR_READ

Request to read a model specific register

LM_IA32_MSR_WRITE

Request to write to a model specific register

LM_IA32_CPU_SPEED

Request to calculate the processor speed

LM_IA32_MSR_MULTI

Request to access multiple MSRs for R/W

LM_SYSTEM_SPEED

Request to retrieve system speed information

 

 

(c) 2003-2004 ® . All rights Reserved.