Udostępnij za pośrednictwem


AsnDecoder.TryReadBitString Metoda

Definicja

Próbuje skopiować wartość ciągu bitowego z source określonego tagu zgodnie z określonymi regułami kodowania do destinationelementu .

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

Parametry

source
ReadOnlySpan<Byte>

Bufor zawierający zakodowane dane.

destination
Span<Byte>

Bufor, w którym ma być zapisywany.

ruleSet
AsnEncodingRules

Ograniczenia kodowania używane podczas interpretowania danych.

unusedBitCount
Int32

Po powodzeniu otrzymuje liczbę bitów w ostatnim bajtzie, które zostały zgłoszone jako "nieużywane" przez pisarza. Ten parametr jest traktowany jako niezainicjowany.

bytesConsumed
Int32

Gdy ta metoda zostanie zwrócona, całkowita liczba bajtów dla zakodowanej wartości. Ten parametr jest traktowany jako niezainicjowany.

bytesWritten
Int32

Gdy ta metoda zwróci wartość , całkowita liczba bajtów zapisanych w obiekcie destination. Ten parametr jest traktowany jako niezainicjowany.

expectedTag
Nullable<Asn1Tag>

Tag do sprawdzenia przed odczytaniem lub null dla tagu domyślnego (Universal 3).

Zwraca

true jeśli destination jest wystarczająco duży, aby otrzymać wartość ciągu bitowego; w przeciwnym razie false.

Wyjątki

ruleSet nie jest zdefiniowany.

Następna wartość nie ma poprawnego tagu.

-lub-

Kodowanie długości jest nieprawidłowe w ramach bieżących reguł kodowania.

-lub-

Zawartość jest nieprawidłowa w ramach bieżących reguł kodowania.

expectedTag.TagClass jest Universal, ale expectedTagTagValue . nie jest poprawny dla metody .

-lub-

destination nakłada się sourcena program .

Uwagi

Najmniej znaczące bity w ostatnim bajtzie, które są zgłaszane jako "nieużywane" przez unusedBitCount wartość, zostaną skopiowane jako destination nieustawione bity, niezależnie od ich wartości w zakodowanej reprezentacji.

Dotyczy