AsnDecoder.ReadSequence 方法

定义

在指定编码规则下,从带有指定标记的 source 中读取 Sequence 或 Sequence-Of 值。

public static void ReadSequence (ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int contentOffset, out int contentLength, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member ReadSequence : ReadOnlySpan<byte> * System.Formats.Asn1.AsnEncodingRules * int * int * int * Nullable<System.Formats.Asn1.Asn1Tag> -> unit
Public Shared Sub ReadSequence (source As ReadOnlySpan(Of Byte), ruleSet As AsnEncodingRules, ByRef contentOffset As Integer, ByRef contentLength As Integer, ByRef bytesConsumed As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing)

参数

source
ReadOnlySpan<Byte>

包含编码数据的缓冲区。

ruleSet
AsnEncodingRules

解释数据时使用的编码约束。

contentOffset
Int32

此方法返回时,为内容有效负载相对于 source 起始位置的偏移量。 该参数未经初始化即被处理。

contentLength
Int32

此方法返回时,为内容有效负载中的字节数(可能为 0)。 该参数未经初始化即被处理。

bytesConsumed
Int32

此方法返回时,为编码值的字节总数。 该参数未经初始化即被处理。

expectedTag
Nullable<Asn1Tag>

读取前要检查的标记,或使用 null 作为默认标记(通用 16)。

例外

未定义ruleSet

下一个值没有正确的标记。

-或-

长度编码在当前编码规则下无效。

-或-

在当前编码规则下,内容无效。

expectedTagTagClassUniversal,但 expectedTagTagValue 对于 方法,则不正确。

注解

此方法不计算嵌套内容,但用于确定内容结尾标记位置的最小处理除外。 因此,内容可能包含在当前编码规则下无效的数据。

适用于