| Index: components/storage_monitor/portable_device_watcher_win.cc
|
| diff --git a/components/storage_monitor/portable_device_watcher_win.cc b/components/storage_monitor/portable_device_watcher_win.cc
|
| index 826a2af8ce3a3a70ba3ca1e83c49178c87d8aea4..62a08a0c39afbbe1c72921859149ba45472e8257 100644
|
| --- a/components/storage_monitor/portable_device_watcher_win.cc
|
| +++ b/components/storage_monitor/portable_device_watcher_win.cc
|
| @@ -9,6 +9,7 @@
|
| #include "components/storage_monitor/portable_device_watcher_win.h"
|
|
|
| #include <dbt.h>
|
| +#include <objbase.h>
|
| #include <portabledevice.h>
|
|
|
| #include "base/files/file_path.h"
|
| @@ -122,8 +123,9 @@ bool GetDeviceDescription(const base::string16& pnp_device_id,
|
| // application that communicates with the device.
|
| bool GetClientInformation(
|
| base::win::ScopedComPtr<IPortableDeviceValues>* client_info) {
|
| - HRESULT hr = client_info->CreateInstance(__uuidof(PortableDeviceValues),
|
| - NULL, CLSCTX_INPROC_SERVER);
|
| + HRESULT hr = ::CoCreateInstance(__uuidof(PortableDeviceValues), NULL,
|
| + CLSCTX_INPROC_SERVER,
|
| + IID_PPV_ARGS(client_info->GetAddressOf()));
|
| if (FAILED(hr)) {
|
| DPLOG(ERROR) << "Failed to create an instance of IPortableDeviceValues";
|
| return false;
|
| @@ -150,8 +152,9 @@ bool SetUp(const base::string16& pnp_device_id,
|
| if (!GetClientInformation(&client_info))
|
| return false;
|
|
|
| - HRESULT hr = device->CreateInstance(__uuidof(PortableDevice), NULL,
|
| - CLSCTX_INPROC_SERVER);
|
| + HRESULT hr =
|
| + ::CoCreateInstance(__uuidof(PortableDevice), NULL, CLSCTX_INPROC_SERVER,
|
| + IID_PPV_ARGS(device->GetAddressOf()));
|
| if (FAILED(hr)) {
|
| DPLOG(ERROR) << "Failed to create an instance of IPortableDevice";
|
| return false;
|
| @@ -178,8 +181,9 @@ REFPROPERTYKEY GetUniqueIdPropertyKey(const base::string16& object_id) {
|
| bool PopulatePropertyKeyCollection(
|
| const base::string16& object_id,
|
| base::win::ScopedComPtr<IPortableDeviceKeyCollection>* properties_to_read) {
|
| - HRESULT hr = properties_to_read->CreateInstance(
|
| - __uuidof(PortableDeviceKeyCollection), NULL, CLSCTX_INPROC_SERVER);
|
| + HRESULT hr = ::CoCreateInstance(
|
| + __uuidof(PortableDeviceKeyCollection), NULL, CLSCTX_INPROC_SERVER,
|
| + IID_PPV_ARGS(properties_to_read->GetAddressOf()));
|
| if (FAILED(hr)) {
|
| DPLOG(ERROR) << "Failed to create IPortableDeviceKeyCollection instance";
|
| return false;
|
| @@ -385,8 +389,9 @@ bool GetDeviceInfoOnBlockingThread(
|
| bool GetPortableDeviceManager(
|
| base::win::ScopedComPtr<IPortableDeviceManager>* portable_device_mgr) {
|
| DCHECK(content::BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
|
| - HRESULT hr = portable_device_mgr->CreateInstance(
|
| - __uuidof(PortableDeviceManager), NULL, CLSCTX_INPROC_SERVER);
|
| + HRESULT hr = ::CoCreateInstance(
|
| + __uuidof(PortableDeviceManager), NULL, CLSCTX_INPROC_SERVER,
|
| + IID_PPV_ARGS(portable_device_mgr->GetAddressOf()));
|
| if (SUCCEEDED(hr))
|
| return true;
|
|
|
|
|