-Returns -filename: Opens the assembly pointed out by this name status: where a status code can be returned
a pointer to the MonoAssembly if filename contains a valid - - assembly or NULL on error. Details about the error are stored in the - status variable.-Remarks - - mono_assembly_open opens the PE-image pointed by filename, and - loads any external assemblies referenced by it. - - -
-Remarks - - This method releases a reference to the assembly. The assembly is - only released when all the outstanding references to it are released. - -assembly: the assembly to release.
-Returns -aname: A MonoAssemblyName with the assembly name to load. basedir: A directory to look up the assembly at. status: a pointer to a MonoImageOpenStatus to return the status of the load operation
the assembly referenced by aname loaded or NULL on error. On error the - - value pointed by status is updated with an error code.-Remarks - - Loads the assembly referenced by aname, if the value of basedir is not NULL, it - attempts to load the assembly from that directory before probing the standard locations. - - -
-Returns -aname: A MonoAssemblyName with the assembly name to load. basedir: A directory to look up the assembly at. status: a pointer to a MonoImageOpenStatus to return the status of the load operation refonly: Whether this assembly is being opened in "reflection-only" mode.
the assembly referenced by aname loaded or NULL on error. On error the - - value pointed by status is updated with an error code.-Remarks - - Loads the assembly referenced by aname, if the value of basedir is not NULL, it - attempts to load the assembly from that directory before probing the standard locations. - - If the assembly is being opened in reflection-only mode (refonly set to TRUE) then no - assembly binding takes place. - - -
-Returns -aname: an assembly to look for.
NULL If the given aname assembly has not been loaded, or a pointer to - - a MonoAssembly that matches the MonoAssemblyName specified.- -
-Returns -assembly: The assembly to retrieve the image from
the MonoImage associated with this assembly. -- -
the assembly for the application, the first assembly that is loaded by the VM -- -
a string with the directory, this string should not be freed. --Remarks - - - Obtains the root directory used for looking up assemblies. - - - -
-Remarks - - - Frees the provided assembly name object. - (it does not frees the object itself, only the name members). - -aname: assembly name to free
-Returns -aname: the assembly name.
a newly allocated string with a string representation of - - the assembly name.-Remarks - - Convert aname into its string format. The returned string is dynamically - allocated and should be freed by the caller. - - -
-Returns -l: first assembly r: second assembly.
TRUE if both assembly names are equal. --Remarks - - Compares two MonoAssemblyNames and returns whether they are equal. - - This compares the names, the cultures, the release version and their - public tokens. - - - -
-Returns -klass:
the number of bytes an element of type klass - - uses when stored into an array.- -
-Returns -klass: a class
the size of the static class data --Remarks - - - -
-Returns -klass: the MonoClass to act on
the underlying type representation for an enumeration. -- -
-Remarks - - Obtains a MonoClass with a given namespace and a given name which - is located in the given MonoImage. The namespace and name - lookups are case insensitive. - -image: The MonoImage where the type is looked up in name_space: the type namespace name: the type short name. deprecated: use the _checked variant
-Remarks - - Obtains a MonoClass with a given namespace and a given name which - is located in the given MonoImage. - - To reference nested classes, use the "/" character as a separator. - For example use "Foo/Bar" to reference the class Bar that is nested - inside Foo, like this: "class Foo { class Bar {} }". - -image: The MonoImage where the type is looked up in name_space: the type namespace name: the type short name.
-Remarks - - - - -klass: the MonoClass to act on
-Returns -klass: the MonoClass to act on
the element class of an array or an enumeration. -- -
-Returns -klass: the MonoClass to act on
a MonoEvent* on each invocation, or NULL when no more are available. --Remarks - - This routine is an iterator routine for retrieving the properties in a class. - - You must pass a gpointer that points to zero and is treated as an opaque handle to - iterate over all of the elements. When no more values are - available, the return value is NULL. - - -
-Returns -klass: the class to lookup the field. name: the field name
the MonoClassField pointer of the named field or NULL --Remarks - - Search the class klass and it's parents for a field with the name name. - - - -
-Returns -class: the class to lookup the field. field_token: the field token
A MonoClassField representing the type and offset of - - the field, or a NULL value if the field does not belong to this - class.- -
-Returns -klass: the MonoClass to act on
a MonoClassField* on each iteration, or NULL when no more fields are available. --Remarks - - This routine is an iterator routine for retrieving the fields in a class. - - You must pass a gpointer that points to zero and is treated as an opaque handle to - iterate over all of the elements. When no more values are - available, the return value is NULL. - - -
-Returns -field: the field we need the token of
the token representing the field in the image it was loaded from. --Remarks - - Get the token of a field. Note that the tokesn is only valid for the image - the field was loaded from. Don't use this function for fields in dynamic types. - - - -
-Returns -klass: the MonoClass to act on
the flags from the TypeDef table. --Remarks - - The type flags from the TypeDef table from the metadata. - see the TYPE_ATTRIBUTE_* definitions on tabledefs.h for the - different values. - - -
-Returns -image: the image where the class resides type_token: the token for the class context: the generic context used to evaluate generic instantiations in deprecated: Functions that expose MonoGenericContext are going away in mono 4.0
the MonoClass that represents type_token in image -- -
-Returns -klass: the MonoClass to act on
a Monoclass* on each invocation, or NULL when no more are available. --Remarks - - This routine is an iterator routine for retrieving the interfaces implemented by this class. - - You must pass a gpointer that points to zero and is treated as an opaque handle to - iterate over all of the elements. When no more values are - available, the return value is NULL. - - -
-Remarks - - Obtains a MonoMethod with a given name and number of parameters. - It only works if there are no multiple signatures for any given method name. - -klass: where to look for the method name: name of the method param_count: number of parameters. -1 for any number.
-Returns -klass: the MonoClass to act on
a MonoMethod on each iteration or NULL when no more methods are available. --Remarks - - This routine is an iterator routine for retrieving the fields in a class. - - You must pass a gpointer that points to zero and is treated as an opaque handle to - iterate over all of the elements. When no more values are - available, the return value is NULL. - - -
-Returns -klass: the MonoClass to act on
the name of the class. -- -
-Returns -klass: the MonoClass to act on
the namespace of the class. -- -
-Returns -klass: the MonoClass to act on
a Monoclass* on each invocation, or NULL when no more are available. --Remarks - - This routine is an iterator routine for retrieving the nested types of a class. - This works only if klass is non-generic, or a generic type definition. - - You must pass a gpointer that points to zero and is treated as an opaque handle to - iterate over all of the elements. When no more values are - available, the return value is NULL. - - -
-Returns -klass: the MonoClass to act on
the parent class for this class. -- -
-Returns -klass: the MonoClass to act on
a MonoProperty* on each invocation, or NULL when no more are available. --Remarks - - This routine is an iterator routine for retrieving the properties in a class. - - You must pass a gpointer that points to zero and is treated as an opaque handle to - iterate over all of the elements. When no more values are - available, the return value is NULL. - - -
-Returns -klass: the MonoClass to act on
the rank for the array (the number of dimensions). -- -
-Returns -klass: the MonoClass to act on
the MonoType from the class. --Remarks - - This method returns the internal Type representation for the class. - - -
-Remarks - - Compute the instance_size, class_size and other infos that cannot be - computed at mono_class_get() time. Also compute vtable_size if possible. - Returns TRUE on success or FALSE if there was a problem in loading - the type (incorrect assemblies, missing assemblies, methods, etc). - - LOCKING: Acquires the loader lock. - -class: the class to initialize
-Returns -klass: a class
the size of an object instance --Remarks - - - -
-Returns -klass: the class to be assigned to oklass: the source class
true if an instance of object oklass can be assigned to an - - instance of object klass- -
-Returns -klass: the MonoClass to act on
true if the MonoClass represents an enumeration. -- -
-Remarks - - This method determines whether klass is a subclass of klassc. - - If the check_interfaces flag is set, then if klassc is an interface - this method return true if the klass implements the interface or - if klass is an interface, if one of its base classes is klass. - - If check_interfaces is false then, then if klass is not an interface - then it returns true if the klass is a subclass of klassc. - - if klass is an interface and klassc is System.Object, then this function - return true. - - -klass: class to probe if it is a subclass of another one klassc: the class we suspect is the base class check_interfaces: whether we should perform interface checks
-Returns -klass: the MonoClass to act on
true if the MonoClass represents a ValueType. -- -
-Returns -klass: a class
minimm alignment requirements --Remarks - - - -
-Returns -klass: the MonoClass to act on
the number of events in the class. -- -
-Returns -klass: the MonoClass to act on
the number of static and instance fields in the class. -- -
-Returns -klass: the MonoClass to act on
the number of methods in the class. -- -
-Returns -klass: the MonoClass to act on
the number of properties in the class. -- -
-Returns -klass: a class
the size of a value of kind klass --Remarks - - This function is used for value types, and return the - space and the alignment to store that kind of value object. - - -
-Remarks - - VTables are domain specific because we create domain specific code, and - they contain the domain specific static class data. - On failure, NULL is returned, and class->exception_type is set. - -domain: the application domain class: the class to initialize
-Remarks - - Obtains a MonoMethod with a given name and number of parameters. - It only works if there are no multiple signatures for any given method name. - -klass: where to look for the method name_space: name of the method param_count: number of parameters. -1 for any number. flags: flags which must be set in the method
-Remarks - - If we reserved too much room for a method and we didn't allocate - already from the code manager, we can get back the excess allocation - for later use in the code manager. - -cman: a code manager data: the pointer returned by mono_code_manager_reserve () size: the size requested in the call to mono_code_manager_reserve () newsize: the new size to reserve
-Remarks - - Free all the memory associated with the code manager cman. - -cman: a code manager
-Remarks - - Invokes the callback func for each different chunk of memory allocated - in the code manager cman. - -cman: a code manager func: a callback function pointer user_data: additional data to pass to func
-Remarks - - Fill all the memory with an invalid native code value - so that any attempt to execute code allocated in the code - manager cman will fail. This is used for debugging purposes. - -cman: a code manager
the new code manager --Remarks - - Creates a new code manager suitable for holding native code that can be - used for single or small methods that need to be deallocated independently - of other native code. - - -
the new code manager --Remarks - - Creates a new code manager. A code manager can be used to allocate memory - suitable for storing native code that can be later executed. - A code manager allocates memory from the operating system in large chunks - (typically 64KB in size) so that many methods can be allocated inside them - close together, improving cache locality. - - -
- MONO_COUNTER_INT - MONO_COUNTER_UINT - MONO_COUNTER_WORD - MONO_COUNTER_LONG - MONO_COUNTER_ULONG - MONO_COUNTER_DOUBLE - MONO_COUNTER_STRING -- - To organize the output, you register also a section where - the counter will be displayed, or one of the following values - when you register your counter: - -
- - MONO_COUNTER_JIT - MONO_COUNTER_GC - MONO_COUNTER_METADATA - MONO_COUNTER_GENERICS - MONO_COUNTER_SECURITY -- - -
-Remarks - - Displays the counts of all the enabled counters registered. - To filter by variance, you can OR one or more variance with the specific section you want. - Use MONO_COUNTER_SECTION_MASK to dump all categories of a specific variance. - -section_mask: The sections to dump counters for outfile: a FILE to dump the results to
-Remarks - - This is used to track which counters will be displayed. - -section_mask: a mask listing the sections that will be displayed
-Remarks - converts a decimal to an Int64 without rounding - -pA: pResult:
-Remarks - - fixme: maybe we should integrate this with mono_assembly_open ?? - -domain: the application domain name: file name of the assembly
-Returns -domain: the domain to finalize timeout: msects to wait for the finalization to complete, -1 to wait indefinitely
TRUE if succeeded, FALSE if there was a timeout --Remarks - - Request finalization of all finalizable objects inside domain. Wait - timeout msecs for the finalization to complete. - - -
-Returns -domainid: the ID
the a domain for a specific domain id. -- -
the current domain, to obtain the root domain use - - mono_get_root_domain().- -
-Remarks - - Returns true if the AppDomain.TypeResolve field has been - set. - -domain: application domains being looked up
-Remarks - - Sets the current domain to domain. - -domain: the new domain
-Returns -domain: domain force: force setting.
- - TRUE on success; - FALSE if the domain is unloaded-Remarks - - Set the current appdomain to domain. If force is set, set it even - if it is being unloaded. - - -
-Returns -domain: application domainwhere the name where the type is going to be resolved name: the name of the type to resolve or NULL. tb: A System.Reflection.Emit.TypeBuilder, used if name is NULL.
A MonoReflectionAssembly or NULL if not found --Remarks - - This routine invokes the internal System.AppDomain.DoTypeResolve and returns - the assembly that matches name. - - If name is null, the value of ((TypeBuilder)tb).FullName is used instead - - -
-MonoMethod *adder () -{ - MonoMethodBuilder *mb; - MonoMethodSignature *sig; - MonoMethod *method; - - mb = mono_mb_new (mono_defaults.object_class, "adder", MONO_WRAPPER_NONE); - - /* Setup method signature */ - sig = mono_metadata_signature_alloc (2); - sig->ret = &mono_get_int32_class ()->byval_arg; - sig->params [0] = &mono_get_int32_class ()->byval_arg; - sig->params [1] = &mono_defaults.int32_class->byval_arg; - - /* Emit CIL code */ - mono_mb_emit_ldarg (mb, 0); - mono_mb_emit_ldarg (mb, 1); - mono_mb_emit_byte (mb, CEE_ADD); - mono_mb_emit_byte (mb, CEE_RET); - - /* Get the method */ - method = mono_mb_create_method (mb, sig, max_stack); - - /* Cleanup */ - mono_mb-free (mb); - return method; -} -- - -
- MONO_WRAPPER_NONE - MONO_WRAPPER_DELEGATE_INVOKE - MONO_WRAPPER_DELEGATE_BEGIN_INVOKE - MONO_WRAPPER_DELEGATE_END_INVOKE - MONO_WRAPPER_RUNTIME_INVOKE - MONO_WRAPPER_NATIVE_TO_MANAGED - MONO_WRAPPER_MANAGED_TO_NATIVE - MONO_WRAPPER_REMOTING_INVOKE - MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK - MONO_WRAPPER_XDOMAIN_INVOKE - MONO_WRAPPER_XDOMAIN_DISPATCH - MONO_WRAPPER_LDFLD - MONO_WRAPPER_STFLD - MONO_WRAPPER_LDFLD_REMOTE - MONO_WRAPPER_STFLD_REMOTE - MONO_WRAPPER_SYNCHRONIZED - MONO_WRAPPER_DYNAMIC_METHOD - MONO_WRAPPER_ISINST - MONO_WRAPPER_CASTCLASS - MONO_WRAPPER_PROXY_ISINST - MONO_WRAPPER_STELEMREF - MONO_WRAPPER_UNBOX - MONO_WRAPPER_LDFLDA - MONO_WRAPPER_UNKNOWN -- -
the newly created method. - --Remarks - - Create a MonoMethod from this method builder. - -
-int main (int argc, char *argv) -{ - /* - * Load the default Mono configuration file, this is needed - * if you are planning on using the dllmaps defined on the - * system configuration - */ - mono_config_parse (NULL); - - /* - * mono_jit_init() creates a domain: each assembly is - * loaded and run in a MonoDomain. - */ - MonoDomain *domain = mono_jit_init ("startup.exe"); - - /* - * Optionally, add an internal call that your startup.exe - * code can call, this will bridge startup.exe to Mono - */ - mono_add_internal_call ("Sample::GetMessage", getMessage); - - /* - * Open the executable, and run the Main method declared - * in the executable - */ - MonoAssembly *assembly = mono_domain_assembly_open (domain, "startup.exe"); - - if (!assembly) - exit (2); - /* - * mono_jit_exec() will run the Main() method in the assembly. - * The return value needs to be looked up from - * System.Environment.ExitCode. - */ - mono_jit_exec (domain, assembly, argc, argv); -} - -/* The C# signature for this method is: string GetMessage () in class Sample */ -MonoString* -getMessage () -{ - return mono_string_new (mono_domain_get (), "Hello, world"); -} -- - -
-Remarks - - Start execution of a program. - -assembly: reference to an assembly argc: argument count argv: argument vector
-Remarks - - This routine is used internally and by developers embedding - the runtime into their own applications. - - There are a number of cases to consider: Mono as a system-installed - package that is available on the location preconfigured or Mono in - a relocated location. - - If you are using a system-installed Mono, you can pass NULL - to both parameters. If you are not, you should compute both - directory values and call this routine. - - The values for a given PREFIX are: - - assembly_dir: PREFIX/lib - config_dir: PREFIX/etc - - Notice that embedders that use Mono in a relocated way must - compute the location at runtime, as they will be in control - of where Mono is installed. - -assembly_dir: the base directory for assemblies config_dir: the base directory for configuration files
-Remarks - - Launches the Mono JIT engine and parses all the command line options - in the same way that the mono command line VM would. - -argc: number of arguments in the argv array argv: array of strings containing the startup arguments
- [DllImport ("opengl")] - void glBegin (GLEnum mode) -- - Mono extends P/Invoke to support looking up symbols not in - an external library, but looking up those symbols into the - same address space as your program, to do this, use the - special library name "__Internal". This will direct Mono to - lookup the method in your own process. - - There are situations where the host operating system does - not support looking up symbols on the process address space. - For situations like this you can use - the mono_dl_register_library. - -
-Remarks - - Pass a NULL filename to parse the default config files - (or the file in the MONO_CONFIG env var). - -filename: the filename to load the configuration variables from.
-Remarks - - Parses the configuration from a buffer - -buffer: a pointer to an string XML representation of the configuration
-Remarks - - Launch a new thread to execute a function - - main_func is called back from the thread with main_args as the - parameter. The callback function is expected to start Main() - eventually. This function then waits for all managed threads to - finish. - It is not necesseray anymore to execute managed code in a subthread, - so this function should not be used anymore by default: just - execute the code and then call mono_thread_manage (). - -domain: Application domain main_func: function to invoke from the execution thread main_args: parameter to the main_func
-Returns -domain_name: name to give to the initial domain filename: filename to load on startup
the initial domain. --Remarks - - Used by the runtime, users should use mono_jit_init instead. - - Creates the initial application domain and initializes the mono_defaults - structure. - This function is guaranteed to not run any IL code. - The runtime is initialized using the runtime version required by the - provided executable. The version is determined by looking at the exe - configuration file and the version PE field) - - -
the initial domain. --Remarks - - - Creates the initial application domain and initializes the mono_defaults - structure. - This function is guaranteed to not run any IL code. - The runtime is initialized using the default runtime version. - - -
-Remarks - - Signal the runtime that the exception ex has been raised in unmanaged code. - -ex: exception object
-Remarks - - This is a VM internal routine. - - We call this function when we detect an unhandled exception - in the default domain. - - It invokes the * UnhandledException event in AppDomain or prints - a warning to the console - -exc: exception thrown
-Remarks - - Prints the unhandled exception. - - - -exc: The exception
-Returns -domain: Domain where the return object will be created. image: the Mono image where to look for the class name_space: the namespace for the class name: class name
the initialized exception instance. --Remarks - - Creates an exception object of the given namespace/name class on - the given domain. - - -
-Returns -image: the Mono image where to look for the class name_space: the namespace for the class name: class name
the initialized exception instance. --Remarks - - Creates an exception of the given namespace/name class in the - current domain. - - -
-Returns -image: the Mono image where to look for the class name_space: the namespace for the class name: class name msg: the message to embed inside the exception
the initialized exception instance. --Remarks - - Creates an exception and initializes its message field. - - -
-Returns -image: the Mono image where to look for the class name_space: the namespace for the class name: class name a1: first string argument to pass a2: second string argument to pass
the initialized exception instance. --Remarks - - Creates an exception from a constructor that takes two string - arguments. - - - -
a new instance of the System.AppDomainUnloadedException -- -
-Returns -arg: the name of the invalid argument.
a new instance of the System.ArgumentException -- -
-Returns -arg: the name of the argument that is null
a new instance of the System.ArgumentNullException -- -
-Returns -arg: the name of the out of range argument.
a new instance of the System.ArgumentOutOfRangeException -- -
a new instance of the System.ArithmeticException. -- -
a new instance of the System.ArrayTypeMismatchException -- -
-Returns -msg: an informative message for the user.
a new instance of the System.BadImageFormatException -- -
-Returns -inner: the inner exception.
a new instance of the System.CannotUnloadAppDomainException -- -
a new instance of the System.DivideByZeroException -- -
-Returns -msg: the message to pass to the user
a new instance of the System.ExecutionEngineException -- -
-Returns -msg: an informative message for the user. fname: the name of the file not found.
a new instance of the System.IO.FileNotFoundException -- -
-Returns -fname: the name of the file not found.
a new instance of the System.IO.FileNotFoundException -- -
a new instance of the System.IndexOutOfRangeException -- -
a new instance of the System.InvalidCastException -- -
-Returns -msg: the message to present to the user
a new instance of the System.IO.IOException -- -
-Returns -class_name: the class where the lookup was performed. member_name: the name of the missing method.
a new instance of the System.MissingMethodException -- -
-Returns -msg: the message to pass to the user
a new instance of the System.NotImplementedException -- -
a new instance of the System.NullReferenceException -- -
a new instance of the System.OverflowException -- -
a new instance of the System.Security.SecurityException -- -
-Returns -msg: the message to pass to the user
a new instance of the System.Runtime.Serialization.SerializationException -- -
a new instance of the System.StackOverflowException -- -
-Returns -inner: the inner exception.
a new instance of the System.SynchronizationLockException -- -
a new instance of the System.Threading.ThreadAbortException. -- -
-Returns -msg: the message to present to the user
a new instance of the System.Threading.ThreadStateException -- -
-Returns -type_name: the name of the type that failed to initialize. inner: the inner exception.
a new instance of the System.TypeInitializationException -- -
-Returns -class_name: the name of the class that could not be loaded assembly_name: the assembly where the class was looked up.
a new instance of the System.TypeLoadException. -- -
-Returns -msg: the message to pass to the user
a new instance of the System.InvalidOperationException -- -
-Returns -class_name: the class where the lookup was performed member_name: the name of the missing method.
a new instance of the System.MissingFieldException -- -
-Returns -msg: the message to pass to the user
a new instance of the System.NotSupportedException -- -
-Remarks - - Perform a garbage collection for the given generation, higher numbers - mean usually older objects. Collecting a high-numbered generation - implies collecting also the lower-numbered generations. - The maximum value for generation can be retrieved with a call to - mono_gc_max_generation(), so this function is usually called as: - - mono_gc_collect (mono_gc_max_generation ()); - -generation: GC generation identifier
the maximum generation number. --Remarks - - Get the maximum generation number used by the current garbage - collector. The value will be 0 for the Boehm collector, 1 or more - for the generational collectors. - - -
the size of the heap in bytes --Remarks - - Get the amount of memory used by the garbage collector. - - -
-Returns -obj: managed object to get a handle for pinned: whether the object should be pinned
a handle that can be used to access the object from - - unmanaged code.-Remarks - - This returns a handle that wraps the object, this is used to keep a - reference to a managed object from the unmanaged world and preventing the - object from being disposed. - - - If pinned is false the address of the object can not be obtained, if it is - true the address of the object can be obtained. This will also pin the - object so it will not be possible by a moving garbage collector to move the - object. - - - -
-Returns -obj: managed object to get a handle for pinned: whether the object should be pinned
a handle that can be used to access the object from - - unmanaged code.-Remarks - - This returns a weak handle that wraps the object, this is used to - keep a reference to a managed object from the unmanaged world. - Unlike the mono_gchandle_new the object can be reclaimed by the - garbage collector. In this case the value of the GCHandle will be - set to zero. - - - If pinned is false the address of the object can not be obtained, if it is - true the address of the object can be obtained. This will also pin the - object so it will not be possible by a moving garbage collector to move the - object. - - - -
-Remarks - - The handle was previously created by calling mono_gchandle_new or - mono_gchandle_new_weakref. - - Returns a pointer to the MonoObject represented by the handle or - NULL for a collected object if using a weakref handle. - -gchandle: a GCHandle's handle.
-Returns -fname: filename that points to the module we want to open status: An error condition is returned in this field
An open image of type %MonoImage or NULL on error. - - The caller holds a temporary reference to the returned image which should be cleared - when no longer needed by calling mono_image_close (). - if NULL, then check the value of status for details on the error- -
-Remarks - - Closes an image file, deallocates all memory consumed and - unmaps all possible sections of the file - -image: The image file we wish to close
-Remarks - - Increases the reference count of an image. - -image: The image file we wish to add a reference to
-Returns -image: the MonoImage.
the assembly that holds this image. --Remarks - - Use this routine to get the assembly that owns this image. - - -
-Returns -image: the image where the entry point will be looked up.
the token for the entry point method in the image --Remarks - - Use this routine to determine the metadata token for method that - has been flagged as the entry point. - - -
-Returns -image: a MonoImage
the filename. --Remarks - - Used to get the filename that hold the actual MonoImage - - -
-Returns -name: a MonoImage
the name of the assembly. -- -
-Returns -image: the image where the resource will be looked up. offset: The offset to add to the resource size: a pointer to an int where the size of the resource will be stored
the pointer to the resource whose offset is offset. --Remarks - - This is a low-level routine that fetches a resource from the - metadata that starts at a given offset. The size parameter is - filled with the data field as encoded in the metadata. - - -
-Returns -image: the MonoImage
TRUE if the image was created dynamically, FALSE if not. --Remarks - - Determines if the given image was created dynamically through the - System.Reflection.Emit API - - -
-Returns -name: name of the image to load
the loaded MonoImage, or NULL on failure. --Remarks - - This routine ensures that the given image is loaded. - - -
-Returns -image: the image to look up the resource in res_id: A MONO_PE_RESOURCE_ID_ that represents the resource ID to lookup. lang_id: The language id. name: the resource name to lookup.
NULL if not found, otherwise a pointer to the in-memory representation - - of the given resource. The caller should free it using g_free () when no longer - needed.- -
-Returns -status: an code indicating the result from a recent operation
a string describing the error -- - -
-Returns -image: a MonoImage size: a guint32 pointer, or NULL.
the position within the image file where the strong name - - is stored.-Remarks - - If the image has a strong name, and size is not NULL, the value - pointed to by size will have the size of the strong name. - - -
-Returns -image: a MonoImage size: a guint32 pointer, or NULL.
NULL if the image does not have a public key, or a pointer - - to the public key.-Remarks - - This is used to obtain the public key in the image. - - - If the image has a public key, and size is not NULL, the value - pointed to by size will have the size of the public key. - - - -
-Returns -image: a MonoImage size: a guint32 pointer, or NULL.
NULL if the image does not have a strong name, or a - - pointer to the public key.-Remarks - - If the image has a strong name, and size is not NULL, the value - pointed to by size will have the size of the strong name. - - -
-Returns -image: the MonoImage
TRUE if the image contains an authenticode entry in the PE - - directory.-Remarks - - Use this routine to determine if the image has a Authenticode - Certificate Table. - - - -
-Returns -image: The image we are operating on section: section number that we will load/map into memory
TRUE on success --Remarks - - This routine makes sure that we have an in-memory copy of - an image section (.text, .rsrc, .data). - - -
-Remarks - - generates IL code for the pinvoke wrapper (the generated method - calls the unmanaged code in piinfo->addr) - The wrapper info for the wrapper is a WrapperInfo structure. - -method: The MonoMethod to wrap. check_exceptions: Whenever to check for pending exceptions
-Remarks - - generates IL code for PtrToStructure (IntPtr src, object structure) - The wrapper info for the wrapper is a WrapperInfo structure. - -klass:
-Remarks - - generates IL code for StructureToPtr (object structure, IntPtr ptr, bool fDeleteOld) - The wrapper info for the wrapper is a WrapperInfo structure. - -klass:
-Remarks - - This turns a MonoLoaderError into an exception that can be thrown - and resets the Mono Loader Error state during this process. - - - -error: The MonoLoaderError to turn into an exception
-Remarks - - In Mono objects are finalized asynchronously on a separate thread. - This routine tests whether the thread argument represents the - finalization thread. - - - Returns true if thread is the finalization thread. - -thread: the thread to test.
-Returns -ip: an instruction pointer address
the name of the method at address ip. --Remarks - - This method is used from a debugger to get the name of the - method at address ip. This routine is typically invoked from - a debugger like this: - - (gdb) print mono_pmip ($pc) - - -
-Remarks - - This method is used from a debugger to get the name of the - method at address ip. - - This prints the name of the method at address ip in the standard - output. Unlike mono_pmip which returns a string, this routine - prints the value on the standard output. - -ip: an instruction pointer address
-Remarks - - Invoke this method to initialize the profiler. This will drive the - loading of the internal ("default") or any external profilers. - - This routine is invoked by Mono's driver, but must be called manually - if you embed Mono into your application. - -desc: arguments to configure the profiler
-Returns -meta: metadata context index: index into the guid heap.
an in-memory pointer to the index in the guid heap. -- -
-Returns -meta: metadata context index: index into the string heap.
an in-memory pointer to the index in the string heap. -- -
-Returns -meta: metadata context index: index into the blob.
an in-memory pointer to the index in the Blob heap. -- -
-Returns -meta: metadata context index: index into the user string heap.
an in-memory pointer to the index in the user string heap ("US"). -- -
-Returns -ptr: pointer to a blob object rptr: the new position of the pointer
the size of the blob object --Remarks - - This decodes a compressed size as described by 23.1.4 (a blob or user string object) - - - - -
- ECMA CLI Table Name - | -- C Constant Name - | -- Table Schema (Array Size + Columns Constants) - | - -Assembly | MONO_TABLE_ASSEMBLY |
-Array size:
-MONO_ASSEMBLY_SIZE
-
|
-
-
-AssemblyOS | MONO_TABLE_ASSEMBLYOS |
-Array size:
-MONO_ASSEMBLYOS_SIZE
-
|
-
-
-AssemblyProcessor | MONO_TABLE_ASSEMBLYPROCESSOR | Array
-size: MONO_ASSEMBLYPROCESSOR_SIZE
-
|
-
-
-AssemblyRef | MONO_TABLE_ASSEMBLYREF |
-Array size:
-MONO_ASSEMBLYREF_SIZE
-
|
-
-
-AssemblyRefProcessor | MONO_TABLE_ASSEMBLYREFPROCESSOR | Array
-size: MONO_ASSEMBLYREFPROC_SIZE
-
|
-
-
-AssemblyRefOS | MONO_TABLE_ASSEMBLYREFOS |
-Array size:
-
|
-
-
-ClassLayout | MONO_TABLE_CLASSLAYOUT |
-Array size:
-MONO_CLASSLAYOUT_SIZE
-
|
-
-
-Constant | MONO_TABLE_CONSTANT |
-Array size:
-MONO_CONSTANT_SIZE
-
|
-
-
-CustomAttribute | MONO_TABLE_CUSTOMATTRIBUTE |
-Array size:
-MONO_CUSTOM_ATTR_SIZE
-
|
-
-
-DeclSecurity | MONO_TABLE_DECLSECURITY |
-Array size:
-MONO_DECL_SECURITY_SIZE
-
|
-
-
-EventMap | MONO_TABLE_EVENTMAP |
-Array size:
-MONO_EVENT_MAP_SIZE
-
|
-
-
-EventPtr | MONO_TABLE_EVENT_POINTER |
-Array size:
-MONO_EVENT_POINTER_SIZE
-
|
-
-
-Event | MONO_TABLE_EVENT |
-Array size: MONO_EVENT_SIZE
-
|
-
-
-ExportedType | MONO_TABLE_EXPORTEDTYPE |
-Array size:
-MONO_EXPORTEDTYPE_SIZE
-
|
-
-
-Field | MONO_TABLE_FIELD |
-Array size: MONO_FIELD_SIZE
-
|
-
-
-FieldLayoutt | MONO_TABLE_FIELDLAYOUT |
-Array size:
-MONO_FIELDLAYOUT_SIZE
-
|
-
-
-FieldMarshal | MONO_TABLE_FIELDMARSHAL |
-Array size:
-MONO_FIELD_MARSHAL_SIZE
-
|
-
-
-FieldPtr | MONO_TABLE_FIELD_POINTER |
-Array size:
-MONO_FIELD_POINTER_SIZE
-
|
-
-
-FieldRVA | MONO_TABLE_FIELDRVA |
-Array size:
-MONO_FIELDRVA_SIZE
-
|
-
-
-File | MONO_TABLE_FILE |
-Array size: MONO_FILE_SIZE
-
|
-
-
-GenericParam | MONO_TABLE_GENERICPARAM |
-Array size:
-MONO_GENERICPARAM_SIZE
-
|
-
-
-GenericParamConstraint | MONO_TABLE_GENERICPARAMCONSTRAINT | Array
-size: MONO_GENERICPARAMCONSTRAINT_SIZE
-
|
-
-
ImplMap | MONO_TABLE_IMPLMAP |
-Array size:
-MONO_IMPLMAP_SIZE
-
|
-InterfaceImpl | MONO_TABLE_INTERFACEIMPL |
-Array size:
-
|
-
-
-
-ManifestResource | MONO_TABLE_MANIFESTRESOURCE | Array
-size: MONO_MANIFESTRESOURCE_SIZE
-
|
-
-
-
MemberRef | MONO_TABLE_MEMBERREF |
-Array size:
-MONO_MEMBERREF_SIZE
-
|
-MethodImpl | MONO_TABLE_METHODIMPL |
-Array size:
-MONO_METHODIMPL_SIZE
-
|
-
-
-
-MethodSpec | MONO_TABLE_METHODSPEC |
-Array size:
-MONO_METHODSPEC_SIZE
-
|
-
-
MethodSemantics | MONO_TABLE_METHODSEMANTICS | Array
-size: MONO_METHOD_SEMA_SIZE
-
|
-Moduleref | MONO_TABLE_MODULEREF |
-Array size:
-MONO_MODULEREF_SIZE
-
|
-
-
-
Module | MONO_TABLE_MODULE |
-Array size:
-MONO_MODULE_SIZE
- -Columns: -
|
-TypeRef | MONO_TABLE_TYPEREF |
-Array size:
-MONO_TYPEREF_SIZE
-
|
-
-
-
MethodPtr | MONO_TABLE_METHOD_POINTER |
-Array size:
-MONO_METHOD_POINTER_SIZE
-
|
-Method | MONO_TABLE_METHOD |
-Array size:
-MONO_METHOD_SIZE
-
|
-
-
-
NestedClass | MONO_TABLE_NESTEDCLASS |
-Array size:
-MONO_NESTEDCLASS_SIZE
-
|
-
ParamPtr | MONO_TABLE_PARAM_POINTER |
-Array size:
-MONO_PARAM_POINTER_SIZE
-
|
-Param | MONO_TABLE_PARAM |
-Array size: MONO_PARAM_SIZE
-
|
-
-
-PropertyMap | MONO_TABLE_PROPERTYMAP |
-Array size:
-MONO_PROPERTY_MAP_SIZE
-
|
-
-
-PropertyPtr | MONO_TABLE_PROPERTY_POINTER | Array
-size: MONO_PROPERTY_POINTER_SIZE
-
|
-
-
-Property | MONO_TABLE_PROPERTY |
-Array size:
-MONO_PROPERTY_SIZE
-
|
-
-
StandaloneSig | MONO_TABLE_STANDALONESIG |
-Array size:
-
|
-
TypeDef | MONO_TABLE_TYPEDEF |
-Array size:
-MONO_TYPEDEF_SIZE
-
|
-
TypeSpec | MONO_TABLE_TYPESPEC |
-Array size:
-MONO_TYPESPEC_SIZE
-
|
-
- /* - * Dumps a few fields from the AssemblyRef table - */ - void DumpAssemblyRefs (MonoImage *image) - { - /* Get a pointer to the AssemblyRef metadata table */ - MonoTableInfo *t = mono_image_get_table_info (image, MONO_TABLE_ASSEMBLYREF); - - /* Fetch the number of rows available in the table */ - int rows = mono_table_info_get_rows (t); - int i; - - /* For each row, print some of its values */ - for (i = 0; i < rows; i++){ - /* Space where we extract one row from the metadata table */ - guint32 cols [MONO_ASSEMBLYREF_SIZE]; - - /* Extract the row into the array cols */ - mono_metadata_decode_row (t, i, cols, MONO_ASSEMBLYREF_SIZE); - - fprintf (output, "%d: Version=%d.%d.%d.%d\n\tName=%s\n", i + 1, - cols [MONO_ASSEMBLYREF_MAJOR_VERSION], - cols [MONO_ASSEMBLYREF_MINOR_VERSION], - cols [MONO_ASSEMBLYREF_BUILD_NUMBER], - cols [MONO_ASSEMBLYREF_REV_NUMBER], - mono_metadata_string_heap (image, cols [MONO_ASSEMBLYREF_NAME])); - } - } -- - The above program shows the following output when ran on - the C# compiler: - -
- 1: Version=1.0.5000.0 - Name=mscorlib - 2: Version=1.0.5000.0 - Name=System - 3: Version=1.0.5000.0 - Name=System.Xml -- - - -
-Remarks - - This function returns the value of column col from the idx - row in the table t. - -t: table to extract information from. idx: index for row in table. col: column in the row.
-Remarks - - This decompresses the metadata element idx in table t - into the guint32 res array that has res_size elements - -t: table to extract information from. idx: index in table. res: array of res_size cols to store the results in
-Returns -ptr: pointer to decode from rptr: the new position of the pointer
the decoded value --Remarks - - This routine decompresses 32-bit signed values - (not specified in the spec) - - -
-Returns -ptr: pointer to decode from rptr: the new position of the pointer
the decoded value --Remarks - - This routine decompresses 32-bit values as specified in the "Blob and - Signature" section (22.2) - - -
-Returns -fname: filename that points to the module we want to open status: An error condition is returned in this field
An open image of type %MonoImage or NULL on error. if - - NULL, then check the value of status for details on the error. - This variant for mono_image_open DOES NOT SET UP CLI METADATA. - It's just a PE file loader, used for FileVersionInfo. It also does - not use the image cache.- -
-Returns -meta: metadata context table: table code. idx: index of element to retrieve from table.
a pointer to the idx element in the metadata table - - whose code is table.- -
-Returns -meta: metadata context token: metadata token
a pointer to the data in the metadata represented by the - - token token.- -
-Returns -meta: metadata context index: FieldDef token
the 1-based index into the TypeDef table of the type that - - declared the field described by index, or 0 if not found.- -
-Returns -m: metadata context to extract information from ptr: pointer to the field signature rptr: pointer updated to match the end of the decoded stream
The MonoType that was extracted from ptr. --Remarks - - Parses the field signature, and returns the type information for it. - - -
-Returns -m: metadata context to extract information from ptr: pointer to the param signature rptr: pointer updated to match the end of the decoded stream
The MonoType that was extracted from ptr. --Remarks - - Parses the param signature, and returns the type information for it. - - -
-Returns -m: metadata context mode: king of type that may be found at ptr opt_attrs: optional attributes to store in the returned type ptr: pointer to the type representation rptr: pointer updated to match the end of the decoded stream transient: whenever to allocate the result from the heap or from a mempool
a MonoType structure representing the decoded type. --Remarks - - - Decode a compressed type description found at ptr in m. - mode can be one of MONO_PARSE_MOD_TYPE, MONO_PARSE_PARAM, MONO_PARSE_RET, - MONO_PARSE_FIELD, MONO_PARSE_LOCAL, MONO_PARSE_TYPE. - This function can be used to decode type descriptions in method signatures, - field signatures, locals signatures etc. - - To parse a generic type, `generic_container' points to the current class'es - (the `generic_container' field in the MonoClass) or the current generic method's - (stored in image->property_hash) generic container. - When we encounter any MONO_TYPE_VAR or MONO_TYPE_MVAR's, they're looked up in - this MonoGenericContainer. - - LOCKING: Acquires the loader lock. - - - -
-Returns -domain: the domain where the string will be used. image: a metadata context idx: index into the user string table.
a loaded string from the image/idx combination. --Remarks - - - Implementation for the ldstr opcode. - -
-Returns -image: the Mono image where to look for the class token: The type token of the class
the initialized exception instance. --Remarks - - Creates an exception of the type given by token. - - - -
-Remarks - - Invokes the method represented by method on the object obj. - - obj is the 'this' pointer, it should be NULL for static - methods, a MonoObject* for object instances and a pointer to - the value type for value types. - - The params array contains the arguments to the method with the - same convention: MonoObject* pointers for object instances and - pointers to the value type otherwise. - - - From unmanaged code you'll usually use the - mono_runtime_invoke() variant. - - Note that this function doesn't handle virtual methods for - you, it will exec the exact method you pass: we still need to - expose a function to lookup the derived class implementation - of a virtual method (there are examples of this in the code, - though). - - - You can pass NULL as the exc argument if you don't want to - catch exceptions, otherwise, *exc will be set to the exception - thrown, if any. if an exception is thrown, you can't use the - MonoObject* result from the function. - - - If the method returns a value type, it is boxed in an object - reference. - - -If you want to invoke generic methods, you must call the method on the -"inflated" class, which you can obtain from the -mono_object_get_class() - -method: method to invoke obJ: object instance params: arguments to the method exc: exception information.
-Remarks - - Invokes the method represented by method on the object obj. - - obj is the 'this' pointer, it should be NULL for static - methods, a MonoObject* for object instances and a pointer to - the value type for value types. - - The params array contains the arguments to the method with the - same convention: MonoObject* pointers for object instances and - pointers to the value type otherwise. The _invoke_array - variant takes a C# object[] as the params argument (MonoArray - *params): in this case the value types are boxed inside the - respective reference representation. - - - From unmanaged code you'll usually use the - mono_runtime_invoke() variant. - - Note that this function doesn't handle virtual methods for - you, it will exec the exact method you pass: we still need to - expose a function to lookup the derived class implementation - of a virtual method (there are examples of this in the code, - though). - - - You can pass NULL as the exc argument if you don't want to - catch exceptions, otherwise, *exc will be set to the exception - thrown, if any. if an exception is thrown, you can't use the - MonoObject* result from the function. - - - If the method returns a value type, it is boxed in an object - reference. - -method: method to invoke obJ: object instance params: arguments to the method exc: exception information.
-Remarks - - Invokes the delegate method delegate with the parameters provided. - - You can pass NULL as the exc argument if you don't want to - catch exceptions, otherwise, *exc will be set to the exception - thrown, if any. if an exception is thrown, you can't use the - MonoObject* result from the function. - - -delegate: pointer to a delegate object. params: parameters for the delegate. exc: Pointer to the exception result.
-Remarks - - Releases the MonoMethodDesc object desc. - -desc: method description to be released
-Returns -name: the method name. include_namespace: whether the name includes a namespace or not.
a parsed representation of the method description. --Remarks - - Creates a method description for name, which conforms to the following - specification: - - [namespace.]classname:methodname[(args...)] - - in all the loaded assemblies. - - Both classname and methodname can contain '*' which matches anything. - - -
-Returns -sig: the method signature inspected
TRUE if this the method signature sig has an explicit - - instance argument. FALSE otherwise.- -
-Returns -sig: the method signature inspected
the call convention of the method signature sig. -- -
-Returns -sig: the method signature inspected
the number of parameters in the method signature sig. -- -
-Returns -sig: the method signature inspected iter: pointer to an iterator
the next parameter type of the method signature sig, - - NULL when finished.-Remarks - - Iterates over the parameters for the method signature sig. - A void* pointer must be initualized to NULL to start the iteration - and it's address is passed to this function repeteadly until it returns - NULL. - - -
-Returns -sig: the method signature inspected
the return type of the method signature sig -- -
-Returns -sig: the method signature inspected
TRUE if this the method signature sig has an implicit - - first instance argument. FALSE otherwise.- -
-Returns -sig: the method signature inspected
the number of the first vararg parameter in the - - method signature sig. -1 if this is not a vararg signature.- -
-Returns -klass: the class of the object that we want to create
a newly created object whose definition is - - looked up using klass. This will not invoke any constructors, - so the consumer of this routine has to invoke any constructors on - its own to initialize the object. - - - It returns NULL on failure.- - - For example, if you wanted to create an object of type - System.Version, you would use a piece of code like this: - -
-Returns -image: Context where the type_token is hosted token: a token of the type that we want to create
A newly created object whose definition is - - looked up using token in the image image- -
-Returns -vtable: the vtable of the object that we want to create
A newly created object with class and domain specified - - by vtable- -
-Returns -obj: the object to clone
A newly created object who is a shallow copy of obj -- -
-Returns -obj: object to query
the MonOClass of the object. --Remarks - - - -
-Returns -obj: object to query
the MonoDomain where the object is hosted --Remarks - - - -
-Remarks - - Retrieves the MonoMethod that would be called on obj if obj is passed as - the instance of a callvirt of method. - -obj: object to operate on. method: method
-Returns -obj: an object klass: a pointer to a class
obj if obj is derived from klass -- -
-Returns -obj: object to unbox
a pointer to the start of the valuetype boxed in this - - object. - - This method will assert if the object passed is not a valuetype.-Remarks - - - -
-Returns -obj: an object klass: a pointer to a class
obj if obj is derived from klass, throws an exception otherwise -- -
-Returns -o: object to query
the size, in bytes, of o --Remarks - - - - - -
-Returns -class: the class of the value value: a pointer to the unboxed data
A newly created object which contains value. -- -
- - MonoArray *CreateByteArray (MonoDomain *domain) - { - MonoArray *data; - - data = mono_array_new (domain, mono_get_byte_class (), 2); - mono_array_set (data, guint8, 0, 0xca); - mono_array_set (data, guint8, 0, 0xfe); - - return data; - } - -- -
-Remarks - - This routine creates a new szarray with n elements of type eclass. - -domain: domain where the object is created eclass: element class n: number of array elements
-Remarks - - This routine creates a new array objects with the given dimensions, - lower bounds and type. - -domain: domain where the object is created array_class: array class lengths: lengths for each dimension in the array lower_bounds: lower bounds for each dimension in the array (may be NULL)
-Remarks - - This routine is a fast alternative to mono_array_new() for code which - can be sure about the domain it operates in. - -vtable: a vtable in the appropriate domain for an initialized class n: number of array elements
-Returns -element_class: element class rank: the dimension of the array class
a class object describing the array with element type element_type and - - dimension rank.- -
-Returns -array: the array to clone
A newly created array who is a shallow copy of array -- - -
-Remarks - - Returns the total number of elements in the array. This works for - both vectors and multidimensional arrays. - -array: a MonoArray*
-Remarks - - Returns the address of the idx element in the array. - -array: a MonoArray* size: size of the array elements idx: index into the array
-Returns -ac: pointer to a #MonoArrayClass
the size of single array element. -- - - -
-Returns -field: the MonoClassField to act on
the name of the field. -- -
-Returns -field: the MonoClassField to act on
MonoClass where the field was defined. -- -
-Returns -field: the MonoClassField to act on
MonoType of the field. -- -
-Remarks - - Use this routine to get the value of the field field in the object - passed. - - The pointer provided by value must be of the field type, for reference - types this is a MonoObject*, for value types its the actual pointer to - the value type. - - For example: - int i; - mono_field_get_value (obj, int_field, &i); - -obj: Object instance field: MonoClassField describing the field to fetch information from value: pointer to the location where the value will be stored
-Returns -domain: domain where the object will be created (if boxing) field: MonoClassField describing the field to fetch information from obj: The object instance for the field.
a new MonoObject with the value from the given field. If the - - field represents a value type, the value is boxed. -- -
-Remarks - - Sets the value of the field described by field in the object instance obj - to the value passed in value. This method should only be used for instance - fields. For static fields, use mono_field_static_set_value. - - The value must be on the native format of the field type. - -obj: Instance object field: MonoClassField describing the field to set value: The value to be set
-Remarks - - Use this routine to get the value of the static field field value. - - The pointer provided by value must be of the field type, for reference - types this is a MonoObject*, for value types its the actual pointer to - the value type. - - For example: - int i; - mono_field_static_get_value (vt, int_field, &i); - -vt: vtable to the object field: MonoClassField describing the field to fetch information from value: where the value is returned
-Remarks - - Sets the value of the static field described by field - to the value passed in value. - - The value must be on the native format of the field type. - -field: MonoClassField describing the field to set value: The value to be set
-Returns -prop: the MonoProperty to act on.
the flags for the property. --Remarks - - The metadata flags for a property are encoded using the - PROPERTY_ATTRIBUTE_* constants. See the tabledefs.h file for details. - - -
-Returns -prop: the MonoProperty to act on.
the setter method of the property (A MonoMethod) -- -
-Returns -prop: the MonoProperty to act on.
the MonoClass where the property was defined. -- -
-Returns -prop: the MonoProperty to act on.
the setter method of the property (A MonoMethod) -- -
-Returns -prop: MonoProperty to fetch obj: instance object on which to act params: parameters to pass to the propery exc: optional exception
the value from invoking the get method on the property. --Remarks - - Invokes the property's get method with the given arguments on the - object instance obj (or NULL for static properties). - - - You can pass NULL as the exc argument if you don't want to - catch exceptions, otherwise, *exc will be set to the exception - thrown, if any. if an exception is thrown, you can't use the - MonoObject* result from the function. - - -
-Remarks - - Invokes the property's set method with the given arguments on the - object instance obj (or NULL for static properties). - - - You can pass NULL as the exc argument if you don't want to - catch exceptions, otherwise, *exc will be set to the exception - thrown, if any. if an exception is thrown, you can't use the - MonoObject* result from the function. - - - -prop: MonoProperty to set obj: instance object on which to act params: parameters to pass to the propery exc: optional exception
-Returns -event: The MonoEvent to act on.
the add' method for the event (a MonoMethod). -- -
-Returns -event: the MonoEvent to act on.
the flags for the event. --Remarks - - The metadata flags for an event are encoded using the - EVENT_* constants. See the tabledefs.h file for details. - - -
-Returns -event: the MonoEvent to act on
the name of the event. -- -
-Returns -event: the MonoEvent to act on.
the MonoClass where the event is defined. -- -
-Returns -event: The MonoEvent to act on.
the raise method for the event (a MonoMethod). -- -
-Returns -event: The MonoEvent to act on.
the remove method for the event (a MonoMethod). -- - - -
-Returns -this: pointer to an object klass: klass of the object containing field field: the field to load res: a storage to store the result
an address pointing to the value of field. --Remarks - - This method is called by the runtime on attempts to load fields of - transparent proxy objects. this points to such TP, klass is the class of - the object containing field. res is a storage location which can be - used to store the result. - - -
-Remarks - - Missing documentation. - -this: klass: field:
-Remarks - - This method is called by the runtime on attempts to store fields of - transparent proxy objects. this points to such TP, klass is the class of - the object containing field. val is the new value to store in field. - -this: pointer to an object klass: klass of the object containing field field: the field to load val: the value/object to store
- void mono_profiler_startup (const char *desc) -- - Where "desc" is the set of arguments that were passed from - the command line. This routine will call - mono_profiler_install to activate the profiler and - will install one or more filters (one of the various - mono_profiler_install_ functions). - - In addition, a profiler developer will typically call - mono_profiler_set_events to register which kinds of - traces should be enabled, these can be an OR-ed combination of - the following: - -
- MONO_PROFILE_NONE - MONO_PROFILE_APPDOMAIN_EVENTS - MONO_PROFILE_ASSEMBLY_EVENTS - MONO_PROFILE_MODULE_EVENTS - MONO_PROFILE_CLASS_EVENTS - MONO_PROFILE_JIT_COMPILATION - MONO_PROFILE_INLINING - MONO_PROFILE_EXCEPTIONS - MONO_PROFILE_ALLOCATIONS - MONO_PROFILE_GC - MONO_PROFILE_THREADS - MONO_PROFILE_REMOTING - MONO_PROFILE_TRANSITIONS - MONO_PROFILE_ENTER_LEAVE - MONO_PROFILE_COVERAGE - MONO_PROFILE_INS_COVERAGE - MONO_PROFILE_STATISTICAL -- - Developers can change the set of monitored events at - runtime by calling mono_profiler_set_events. - - -
-Remarks - - Use mono_profiler_install to activate profiling in the Mono runtime. - Typically developers of new profilers will create a new structure whose - first field is a MonoProfiler and put any extra information that they need - to access from the various profiling callbacks there. - - -prof: a MonoProfiler structure pointer, or a pointer to a derived structure. callback: the function to invoke at shutdown
-Remarks - - Use this routine to install routines that will be called everytime - a method enters and leaves. The routines will receive as an argument - the MonoMethod representing the method that is entering or leaving. - -enter: the routine to be called on each method entry fleave: the routine to be called each time a method returns
-Remarks - - Use this routine to install routines that will be called when JIT - compilation of a method starts and completes. - -start: the routine to be called when the JIT process starts. end: the routine to be called when the JIT process ends.
-Remarks - - The events descriped in the events argument is a set of flags - that represent which profiling events must be triggered. For - example if you have registered a set of methods for tracking - JIT compilation start and end with mono_profiler_install_jit_compile, - you will want to pass the MONO_PROFILE_JIT_COMPILATION flag to - this routine. - - You can call mono_profile_set_events more than once and you can - do this at runtime to modify which methods are invoked. - -events: an ORed set of values made up of MONO_PROFILER_ flags
NULL if no attributes are found or if a loading error occurs. -- -
-Returns -method: handle to the method that we want to retrieve custom parameter information from param: parameter number, where zero represent the return value, and one is the first parameter in the method
the custom attribute object for the specified parameter, or NULL if there are none. --Remarks - - The result must be released with mono_custom_attrs_free(). - - -
-Returns -text: a pointer to an utf8 string
A newly created string object which contains text. -- -
-Returns -text: a pointer to an utf8 string length: number of bytes in text to consider
A newly created string object which contains text. -- -
-Returns -text: a pointer to an utf16 string len: the length of the string
A newly created string object of len -- -
-Returns -text: a pointer to an utf16 string len: the length of the string
A newly created string object which contains text. -- -
-Returns -data: the UTF16 string (LPWSTR) to convert
a MonoString. --Remarks - - Converts a NULL terminated UTF16 string (LPWSTR) to a MonoString. - - - -
-Remarks - - Return an null-terminated array of the utf-16 chars - contained in s. The result must be freed with g_free(). - This is a temporary helper until our string implementation - is reworked to always include the null terminating char. - -s: a MonoString
-Remarks - - Returns the UTF8 representation for s. - The resulting buffer needs to be freed with mono_free(). - - deprecated Use mono_string_to_utf8_checked to avoid having an exception arbritraly raised. - - -s: a System.String
-Remarks - - Returns FALSE if the strings differ. - -s1: First string to compare s2: Second string to compare
-Remarks - - Returns the hash for the string. - -s: the string to hash
-Returns -o: String to intern
The interned string. --Remarks - - Interns the string passed. - -
-Remarks - - Returns whether the string has been interned. - -o: String to probe
-Remarks - - Helper function to create a string object from text in the current domain. - -text: pointer to utf8 characters.
-Remarks - - Returns a pointer to the UCS16 characters stored in the MonoString - -s: a MonoString
-Remarks - - Returns the lenght in characters of the string - - - -s: MonoString
-Remarks - - Tries to turn a NULL-terminated string into UTF16. - - First, see if it's valid UTF8, in which case just turn it directly - into UTF16. Next, run through the colon-separated encodings in - MONO_EXTERNAL_ENCODINGS and do an iconv conversion on each, - returning the first successful conversion to UTF16. If no - conversion succeeds, return NULL. - - Callers must free the returned string if not NULL. bytes holds the number - of bytes in the returned string, not including the terminator. - -in: pointers to the buffer. bytes: number of bytes in the string.
-Remarks - - Turns NULL-terminated UTF16 into either UTF8, or the first - working item in MONO_EXTERNAL_ENCODINGS if set. If no conversions - work, then UTF8 is returned. - - Callers must free the returned string. - -uni: an UTF16 string to conver to an external representation.
-Remarks - - This function can be used to instruct the runtime to treat thread - as the main thread, ie, the thread that would normally execute the Main() - method. This basically means that at the end of thread, the runtime will - wait for the existing foreground threads to quit and other such details. - -thread: thread to set as the main thread
-Returns -type: the MonoType operated on
a MonoArrayType struct describing the array type that type - - represents. The info includes details such as rank, array element type - and the sizes and bounds of multidimensional arrays.-Remarks - - It is only valid to call this function if type is a MONO_TYPE_ARRAY. - - -
-Returns -type: the MonoType operated on
the MonoClass pointer that describes the class that type represents. --Remarks - - It is only valid to call this function if type is a MONO_TYPE_CLASS or a - MONO_TYPE_VALUETYPE. For more general functionality, use mono_class_from_mono_type (), - instead - - -
-Returns -type: a type
the string representation for type as it would be represented in IL code. -- -
-Returns -type: the MonoType operated on
the MonoMethodSignature pointer that describes the signature - - of the function pointer type represents.-Remarks - - It is only valid to call this function if type is a MONO_TYPE_FNPTR. - - -
-Returns -type: the MonoType operated on
the IL type value for type. This is one of the MonoTypeEnum - - enum members like MONO_TYPE_I4 or MONO_TYPE_STRING.- -
-Returns -type: the MonoType operated on
TRUE if type represents a type passed by reference, - - FALSE otherwise.- -
A MonoMarshalNative enumeration value (MONO_NATIVE_) value - - describing the underlying native reprensetation of the type. - - - In addition the value pointed by - "conv" will contain the kind of marshalling required for this - particular type one of the MONO_MARSHAL_CONV_ enumeration values.- -
-Returns -element_class: element class rank: the dimension of the array class bounded: whenever the array has non-zero bounds
a class object describing the array with element type element_type and - - dimension rank.- -
NULL if the runtime will work with the corlib, or a g_malloc - - allocated string with the error otherwise.-Remarks - - Checks that the corlib that is loaded matches the version of this runtime. - - -
-Remarks - - This JIT-compiles the method, and returns the pointer to the native code - produced. - -method: The method to compile.
-Remarks - - LOCKING: Acquires the loader lock. - - This function is used to programatically add DllImport remapping in either - a specific assembly, or as a global remapping. This is done by remapping - references in a DllImport attribute from the dll library name into the tdll - name. If the dll name contains the prefix "i:", the comparison of the - library name is done without case sensitivity. - - If you pass func, this is the name of the EntryPoint in a DllImport if specified - or the name of the function as determined by DllImport. If you pass func, you - must also pass tfunc which is the name of the target function to invoke on a match. - - Example: - mono_dllmap_insert (NULL, "i:libdemo.dll", NULL, relocated_demo_path, NULL); - - The above will remap DllImport statments for "libdemo.dll" and "LIBDEMO.DLL" to - the contents of relocated_demo_path for all assemblies in the Mono process. - - NOTE: This can be called before the runtime is initialized, for example from - mono_config_parse (). - -assembly: if NULL, this is a global mapping, otherwise the remapping of the dynamic library will only apply to the specified assembly dll: The name of the external library, as it would be found in the DllImport declaration. If prefixed with 'i:' the matching of the library name is done without case sensitivity func: if not null, the mapping will only applied to the named function (the value of EntryPoint) tdll: The name of the library to map the specified dll if it matches. tfunc: if func is not NULL, the name of the function that replaces the invocation
-Returns -klass: The delegate class
the MonoMethod for the "Invoke" method in the delegate klass or NULL if klass is a broken delegate type -- -
the root appdomain, to obtain the current domain, use mono_domain_get () --Remarks - - The root AppDomain is the initial domain created by the runtime when it is - initialized. Programs execute on this AppDomain, but can create new ones - later. Currently there is no unmanaged API to create new AppDomains, this - must be done from managed code. - - -
-Returns -domain_name: name to give to the initial domain filename: filename to load on startup
the initial domain. --Remarks - - Used by the runtime, users should use mono_jit_init instead. - - Creates the initial application domain and initializes the mono_defaults - structure. - This function is guaranteed to not run any IL code. - The runtime is initialized using the runtime version required by the - provided executable. The version is determined by looking at the exe - configuration file and the version PE field) - - -
the initial domain. --Remarks - - - Creates the initial application domain and initializes the mono_defaults - structure. - This function is guaranteed to not run any IL code. - The runtime is initialized using the default runtime version. - - -
the initial domain. --Remarks - - - Used by the runtime, users should use mono_jit_init instead. - - - Creates the initial application domain and initializes the mono_defaults - structure. - - This function is guaranteed to not run any IL code. - The runtime is initialized using the provided rutime version. - - -
-Remarks - - Start execution of a program. - -assembly: reference to an assembly argc: argument count argv: argument vector
-Remarks - - Launches the Mono JIT engine and parses all the command line options - in the same way that the mono command line VM would. - -argc: number of arguments in the argv array argv: array of strings containing the startup arguments
-Remarks - - Internal routine. - - This must not be called while there are still running threads executing - managed code. - -domain: unused.
a MonoArray with the arguments passed to the main program -- -
-Remarks - - Initialize the core AppDomain: this function will run also some - IL initialization code, so it needs the execution engine to be fully - operational. - - AppDomain.SetupInformation is set up in mono_runtime_exec_main, where - we know the entry_assembly. - - -domain: domain returned by mono_init ()
-Remarks - - Execute a standard Main() method (argc/argv contains the - executable name). This method also sets the command line argument value - needed by System.Environment. - - - - -method: the method to start the application with (usually Main) argc: number of arguments from the command line argv: array of strings from the command line exc: excetption results
a new memory pool. -- -
-Remarks - - Free all memory associated with this pool. - -pool: the memory pool to destroy
-Returns -pool: the momory pool to use size: size of the momory block
the address of a newly allocated memory block. --Remarks - - Allocates a new block of memory in pool. - - -
-Remarks - - Fill the memory associated with this pool to 0x2a (42). Useful for debugging. - -pool: the memory pool to invalidate
-Remarks - - Print a few stats about the mempool - -pool: the momory pool we need stats for
-Remarks - - Closes and invalidates handle, releasing any resources it - consumes. When the last handle to a temporary or non-persistent - object is closed, that object can be deleted. Closing the same - handle twice is an error. - - Return value: %TRUE on success, %FALSE otherwise. - -handle: The handle to release
-Remarks - the file to be copied. - dest_name: a pointer to a NULL-terminated unicode string, that is the - new name for the file. - fail_if_exists: if TRUE and dest_name exists, the copy will fail. - - Copies file name to dest_name - - Return value: %TRUE on success, %FALSE otherwise. - -name: a pointer to a NULL-terminated unicode string, that names
-Remarks - the directory to be created. - security: ignored for now - - Creates directory name - - Return value: %TRUE on success, %FALSE otherwise. - -name: a pointer to a NULL-terminated unicode string, that names
-Remarks - reset behaviour. - initial: Specifies whether the new event handle is initially - signalled or not. - name:Pointer to a string specifying the name of this name, or - %NULL. Currently ignored. - - Creates a new event handle. - - An event handle is signalled with SetEvent(). If the new handle is - a manual reset event handle, it remains signalled until it is reset - with ResetEvent(). An auto reset event remains signalled until a - single thread has waited for it, at which time the event handle is - automatically reset to unsignalled. - - Return value: A new handle, or %NULL on error. - -security: Ignored for now. manual: Specifies whether the new event handle has manual or auto
-Remarks - the file or other object to create. - fileaccess: specifies the file access mode - sharemode: whether the file should be shared. This parameter is - currently ignored. - security: Ignored for now. - createmode: specifies whether to create a new file, whether to - overwrite an existing file, whether to truncate the file, etc. - attrs: specifies file attributes and flags. On win32 attributes - are characteristics of the file, not the handle, and are ignored - when an existing file is opened. Flags give the library hints on - how to process a file to optimise performance. - template: the handle of an open %GENERIC_READ file that specifies - attributes to apply to a newly created file, ignoring attrs. - Normally this parameter is NULL. This parameter is ignored when an - existing file is opened. - - Creates a new file handle. This only applies to normal files: - pipes are handled by CreatePipe(), and console handles are created - with GetStdHandle(). - - Return value: the new handle, or %INVALID_HANDLE_VALUE on error. - -name: a pointer to a NULL-terminated unicode string, that names
-Remarks - already owning the mutex. - name:Pointer to a string specifying the name of this mutex, or - %NULL. - - Creates a new mutex handle. A mutex is signalled when no thread - owns it. A thread acquires ownership of the mutex by waiting for - it with WaitForSingleObject() or WaitForMultipleObjects(). A - thread relinquishes ownership with ReleaseMutex(). - - A thread that owns a mutex can specify the same mutex in repeated - wait function calls without blocking. The thread must call - ReleaseMutex() an equal number of times to release the mutex. - - Return value: A new handle, or %NULL on error. - -security: Ignored for now. owned: If %TRUE, the mutex is created with the calling thread
-Remarks - greater than or equal to zero, and less than or equal to max. - max: The maximum count for this semaphore. The value must be - greater than zero. - name: Pointer to a string specifying the name of this semaphore, - or %NULL. Currently ignored. - - Creates a new semaphore handle. A semaphore is signalled when its - count is greater than zero, and unsignalled otherwise. The count - is decreased by one whenever a wait function releases a thread that - was waiting for the semaphore. The count is increased by calling - ReleaseSemaphore(). - - Return value: a new handle, or NULL - -security: Ignored for now. initial: The initial count for the semaphore. The value must be
-Remarks - the file to be deleted. - - Deletes file name. - - Return value: %TRUE on success, %FALSE otherwise. - -name: a pointer to a NULL-terminated unicode string, that names
-Remarks - number of ticks to convert. - system_time: Points to a %WapiSystemTime structure to receive the - broken-out time. - - Converts a tick count into broken-out time values. - - Return value: %TRUE on success, %FALSE otherwise. - -file_time: Points to a %WapiFileTime structure that contains the
-Remarks - - Closes find handle wapi_handle - - Return value: %TRUE on success, %FALSE otherwise. - -wapi_handle: the find handle to close.
-Remarks - %GENERIC_WRITE access. - - Flushes buffers of the file and causes all unwritten data to - be written. - - Return value: %TRUE on success, %FALSE otherwise. - -handle: Handle to open file. The handle must have
-Remarks - - Retrieves the current directory for the current process. - - Return value: number of characters in buffer on success, zero on failure - -length: size of the buffer buffer: pointer to buffer that recieves path
-Remarks - - Gets attributes, size and filetimes for name; - - Return value: %TRUE on success, %FALSE on failure - -name: a pointer to a NULL-terminated unicode filename. level: must be GetFileExInfoStandard info: pointer to a WapiFileAttributesData structure
-Remarks - - Gets the attributes for name; - - Return value: %INVALID_FILE_ATTRIBUTES on failure - -name: a pointer to a NULL-terminated unicode filename.
-Remarks - %GENERIC_READ or %GENERIC_WRITE access. - highsize: If non-%NULL, the high 32 bits of the file size are - stored here. - - Retrieves the size of the file handle. - - If the library is compiled without large file support, highsize - has its value set to zero on a successful return. - - Return value: On success, the low 32 bits of the file size. If - highsize is non-%NULL then the high 32 bits of the file size are - stored here. On failure %INVALID_FILE_SIZE is returned. - -handle: The file handle to query. The handle must have
-Remarks - %GENERIC_READ access. - create_time: Points to a %WapiFileTime structure to receive the - number of ticks since the epoch that file was created. May be - %NULL. - last_access: Points to a %WapiFileTime structure to receive the - number of ticks since the epoch when file was last accessed. May be - %NULL. - last_write: Points to a %WapiFileTime structure to receive the - number of ticks since the epoch when file was last written to. May - be %NULL. - - Finds the number of ticks since the epoch that the file referenced - by handle was created, last accessed and last modified. A tick is - a 100 nanosecond interval. The epoch is Midnight, January 1 1601 - GMT. - - Create time isn't recorded on POSIX file systems or reported by - stat(2), so that time is guessed by returning the oldest of the - other times. - - Return value: %TRUE on success, %FALSE otherwise. - -handle: The file handle to query. The handle must have
-Remarks - - Finds the type of file handle. - - Return value: %FILE_TYPE_UNKNOWN - the type of the file handle is - unknown. %FILE_TYPE_DISK - handle is a disk file. - %FILE_TYPE_CHAR - handle is a character device, such as a console. - %FILE_TYPE_PIPE - handle is a named or anonymous pipe. - -handle: The file handle to test.
-Remarks - - Returns a handle for stdin, stdout, or stderr. Always returns the - same handle for the same stdhandle. - - Return value: the handle, or %INVALID_HANDLE_VALUE on error - -stdhandle: specifies the file descriptor
-Remarks - the file to be moved. - dest_name: a pointer to a NULL-terminated unicode string, that is the - new name for the file. - - Renames file name to dest_name. - MoveFile sets ERROR_ALREADY_EXISTS if the destination exists, except - when it is the same file as the source. In that case it silently succeeds. - - Return value: %TRUE on success, %FALSE otherwise. - -name: a pointer to a NULL-terminated unicode string, that names
-Remarks - - Sets the event handle handle to the signalled state, and then - resets it to unsignalled after informing any waiting threads. - - If handle is a manual reset event, all waiting threads that can be - released immediately are released. handle is then reset. If - handle is an auto reset event, one waiting thread is released even - if multiple threads are waiting. - - Return value: %TRUE on success, %FALSE otherwise. (Currently only - ever returns %TRUE). - -handle: The event handle.
-Remarks - %GENERIC_READ access. - buffer: The buffer to store read data in - numbytes: The maximum number of bytes to read - bytesread: The actual number of bytes read is stored here. This - value can be zero if the handle is positioned at the end of the - file. - overlapped: points to a required %WapiOverlapped structure if - handle has the %FILE_FLAG_OVERLAPPED option set, should be NULL - otherwise. - - If handle does not have the %FILE_FLAG_OVERLAPPED option set, this - function reads up to numbytes bytes from the file from the current - file position, and stores them in buffer. If there are not enough - bytes left in the file, just the amount available will be read. - The actual number of bytes read is stored in bytesread. - - If handle has the %FILE_FLAG_OVERLAPPED option set, the current - file position is ignored and the read position is taken from data - in the overlapped structure. - - Return value: %TRUE if the read succeeds (even if no bytes were - read due to an attempt to read past the end of the file), %FALSE on - error. - -handle: The file handle to read from. The handle must have
-Remarks - - Releases ownership if the mutex handle handle. - - Return value: %TRUE on success, %FALSE otherwise. This function - fails if the calling thread does not own the mutex handle. - -handle: The mutex handle.
-Remarks - increased. - prevcount: Pointer to a location to store the previous count of - the semaphore, or %NULL. - - Increases the count of semaphore handle by count. - - Return value: %TRUE on success, %FALSE otherwise. - -handle: The semaphore handle to release. count: The amount by which the semaphore's count should be
-Remarks - the directory to be removed. - - Removes directory name - - Return value: %TRUE on success, %FALSE otherwise. - -name: a pointer to a NULL-terminated unicode string, that names
-Remarks - - Resets the event handle handle to the unsignalled state. - - Return value: %TRUE on success, %FALSE otherwise. (Currently only - ever returns %TRUE). - -handle: The event handle.
-Remarks - - Changes the directory path for the current process. - - Return value: %TRUE on success, %FALSE on failure. - -path: path to new directory
-Remarks - %GENERIC_WRITE access. - - Moves the end-of-file position to the current position of the file - pointer. This function is used to truncate or extend a file. - - Return value: %TRUE on success, %FALSE otherwise. - -handle: The file handle to set. The handle must have
-Remarks - - Sets the event handle handle to the signalled state. - - If handle is a manual reset event, it remains signalled until it - is reset with ResetEvent(). An auto reset event remains signalled - until a single thread has waited for it, at which time handle is - automatically reset to unsignalled. - - Return value: %TRUE on success, %FALSE otherwise. (Currently only - ever returns %TRUE). - -handle: The event handle
-Remarks - - Changes the attributes on a named file. - - Return value: %TRUE on success, %FALSE on failure. - -name: name of file attrs: attributes to set
-Remarks - %GENERIC_READ or %GENERIC_WRITE access. - movedistance: Low 32 bits of a signed value that specifies the - number of bytes to move the file pointer. - highmovedistance: Pointer to the high 32 bits of a signed value - that specifies the number of bytes to move the file pointer, or - %NULL. - method: The starting point for the file pointer move. - - Sets the file pointer of an open file. - - The distance to move the file pointer is calculated from - movedistance and highmovedistance: If highmovedistance is %NULL, - movedistance is the 32-bit signed value; otherwise, movedistance - is the low 32 bits and highmovedistance a pointer to the high 32 - bits of a 64 bit signed value. A positive distance moves the file - pointer forward from the position specified by method; a negative - distance moves the file pointer backward. - - If the library is compiled without large file support, - highmovedistance is ignored and its value is set to zero on a - successful return. - - Return value: On success, the low 32 bits of the new file pointer. - If highmovedistance is not %NULL, the high 32 bits of the new file - pointer are stored there. On failure, %INVALID_SET_FILE_POINTER. - -handle: The file handle to set. The handle must have
-Remarks - %GENERIC_WRITE access. - create_time: Points to a %WapiFileTime structure that contains the - number of ticks since the epoch that the file was created. May be - %NULL. - last_access: Points to a %WapiFileTime structure that contains the - number of ticks since the epoch when the file was last accessed. - May be %NULL. - last_write: Points to a %WapiFileTime structure that contains the - number of ticks since the epoch when the file was last written to. - May be %NULL. - - Sets the number of ticks since the epoch that the file referenced - by handle was created, last accessed or last modified. A tick is - a 100 nanosecond interval. The epoch is Midnight, January 1 1601 - GMT. - - Create time isn't recorded on POSIX file systems, and is ignored. - - Return value: %TRUE on success, %FALSE otherwise. - -handle: The file handle to set. The handle must have
-Remarks - - Sets the error code in the calling thread. - -code: The error code.
-Remarks - queues an I/O completion routine or an APC for the calling thread. - - Atomically signals signal and waits for wait to become signalled, - or timeout ms elapses. If timeout is zero, the object's state is - tested and the function returns immediately. If timeout is - %INFINITE, the function waits forever. - - signal can be a semaphore, mutex or event object. - - If alertable is %TRUE and the system queues an I/O completion - routine or an APC for the calling thread, the function returns and - the thread calls the completion routine or APC function. If - %FALSE, the function does not return, and the thread does not call - the completion routine or APC function. A completion routine is - queued when the ReadFileEx() or WriteFileEx() function in which it - was specified has completed. The calling thread is the thread that - initiated the read or write operation. An APC is queued when - QueueUserAPC() is called. Currently completion routines and APC - functions are not supported. - - Return value: %WAIT_ABANDONED - wait is a mutex that was not - released by the owning thread when it exited. Ownershop of the - mutex object is granted to the calling thread and the mutex is set - to nonsignalled. %WAIT_IO_COMPLETION - the wait was ended by one - or more user-mode asynchronous procedure calls queued to the - thread. %WAIT_OBJECT_0 - The state of wait is signalled. - %WAIT_TIMEOUT - The timeout interval elapsed and wait's state is - still not signalled. %WAIT_FAILED - an error occurred. - -signal_handle: An object to signal wait: An object to wait for timeout: The maximum time in milliseconds to wait for alertable: Specifies whether the function returnes when the system
-Remarks - - Suspends execution of the current thread for ms milliseconds. A - value of zero causes the thread to relinquish its time slice. A - value of %INFINITE causes an infinite delay. - -ms: The time in milliseconds to suspend for alertable: if TRUE, the wait can be interrupted by an APC call
-Remarks - - This function returns when either handle process is waiting - for input, or timeout ms elapses. If timeout is zero, the - process state is tested and the function returns immediately. - If timeout is %INFINITE, the function waits forever. - - Return value: 0 - handle process is waiting for input. - %WAIT_TIMEOUT - The timeout interval elapsed and - handle process is not waiting for input. %WAIT_FAILED - an error - occurred. - -handle: a handle to the process to wait for timeout: the maximum time in milliseconds to wait for
-Remarks - is %MAXIMUM_WAIT_OBJECTS. - handles: An array of object handles. Duplicates are not allowed. - waitall: If %TRUE, this function waits until all of the handles - are signalled. If %FALSE, this function returns when any object is - signalled. - timeout: The maximum time in milliseconds to wait for. - alertable: if TRUE, the wait can be interrupted by an APC call - - - This function returns when either one or more of handles is - signalled, or timeout ms elapses. If timeout is zero, the state - of each item of handles is tested and the function returns - immediately. If timeout is %INFINITE, the function waits forever. - - Return value: %WAIT_OBJECT_0 to %WAIT_OBJECT_0 + numobjects - 1 - - if waitall is %TRUE, indicates that all objects are signalled. If - waitall is %FALSE, the return value minus %WAIT_OBJECT_0 indicates - the first index into handles of the objects that are signalled. - %WAIT_ABANDONED_0 to %WAIT_ABANDONED_0 + numobjects - 1 - if - waitall is %TRUE, indicates that all objects are signalled, and at - least one object is an abandoned mutex object (See - WaitForSingleObject() for a description of abandoned mutexes.) If - waitall is %FALSE, the return value minus %WAIT_ABANDONED_0 - indicates the first index into handles of an abandoned mutex. - %WAIT_TIMEOUT - The timeout interval elapsed and no objects in - handles are signalled. %WAIT_FAILED - an error occurred. - %WAIT_IO_COMPLETION - the wait was ended by an APC. - -numobjects: The number of objects in handles. The maximum allowed
-Remarks - - This function returns when either handle is signalled, or timeout - ms elapses. If timeout is zero, the object's state is tested and - the function returns immediately. If timeout is %INFINITE, the - function waits forever. - - Return value: %WAIT_ABANDONED - handle is a mutex that was not - released by the owning thread when it exited. Ownership of the - mutex object is granted to the calling thread and the mutex is set - to nonsignalled. %WAIT_OBJECT_0 - The state of handle is - signalled. %WAIT_TIMEOUT - The timeout interval elapsed and - handle's state is still not signalled. %WAIT_FAILED - an error - occurred. %WAIT_IO_COMPLETION - the wait was ended by an APC. - -handle: an object to wait for timeout: the maximum time in milliseconds to wait for alertable: if TRUE, the wait can be interrupted by an APC call
-Remarks - %GENERIC_WRITE access. - buffer: The buffer to read data from. - numbytes: The maximum number of bytes to write. - byteswritten: The actual number of bytes written is stored here. - If the handle is positioned at the file end, the length of the file - is extended. This parameter may be %NULL. - overlapped: points to a required %WapiOverlapped structure if - handle has the %FILE_FLAG_OVERLAPPED option set, should be NULL - otherwise. - - If handle does not have the %FILE_FLAG_OVERLAPPED option set, this - function writes up to numbytes bytes from buffer to the file at - the current file position. If handle is positioned at the end of - the file, the file is extended. The actual number of bytes written - is stored in byteswritten. - - If handle has the %FILE_FLAG_OVERLAPPED option set, the current - file position is ignored and the write position is taken from data - in the overlapped structure. - - Return value: %TRUE if the write succeeds, %FALSE on error. - -handle: The file handle to write to. The handle must have