Schnittstellenattribut
Die Schnittstelle Schlüsselwort (keyword) gibt den Namen der Schnittstelle an. Der Schnittstellenname muss sowohl in der IDL-Datei als auch in der ACF angegeben werden.
[
interface-attribute-list
]
interface interface-name [ : base-interface ]
{
}
typedef interface interface-name declarator-list
Parameter
-
interface-attribute-list
-
Gibt Attribute an, die für die Schnittstelle als Ganzes gelten. Gültige Schnittstellenattribute für eine IDL-Datei sind [endpoint], [local], [object], [pointer_default], [uuid] und [version]. Gültige Schnittstellenattribute für einen ACF sind [encode], [decode], entweder [auto_handle] oder [implicit_handle] und entweder [code] oder [nocode].
-
Schnittstellenname
-
Gibt den Namen der Schnittstelle an. Der Schnittstellenname muss ein eindeutiger Name sein und mit einem Alphabet- oder Unterstrichzeichen beginnen.
-
base-interface
-
Gibt den Namen einer Schnittstelle an, von der diese abgeleitete Schnittstelle Memberfunktionen, status Codes und Schnittstellenattribute erbt. Die abgeleitete Schnittstelle erbt keine Typdefinitionen. Verwenden Sie hierzu die import-Schlüsselwort (keyword), um die IDL-Datei der Basisschnittstelle zu importieren.
-
declarator-list
-
Gibt Standard-C-Deklaratoren an, z. B. Bezeichner, Zeiger-Deklaratoren und Array-Deklaratoren. Weitere Informationen finden Sie unter Array- und Sized-Pointer Attribute, Arrays und Arrays und Zeiger. Die Deklaratorliste besteht aus einem oder mehreren Deklaratoren, die durch Kommas getrennt sind.
Bemerkungen
Die Schnittstellennamen in der IDL-Datei und in ACF müssen identisch sein, es sei denn, Sie verwenden den MIDL-Compilerschalter /acf.
Der Schnittstellenname bildet den ersten Teil des Namens von Schnittstellenhandles-Datenstrukturen, die Parameter für die RPC-Laufzeitfunktionen sind. Weitere Informationen finden Sie unter RPC_IF_HANDLE.
Wenn der Schnittstellenheader das [object] -Attribut enthält, um eine COM-Schnittstelle anzugeben, muss er auch das [uuid] -Attribut enthalten und die COM-Basisschnittstelle angeben, von der sie abgeleitet wird. Weitere Informationen zu COM-Schnittstellen finden Sie unter [Object].
Sie können auch die Schnittstelle Schlüsselwort (keyword) mit der typedef Schlüsselwort (keyword) verwenden, um einen Schnittstellendatentyp zu definieren.
Beispiele
/* use of interface keyword in IDL file for an RPC interface */
[
uuid (00000000-0000-0000-0000-000000000000),
version (1.0)
]
interface remote_if_2
{
// Interface definition statements.
}
/* use of interface keyword in ACF for an RPC interface */
[
implicit_handle( handle_t xa_bhandle )
]
interface remote_if_2
{
// Attribute configuration statements.
}
/* use of interface keyword in IDL file for a COM interface */
[
object, uuid (00000000-0000-0000-0000-000000000000)
]
interface IDerivedInterface : IBaseInterface
{
import "base.idl"
Save();
}
/* use of interface keyword to define an interface pointer type */
typedef interface IStorage *LPSTORAGE;
Weitere Informationen