MTP 3 is a connectionless protocol: after an application binds to the MTP 3 layer, it can begin sending data using MTP3SendData. If the call succeeds, but the message is undeliverable, the application receives a status indication. When the message is successfully delivered, no status indication is sent. For more information, refer to Status indications.
The following illustration shows how an application sends data:
Asynchronous notification and polling are two methods for an application to receive incoming data or status indications. Polling requires the application to call MTP3RetrieveMessage to continually check for incoming messages. The application must call this function regularly to avoid excessive queuing of messages in the TX driver or the MTP 3 task. MTP3RetrieveMessage returns MTP3_NO_MSG until a message is available. It returns MTP3_SUCCESS when a message is available.
The following illustration shows the asynchronous notification method of receiving data: