http://msdn.microsoft.com/en-us/library/windows/desktop/ms724408(v=vs.85).aspx
Retrieves the number of milliseconds that have elapsed since the system was started, up to 49.7 days.
I don't suggest you to use GetTickCount64.
It only works since Windows Vista, and does not allow for XP.
The way it works is:
Each frame that is elapsed, GetTickCount generates the difference (in time) between those frames.
With this difference, you will be able to understand how much the game must change, in time terms.
This is the only way a game can run in a fluid way on all PC's, without wasting time in any useless thing like Sleep.
Also this does not force you to a specific framerate.
This will go as fast as the PC can.
As an example:
A poorly-made Grand Theft Auto: Vice City uses frame limitation.
It was built for 30 fps.
To demonstrate it, activate the Frame Limiter and see how many FPS you get: 30.
Disable the frame limiter and see how, when you change your views from simple to complex geometry, the time seems to be changing.
If your pc goes fast enough, and another car is bleeping at you, you will hear it bleep very fast.
This is the disvantage of creating a game on a static-framerate base.
A greatly-made Half Life 2 uses no frame limitation.
It was built for arbitrary fps, and uses Delta Timing.
To demonstrate it, there is no Frame Limiter options, and it can reach any arbitrary FPS count (specified by a console variable for CPU/GPU saving).
It also allows for Multiplayer games.
As example, the Counter Strike series is a Half Life/Half Life 2 mod.
Also is Team Fortress 2, Day Of Defeat/Source, Portal 2, Left 4 Dead/2.