This method works in a set of CoInitialize and CoUninitialize call.
- It needs to be called per each threads and normally the number of calls for CoInitialize and CoUninitialize should be balanced. Refer to API document for more detailed information.
- It's safer to declare this class as a local variable rather than directly calling for CoInitialize() and CoUninitialize(), since it automatically calls for CoUninitialize() when needed.