Interprocess Communication Using Shared Memory (Part 2)

CASE WMP_DOREQUEST:
     Request = (REQUEST *)mp1;                  /* Get memory obj ptrs   */
     Reply = (REPLY *)mp2;
     DosGetSharedMem(&Request,                  /* Obtain access to obj  */
                     PAG_READ);                 /* Allow read access     */
     DosGetSharedMem(&Reply,                    /* Obtain access to obj  */
                     PAG_WRITE |                /* Allow write access    */
                     PAG_READ);                 /* Allow read access     */

     ServiceRequest(Request,Reply);             /* Complete request      */

     WinPostMsg(Request->hRequester,            /* Post msg to requester */
                WMP_REQUESTCOMPLETE,            /* Message class         */
                (MPARAM)Reply,                  /* Ptr to reply struct   */
                (MPARAM)0);

     DosFreeMem(Request);                       /* Free request object   */
     DosFreeMem(Reply);                         /* Free reply object     */
     break;

This example shows a "server" window procedure receiving and processing Presentation Manager messages.


[Back: Interprocess Communication Using Shared Memory (Part 1)]
[Next: Interprocess Communication Using Atoms (Part 1)]