private object ParseInfoData(byte[] data, ref int currentIndex, infoType_Values infoType)
{
// Parse Info Data by Type
object infoData;
switch (infoType)
{
// Logon Info Version 1
case infoType_Values.INFOTYPE_LOGON:
infoData = (object)ParseTsLogonInfo(data, ref currentIndex);
break;
// Logon Info Version 2
case infoType_Values.INFOTYPE_LOGON_LONG:
infoData = (object)ParseTsLogonInfoVersion2(data, ref currentIndex);
break;
// Plain Notify
case infoType_Values.INFOTYPE_LOGON_PLAINNOTIFY:
infoData = (object)ParseTsPlainNotify(data, ref currentIndex);
break;
// Logon Info Extended
case infoType_Values.INFOTYPE_LOGON_EXTENDED_INF:
infoData = (object)ParseTsLogonInfoExtended(data, ref currentIndex);
break;
default:
throw new FormatException(ConstValue.ERROR_MESSAGE_ENUM_UNRECOGNIZED);
}
return infoData;
}