AsnDecoder.TryReadEncodedValue 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
尝试使用指定编码规则查找 source
缓冲区开头编码值的内容范围。
public:
static bool TryReadEncodedValue(ReadOnlySpan<System::Byte> source, System::Formats::Asn1::AsnEncodingRules ruleSet, [Runtime::InteropServices::Out] System::Formats::Asn1::Asn1Tag % tag, [Runtime::InteropServices::Out] int % contentOffset, [Runtime::InteropServices::Out] int % contentLength, [Runtime::InteropServices::Out] int % bytesConsumed);
public static bool TryReadEncodedValue (ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out System.Formats.Asn1.Asn1Tag tag, out int contentOffset, out int contentLength, out int bytesConsumed);
static member TryReadEncodedValue : ReadOnlySpan<byte> * System.Formats.Asn1.AsnEncodingRules * Asn1Tag * int * int * int -> bool
Public Shared Function TryReadEncodedValue (source As ReadOnlySpan(Of Byte), ruleSet As AsnEncodingRules, ByRef tag As Asn1Tag, ByRef contentOffset As Integer, ByRef contentLength As Integer, ByRef bytesConsumed As Integer) As Boolean
参数
- source
- ReadOnlySpan<Byte>
包含编码数据的缓冲区。
- ruleSet
- AsnEncodingRules
解释数据时要使用的编码约束。
- tag
- Asn1Tag
此方法返回时,为标识内容的标记。 该参数未经初始化即被处理。
- contentOffset
- Int32
此方法返回时,为内容有效负载相对于 source
起始位置的偏移量。
该参数未经初始化即被处理。
- contentLength
- Int32
此方法返回时,为内容有效负载中的字节数(可能为 0)。 该参数未经初始化即被处理。
- bytesConsumed
- Int32
此方法返回时,为编码值的字节总数。 该参数未经初始化即被处理。
返回
如果 source
表示指定编码规则的有效结构编码,则为 true
;否则为 false
。
例外
未定义 ruleSet
。
注解
此方法很少对内容执行验证。 如果编码值使用一定长度,则根本不检查内容。 如果编码值使用无限长,则仅在必要时检查内容以确定相关内容结尾标记的位置。
当编码值使用无限期长度时,bytesConsumed
该值将大于 和 的总和contentOffset
contentLength
,以考虑内容结束标记。