Mouse event handling support in ListView.
[mono.git] / docs / embedded-api
index 1fd739ae2ba82eda4fbb23486982cd6fabf74f7d..76f45f8be7319efbb76cf1c51c56fa94fa806e27 100644 (file)
        not interfere with code in other domains.  This is useful if
        you want to host different applications in your program.  
 
        not interfere with code in other domains.  This is useful if
        you want to host different applications in your program.  
 
-       Then you can load an assembly containing code into the domain:
+       Now, it is necessary to transfer control to Mono, and setup
+       the threading infrastructure, you do this like this:
+
+               void *user_data = NULL;
+
+               mono_runtime_exec_managed_code (domain, main_thread_handler, user_data);
+
+       Where your main_thread_handler can load your assembly and execute it:
+
+       static void main_thread_handler (gpointer user_data)
 
                MonoAssembly *assembly;
 
 
                MonoAssembly *assembly;
 
        layer, so in each file where you use pthread.h you should
        include the <gc/gc.h> file.  
 
        layer, so in each file where you use pthread.h you should
        include the <gc/gc.h> file.  
 
+       If you can not do this for any reasons, just remember that you
+       can not store pointers to Mono Objects on the stack, you can
+       store them safely in the heap, or in global variables though
+
 * Exposing C code to the CIL universe
 
        The Mono runtime provides two mechanisms to expose C code to
 * Exposing C code to the CIL universe
 
        The Mono runtime provides two mechanisms to expose C code to