Sdílet prostřednictvím


IDL – atributy

Tradiční údržba souboru .idl znamenala, že jste museli:

  • Seznamte se se strukturou a syntaxí souboru .idl, abyste ho mohli upravit.

  • Spoléhat se na průvodce, který by vám umožnil upravit některé aspekty souboru .idl.

Teď můžete upravit soubor .idl ze souboru zdrojového kódu pomocí atributů IDL jazyka Visual C++. V mnoha případech mají atributy IDL jazyka Visual C++ stejný název jako atributy MIDL. Pokud je název atributu IDL jazyka Visual C++ a atribut MIDL stejný, znamená to, že umístění atributu Visual C++ do souboru zdrojového kódu způsobí soubor .idl, který obsahuje jeho atribut nameake MIDL. Atribut IDL jazyka Visual C++ však nemusí poskytovat všechny funkce atributu MIDL.

Při použití s atributy modelu COM umožňují atributy IDL definovat rozhraní. Při kompilaci zdrojového kódu se atributy používají k definování vygenerovaného souboru .idl. Při použití s atributy MODELU COM v projektu ATL některé atributy IDL, například coclass, způsobit vložení kódu do projektu.

Všimněte si, že idl_quote umožňuje používat konstrukty MIDL, které nejsou podporovány v aktuální verzi Visual C++. Tyto a další atributy, jako je importlib a includelib , vám pomůžou používat existující soubory .idl v aktuálním projektu visual Studio C++.

