Поделиться через


AsnDecoder.ReadEncodedValue Метод

Определение

Помещает диапазон содержимого для закодированного значения в начало буфера source, используя указанные правила кодирования.

public:
 static System::Formats::Asn1::Asn1Tag ReadEncodedValue(ReadOnlySpan<System::Byte> source, System::Formats::Asn1::AsnEncodingRules ruleSet, [Runtime::InteropServices::Out] int % contentOffset, [Runtime::InteropServices::Out] int % contentLength, [Runtime::InteropServices::Out] int % bytesConsumed);
public static System.Formats.Asn1.Asn1Tag ReadEncodedValue (ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int contentOffset, out int contentLength, out int bytesConsumed);
static member ReadEncodedValue : ReadOnlySpan<byte> * System.Formats.Asn1.AsnEncodingRules * int * int * int -> System.Formats.Asn1.Asn1Tag
Public Shared Function ReadEncodedValue (source As ReadOnlySpan(Of Byte), ruleSet As AsnEncodingRules, ByRef contentOffset As Integer, ByRef contentLength As Integer, ByRef bytesConsumed As Integer) As Asn1Tag

Параметры

source
ReadOnlySpan<Byte>

Буфер, содержащий закодированные данные.

ruleSet
AsnEncodingRules

Ограничения кодирования, используемые при интерпретации данных.

contentOffset
Int32

При возврате из этого метода — смещение полезных данных содержимого относительно начала source. Этот параметр обрабатывается как неинициализированный.

contentLength
Int32

При возврате из этого метода — число байтов в полезных данных содержимого (которое может быть равно 0). Этот параметр обрабатывается как неинициализированный.

bytesConsumed
Int32

При возврате из этого метода — общее количество байтов для закодированного значения. Этот параметр обрабатывается как неинициализированный.

Возвращаемое значение

Тег, определяющий содержимое.

Исключения

ruleSet не определен.

source не представляет значение, закодированное в соответствии с указанными правилами кодирования.

Комментарии

Этот метод выполняет очень небольшую проверку содержимого. Если закодированное значение использует определенную длину, содержимое не проверяется вообще. Если закодированное значение использует неопределенную длину, содержимое проверяется только при необходимости, чтобы определить расположение соответствующего маркера конца содержимого.

Если закодированное значение использует неопределенную длину, bytesConsumed значение будет больше суммы contentOffset и contentLength учитывается маркер конца содержимого.

Применяется к