Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Unified Diff: remoting/base/dispatch_win.h

Issue 10736059: Add support of DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF to remoting::dispatch::Invoke(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: CR feedback. Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | remoting/base/dispatch_win.h.pump » ('j') | remoting/base/dispatch_win.h.pump » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/base/dispatch_win.h
diff --git a/remoting/base/dispatch_win.h b/remoting/base/dispatch_win.h
index aa207106d5884ed6a9fcb485cfed8a90a588f5e0..c67232735804ab257e5ff5203122e1cc66e17e0c 100644
--- a/remoting/base/dispatch_win.h
+++ b/remoting/base/dispatch_win.h
@@ -134,8 +134,16 @@ HRESULT Invoke(IDispatch* object,
disp_result = &result;
- // Invoke the method.
+ // Invoke the method. DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require
+ // the parameter to be named, so |cNamedArgs| and |rgdispidNamedArgs| should
+ // be initialized.
DISPPARAMS disp_params = { NULL, NULL, 0, 0 };
+ DISPID dispid_named = DISPID_PROPERTYPUT;
+ if (flags == DISPATCH_PROPERTYPUT || flags == DISPATCH_PROPERTYPUTREF) {
+ disp_params.cNamedArgs = 1;
+ disp_params.rgdispidNamedArgs = &dispid_named;
+ }
+
hr = object->Invoke(disp_id, IID_NULL, LOCALE_USER_DEFAULT, flags,
&disp_params, disp_result, NULL, NULL);
if (FAILED(hr))
@@ -175,8 +183,16 @@ HRESULT Invoke(IDispatch* object,
if (FAILED(hr))
return hr;
- // Invoke the method.
+ // Invoke the method. DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require
+ // the parameter to be named, so |cNamedArgs| and |rgdispidNamedArgs| should
+ // be initialized.
DISPPARAMS disp_params = { disp_args, NULL, 1, 0 };
+ DISPID dispid_named = DISPID_PROPERTYPUT;
+ if (flags == DISPATCH_PROPERTYPUT || flags == DISPATCH_PROPERTYPUTREF) {
+ disp_params.cNamedArgs = 1;
+ disp_params.rgdispidNamedArgs = &dispid_named;
+ }
+
hr = object->Invoke(disp_id, IID_NULL, LOCALE_USER_DEFAULT, flags,
&disp_params, disp_result, NULL, NULL);
if (FAILED(hr))
@@ -222,8 +238,16 @@ HRESULT Invoke(IDispatch* object,
if (FAILED(hr))
return hr;
- // Invoke the method.
+ // Invoke the method. DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require
+ // the parameter to be named, so |cNamedArgs| and |rgdispidNamedArgs| should
+ // be initialized.
DISPPARAMS disp_params = { disp_args, NULL, 2, 0 };
+ DISPID dispid_named = DISPID_PROPERTYPUT;
+ if (flags == DISPATCH_PROPERTYPUT || flags == DISPATCH_PROPERTYPUTREF) {
+ disp_params.cNamedArgs = 1;
+ disp_params.rgdispidNamedArgs = &dispid_named;
+ }
+
hr = object->Invoke(disp_id, IID_NULL, LOCALE_USER_DEFAULT, flags,
&disp_params, disp_result, NULL, NULL);
if (FAILED(hr))
@@ -274,8 +298,16 @@ HRESULT Invoke(IDispatch* object,
if (FAILED(hr))
return hr;
- // Invoke the method.
+ // Invoke the method. DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require
+ // the parameter to be named, so |cNamedArgs| and |rgdispidNamedArgs| should
+ // be initialized.
DISPPARAMS disp_params = { disp_args, NULL, 3, 0 };
+ DISPID dispid_named = DISPID_PROPERTYPUT;
+ if (flags == DISPATCH_PROPERTYPUT || flags == DISPATCH_PROPERTYPUTREF) {
+ disp_params.cNamedArgs = 1;
+ disp_params.rgdispidNamedArgs = &dispid_named;
+ }
+
hr = object->Invoke(disp_id, IID_NULL, LOCALE_USER_DEFAULT, flags,
&disp_params, disp_result, NULL, NULL);
if (FAILED(hr))
@@ -331,8 +363,16 @@ HRESULT Invoke(IDispatch* object,
if (FAILED(hr))
return hr;
- // Invoke the method.
+ // Invoke the method. DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require
+ // the parameter to be named, so |cNamedArgs| and |rgdispidNamedArgs| should
+ // be initialized.
DISPPARAMS disp_params = { disp_args, NULL, 4, 0 };
+ DISPID dispid_named = DISPID_PROPERTYPUT;
+ if (flags == DISPATCH_PROPERTYPUT || flags == DISPATCH_PROPERTYPUTREF) {
+ disp_params.cNamedArgs = 1;
+ disp_params.rgdispidNamedArgs = &dispid_named;
+ }
+
hr = object->Invoke(disp_id, IID_NULL, LOCALE_USER_DEFAULT, flags,
&disp_params, disp_result, NULL, NULL);
if (FAILED(hr))
@@ -393,8 +433,16 @@ HRESULT Invoke(IDispatch* object,
if (FAILED(hr))
return hr;
- // Invoke the method.
+ // Invoke the method. DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require
+ // the parameter to be named, so |cNamedArgs| and |rgdispidNamedArgs| should
+ // be initialized.
DISPPARAMS disp_params = { disp_args, NULL, 5, 0 };
+ DISPID dispid_named = DISPID_PROPERTYPUT;
+ if (flags == DISPATCH_PROPERTYPUT || flags == DISPATCH_PROPERTYPUTREF) {
+ disp_params.cNamedArgs = 1;
+ disp_params.rgdispidNamedArgs = &dispid_named;
+ }
+
hr = object->Invoke(disp_id, IID_NULL, LOCALE_USER_DEFAULT, flags,
&disp_params, disp_result, NULL, NULL);
if (FAILED(hr))
@@ -461,8 +509,16 @@ HRESULT Invoke(IDispatch* object,
if (FAILED(hr))
return hr;
- // Invoke the method.
+ // Invoke the method. DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require
+ // the parameter to be named, so |cNamedArgs| and |rgdispidNamedArgs| should
+ // be initialized.
DISPPARAMS disp_params = { disp_args, NULL, 6, 0 };
+ DISPID dispid_named = DISPID_PROPERTYPUT;
+ if (flags == DISPATCH_PROPERTYPUT || flags == DISPATCH_PROPERTYPUTREF) {
+ disp_params.cNamedArgs = 1;
+ disp_params.rgdispidNamedArgs = &dispid_named;
+ }
+
hr = object->Invoke(disp_id, IID_NULL, LOCALE_USER_DEFAULT, flags,
&disp_params, disp_result, NULL, NULL);
if (FAILED(hr))
@@ -534,8 +590,16 @@ HRESULT Invoke(IDispatch* object,
if (FAILED(hr))
return hr;
- // Invoke the method.
+ // Invoke the method. DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require
+ // the parameter to be named, so |cNamedArgs| and |rgdispidNamedArgs| should
+ // be initialized.
DISPPARAMS disp_params = { disp_args, NULL, 7, 0 };
+ DISPID dispid_named = DISPID_PROPERTYPUT;
+ if (flags == DISPATCH_PROPERTYPUT || flags == DISPATCH_PROPERTYPUTREF) {
+ disp_params.cNamedArgs = 1;
+ disp_params.rgdispidNamedArgs = &dispid_named;
+ }
+
hr = object->Invoke(disp_id, IID_NULL, LOCALE_USER_DEFAULT, flags,
&disp_params, disp_result, NULL, NULL);
if (FAILED(hr))
« no previous file with comments | « no previous file | remoting/base/dispatch_win.h.pump » ('j') | remoting/base/dispatch_win.h.pump » ('J')

Powered by Google App Engine
This is Rietveld 408576698