h6. [[Programmer's Reference Manuals]] h6(. » [[Service Calls]] h6((. » Service_PDriverGetMessages h2. Service_PDriverGetMessages h5. (Service &78) |_<^{width:4em}. Entry | | |<^. R1 |<^. 120 (&78)| |_<^{width:4em}. Exit | | |<^. R1-R3 |<^. Preserved to pass on, else| |<^. R1 |<^. 0 (claimed)| |<^. R3 |<^. Pointer to [[Service_PDriverGetMessages Block|block]] (20 bytes in size)| h4. Use This service is issued when a PDriver module is about to open <code>Resources:$.Resources.PDrivers.Messages</code>. h4. Notes If another PDriver module has already opened this file, it should claim the service and return the [[Service_PDriverGetMessages Block|block]] pointed to by R3. If a PDriver module issues this service and it goes unclaimed, it should allocate 20 bytes with [[OS_Module 6]], pass the block to [[MessageTrans_OpenFile]], and set the last word (usage count) to 1. If the service is claimed, then the PDriver module should increase the usage count in the block by 1. Either way, when the PDriver module is finished with the file, it should decrease the usage count in the block by 1. If this reduces the count to 0, it should call [[MessageTrans_CloseFile]] and then [[OS_Module 7]] to free the block. h4. See also * [[MessageTrans_CloseFile]] * [[MessageTrans_OpenFile]] * [[OS_Module 6]] * [[OS_Module 7]] * [[Service Calls]] * [[Service_PDriverGetMessages Block]]