Compartir a través de


AsnDecoder.TryReadBitString Método

Definición

Intenta copiar un valor de cadena de bits de source con una etiqueta especificada en las reglas de codificación especificadas en destination.

public static bool TryReadBitString (ReadOnlySpan<byte> source, Span<byte> destination, System.Formats.Asn1.AsnEncodingRules ruleSet, out int unusedBitCount, out int bytesConsumed, out int bytesWritten, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member TryReadBitString : ReadOnlySpan<byte> * Span<byte> * System.Formats.Asn1.AsnEncodingRules * int * int * int * Nullable<System.Formats.Asn1.Asn1Tag> -> bool
Public Shared Function TryReadBitString (source As ReadOnlySpan(Of Byte), destination As Span(Of Byte), ruleSet As AsnEncodingRules, ByRef unusedBitCount As Integer, 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.

unusedBitCount
Int32

Si la operación se realiza correctamente, recibe el número de bits en el último byte que el escritor comunicó como "sin usar". 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.

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 3).

Devoluciones

true si destination es lo suficientemente grande como para recibir el valor de la cadena de bits; 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

destinationsourcesuperpone .

Comentarios

Los bits menos significativos del último byte que se notifican como "sin usar" por el unusedBitCount valor se copiarán destination como bits sin establecer, independientemente de su valor en la representación codificada.

Se aplica a