Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het oleautomation-kenmerk geeft aan dat een interface compatibel is met Automation.
[
oleautomation,
uuid(string-uuid)
[ , interface-attribute-list]
]
interface interface-name : base-interface
{
...
}
Parameterwaarden
-
tekenreeks-uuid
-
Hiermee geeft u een UUID-tekenreeks die wordt gegenereerd door het hulpprogramma Uuidgen.
-
interface-attribute-list
-
Hiermee geeft u andere kenmerken op die van toepassing zijn op de interface als geheel.
-
interfacenaam
-
Hiermee geeft u de naam van de interface op.
-
basisinterface
-
Hiermee geeft u de naam van een Automation-interface waaruit deze afgeleide interface lidfuncties, statuscodes en interfacekenmerken over neemt. Alle Automation-interfaces zijn afgeleid van IUnknown of IDispatch.
Opmerkingen
De parameters en retourtypen die zijn opgegeven voor de leden van een [oleautomation] -interface, moeten compatibel zijn met Automation, zoals wordt vermeld in de volgende tabel.
| Typ | Beschrijving |
|---|---|
| Boolean | Gegevensitem met de waarde VARIANT_TRUE of VARIANT_FALSE. De grootte komt overeen met VARIANT_BOOL. |
| niet-ondertekende tekens | 8-bits niet-ondertekende gegevensitem. |
| dubbele | 64-bits IEEE-drijvendekommagetal. |
| float | 32-bits IEEE-drijvendekommagetal. |
| int | Ondertekend geheel getal, waarvan de grootte afhankelijk is van het systeem. Op 32-bits platforms behandelt MIDL int als een 32-bits geheel getal dat is ondertekend. |
| lange | 32-bits ondertekend geheel getal. |
| kort | 16-bits ondertekend geheel getal. |
| BSTR | Tekenreeks met lengtevoorvoegsel, zoals beschreven in het Automation-onderwerp BSTR. |
| VALUTA- | 8-bytes, vast drijvendekommagetal. |
| DATUM | 64-bits, drijvende komma fractioneel aantal dagen sinds 30 december 1899. |
| SCODE | Voor 16-bits systemen, ingebouwd fouttype dat overeenkomt met VT_ERROR. |
| Typedef enummyenum | Ondertekend geheel getal, waarvan de grootte afhankelijk is van het systeem. |
| Interface IDispatch * | Aanwijzer naar de IDispatch-interface (VT_DISPATCH). |
| Interface IUnknown * | Wijs een interface aan die niet is afgeleid van IDispatch (VT_UNKNOWN). (Elke OLE-interface kan worden vertegenwoordigd door de IUnknown-interface .) |
| dispinterfaceTypename * | Aanwijzer naar een interface die is afgeleid van IDispatch (VT_DISPATCH). |
| CoclassTypename * | Aanwijzer naar een coklassenaam (VT_UNKNOWN). |
| [oleautomation] interfaceTypename * | Wijs een interface aan die is afgeleid van IUnknown. |
| SAFEARRAY(TypeName) | TypeName is een van de bovenstaande typen. Matrix van deze typen. |
| Typename* | TypeName is een van de bovenstaande typen. Aanwijzer naar een type. |
| Decimaal | 96-bits niet-ondertekend binair geheel getal geschaald door een variabele macht van 10. Een decimaal gegevenstype dat een grootte en een schaal voor een getal biedt (zoals in coƶrdinaten). |
Een parameter is compatibel met Automation als het type een type is dat compatibel is met Automation, een aanwijzer naar een type dat compatibel is met Automation of een SAFEARRAY van een type dat compatibel is met Automation.
Een retourtype is compatibel met Automation als het type een HRESULT, SCODE of void is. VOOR MIDL is echter vereist dat interfacemethoden HRESULT of SCODE retourneren. Retourneert void genereert een compilerfout.
Een lid is compatibel met Automation als het retourtype en alle parameters compatibel zijn met Automation.
Een interface is compatibel met Automation als deze is afgeleid van IDispatch of IUnknown, het kenmerk [oleautomation] heeft en alle VTBL-vermeldingen zijn compatibel met Automation. Voor 32-bits platforms moet de aanroepconventie voor alle methoden in de interface STDCALL zijn. Voor 16-bits systemen moeten alle methoden de CDECL-aanroepconventie hebben.
Elke dispinterface is impliciet automation-compatibel. Daarom moet u het kenmerk [oleautomation] niet gebruiken voor dispinterface.
Het kenmerk [oleautomation] is niet beschikbaar wanneer u compileert met behulp van de MIDL-compiler /osf-switch .
Flags
TYPEFLAG_FOLEAUTOMATION
Examples
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.
}
Zie ook