RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Message_RAMTransmit

Programmer's Reference Manuals
» Part 7 - The Desktop
» The Window Manager
» Messages
» Message Codes
» Message_RAMTransmit

Message_RAMTransmit

(Code &7)
Message Block
+20 Pointer to buffer where receiver should put data
+24 Size of buffer

Use

Tasks should send this message in response to receiving a Message_RAMFetch message, and after subsequently writing the data to the given buffer, using Wimp_TransferBlock.

Notes

Since you cannot guarantee that the buffer offered is large enough for all your data, you should keep a record (across Wimp_Polls) of how much data has been transmitted so far.

If the number of bytes written doesn’t fill the buffer, then this will be the last message in the dialoge. You should not expect a reply, sending it as a User_Message.

If the buffer does get filled, then you should send this message as a User_Message_Recorded and expect further Message_RAMFetch messages.

Possible responses from the data-saving tasks:

  • It sends Message_RAMTransmit (data successfully written to specified buffer)
  • It does not reply (memory transfer not supported/error writing data)

Possible responses from the data-loading task:

  • It send another Message_RAMFetch message (request more data)
  • It does not reply (error reading data / transfer finished)

If this message returns unanswered as a User_Message_Acknowledge, then you should abort the data transfer and report an error.

See also

  • Message Codes
  • Message_RAMFetch
  • User_Message_Acknowledge
  • User_Message_Recorded
  • Wimp_Poll
  • Wimp_SendMessage
  • Wimp_TransferBlock
Created on July 3, 2009 20:15:30 by Alan Robertson (52)? (127.0.0.1)
Edit | Views: Print | Source | Linked from: Message Codes, Message_RAMFetch

Search the Wiki

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys