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


AsnDecoder.TryReadBitString Метод

Определение

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

public static bool TryReadBitString (ReadOnlySpan<byte> source, Span<byte> destination, System.Formats.Asn1.AsnEncodingRules ruleSet, out int unusedBitCount, out int bytesConsumed, out int bytesWritten, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member TryReadBitString : ReadOnlySpan<byte> * Span<byte> * System.Formats.Asn1.AsnEncodingRules * int * int * int * Nullable<System.Formats.Asn1.Asn1Tag> -> bool
Public Shared Function TryReadBitString (source As ReadOnlySpan(Of Byte), destination As Span(Of Byte), ruleSet As AsnEncodingRules, ByRef unusedBitCount As Integer, ByRef bytesConsumed As Integer, ByRef bytesWritten As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As Boolean

Параметры

source
ReadOnlySpan<Byte>

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

destination
Span<Byte>

Буфер, в который должна выполняться запись.

ruleSet
AsnEncodingRules

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

unusedBitCount
Int32

При успешном выполнении получает количество битов в последнем байте, которые были обозначены модулем записи как "неиспользованные". Этот параметр обрабатывается как неинициализированный.

bytesConsumed
Int32

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

bytesWritten
Int32

Этот метод возвращает общее количество байтов, записанных в destination. Этот параметр обрабатывается как неинициализированный.

expectedTag
Nullable<Asn1Tag>

Тег, который необходимо проверить перед чтением, или null для тега по умолчанию (Universal 3).

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

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

Исключения

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

Следующее значение не имеет правильного тега.

-или-

Кодировка длины недопустима в соответствии с текущими правилами кодирования.

-или-

Содержимое недопустимо в соответствии с текущими правилами кодирования.

expectedTag.TagClass имеет значение Universal, но expectedTag.TagValue не является правильным для метода .

-или-

destination перекрывает source.

Комментарии

Наименьшие значимые биты в последнем байте, которые считаются "неиспользуемыми" значением unusedBitCount , будут скопированы в destination виде неустановленных битов, независимо от их значения в закодированном представлении.

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