drift amount:  It gets updated when there is good position information, but we use the old value when we don't have good position info.  (so it's sort of cached)
dOldFilePos: Just used to calculate how much position was covered since the last call.
dUiUpdateTime: wow the code is really horrible around this.  who wrote this crap???  oh right.
btrackselectmode: not quite sure, but I believe this tracks state across calls -- I think it could be removed though.