Table of Contents

Namespace Ubiquity.NET.InteropHelpers

Classes

CStringHandle

Abstract base class for types that represents a native string

EncodingExtensions

Utility extensions for the Encoding class

ExecutionEncodingStringMarshaller

Represents a marshaller for native strings using Encoding.

LazyEncodedString

Lazily encoded string with implicit casting to a read only span of bytes or a normal managed string

LazyEncodedStringMarshaller

Represents a marshaller for LazyEncodedString.

LazyEncodedStringValidators

Utility extensions to validate a LazyEncodedString

MarshalGCHandle

Utility class for supporting use of a GCHandle (as a raw native void pointer)

NativeLibraryHandle

Safe handle for a NativeLibrary

RefHandleMarshaller

Performs custom marshalling of handle arrays as in parameters

SafeGCHandle

Helper type to wrap GC handles with ref counting

UnexpectedNullHandleException

Exception thrown when an underlying Native API handle is unexpectedly null

Structs

ExecutionEncodingStringMarshaller.ManagedToUnmanagedIn

Custom marshaller to marshal a managed string as an unmanaged string using the Encoding property for encoding the native string.

LazyEncodedStringMarshaller.ManagedToUnmanagedIn

Stateful custom marshaller to marshal LazyEncodedString as an unmanaged string

Delegates

RefHandleMarshaller.ReturningOp<TRetVal>

Delegate for an operation with marshaled memory

RefHandleMarshaller.VoidOp

Delegate for an operation with marshaled memory