Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Atribut oleautomation označuje, že rozhraní je kompatibilní se službou Automation.
[
oleautomation,
uuid(string-uuid)
[ , interface-attribute-list]
]
interface interface-name : base-interface
{
...
}
Parametry
-
string-uuid
-
Určuje řetězec UUID vygenerovaný nástrojem Uuidgen.
-
interface-attribute-list
-
Určuje další atributy, které se vztahují na rozhraní jako celek.
-
název rozhraní
-
Určuje název rozhraní.
-
základní rozhraní
-
Určuje název rozhraní Automation, ze kterého toto odvozené rozhraní dědí členské funkce, stavové kódy a atributy rozhraní. Všechna rozhraní automation jsou odvozena od IUnknown nebo IDispatch.
Poznámky
Parametry a návratové typy zadané pro členy rozhraní [oleautomation] musí být kompatibilní se službou Automation, jak je uvedeno v následující tabulce.
| Typ | Description |
|---|---|
| boolean | Datová položka, která může mít hodnotu VARIANT_TRUE nebo VARIANT_FALSE. Velikost odpovídá VARIANT_BOOL. |
| unsigned char bez znaménka | 8bitová nepodepsaná datová položka |
| dvojitý | 64bitové číslo IEEE s plovoucí desetinou čárkou. |
| float | 32bitové číslo IEEE s plovoucí desetinou čárkou. |
| int | Celé číslo, jehož velikost je závislá na systému. Na 32bitových platformách zachází MIDL s int jako s 32bitovým celým číslem se signepsem. |
| dlouhý | 32bitové celé číslo se signedm. |
| krátké | 16bitové celé číslo se signedm. |
| BSTR | Řetězec s předponou délky, jak je popsáno v tématu Automatizace BSTR. |
| MĚNA | 8 bajtů, pevné číslo s plovoucí desetinou čárkou. |
| DATE (Datum) | 64bitový desetinný desetinný počet dní od 30. prosince 1899. |
| SCODE | Pro 16bitové systémy integrovaný typ chyby, který odpovídá VT_ERROR. |
| Typedef – výčetmyenum | Celé číslo, jehož velikost je závislá na systému. |
| Rozhraní IDispatch * | Ukazatel na rozhraní IDispatch (VT_DISPATCH). |
| Rozhraní IUnknown * | Ukazatel na rozhraní, které není odvozeno z IDispatch (VT_UNKNOWN). (Jakékoli rozhraní OLE může být reprezentováno jeho rozhraníM IUnknown .) |
| dispinterfaceTypename * | Ukazatel na rozhraní odvozené z IDispatch (VT_DISPATCH). |
| Název typu třídy coclass* | Ukazatel na název třídy coclass (VT_UNKNOWN). |
| [oleautomation] interfaceTypename * | Ukazatel na rozhraní, které je odvozeno od IUnknown. |
| SAFEARRAY(TypeName) | TypeName je některý z výše uvedených typů. Pole těchto typů |
| Typename* | TypeName je některý z výše uvedených typů. Ukazatel na typ |
| Decimal | 96bitové binární celé číslo bez znaménka škálované proměnným výkonem 10. Datový typ desítkového čísla, který poskytuje velikost a měřítko čísla (stejně jako v souřadnicích). |
Parametr je kompatibilní se službou Automation, pokud je jeho typ kompatibilní s automatizací, ukazatel na typ kompatibilní se službou Automation nebo SAFEARRAY typu kompatibilního se službou Automation.
Návratový typ je kompatibilní se službou Automation, pokud je jeho typ HRESULT, SCODE nebo void. MIDL však vyžaduje, aby metody rozhraní vrátily hodnotu HRESULT nebo SCODE. Vrácení void vygeneruje chybu kompilátoru.
Člen je kompatibilní se službou Automation, pokud je jeho návratový typ a všechny jeho parametry kompatibilní se službou Automation.
Rozhraní je kompatibilní se službou Automation, pokud je odvozeno z IDispatch nebo IUnknown, má atribut [oleautomation] a všechny jeho položky VTBL jsou kompatibilní se službou Automation. Pro 32bitové platformy musí být konvence volání pro všechny metody v rozhraní STDCALL. U 16bitových systémů musí mít všechny metody konvenci volání CDECL.
Každý dispinterface je implicitně kompatibilní se službou Automation. Proto byste neměli používat atribut [oleautomation] na dispinterface.
Atribut [oleautomation] není k dispozici při kompilaci pomocí přepínače MIDL compiler /osf .
Flags
TYPEFLAG_FOLEAUTOMATION
Příklady
library Hello
{
importlib("stdole32.tlb");
[
uuid(12345678-1234-1234-1234-123456789ABC),
helpstring("Application object for the Hello application."),
oleautomation,
dual
]
interface IHello : IDispatch
{
// Interface definition statements.
}
// Other library definition statements.
}
Viz také