public override string ToString() { string c; switch (Command) { case SmbComNegotiate: { c = "SMB_COM_NEGOTIATE"; break; } case SmbComSessionSetupAndx: { c = "SMB_COM_SESSION_SETUP_ANDX"; break; } case SmbComTreeConnectAndx: { c = "SMB_COM_TREE_CONNECT_ANDX"; break; } case SmbComQueryInformation: { c = "SMB_COM_QUERY_INFORMATION"; break; } case SmbComCheckDirectory: { c = "SMB_COM_CHECK_DIRECTORY"; break; } case SmbComTransaction: { c = "SMB_COM_TRANSACTION"; break; } case SmbComTransaction2: { c = "SMB_COM_TRANSACTION2"; break; } case SmbComTransactionSecondary: { c = "SMB_COM_TRANSACTION_SECONDARY"; break; } case SmbComFindClose2: { c = "SMB_COM_FIND_CLOSE2"; break; } case SmbComTreeDisconnect: { c = "SMB_COM_TREE_DISCONNECT"; break; } case SmbComLogoffAndx: { c = "SMB_COM_LOGOFF_ANDX"; break; } case SmbComEcho: { c = "SMB_COM_ECHO"; break; } case SmbComMove: { c = "SMB_COM_MOVE"; break; } case SmbComRename: { c = "SMB_COM_RENAME"; break; } case SmbComDelete: { c = "SMB_COM_DELETE"; break; } case SmbComDeleteDirectory: { c = "SMB_COM_DELETE_DIRECTORY"; break; } case SmbComNtCreateAndx: { c = "SMB_COM_NT_CREATE_ANDX"; break; } case SmbComOpenAndx: { c = "SMB_COM_OPEN_ANDX"; break; } case SmbComReadAndx: { c = "SMB_COM_READ_ANDX"; break; } case SmbComClose: { c = "SMB_COM_CLOSE"; break; } case SmbComWriteAndx: { c = "SMB_COM_WRITE_ANDX"; break; } case SmbComCreateDirectory: { c = "SMB_COM_CREATE_DIRECTORY"; break; } case SmbComNtTransact: { c = "SMB_COM_NT_TRANSACT"; break; } case SmbComNtTransactSecondary: { c = "SMB_COM_NT_TRANSACT_SECONDARY"; break; } default: { c = "UNKNOWN"; break; } } string str = ErrorCode == 0 ? "0" : SmbException.GetMessageByCode(ErrorCode); return("command=" + c + ",received=" + Received + ",errorCode=" + str + ",flags=0x" + Hexdump.ToHexString(Flags & 0xFF, 4) + ",flags2=0x" + Hexdump.ToHexString(Flags2, 4) + ",signSeq=" + SignSeq + ",tid=" + Tid + ",pid=" + Pid + ",uid=" + Uid + ",mid=" + Mid + ",wordCount=" + WordCount + ",byteCount=" + ByteCount); }