Cryville.Common.Interop Marshals a UTF-8 string to a .NET Framework string, and vice versa. This marshaler is used as a fallback as UnmanagedType.LPUTF8Str does not exist before .NET Framework 4.7. Returns an instance of the custom marshaler. String "cookie" parameter that can be used by the custom marshaler. An instance of the custom marshaler. Attribute used to annotate functions that will be called back from the unmanaged world.