Język

AsnDecoder.TryReadBitString Metoda

Definicja

Próbuje skopiować wartość ciągu bitowego z source określonego tagu w ramach określonych reguł kodowania do 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

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 pomyślnym odebraniu liczby bitów w ostatnim bajtzie, które zostały zgłoszone jako "nieużywane" przez składnik zapisywania. Ten parametr jest traktowany jako niezainicjowany.

bytesConsumed
Int32

Gdy ta metoda zwróci, łączna 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 pliku destination. Ten parametr jest traktowany jako niezainicjowany.

expectedTag
Nullable<Asn1Tag>

Tag do sprawdzenia przed przeczytaniem lub null 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ść nie jest prawidłowa zgodnie z bieżącymi regułami kodowania.

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

— lub —

destination nakłada się na source.

Uwagi

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

Dotyczy

Zobacz też