internal static SMBCommand GetTreeDisconnectResponse(SMBHeader header, TreeDisconnectRequest request, StateObject state) { if (!state.IsTreeConnected(header.TID)) { header.Status = NTStatus.STATUS_SMB_BAD_TID; return(new ErrorResponse(CommandName.SMB_COM_TREE_DISCONNECT)); } state.RemoveConnectedTree(header.TID); return(new TreeDisconnectResponse()); }