Re[3]: Это эффект IDispatch::Invoke
От: Vi2 Удмуртия http://www.adem.ru
Дата: 20.06.03 06:29
Оценка:
Здравствуйте, folk, Вы писали:

Vi2>>JScript передает свои параметры как Variant, содержащий реальное значение. Такой способ передачи НЕ допускает изменение входного параметра, даже если в IDL описании он — [in,out].
F>Не согласен с этим пунктом.
F>Технически ничто не мешает JScript получить обратно переданные параметры. Ведь эти VARIANTы реально по указателю передаются, и JScript должен сам освободить их.
F>Видимо такое соглашение принято в целях безопасности, чтобы сервер чего не повредил клиенту... Хотя странно это.

JScript тут не причем. Есть маршаллер IDispatch интерфейса. Он маршаллит параметры своих методов. В частности, параметр pDispParams метода Invoke. Причем варианты, не имеющие VT_BYREF, передаются только на сервер, а имеющие VT_BYREF — передаются обратно в клиент. Это не зависит от того, устанавливает ли или нет VT_BYREF сервер, ибо эти параметры подконтрольны при передаче.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.