Udostępnij za pośrednictwem


AsnDecoder.TryReadEncodedValue Metoda

Definicja

Próby zlokalizowania zakresu zawartości dla zakodowanej wartości na początku buforu source przy użyciu określonych reguł kodowania.

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

Parametry

source
ReadOnlySpan<Byte>

Bufor zawierający zakodowane dane.

ruleSet
AsnEncodingRules

Ograniczenia kodowania używane podczas interpretowania danych.

tag
Asn1Tag

Gdy ta metoda zostanie zwrócona, tag identyfikujący zawartość. Ten parametr jest traktowany jako niezainicjowany.

contentOffset
Int32

Gdy ta metoda zwróci wartość, przesunięcie ładunku zawartości względem początku elementu source. Ten parametr jest traktowany jako niezainicjowany.

contentLength
Int32

Gdy ta metoda zwróci wartość , liczba bajtów w ładunku zawartości (co może być 0). 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.

Zwraca

true jeśli source reprezentuje prawidłowe kodowanie strukturalne dla określonych reguł kodowania; w przeciwnym razie false.

Wyjątki

ruleSet nie jest zdefiniowany.

Uwagi

Ta metoda wykonuje bardzo małą walidację zawartości. Jeśli zakodowana wartość używa określonej długości, zawartość nie jest w ogóle sprawdzana. Jeśli zakodowana wartość używa nieskończonej długości, zawartość jest sprawdzana tylko w razie potrzeby, aby określić lokalizację odpowiedniego znacznika końca zawartości.

Gdy zakodowana wartość używa nieskończonej długości, bytesConsumed wartość będzie większa niż suma contentOffset i contentLength do uwzględnienia znacznika końca zawartości.

Dotyczy