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

Unified Diff: remoting/base/dispatch_win.h.pump

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 | « remoting/base/dispatch_win.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/base/dispatch_win.h.pump
diff --git a/remoting/base/dispatch_win.h.pump b/remoting/base/dispatch_win.h.pump
index 57439e531d76b68de5120b32ab3f2b8c06ec8d5b..c6a6d5a411affbdb7d87f0f7a087fb80ee637be9 100644
--- a/remoting/base/dispatch_win.h.pump
+++ b/remoting/base/dispatch_win.h.pump
@@ -162,7 +162,10 @@ $for ARG [[
]]
- // Invoke the method.
+ // Invoke the method passing the parameters via the DISPPARAMS structure.
+ // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require the parameter of
+ // the property setter to be named, so |cNamedArgs| and |rgdispidNamedArgs|
+ // structure members should be initialized.
$if ARITY > 0 [[
DISPPARAMS disp_params = { disp_args, NULL, $(ARITY), 0 };
@@ -170,6 +173,12 @@ $if ARITY > 0 [[
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))
« no previous file with comments | « remoting/base/dispatch_win.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698