retval - атрибут
Атрибут [retval] обозначает параметр, который получает возвращаемое значение элемента.
return-type function-name(
[out, retval [, optional-attributes]] data-type * param-name,
...);
-
тип возвращаемого значения
-
Тип данных возвращаемого значения удаленной процедуры.
-
function-name
-
Имя, используемое для вызова удаленной процедуры.
-
необязательные атрибуты
-
Ноль или несколько атрибутов MIDL.
-
тип данных
-
Тип данных, передаваемых через параметр .
-
param-name
-
Имя идентификатора параметра.
Атрибут [retval] можно использовать для параметров членов интерфейса, которые описывают методы или свойства get. (Атрибут является обязательным для последнего параметра метода, который имеет атрибут [propget] .) Параметр должен иметь атрибут [out] и быть типом указателя.
Атрибут [необязательный] нельзя применить к параметру [retval] .
Компилятор MIDL принимает следующий порядок параметров (слева направо):
- Обязательные параметры (параметры, у которых нет атрибутов [defaultvalue] или [optional] ).
- Необязательные параметры с атрибутом [defaultvalue] или без нее.
- Параметры с атрибутом [необязательный] и без атрибута [defaultvalue] .
- Параметр [lcid] , если таковой есть.
- Параметр [retval] .
Параметры с атрибутом [retval] не отображаются в браузерах, ориентированных на пользователя.
IDLFLAG_FRETVAL
HRESULT MyMethod([out, retval] InMyFace** ReturnVal);
HRESULT MyOtherMethod([out, retval] VARIANT_BOOL* ReturnVal);