This example shows how to get access to a shared memory object.

#define INCL_DOSMEMMGR   /* DOS Memory Management */
#define INCL_DOSERRORS   /* DOS error values      */
#include <os2.h>
#include <stdio.h>

int main (USHORT argc, PCHAR argv[])
{
   PVOID  pvShrObject = NULL;      /* Pointer to shared memory object      */
   APIRET rc          = NO_ERROR;  /* Return code                          */

   /************************************************************************/
   /* This example assumes that pvShrObject can be initialized here with   */
   /* a pointer to a shared memory object with the OBJ_GETTABLE attribute  */
   /* Normally this would be passed to this program via inter-process      */
   /* communication (IPC) - a pipe, a queue, a semaphore, the file system. */
   /************************************************************************/

   rc = DosGetSharedMem(pvShrObject, PAG_WRITE | PAG_READ);

   if (rc != NO_ERROR) {
      printf("DosGetSharedMem error: return code = %u\n", rc);
      return 1;
   }

   return NO_ERROR;
}


[Back] [Next]