Compartir a través de


AsnDecoder.TryReadEncodedValue Método

Definición

Intenta localizar el intervalo de contenido para el valor codificado al principio del búfer source utilizando las reglas de codificación especificadas.

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

Parámetros

source
ReadOnlySpan<Byte>

El búfer que contiene los datos codificados.

ruleSet
AsnEncodingRules

Restricciones de codificación que se van a usar al interpretar los datos.

tag
Asn1Tag

Cuando este método vuelve, la etiqueta que identifica el contenido. Este parámetro se trata como sin inicializar.

contentOffset
Int32

Cuando este método vuelve, el desplazamiento de la carga útil de contenido en relación al inicio de source. Este parámetro se trata como sin inicializar.

contentLength
Int32

Cuando este método vuelve, el número de bytes de la carga útil de contenido (que puede ser 0). Este parámetro se trata como sin inicializar.

bytesConsumed
Int32

Cuando este método vuelve, el número total de bytes para el valor codificado. Este parámetro se trata como sin inicializar.

Devoluciones

true si source representa una codificación estructural válida para las reglas de codificación especificadas; en caso contrario, false.

Excepciones

ruleSet no está definido.

Comentarios

Este método realiza muy poca validación en el contenido. Si el valor codificado usa una longitud definitiva, el contenido no se inspecciona en absoluto. Si el valor codificado usa una longitud indefinida, el contenido solo se inspecciona según sea necesario para determinar la ubicación del marcador de fin de contenido pertinente.

Cuando el valor codificado usa una longitud indefinida, el bytesConsumed valor será mayor que la suma de contentOffset y contentLength para tener en cuenta el marcador de fin de contenido.

Se aplica a