Freigeben über


AsnDecoder.TryReadBitString Methode

Definition

Versucht, einen Bit-Zeichenfolgenwert aus source mit einem angegebenen Tag gemäß den angegebenen Codierungsregeln in destination zu kopieren.

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

Parameter

source
ReadOnlySpan<Byte>

Der Puffer, der codierte Daten enthält.

destination
Span<Byte>

Der Puffer, in den geschrieben werden soll.

ruleSet
AsnEncodingRules

Die Codierungseinschränkungen, die beim Interpretieren der Daten verwendet werden sollen.

unusedBitCount
Int32

Bei Erfolg wird die Anzahl der Bits im letzten Byte empfangen, die vom Writer als „nicht verwendet“ gemeldet wurden. Dieser Parameter wird nicht initialisiert behandelt.

bytesConsumed
Int32

Die Rückgabe dieser Methode ist die Gesamtzahl der Bytes für den codierten Wert. Dieser Parameter wird nicht initialisiert behandelt.

bytesWritten
Int32

Die Rückgabe dieser Methode ist die Gesamtzahl der in destination geschriebenen Bytes. Dieser Parameter wird nicht initialisiert behandelt.

expectedTag
Nullable<Asn1Tag>

Das Tag, das vor dem Lesen überprüft werden soll, oder null für das Standardtag (Universell 3).

Gibt zurück

true, wenn destination groß genug ist, um den Wert der Bitzeichenfolge zu empfangen, andernfalls false.

Ausnahmen

ruleSet ist nicht definiert.

Der nächste Wert verfügt nicht über das richtige Tag.

Oder

Die Längencodierung ist nach den aktuellen Codierungsregeln ungültig.

Oder

Die Inhalte sind nach den aktuellen Codierungsregeln ungültig.

expectedTag.TagClass ist Universal, aber expectedTag.TagValue ist für die -Methode nicht richtig.

Oder

destinationsourceüberschneidet .

Hinweise

Die am wenigsten signifikanten Bits im letzten Byte, die vom unusedBitCount Wert als "nicht verwendet" gemeldet werden, werden als nicht festgelegte Bits kopiert destination , unabhängig von ihrem Wert in der codierten Darstellung.

Gilt für: