Partilhar via


AsnDecoder.TryReadEncodedValue Método

Definição

As tentativas localizam o intervalo de conteúdo para o valor codificado no início do buffer de source usando as regras de codificação 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>

Buffer que contém dados codificados.

ruleSet
AsnEncodingRules

As restrições de codificação a serem usadas ao interpretar os dados.

tag
Asn1Tag

Quando esse método é retornado, a marca que identifica o conteúdo. Esse parâmetro é tratado como não inicializado.

contentOffset
Int32

Quando esse método é retornado, o deslocamento da carga de conteúdo em relação ao início de source. Esse parâmetro é tratado como não inicializado.

contentLength
Int32

Quando esse método é retornado, o número de bytes na carga de conteúdo (que pode ser 0). Esse parâmetro é tratado como não inicializado.

bytesConsumed
Int32

Quando esse método é retornado, o número total de bytes para o valor codificado. Esse parâmetro é tratado como não inicializado.

Retornos

true se source representar uma codificação estrutural válida para as regras de codificação especificadas; caso contrário, false.

Exceções

ruleSet não está definido.

Comentários

Esse método executa muito pouca validação no conteúdo. Se o valor codificado usar um comprimento definido, o conteúdo não será inspecionado. Se o valor codificado usar um comprimento indefinido, o conteúdo só será inspecionado conforme necessário para determinar o local do marcador de fim de conteúdo relevante.

Quando o valor codificado usa um comprimento indefinido, o bytesConsumed valor será maior que a soma de contentOffset e contentLength para considerar o marcador de fim de conteúdo.

Aplica-se a