This class converts an array of value type instances to an unmanaged array. Your unmanaged code accesses this array as a pointer that initially points to the first array element. Each time the pointer increments , it points to the next element in the array. The constructor takes a mandatory offset argument that specifies which element should be the first element in the unmanaged array. If you want to pass the whole array, specify an offset of zero. Figure 37-1. The System.Runtime.InteropServices namespacepublic struct ArrayWithOffset { // Public Constructors public ArrayWithOffset (object array , int offset ); // Public Instance Methods public override bool Equals (object obj ); // overrides ValueType public object GetArray ( ); public override int GetHashCode ( ); // overrides ValueType public int GetOffset ( ); } HierarchySystem.Object System.ValueType ArrayWithOffset |