propget 特性
[propget] 属性指定属性访问器函数。 属性必须与 函数同名。
[propget [,optional-property-attributes]] return-type function-name( parameters);
-
optional-property-attributes
-
零个或多个属性属性。
-
return-type
-
远程过程返回的数据类型。
-
function-name
-
远程过程的名称。
-
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]、 [propput]和 [propputref] 之一。
如果在包含具有 [propput] 属性的参数的函数的参数列表中使用了 [lcid] 属性,则 [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);
}