Freigeben über


AsnDecoder.TryReadOctetString Methode

Definition

Versucht, einen Oktett-Zeichenfolgenwert aus source mit einem angegebenen Tag gemäß den angegebenen Codierungsregeln zu lesen, wobei der Wert in den bereitgestellten Zielpuffer kopiert wird.

public static bool TryReadOctetString (ReadOnlySpan<byte> source, Span<byte> destination, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, out int bytesWritten, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member TryReadOctetString : ReadOnlySpan<byte> * Span<byte> * System.Formats.Asn1.AsnEncodingRules * int * int * Nullable<System.Formats.Asn1.Asn1Tag> -> bool
Public Shared Function TryReadOctetString (source As ReadOnlySpan(Of Byte), destination As Span(Of Byte), ruleSet As AsnEncodingRules, 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.

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 4).

Gibt zurück

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

Ausnahmen

ruleSet ist nicht definiert.

Der nächste Wert hat nicht das richtige Tag.

Oder

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

Oder

Die Inhalte sind gemäß den aktuellen Codierungsregeln ungültig.

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

Oder

destinationsourceüberschneidet .

Gilt für: