| 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))
|
|
|