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

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: 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..d9dbbc302afca8fb61ca9ebdcb4efc31cdd537a3 100644
--- a/remoting/base/dispatch_win.h
+++ b/remoting/base/dispatch_win.h
@@ -136,6 +136,13 @@ HRESULT Invoke(IDispatch* object,
// Invoke the method.
DISPPARAMS disp_params = { NULL, NULL, 0, 0 };
+ // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
+ 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))
@@ -177,6 +184,13 @@ HRESULT Invoke(IDispatch* object,
// Invoke the method.
DISPPARAMS disp_params = { disp_args, NULL, 1, 0 };
+ // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
+ 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))
@@ -224,6 +238,13 @@ HRESULT Invoke(IDispatch* object,
// Invoke the method.
DISPPARAMS disp_params = { disp_args, NULL, 2, 0 };
+ // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
+ 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))
@@ -276,6 +297,13 @@ HRESULT Invoke(IDispatch* object,
// Invoke the method.
DISPPARAMS disp_params = { disp_args, NULL, 3, 0 };
+ // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
+ 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))
@@ -333,6 +361,13 @@ HRESULT Invoke(IDispatch* object,
// Invoke the method.
DISPPARAMS disp_params = { disp_args, NULL, 4, 0 };
+ // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
+ 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))
@@ -395,6 +430,13 @@ HRESULT Invoke(IDispatch* object,
// Invoke the method.
DISPPARAMS disp_params = { disp_args, NULL, 5, 0 };
+ // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
+ 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))
@@ -463,6 +505,13 @@ HRESULT Invoke(IDispatch* object,
// Invoke the method.
DISPPARAMS disp_params = { disp_args, NULL, 6, 0 };
+ // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
+ 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))
@@ -536,6 +585,13 @@ HRESULT Invoke(IDispatch* object,
// Invoke the method.
DISPPARAMS disp_params = { disp_args, NULL, 7, 0 };
+ // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
+ 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