Sdílet prostřednictvím


AsnDecoder.TryReadEncodedValue Metoda

Definice

Při pokusu o vyhledání rozsahu obsahu zakódované hodnoty na začátku vyrovnávací paměti pomocí zadaných source pravidel kódování.

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>

Vyrovnávací paměť obsahující zakódovaná data.

ruleSet
AsnEncodingRules

Omezení kódování, která se mají použít při interpretaci dat.

tag
Asn1Tag

Když se tato metoda vrátí, značka identifikující obsah. Tento parametr je považován za neinicializovaný.

contentOffset
Int32

Když tato metoda vrátí, posun datové části obsahu vzhledem k začátku source. Tento parametr je považován za neinicializovaný.

contentLength
Int32

Když tato metoda vrátí, počet bajtů v datové části obsahu (který může být 0). Tento parametr je považován za neinicializovaný.

bytesConsumed
Int32

Když tato metoda vrátí celkový počet bajtů pro zakódovanou hodnotu. Tento parametr je považován za neinicializovaný.

Návraty

true if source představuje platné strukturální kódování pro zadaná pravidla kódování; v opačném případě false.

Výjimky

ruleSet není definován.

Poznámky

Tato metoda provádí velmi málo ověření obsahu. Pokud kódovaná hodnota používá určitou délku, obsah se vůbec nekontroluje. Pokud zakódovaná hodnota používá neomezenou délku, obsah se kontroluje pouze podle potřeby, aby bylo možné určit umístění příslušné značky konce obsahu.

Pokud zakódovaná hodnota používá neomezenou délku bytesConsumed , bude hodnota větší než součet contentOffset a contentLength , aby se zohlednila značka konce obsahu.

Platí pro