Поделиться через


propget - атрибут

Атрибут [propget] задает функцию доступа свойства. Свойство должно иметь то же имя, что и функция.

[propget [,optional-property-attributes]] return-type function-name( parameters);

Параметры

optional-property-attributes

Ноль или несколько атрибутов свойств.

тип возвращаемого значения

Тип данных, возвращаемых удаленной процедурой.

имя функции

Имя удаленной процедуры.

parameters

Ноль или несколько параметров удаленной процедуры.

Комментарии

Функция с атрибутом propget также должна иметь в качестве последнего параметра тип указателя с атрибутами [out] и [retval] . Если у последнего параметра нет атрибутов [out, retval], возвращаемое значение функции обрабатывается как параметр [out, retval]. Например, функция с прототипом

[propget] short MyFunction([in] long aLongValue);

обрабатывается как

[propget] HRESULT MyFunction([in] long aLongValue, [out,retval] short *outValue);

Для функции можно указать не более одного из значений [propget], [propputref], [propputref].

Если атрибут [lcid] используется в списке параметров функции, содержащей параметр с атрибутом [propput] , параметр [lcid] должен быть вторым по последнему.

Флаги

INVOKE_PROPERTYGET

Примеры

interface MyInterface : IDispatch                         
{                
    [propget, 
     helpstring("A meaningful comment.")] HRESULT Method1(
         [out, retval] int* ReturnVal); 

    [propput, 
     helpstring("Another meaningful comment.")] HRESULT Method1(
         [in] int Value);
        
    [propget, 
     helpstring("A meaningful comment."), id(1)] HRESULT Method2(
         [out, retval] YourInterface** ReturnVal); 

    [propputref, 
     helpstring("Another meaningful comment."), 
     id(1)] HRESULT Method2([in] YourPoint* Point);
}                 

См. также раздел

Создание библиотеки типов с помощью MIDL

Пример ODL-файла

Синтаксис ODL-файла

Вне

retval

propput

propputref

TYPEFLAGS