- __pProviderList = new (std::nothrow) LinkedList(SingleObjectDeleter);
- SysTryReturnVoidResult(NID_APP, __pProviderList != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+ unique_ptr< LinkedList > pProviderList(new (std::nothrow) LinkedList(SingleObjectDeleter));
+ SysTryReturnResult(NID_APP, pProviderList != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+
+ r = __mutex.Create();
+ SysTryReturnResult(NID_APP, !IsFailed(r), r, "Mutex initialization failed.");
+
+ __pDataControlRequestList = pDataControlRequestList.release();
+ __pProviderList = pProviderList.release();
+
+ return E_SUCCESS;