Index: ceee/ie/broker/broker_rpc_client.cc |
=================================================================== |
--- ceee/ie/broker/broker_rpc_client.cc (revision 68863) |
+++ ceee/ie/broker/broker_rpc_client.cc (working copy) |
@@ -15,6 +15,7 @@ |
#include "broker_rpc_lib.h" // NOLINT |
#include "ceee/common/com_utils.h" |
#include "ceee/ie/broker/broker_rpc_utils.h" |
+#include "ceee/ie/common/ceee_module_util.h" |
namespace { |
@@ -115,16 +116,8 @@ |
} RpcEndExcept |
} |
-HRESULT BrokerRpcClient::StartServer(IUnknown** server) { |
- base::win::ScopedComPtr<IUnknown> broker; |
- // TODO(vitalybuka@google.com): Start broker without COM after the last |
- // COM interface is removed. |
- HRESULT hr = broker.CreateInstance(CLSID_CeeeBroker); |
- LOG_IF(ERROR, FAILED(hr)) << "Failed to create broker. " << com::LogHr(hr); |
- if (FAILED(hr)) |
- return hr; |
- *server = broker.Detach(); |
- return S_OK; |
+HRESULT BrokerRpcClient::StartServer(ICeeeBrokerRegistrar** server) { |
+ return StartCeeeBroker(server); |
} |
HRESULT BrokerRpcClient::Connect(bool start_server) { |
@@ -132,7 +125,7 @@ |
return S_OK; |
// Keep alive until RPC is connected. |
- base::win::ScopedComPtr<IUnknown> broker; |
+ base::win::ScopedComPtr<ICeeeBrokerRegistrar> broker; |
if (start_server) { |
HRESULT hr = StartServer(broker.Receive()); |
if (FAILED(hr)) |
@@ -211,3 +204,16 @@ |
MakeRefTuple(binding_handle_, name, sample, min, max, |
bucket_count)); |
} |
+ |
+HRESULT StartCeeeBroker(ICeeeBrokerRegistrar** broker) { |
+ ceee_module_util::RefreshElevationPolicyIfNeeded(); |
+ base::win::ScopedComPtr<ICeeeBrokerRegistrar> broker_tmp; |
+ // TODO(vitalybuka@google.com): Start broker without COM after the last |
+ // COM interface is removed. |
+ HRESULT hr = broker_tmp.CreateInstance(CLSID_CeeeBroker); |
+ LOG_IF(ERROR, FAILED(hr)) << "Failed to create broker. " << com::LogHr(hr); |
Jói
2010/12/11 02:23:14
nit: suggest moving inside the if (FAILED(hr)) con
Vitaly Buka (NO REVIEWS)
2010/12/11 08:26:24
Done.
|
+ if (FAILED(hr)) |
+ return hr; |
+ *broker = broker_tmp.Detach(); |
+ return S_OK; |
+} |