SharpCifs.Netbios.Name.WriteScopeWireFormat C# (CSharp) Méthode

WriteScopeWireFormat() private méthode

private WriteScopeWireFormat ( byte dst, int dstIndex ) : int
dst byte
dstIndex int
Résultat int
		internal virtual int WriteScopeWireFormat(byte[] dst, int dstIndex)
		{
			if (Scope == null)
			{
				dst[dstIndex] = unchecked(unchecked(0x00));
				return 1;
			}
			// copy new scope in
			dst[dstIndex++] = unchecked((byte)('.'));
			try
			{
				Array.Copy(Runtime.GetBytesForString(Scope, OemEncoding
					), 0, dst, dstIndex, Scope.Length);
			}
			catch (UnsupportedEncodingException)
			{
			}
			dstIndex += Scope.Length;
			dst[dstIndex++] = unchecked(unchecked(0x00));
			// now go over scope backwards converting '.' to label length
			int i = dstIndex - 2;
			int e = i - Scope.Length;
			int c = 0;
			do
			{
				if (dst[i] == '.')
				{
					dst[i] = unchecked((byte)c);
					c = 0;
				}
				else
				{
					c++;
				}
			}
			while (i-- > e);
			return Scope.Length + 2;
		}