Share via


AsnDecoder.TryReadPrimitiveBitString Method

Definition

Attempts to get a Bit String value from source with a specified tag under the specified encoding rules, if the value is contained in a single (primitive) encoding.

public static bool TryReadPrimitiveBitString (ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int unusedBitCount, out ReadOnlySpan<byte> value, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member TryReadPrimitiveBitString : ReadOnlySpan<byte> * System.Formats.Asn1.AsnEncodingRules * int * ReadOnlySpan * int * Nullable<System.Formats.Asn1.Asn1Tag> -> bool
Public Shared Function TryReadPrimitiveBitString (source As ReadOnlySpan(Of Byte), ruleSet As AsnEncodingRules, ByRef unusedBitCount As Integer, ByRef value As ReadOnlySpan(Of Byte), ByRef bytesConsumed As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As Boolean

Parameters

source
ReadOnlySpan<Byte>

The buffer containing encoded data.

ruleSet
AsnEncodingRules

The encoding constraints to use when interpreting the data.

unusedBitCount
Int32

On success, receives the number of bits in the last byte which were reported as "unused" by the writer. This parameter is treated as uninitialized.

value
ReadOnlySpan<Byte>

On success, receives a slice of the input buffer that corresponds to the value of the Bit String. This parameter is treated as uninitialized.

bytesConsumed
Int32

When this method returns, the total number of bytes for the encoded value. This parameter is treated as uninitialized.

expectedTag
Nullable<Asn1Tag>

The tag to check for before reading, or null for the default tag (Universal 3).

Returns

true if the Bit String value has a primitive encoding and all of the bits reported as unused are set to 0; otherwise, false.

Exceptions

ruleSet is not defined.

The next value does not have the correct tag.

-or-

The length encoding is not valid under the current encoding rules.

-or-

The contents are not valid under the current encoding rules.

expectedTag.TagClass is Universal, but expectedTag.TagValue is not correct for the method.

Applies to