Looked promising, but not quite good enough.  I dedined:


typedef
offset_ptr<class T, std::ptrdiff_t, unsigned long long >my_offset_ptr;
typedef basic_managed_shared_memory
    <
char
    ,rbtree_best_fit<mutex_family, my_offset_ptr>
    ,iset_index>
         compat32_shared_memory;


in the win64 process I do

         compat32_shared_memory segment(create_only, SEGMENT_NAME, SEGMENT_SIZE);
        comm *command = segment.construct<comm>(
"CommandBlock" )();

in the win32 process in do

         compat32_shared_memory segment(open_only, SEGMENT_NAME);
         std::pair<comm *,size_t>com = segment.find<comm>(
"CommandBlock");

the "find" never returns.

The code works fine if both processes are win32 or both are win64
Am I on the right track?