The following describes how activation context is created currently in Windows XP/Windows Server 2003/Windows Vista.

1. CreateProcess/CreateActCtx is called.

2. CreateProcess/CreateActCtx does some validation, constructs a message, sends the message to CSRSS.exe, and waits for CSRSS.exe to return.

3. CSRSS.exe receives the message, and creates the activation context as described in http://blogs.msdn.com/junfeng/archive/2006/04/22/580482.aspx.

4. Once the activation context is created, CSRSS returns it to the client.

5. CreateProcess/CreateActCtx proceeds.

The getaway from the flow above is: most work is done in CSRSS.exe.