Table of Contents

Class LPArrayMarshalDescriptor

Namespace
AsmResolver.DotNet.Signatures
Assembly
AsmResolver.DotNet.dll

Represents the marshal descriptor for a pointer to the first element of a C-style array.

public class LPArrayMarshalDescriptor : MarshalDescriptor
Inheritance
LPArrayMarshalDescriptor
Inherited Members

Constructors

LPArrayMarshalDescriptor()

Creates a new empty instance of the LPArrayMarshalDescriptor class.

public LPArrayMarshalDescriptor()

LPArrayMarshalDescriptor(NativeType?)

Creates a new instance of the LPArrayMarshalDescriptor class.

public LPArrayMarshalDescriptor(NativeType? arrayElementType)

Parameters

arrayElementType NativeType?

The type of elements stored in the array.

Properties

ArrayElementType

Gets the type of elements stored in the array.

public NativeType? ArrayElementType { get; set; }

Property Value

NativeType?

Flags

Gets or sets the attributes assigned to this marshal descriptor.

public LPArrayFlags? Flags { get; set; }

Property Value

LPArrayFlags?

NativeType

Gets the native type of the marshal descriptor. This is the byte any descriptor starts with.

public override NativeType NativeType { get; }

Property Value

NativeType

NumberOfElements

Gets or sets the number of elements in the parameter

public int? NumberOfElements { get; set; }

Property Value

int?

ParameterIndex

Gets or sets the index of the parameter that is marshalled (if available).

public int? ParameterIndex { get; set; }

Property Value

int?

Methods

FromReader(ref BinaryStreamReader)

Reads a single array marshal descriptor at the current position of the binary stream reader.

public static LPArrayMarshalDescriptor FromReader(ref BinaryStreamReader reader)

Parameters

reader BinaryStreamReader

The reader to use.

Returns

LPArrayMarshalDescriptor

The read array descriptor.

Remarks

This method assumes the native type has already been read from the binary stream reader.

WriteContents(in BlobSerializationContext)

Serializes the blob (without extra data) to an output stream.

protected override void WriteContents(in BlobSerializationContext context)

Parameters

context BlobSerializationContext