Compartir a través de


AsnDecoder.TryReadOctetString Método

Definición

Intenta obtener un valor de cadena de octetos de source con una etiqueta especificada en las reglas de codificación especificadas, copiando el valor en el búfer de destino proporcionado.

public static bool TryReadOctetString (ReadOnlySpan<byte> source, Span<byte> destination, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, out int bytesWritten, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member TryReadOctetString : ReadOnlySpan<byte> * Span<byte> * System.Formats.Asn1.AsnEncodingRules * int * int * Nullable<System.Formats.Asn1.Asn1Tag> -> bool
Public Shared Function TryReadOctetString (source As ReadOnlySpan(Of Byte), destination As Span(Of Byte), ruleSet As AsnEncodingRules, ByRef bytesConsumed As Integer, ByRef bytesWritten As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As Boolean

Parámetros

source
ReadOnlySpan<Byte>

El búfer que contiene los datos codificados.

destination
Span<Byte>

El búfer en el que se va a escribir.

ruleSet
AsnEncodingRules

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

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.

bytesWritten
Int32

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

expectedTag
Nullable<Asn1Tag>

La etiqueta que se va a comprobar antes de leer, o null para la etiqueta predeterminada (Universal 4).

Devoluciones

true si destination es lo suficientemente grande como para recibir el valor de la cadena de octetos; en caso contrario, false.

Excepciones

ruleSet no está definido.

El siguiente valor no tiene la etiqueta correcta.

O bien

La codificación de longitud no es válida en las reglas de codificación actuales.

O bien

El contenido no es válido en las reglas de codificación actuales.

expectedTag.TagClass es Universal, pero expectedTag.TagValue no es correcto para el método .

O bien

destinationsourcese superpone a .

Se aplica a