Bagikan melalui


AsnDecoder.TryReadBitString Metode

Definisi

Mencoba menyalin nilai String Bit dari source dengan tag tertentu di bawah aturan pengodean yang ditentukan ke dalam 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

Parameter

source
ReadOnlySpan<Byte>

Buffer yang berisi data yang dikodekan.

destination
Span<Byte>

Buffer untuk menulis.

ruleSet
AsnEncodingRules

Batasan pengodean yang akan digunakan saat menginterpretasikan data.

unusedBitCount
Int32

Jika berhasil, menerima jumlah bit dalam byte terakhir yang dilaporkan sebagai "tidak digunakan" oleh penulis. Parameter ini diperlakukan sebagai tidak diinisialisasi.

bytesConsumed
Int32

Ketika metode ini kembali, jumlah total byte untuk nilai yang dikodekan. Parameter ini diperlakukan sebagai tidak diinisialisasi.

bytesWritten
Int32

Ketika metode ini kembali, jumlah total byte yang ditulis ke destination. Parameter ini diperlakukan sebagai tidak diinisialisasi.

expectedTag
Nullable<Asn1Tag>

Tag yang akan diperiksa sebelum membaca, atau null untuk tag default (Universal 3).

Mengembalikan

true jika destination cukup besar untuk menerima nilai String Bit; jika tidak, false.

Pengecualian

ruleSet tidak didefinisikan.

Nilai berikutnya tidak memiliki tag yang benar.

-atau-

Pengodean panjang tidak valid di bawah aturan pengodean saat ini.

-atau-

Isi tidak valid di bawah aturan pengodean saat ini.

expectedTag.TagClass adalah Universal, tetapi expectedTag.TagValue tidak benar untuk metode .

-atau-

destination tumpang tindih source.

Keterangan

Bit paling tidak signifikan dalam byte terakhir yang dilaporkan sebagai "tidak digunakan" oleh unusedBitCount nilai akan disalin menjadi destination bit yang tidak ditetapkan, terlepas dari nilainya dalam representasi yang dikodekan.

Berlaku untuk