Condividi tramite


AsnDecoder.TryReadBitString Metodo

Definizione

Prova a copiare un valore BitString da source con un tag specificato in base alle regole di codifica specificate in 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

Parametri

source
ReadOnlySpan<Byte>

Buffer che contiene i dati codificati.

destination
Span<Byte>

Buffer in cui scrivere.

ruleSet
AsnEncodingRules

Vincoli di codifica da usare durante l'interpretazione dei dati.

unusedBitCount
Int32

Se ha esito positivo, riceve il numero di bit nell'ultimo byte che sono stati segnalati come "non utilizzati" dal writer. 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.

bytesWritten
Int32

Al termine di questo metodo, il numero totale di byte scritti in destination. Questo parametro viene trattato come non inizializzato.

expectedTag
Nullable<Asn1Tag>

Tag da controllare prima della lettura oppure null per indicare il tag predefinito (Universal 3).

Restituisce

true se le dimensioni di destination sono sufficienti per ricevere il valore di BitString; in caso contrario, false.

Eccezioni

ruleSet non è definito.

Il valore successivo non ha il tag corretto.

-oppure-

La codifica della lunghezza non è valida nelle regole di codifica correnti.

-oppure-

Il contenuto non è valido nelle regole di codifica correnti.

expectedTag.TagClass è , ma expectedTag.TagValue non è Universalcorretto per il metodo .

-oppure-

destination si sovrappone sourcea .

Commenti

I bit meno significativi nell'ultimo byte segnalato come "inutilizzato" dal unusedBitCount valore verranno copiati come destination bit non distribuiti, indipendentemente dal valore nella rappresentazione codificata.

Si applica a