Early Preview
This is currently very much a preview. Please feel free to try things out,
but don't be upset if anything is not yet working. Feedback is welcome over on our
GitHub Dicussions page.
enum System.Runtime.InteropServices.Marshalling.MarshalMode
Assembly: System.Runtime
Represents the different marshalling modes.
Values
Default
All modes. A marshaller specified with this mode will be used if there's no specific marshaller for a given usage mode.
ManagedToUnmanagedIn
By-value and <c>in</c> parameters in managed-to-unmanaged scenarios, like P/Invoke.
ManagedToUnmanagedRef
<c>ref</c> parameters in managed-to-unmanaged scenarios, like P/Invoke.
ManagedToUnmanagedOut
<c>out</c> parameters in managed-to-unmanaged scenarios, like P/Invoke.
UnmanagedToManagedIn
By-value and <c>in</c> parameters in unmanaged-to-managed scenarios, like Reverse P/Invoke.
UnmanagedToManagedRef
<c>ref</c> parameters in unmanaged-to-managed scenarios, like Reverse P/Invoke.
UnmanagedToManagedOut
<c>out</c> parameters in unmanaged-to-managed scenarios, like Reverse P/Invoke.
ElementIn
Elements of arrays passed with <c>in</c> or by-value in interop scenarios.
ElementRef
Elements of arrays passed with <c>ref</c> or passed by-value with both <see cref="T:System.Runtime.InteropServices.InAttribute" /> and <see cref="T:System.Runtime.InteropServices.OutAttribute" /> in interop scenarios.
ElementOut
Elements of arrays passed with <c>out</c> or passed by-value with only <see cref="T:System.Runtime.InteropServices.OutAttribute" /> in interop scenarios.