Freigeben über


AsnDecoder.TryReadEncodedValue Methode

Definition

Versucht, den Inhaltsbereich für den codierten Wert am Anfang des source-Puffers mithilfe der angegebenen Codierungsregeln zu ermitteln.

public:
 static bool TryReadEncodedValue(ReadOnlySpan<System::Byte> source, System::Formats::Asn1::AsnEncodingRules ruleSet, [Runtime::InteropServices::Out] System::Formats::Asn1::Asn1Tag % tag, [Runtime::InteropServices::Out] int % contentOffset, [Runtime::InteropServices::Out] int % contentLength, [Runtime::InteropServices::Out] int % bytesConsumed);
public static bool TryReadEncodedValue (ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out System.Formats.Asn1.Asn1Tag tag, out int contentOffset, out int contentLength, out int bytesConsumed);
static member TryReadEncodedValue : ReadOnlySpan<byte> * System.Formats.Asn1.AsnEncodingRules * Asn1Tag * int * int * int -> bool
Public Shared Function TryReadEncodedValue (source As ReadOnlySpan(Of Byte), ruleSet As AsnEncodingRules, ByRef tag As Asn1Tag, ByRef contentOffset As Integer, ByRef contentLength As Integer, ByRef bytesConsumed As Integer) As Boolean

Parameter

source
ReadOnlySpan<Byte>

Der Puffer, der codierte Daten enthält.

ruleSet
AsnEncodingRules

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

tag
Asn1Tag

Die Rückgabe dieser Methode ist das Tag, das den Inhalt identifiziert. Dieser Parameter wird nicht initialisiert behandelt.

contentOffset
Int32

Die Rückgabe dieser Methode ist der Offset der Inhaltsnutzlast relativ zum Anfang von source. Dieser Parameter wird nicht initialisiert behandelt.

contentLength
Int32

Die Rückgabe dieser Methode ist die Anzahl der Bytes in der Inhaltsnutzlast (die 0 sein kann). 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.

Gibt zurück

true, wenn source eine gültige strukturelle Codierung für die angegebenen Codierungsregeln darstellt, andernfalls false.

Ausnahmen

ruleSet ist nicht definiert.

Hinweise

Diese Methode führt sehr wenig Überprüfung für den Inhalt durch. Wenn der codierte Wert eine bestimmte Länge verwendet, wird der Inhalt überhaupt nicht überprüft. Wenn der codierte Wert eine unbestimmte Länge verwendet, werden die Inhalte nur bei Bedarf überprüft, um die Position des relevanten Markers für das Ende des Inhalts zu bestimmen.

Wenn der codierte Wert eine unbestimmte Länge verwendet, ist der bytesConsumed Wert größer als die Summe von contentOffset und contentLength , um den Marker für das Ende des Inhalts zu berücksichtigen.

Gilt für: