Udostępnij za pośrednictwem


AsnDecoder.ReadEncodedValue Metoda

Definicja

Lokalizuje zakres zawartości zakodowanej wartości na początku buforu source przy użyciu określonych reguł kodowania.

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

Parametry

source
ReadOnlySpan<Byte>

Bufor zawierający zakodowane dane.

ruleSet
AsnEncodingRules

Ograniczenia kodowania używane podczas interpretowania danych.

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

Tag identyfikujący zawartość.

Wyjątki

ruleSet nie jest zdefiniowany.

source nie reprezentuje wartości zakodowanej w określonych regułach kodowania.

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