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


AsnDecoder.TryReadEncodedValue Метод

Определение

Пытается поместить диапазон содержимого для закодированного значения в начало буфера 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

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

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

Возвращает значение true, если source представляет допустимое структурное кодирование для указанных правил кодирования; в противном случае возвращает значение false.

Исключения

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

Комментарии

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

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

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