The code around the call in the app: VirtualQuery(shm_ptr, &shm_info, sizeof(MEMORY_BASIC_INFORMATION)); if ( ( shm_info.RegionSize < shmTotalSize ) || ( shm_info.State != MEM_FREE )) { errno = GetLastError(); CR_ERRNOMSG("VirtualQuery"); crWto(UL041E, ipcKey, shm_ptr, 0); CR_RETVAL(NULL); } I don't really know whats in the shm_info structur... but I'll see if I can build some debugging messages into it and try again. Lotsa work :( wcn