internal override int WriteParameterWordsWireFormat(byte[] dst, int dstIndex)
{
int start = dstIndex;
WriteInt2(Session.transport.SndBufSize, dst, dstIndex);
dstIndex += 2;
WriteInt2(Session.transport.MaxMpxCount, dst, dstIndex);
dstIndex += 2;
WriteInt2(SmbConstants.VcNumber, dst, dstIndex);
dstIndex += 2;
WriteInt4(_sessionKey, dst, dstIndex);
dstIndex += 4;
if (_blob != null)
{
WriteInt2(_blob.Length, dst, dstIndex);
dstIndex += 2;
}
else
{
WriteInt2(_lmHash.Length, dst, dstIndex);
dstIndex += 2;
WriteInt2(_ntHash.Length, dst, dstIndex);
dstIndex += 2;
}
dst[dstIndex++] = unchecked(unchecked(0x00));
dst[dstIndex++] = unchecked(unchecked(0x00));
dst[dstIndex++] = unchecked(unchecked(0x00));
dst[dstIndex++] = unchecked(unchecked(0x00));
WriteInt4(_capabilities, dst, dstIndex);
dstIndex += 4;
return dstIndex - start;
}