マルチメディアタイマーを使おうと思うのですが、CALLBACK関数
static void CALLBACK TimerProc(UINT uID, UINT msg, DWORD dwUser, DWORD dw1, DWORD dw2)
の第一引数と第三引数をどのように使い分けるのか悩んでいます。

uIDがtimeSetEventの戻り値で、dwUserがtimeSetEventの第四引数ということを調べたのですが、
CALLBACK関数の中ではどちらを使ってタイマーの識別をするのでしょうか?
また、2つもタイマーを識別できる値があることにどのような意味があるのでしょうか?