propget-Attribut

Das [propget] -Attribut gibt eine Eigenschaftsaccessorfunktion an. Die Eigenschaft muss den gleichen Namen wie die Funktion haben.

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

Parameter

optional-property-attributes

Null oder mehr Eigenschaftsattribute.

return-type

Der Typ der von der Remoteprozedur zurückgegebenen Daten.

Funktionsname

Der Name der Remoteprozedur.

parameters

Null oder mehr Parameter für die Remoteprozedur.

Bemerkungen

Eine Funktion, die über das propget-Attribut verfügt, sollte als letzter Parameter auch einen Zeigertyp mit den Attributen [out] und [retval] aufweisen. Wenn der letzte Parameter nicht über die Attribute [out, retval] verfügt, wird der Rückgabewert der Funktion als [out, retval]-Parameter behandelt. Beispiel: Eine Funktion mit dem Prototyp

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

wird wie folgt behandelt:

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

Für eine Funktion kann höchstens einer von [propget], [propput] und [propputref] angegeben werden.

Wenn das [lcid] -Attribut in der Parameterliste einer Funktion verwendet wird, die einen Parameter mit dem [propput]- Attribut enthält, muss der Parameter [lcid] nach dem letzten sein.

Flags

INVOKE_PROPERTYGET

Beispiele

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

Weitere Informationen

Generieren einer Typbibliothek mit MIDL

ODL-Dateibeispiel

ODL-Dateisyntax

out

Retval

propput

propputref

TYPEFLAGS