A question came up on an internal newsgroup recently - "How do I do on-demand initialization of critical sections in a multithread-aware library?" The asker didn't have an explicit Initialize function in which his critical section could be created, and