interface (attributo)
La parola chiave dell'interfaccia specifica il nome dell'interfaccia. Il nome dell'interfaccia deve essere fornito sia nel file IDL che nell'ACF.
[
interface-attribute-list
]
interface interface-name [ : base-interface ]
{
}
typedef interface interface-name declarator-list
Parametri
-
interface-attribute-list
-
Specifica gli attributi che si applicano all'interfaccia nel suo complesso. Gli attributi di interfaccia validi per un file IDL includono [endpoint], [local], [object], [pointer_default], [uuid]e [version]. Gli attributi di interfaccia validi per un ACF includono [codifica], [decodifica], [auto_handle]o [implicit_handle], e [codice] o[nocode].
-
interface-name
-
Specifica il nome dell'interfaccia. Il nome dell'interfaccia deve essere un nome univoco e deve iniziare con un carattere alfabetico o di sottolineatura.
-
interfaccia di base
-
Specifica il nome di un'interfaccia da cui questa interfaccia derivata eredita funzioni membro, codici di stato e attributi dell'interfaccia. L'interfaccia derivata non eredita le definizioni dei tipi. A tale scopo, usare la parola chiave di importazione per importare il file IDL dell'interfaccia di base.
-
declarator-list
-
Specifica i dichiaratori C standard, ad esempio identificatori, dichiaratori di puntatore e dichiaratori di matrice. Per altre informazioni, vedere Matrice e attributi Sized-Pointer, matricie matrici e puntatori. L'elenco dichiaratore è costituito da uno o più dichiaratori, separati da virgole.
Commenti
I nomi dell'interfaccia nel file IDL e ACF devono essere uguali, tranne quando si usa l'opzione del compilatore MIDL /acf.
Il nome dell'interfaccia costituisce la prima parte del nome delle strutture di dati di handle dell'interfaccia che sono parametri per le funzioni di run-time RPC. Per altre informazioni, vedere RPC_IF_HANDLE.
Se l'intestazione dell'interfaccia include l'attributo [oggetto] per indicare un'interfaccia COM, deve includere anche l'attributo [uuid] e deve specificare l'interfaccia COM di base da cui è derivata. Per altre informazioni sulle interfacce COM, vedere [oggetto].
È anche possibile usare la parola chiave dell'interfaccia con la parola chiave typedef per definire un tipo di dati di interfaccia.
Esempi
/* 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;
Vedere anche