Bagikan melalui


AsnDecoder.TryReadEncodedValue Metode

Definisi

Upaya menemukan rentang konten untuk nilai yang dikodekan di awal source buffer menggunakan aturan pengodean yang ditentukan.

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

Parameter

source
ReadOnlySpan<Byte>

Buffer yang berisi data yang dikodekan.

ruleSet
AsnEncodingRules

Batasan pengodean yang akan digunakan saat menginterpretasikan data.

tag
Asn1Tag

Ketika metode ini kembali, tag yang mengidentifikasi konten. Parameter ini diperlakukan sebagai tidak diinisialisasi.

contentOffset
Int32

Ketika metode ini kembali, offset payload konten relatif terhadap awal source. Parameter ini diperlakukan sebagai tidak diinisialisasi.

contentLength
Int32

Ketika metode ini kembali, jumlah byte dalam payload konten (yang mungkin 0). 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.

Mengembalikan

true jika source mewakili pengodean struktural yang valid untuk aturan pengodean yang ditentukan; jika tidak, false.

Pengecualian

ruleSet tidak didefinisikan.

Keterangan

Metode ini melakukan validasi yang sangat sedikit pada konten. Jika nilai yang dikodekan menggunakan panjang yang pasti, konten tidak diperiksa sama sekali. Jika nilai yang dikodekan menggunakan panjang yang tidak terbatas, konten hanya diperiksa seperlunya untuk menentukan lokasi penanda akhir konten yang relevan.

Ketika nilai yang dikodekan menggunakan panjang yang tidak terbatas, bytesConsumed nilai akan lebih besar dari jumlah contentOffset dan contentLength untuk memperhitungkan penanda akhir konten.

Berlaku untuk