Sign in to follow this  
  • entries
    83
  • comments
    0
  • views
    65685

CreateThread for Windows 8 Metro

Sign in to follow this  
shawnhar

2496 views

The WinRT programming environment, which is used to create Metro applications for Windows 8, replaces the old Win32 threading APIs such as CreateThread with a new ThreadPool::RunAsync API. This is generally a good thing (ThreadPool is better than CreateThread for several reasons) but it can be a pain when trying to port existing code that depends on those older APIs.
Porting shim to the rescue! This code emulates a subset of the Win32 threading APIs as a wrapper on top of WinRT ThreadPool:

  • CreateThread
  • CREATE_SUSPENDED and ResumeThread
  • Partial support for SetThreadPriority (see comments in the header for details)
  • Sleep
  • Thread local storage (TlsAlloc, TlsFree, TlsGetValue, TlsSetValue, plus see header comments about TlsShutdown)

    Get it here: ThreadEmulation.zip
    I recommend only using this for porting legacy code. When writing new Metro applications, it is better to directly use WinRT ThreadPool.aggbug.aspx?PostID=10281576

    Source
Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now