MarshalMode Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa los distintos modos de serialización utilizados por CustomMarshallerAttribute para indicar cuándo se aplica un serializador.
public enum class MarshalMode
public enum MarshalMode
type MarshalMode =
Public Enum MarshalMode
- Herencia
Campos
| Nombre | Valor | Description |
|---|---|---|
| Default | 0 | Todos los modos. Se usará un serializador especificado con este modo si no hay ningún serializador específico para un modo de uso determinado. |
| ManagedToUnmanagedIn | 1 | Por valor y |
| ManagedToUnmanagedRef | 2 |
|
| ManagedToUnmanagedOut | 3 |
|
| UnmanagedToManagedIn | 4 | Por valor y |
| UnmanagedToManagedRef | 5 |
|
| UnmanagedToManagedOut | 6 |
|
| ElementIn | 7 | Elementos de matrices pasadas con |
| ElementRef | 8 | Elementos de matrices pasadas con |
| ElementOut | 9 | Elementos de matrices pasadas con |
Comentarios
Cada nombre de miembro sigue el patrón {CallDirection}{DataFlow}:
-
Dirección de llamada (
ManagedToUnmanagedoUnmanagedToManaged) indica qué lado inicia la llamada.ManagedToUnmanagedse aplica a las llamadas P/Invoke.UnmanagedToManagedse aplica a escenarios inversos P/Invoke o COM en los que el código nativo llama a código administrado. -
El flujo de datos (
In,OutoRef) indica cómo se mueven los datos en relación con la llamada.Insignifica que los datos fluyen del autor de la llamada al destinatario.Outsignifica que los datos fluyen del destinatario al autor de la llamada, que incluye losoutparámetros y los valores devueltos.Refsignifica que los datos fluyen en ambas direcciones.
Por ejemplo, ManagedToUnmanagedOut se aplica cuando el código administrado llama a código no administrado (P/Invoke) y los datos fluyen de nuevo al autor de la llamada; esto abarca out los parámetros y los valores devueltos. El serializador de este modo convierte del tipo no administrado al tipo administrado.