Condividi tramite


AsnDecoder.ReadEncodedValue Metodo

Definizione

Individua l'intervallo di contenuto per il valore codificato all'inizio del buffer di source usando le regole di codifica specificate.

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

Parametri

source
ReadOnlySpan<Byte>

Buffer che contiene i dati codificati.

ruleSet
AsnEncodingRules

Vincoli di codifica da utilizzare per interpretare i dati.

contentOffset
Int32

Al termine di questo metodo, l'offset del payload del contenuto rispetto all'inizio di source. Questo parametro viene trattato come non inizializzato.

contentLength
Int32

Al termine di questo metodo, il numero di byte nel payload del contenuto, che può essere 0. Questo parametro viene trattato come non inizializzato.

bytesConsumed
Int32

Al termine di questo metodo, il numero totale di byte per il valore codificato. Questo parametro viene trattato come non inizializzato.

Restituisce

Tag che identifica il contenuto.

Eccezioni

ruleSet non è definito.

source non rappresenta un valore codificato nelle regole di codifica specificate.

Commenti

Questo metodo esegue una convalida molto poco sul contenuto. Se il valore codificato utilizza 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