Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nicht verwaltete COM-Schnittstellen können aufzählbare Objekte sein, die über eine Item-Methode auf Enumerationen zugreifen. In .NET Framework wird diese Methode als .Item deklariert. Auf diese Methode kann nur korrekt zugegriffen werden, indem das Element mit Attributen in der IDL-Datei als propget markiert wird. Dadurch würde jedoch die Signatur der Funktion in der Typbibliothek geändert. Mit diesem custom-Attribut können Sie die Methode nach dem Importieren als propget markieren. Die Syntax dieses custom-Attributs sieht folgendermaßen aus:
GUID = 2941ff83-88d8-4f73-b6a9-bdf8712d000d // for propget
Zudem können Sie mit einem weiteren custom-Attribut eine Methode nach dem Importieren als propput markieren. Die Syntax dieses custom-Attributs sieht folgendermaßen aus:
GUID = 29533527-3683-4364-abc0-db1add822fa2 // for propput
Beachten Sie, dass dieses custom-Attribut nur auf Methoden angewendet werden kann. Außerdem gelten folgende Regeln:
Es kann immer nur ein Attribut angewendet werden. Bei Anwendung mehrerer Attribute werden bis auf das erste alle Attribute ignoriert.
Bei propget ignoriert das custom-Attribut alle Methodensignaturen ohne Rückgabewert.
Bei propput ignoriert das custom-Attribut alle Methodensignaturen ohne Eingabeparameter (Parameter können mit [in] oder [out], jedoch nicht mit [out,retval] gekennzeichnet werden). Außerdem ignoriert das Attribut alle Signaturen mit einem Rückgabewert.
Sowohl bei propget als auch bei propput ignoriert das custom-Attribut die GetEnumerator-Methode, wenn sie zusammen mit einer ID (-4) oder einer benutzerdefinierten DISPID (-4) verwendet werden.
Verwenden Sie beim Importieren der Typbibliothek mithilfe von Tlbimp.exe stets den Schalter /transform:dispret, wenn Sie das custom-Attribut auf auf Dispatch beschränkte Schnittstellen (Disp-Schnittstellen) angewendet haben.
Beispiel
Das folgende in IDL (Interface Definition Language) geschriebene Beispiel veranschaulicht die Verwendung des propget-Attributs:
[custom(2941ff83-88d8-4f73-b6a9-bdf8712d000d, ""), id(6)]
HRESULT cget(int i, [out, retval] short *pVal);
Das folgende Beispiel veranschaulicht die Verwendung des propput-Attributs.
[custom(29533527-3683-4364-abc0-db1add822fa2, ""), id(7)]
HRESULT cset([in] int i);
Siehe auch
Referenz
Tlbimp.exe (Type Library Importer-Tool)
Konzepte
Anwenden des custom-Attributs zum Implementieren von IEnumerable
Anwenden des custom-Attributs zum Überschreiben des standardmäßigen COM-Dispatchbezeichners (DISPID)