次の方法で共有


AsnDecoder.TryReadEncodedValue メソッド

定義

指定したエンコード規則を使用して、source バッファーの先頭にあるエンコードされた値のコンテンツ範囲の検索を試みます。

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

パラメーター

source
ReadOnlySpan<Byte>

エンコードされたデータを含むバッファー。

ruleSet
AsnEncodingRules

データを解釈するときに使用するエンコード制約。

tag
Asn1Tag

このメソッドが返されるときに、コンテンツを識別する タグ。 このパラメーターは初期化前として処理されます。

contentOffset
Int32

このメソッドから制御が戻るときの、source の開始を基準とするコンテンツ ペイロードのオフセット。 このパラメーターは初期化前として処理されます。

contentLength
Int32

このメソッドから制御が戻るときの、コンテンツ ペイロードのバイト数 (0 の場合もあります)。 このパラメーターは初期化前として処理されます。

bytesConsumed
Int32

このメソッドが返されるときに、エンコードされた値の合計バイト数。 このパラメーターは初期化前として処理されます。

戻り値

source が指定したエンコード規則で有効な構造のエンコードを表している場合は true。それ以外の場合は false

例外

ruleSet が定義されていません。

注釈

このメソッドは、コンテンツに対してほとんど検証を実行します。 エンコードされた値が明確な長さを使用する場合、内容はまったく検査されません。 エンコードされた値で不定の長さが使用されている場合、コンテンツは必要に応じてのみ検査され、関連するコンテンツの終了マーカーの場所が決定されます。

エンコードされた値が不確定の長さを使用する場合、bytesConsumed値は と のcontentOffsetcontentLength合計よりも大きくなり、コンテンツの終了マーカーを考慮します。

適用対象