I noticed some code examples use _beginthreadex or beginthread.
I have been using CreateThread All this time.

What is the difference between the 2 ?

Code:
uintptr_t _beginthread( 
   void( *start_address )( void * ),
   unsigned stack_size,
   void *arglist 
);
uintptr_t _beginthreadex( 
   void *security,
   unsigned stack_size,
   unsigned ( *start_address )( void * ),
   void *arglist,
   unsigned initflag,
   unsigned *thrdaddr 
);

And 


         m_hThread = CreateThread(0,
                                  0,
                                  ThreadFunc,
                                  (void *)whatever,
                                  0,
                                  &m_dwThreadID);
Thanks
Stev