When programming with the Win32 API, when and where I should use the static keyword?

Why in many C Win32 samples user defined functions are defined as static? This is an obsolete method of old C win32 programming ?

Im programming in C++/W32 API with VC++ NET, not plain C, so i dont know if its necessary or not (my win32 programs work well without any STATIC definitions, except when I want a variable inside a function to retain values between calls).

thank you!