Atribut Popis
aggregatable Označuje, že ovládací prvek lze agregovat jiným ovládacím prvku.
appobject Identifikuje třídu coclass jako objekt aplikace, který je přidružen k úplné aplikaci EXE, a označuje, že funkce a vlastnosti třídy coclass jsou globálně dostupné v této knihovně typů.
async_uuid Určuje UUID, který směruje kompilátor MIDL tak, aby definoval synchronní i asynchronní verze rozhraní MODELU COM.
bindable Označuje, že vlastnost podporuje datové vazby.
call_as Umožňuje namapovat neremotable funkci na vzdálenou funkci.
case Používá se s atributem switch_type ve sjednocení.
coclass Umístí definici třídy do souboru .idl jako třídy coclass.
control Určuje, že uživatelem definovaný typ je ovládací prvek.
cpp_quote Vygeneruje zadaný řetězec bez znaků uvozovek do vygenerovaného hlavičkového souboru.
defaultbind Označuje jednu, bindable vlastnost, která nejlépe představuje objekt.
defaultcollelem Používá se pro optimalizaci kódu jazyka Visual Basic.
defaultvalue Umožňuje specifikaci výchozí hodnoty pro zadaný volitelný parametr.
default Označuje, že vlastní nebo dispinterface definované v rámci třídy coclass představuje výchozí programovatelnost rozhraní.
defaultvtable Definuje rozhraní jako výchozí vtable rozhraní pro ovládací prvek.
dispinterface Umístí rozhraní do souboru .idl jako rozhraní pro odeslání.
displaybind Označuje vlastnost, která by se měla uživateli zobrazit jako vázání.
dual Umístí rozhraní do souboru .idl jako duální rozhraní.
entry Určuje exportovanou funkci nebo konstantu v modulu identifikací vstupního bodu v knihovně DLL.
first_is Určuje index prvního prvku pole, který se má přenést.
helpcontext Určuje ID kontextu, které umožňuje uživateli zobrazit informace o tomto prvku v souboru nápovědy.
helpfile Nastaví název souboru nápovědy pro knihovnu typů.
helpstringcontext Určuje ID tématu nápovědy v souboru .hlp nebo .chm.
helpstringdll Určuje název knihovny DLL, který se má použít k provedení vyhledávání řetězců dokumentu (lokalizace).
helpstring Určuje řetězec znaků, který se používá k popisu prvku, na který se vztahuje.
hidden Označuje, že položka existuje, ale neměla by být zobrazena v prohlížeči orientovaném na uživatele.
idl_module Určuje vstupní bod v knihovně DLL.
idl_quote Umožňuje používat atributy nebo konstrukty IDL, které nejsou podporovány v aktuální verzi jazyka Visual C++.
id Určuje DISPID pro členovou funkci (vlastnost nebo metodu v rozhraní nebo dispinterface).
iid_is Určuje IID rozhraní modelu COM, na které odkazuje ukazatel rozhraní.
immediatebind Označuje, že databáze bude okamžitě upozorněna na všechny změny vlastnosti objektu vázaného na data.
importlib Zkompiluje typy, které již byly zkompilovány do jiné knihovny typů, která je k dispozici pro vytvářenou knihovnu typů.
import Určuje jiný soubor .idl, .odl nebo hlavičky obsahující definice, na které chcete odkazovat z hlavního souboru .idl.
include Určuje jeden nebo více souborů hlaviček, které se mají zahrnout do vygenerovaného souboru .idl.
includelib Způsobí zahrnutí souboru .idl nebo .h do vygenerovaného souboru .idl.
v Označuje, že parametr má být předán z volající procedury do volané procedury.
last_is Určuje index posledního prvku pole, který se má přenést.
lcid Umožňuje předat identifikátor národního prostředí funkci.
length_is Určuje počet prvků pole, které se mají přenést.
licensed Označuje, že třída coclass, na kterou se vztahuje, je licencovaná a musí být vytvořena pomocí IClassFactory2instance .
local Umožňuje použít kompilátor MIDL jako generátor hlaviček při použití v hlavičce rozhraní. Při použití v jednotlivých funkcích určuje místní proceduru, pro kterou nejsou generovány žádné zástupné procedury.
max_is Určuje maximální hodnotu platného indexu pole.
module Definuje blok knihovny v souboru .idl.
ms_union Řídí zarovnání reprezentace síťových dat necapsulovaných sjednocení.
no_injected_text Brání kompilátoru v vkládání kódu v důsledku použití atributu.
nonbrowsable Označuje, že člen rozhraní by neměl být zobrazen v prohlížeči vlastností.
noncreatable Definuje objekt, který nelze vytvořit instanci sám o sobě.
nonextensible Určuje, že IDispatch implementace zahrnuje pouze vlastnosti a metody uvedené v popisu rozhraní a nelze ji rozšířit o další členy za běhu.
object Identifikuje vlastní rozhraní; synonymum s vlastním atributem.
odl Identifikuje rozhraní jako rozhraní ODL (Object Description Language).
oleautomation Označuje, že rozhraní je kompatibilní se službou Automation.
optional Určuje volitelný parametr členské funkce.
out Identifikuje parametry ukazatele, které jsou vráceny z volané procedury na volající proceduru (ze serveru do klienta).
pointer_default Určuje výchozí atribut ukazatele pro všechny ukazatele kromě ukazatelů nejvyšší úrovně, které se zobrazují v seznamech parametrů.
pragma Vygeneruje zadaný řetězec bez znaků uvozovek do vygenerovaného souboru .idl.
progid Určuje Identifikátor ProgID objektu COM.
propget Určuje funkci přístupového objektu vlastnosti (get).
propputref Určuje funkci nastavení vlastnosti, která místo hodnoty používá odkaz.
propput Určuje funkci nastavení vlastnosti.
ptr Určuje ukazatel jako úplný ukazatel.
public Zajišťuje, že typedef přejde do knihovny typů, i když není odkazován z souboru .idl.
range Určuje rozsah povolených hodnot pro argumenty nebo pole, jejichž hodnoty jsou nastaveny za běhu.
readonly Zakáže přiřazení proměnné.
ref Identifikuje ukazatel odkazu.
requestedit Označuje, že vlastnost podporuje OnRequestEdit oznámení.
restricted Určuje, že knihovnu nebo člen modulu, rozhraní nebo dispinterface nelze libovolně volat.
retval Určuje parametr, který obdrží návratové hodnoty člena.
size_is Určuje velikost paměti přidělenou pro ukazatele velikosti, ukazatele velikosti na ukazatele velikosti a jednorozměrná nebo multidimenzionální pole.
source Označuje, že člen třídy, vlastnosti nebo metody je zdrojem událostí.
string Označuje, že jednorozměrná char, , wchar_t, bytenebo ekvivalentní matice nebo ukazatel na takové pole musí být považován za řetězec.
switch_is Určuje výraz nebo identifikátor, který funguje jako sjednocování, který vybere člena sjednocení.
switch_type Identifikuje typ proměnné použité jako sjednocovacího diskriminantu.
transmit_as Dává kompilátoru pokyn, aby přidružil prezentovaný typ, se kterým klientská a serverová aplikace manipuluje s přenášeným typem.
uidefault Označuje, že člen informace o typu je výchozím členem pro zobrazení v uživatelském rozhraní.
unique Určuje jedinečný ukazatel.
usesgetlasterror Informuje volajícího, že pokud při volání této funkce dojde k chybě, může volající zavolat GetLastError a načíst kód chyby.
uuid Určuje jedinečné ID třídy nebo rozhraní.
v1_enum Směruje, že zadaný typ výčtu se přenáší jako 32bitová entita, nikoli jako 16bitová výchozí hodnota.
vararg Určuje, že funkce převezme proměnný počet argumentů.
vi_progid Určuje formulář nezávislý na verzi identifikátoru ProgID.
wire_marshal Určuje datový typ, který se použije k přenosu místo datového typu specifického pro aplikaci.

Viz také

Atributy podle skupin