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
учитывается маркер конца содержимого.