Share via


AsnDecoder.TryReadOctetString Method

Definition

Attempts to get an Octet String value from source with a specified tag under the specified encoding rules, copying the value into the provided destination buffer.

public static bool TryReadOctetString (ReadOnlySpan<byte> source, Span<byte> destination, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, out int bytesWritten, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member TryReadOctetString : ReadOnlySpan<byte> * Span<byte> * System.Formats.Asn1.AsnEncodingRules * int * int * Nullable<System.Formats.Asn1.Asn1Tag> -> bool
Public Shared Function TryReadOctetString (source As ReadOnlySpan(Of Byte), destination As Span(Of Byte), ruleSet As AsnEncodingRules, ByRef bytesConsumed As Integer, ByRef bytesWritten As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As Boolean

Parameters

source
ReadOnlySpan<Byte>

The buffer containing encoded data.

destination
Span<Byte>

The buffer in which to write.

ruleSet
AsnEncodingRules

The encoding constraints to use when interpreting the data.

bytesConsumed
Int32

When this method returns, the total number of bytes for the encoded value. This parameter is treated as uninitialized.

bytesWritten
Int32

When this method returns, the total number of bytes written to destination. This parameter is treated as uninitialized.

expectedTag
Nullable<Asn1Tag>

The tag to check for before reading, or null for the default tag (Universal 4).

Returns

true if destination is large enough to receive the value of the Octet String; otherwise, false.

Exceptions

ruleSet is not defined.

The next value does not have the correct tag.

-or-

The length encoding is not valid under the current encoding rules.

-or-

The contents are not valid under the current encoding rules.

expectedTag.TagClass is Universal, but expectedTag.TagValue is not correct for the method.

-or-

destination overlaps source.

Applies to