Lingua

AsnDecoder.TryReadEncodedValue Metodo

Definizione

Tenta di individuare l'intervallo di contenuti per il valore codificato all'inizio del source buffer usando le regole di codifica specificate.

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

Parametri

source
ReadOnlySpan<Byte>

Buffer contenente dati codificati.

ruleSet
AsnEncodingRules

Vincoli di codifica da usare per interpretare i dati.

tag
Asn1Tag

Quando termina, questo metodo contiene il tag che identifica il contenuto. Questo parametro viene considerato non inizializzato.

contentOffset
Int32

Quando termina, questo metodo contiene l'offset del payload del contenuto rispetto all'inizio di source. Questo parametro viene considerato non inizializzato.

contentLength
Int32

Quando termina, questo metodo contiene il numero di byte nel payload del contenuto (che può essere 0). Questo parametro viene considerato non inizializzato.

bytesConsumed
Int32

Quando termina, questo metodo contiene il numero totale di byte per il valore codificato. Questo parametro viene considerato non inizializzato.

Valori restituiti

true se source rappresenta una codifica strutturale valida per le regole di codifica specificate; in caso contrario, false.

Eccezioni

ruleSet non è definito.

Commenti

Questo metodo esegue pochissima convalida sul contenuto. Se il valore codificato usa una lunghezza definita, il contenuto non viene controllato affatto. Se il valore codificato utilizza una lunghezza indefinita, il contenuto viene controllato solo se necessario per determinare la posizione del marcatore finale del contenuto pertinente.

Quando il valore codificato usa una lunghezza indefinita, il bytesConsumed valore sarà maggiore della somma di contentOffset e contentLength per tenere conto del marcatore di fine contenuto.

Si applica a