다음을 통해 공유


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 의 합계 contentOffset 보다 커지고 contentLength 콘텐츠 끝 표식을 고려합니다.

적용 대상