Udostępnij za pośrednictwem


atrybuty IDL

Tradycyjnie utrzymywanie pliku idl oznaczało, że trzeba:

  • Zapoznaj się ze strukturą i składnią pliku idl, aby móc go modyfikować.

  • Polegaj na kreatorze, który umożliwia modyfikowanie niektórych aspektów pliku idl.

Teraz możesz zmodyfikować plik idl z poziomu pliku kodu źródłowego przy użyciu atrybutów IDL języka Visual C++. W wielu przypadkach atrybuty IDL języka Visual C++ mają taką samą nazwę jak atrybuty MIDL. Gdy nazwa atrybutu IDL języka Visual C++ i atrybut MIDL są takie same, oznacza to, że umieszczenie atrybutu Języka Visual C++ w pliku kodu źródłowego spowoduje wyświetlenie pliku idl zawierającego atrybut MIDL. Jednak atrybut IDL języka Visual C++ może nie zapewniać wszystkich funkcji atrybutu MIDL.

Jeśli atrybuty MODELU COM nie są używane, atrybuty IDL umożliwiają definiowanie interfejsów. Po skompilowaniu kodu źródłowego atrybuty są używane do definiowania wygenerowanego pliku idl. W przypadku użycia z atrybutami COM w projekcie ATL niektóre atrybuty IDL, takie jak coclass, powodują wstrzyknięcie kodu do projektu.

Należy pamiętać, że idl_quote umożliwia korzystanie z konstrukcji MIDL, które nie są obsługiwane w bieżącej wersji programu Visual C++. Te i inne atrybuty, takie jak importlib i includelib, ułatwiają korzystanie z istniejących plików idl w bieżącym projekcie programu Visual Studio C++.

Atrybut opis
aggregatable Wskazuje, że kontrolka może być agregowana przez inną kontrolkę.
appobject Identyfikuje coclass jako obiekt aplikacji, który jest skojarzony z pełną aplikacją EXE, i wskazuje, że funkcje i właściwości coclass są globalnie dostępne w tej bibliotece typów.
async_uuid Określa identyfikator UUID, który kieruje kompilator MIDL do definiowania zarówno synchronicznych, jak i asynchronicznych wersji interfejsu COM.
bindable Wskazuje, że właściwość obsługuje powiązanie danych.
call_as Umożliwia mapowanie funkcji niezwiązanej z funkcją zdalną.
case Używany z atrybutem switch_type w unii.
coclass Umieszcza definicję klasy w pliku idl jako coclass.
control Określa, że typ zdefiniowany przez użytkownika jest kontrolką.
cpp_quote Emituje określony ciąg bez znaków cudzysłowu do wygenerowanego pliku nagłówka.
defaultbind Wskazuje pojedynczą, powiązaną właściwość, która najlepiej reprezentuje obiekt.
defaultcollelem Służy do optymalizacji kodu języka Visual Basic.
defaultvalue Umożliwia określenie wartości domyślnej dla typizowanego parametru opcjonalnego.
default Wskazuje, że niestandardowy lub dispinterface zdefiniowany w coclass reprezentuje domyślny interfejs programowy.
defaultvtable Definiuje interfejs jako domyślny interfejs vtable dla kontrolki.
dispinterface Umieszcza interfejs w pliku idl jako interfejs wysyłania.
displaybind Wskazuje właściwość, która powinna być wyświetlana użytkownikowi jako powiązana.
dual Umieszcza interfejs w pliku idl jako podwójny interfejs.
entry Określa wyeksportowaną funkcję lub stałą w module, identyfikując punkt wejścia w bibliotece DLL.
first_is Określa indeks pierwszego elementu tablicy, który ma być przesyłany.
helpcontext Określa identyfikator kontekstu, który umożliwia użytkownikowi wyświetlanie informacji o tym elemecie w pliku Pomocy.
helpfile Ustawia nazwę pliku Pomocy dla biblioteki typów.
helpstringcontext Określa identyfikator tematu pomocy w pliku hlp lub chm.
helpstringdll Określa nazwę biblioteki DLL, która ma być używana do wykonywania wyszukiwania ciągów dokumentu (lokalizacja).
helpstring Określa ciąg znaków używany do opisywania elementu, do którego ma on zastosowanie.
hidden Wskazuje, że element istnieje, ale nie powinien być wyświetlany w przeglądarce zorientowanej na użytkownika.
idl_module Określa punkt wejścia w dll.
idl_quote Umożliwia używanie atrybutów lub konstrukcji IDL, które nie są obsługiwane w bieżącej wersji programu Visual C++.
id Określa DISPID dla funkcji składowej (właściwości lub metody, w interfejsie lub dispinterface).
iid_is Określa identyfikator IID interfejsu COM wskazywany przez wskaźnik interfejsu.
immediatebind Wskazuje, że baza danych zostanie natychmiast powiadomiona o wszystkich zmianach właściwości obiektu powiązanego z danymi.
importlib Udostępnia typy, które zostały już skompilowane w innej bibliotece typów, dostępne dla tworzonej biblioteki typów.
import Określa inny plik idl, .odl lub nagłówek zawierający definicje, do których chcesz się odwołać z głównego pliku idl.
include Określa co najmniej jeden plik nagłówka, który ma zostać uwzględniony w wygenerowany plik idl.
includelib Powoduje, że plik idl lub .h ma zostać uwzględniony w wygenerowanym pliku idl.
w Wskazuje, że parametr ma zostać przekazany z procedury wywołującej do wywoływanej procedury.
last_is Określa indeks ostatniego elementu tablicy, który ma być przesyłany.
lcid Umożliwia przekazanie identyfikatora ustawień regionalnych do funkcji.
length_is Określa liczbę elementów tablicy, które mają być przesyłane.
licensed Wskazuje, że wspólna klasa, do której ma zastosowanie, jest licencjonowana i musi zostać utworzone przy użyciu polecenia IClassFactory2.
local Umożliwia użycie kompilatora MIDL jako generatora nagłówków, gdy jest używany w nagłówku interfejsu. W przypadku użycia w pojedynczej funkcji wyznacza procedurę lokalną, dla której nie są generowane wycinki.
max_is Wyznacza maksymalną wartość prawidłowego indeksu tablicy.
module Definiuje blok biblioteki w pliku idl.
ms_union Steruje dopasowaniem danych sieciowych do nie hermetyzowanych związków.
no_injected_text Zapobiega wstrzyknięciu kodu przez kompilator w wyniku użycia atrybutu.
nonbrowsable Wskazuje, że element członkowski interfejsu nie powinien być wyświetlany w przeglądarce właściwości.
noncreatable Definiuje obiekt, którego nie można utworzyć samodzielnie.
nonextensible Określa, że implementacja IDispatch zawiera tylko właściwości i metody wymienione w opisie interfejsu i nie można go rozszerzyć z dodatkowymi elementami członkowskimi w czasie wykonywania.
object Identyfikuje interfejs niestandardowy; synonim z atrybutem niestandardowym.
odl Identyfikuje interfejs jako interfejs ODL (Object Description Language).
oleautomation Wskazuje, że interfejs jest zgodny z usługą Automation.
optional Określa opcjonalny parametr funkcji składowej.
out Identyfikuje parametry wskaźnika, które są zwracane z wywoływanej procedury do procedury wywołującej (z serwera do klienta).
pointer_default Określa domyślny atrybut wskaźnika dla wszystkich wskaźników z wyjątkiem wskaźników najwyższego poziomu, które są wyświetlane na listach parametrów.
pragma Emituje określony ciąg bez znaków cudzysłowu do wygenerowanego pliku idl.
progid Określa wartość ProgID dla obiektu COM.
propget Określa funkcję dostępu do właściwości (get).
propputref Określa funkcję ustawienia właściwości, która używa odwołania zamiast wartości.
propput Określa funkcję ustawienia właściwości.
ptr Wyznacza wskaźnik jako pełny wskaźnik.
public Gwarantuje, że definicja typu przejdzie do biblioteki typów, nawet jeśli nie zostanie odwołana z pliku idl.
range Określa zakres dozwolonych wartości dla argumentów lub pól, których wartości są ustawiane w czasie wykonywania.
readonly Uniemożliwia przypisanie do zmiennej.
ref Identyfikuje wskaźnik odniesienia.
requestedit Wskazuje, że właściwość obsługuje OnRequestEdit powiadomienie.
restricted Określa, że biblioteka lub element członkowski modułu, interfejsu lub dispinterface nie może być wywoływana dowolnie.
retval Wyznacza parametr, który otrzymuje wartość zwracaną elementu członkowskiego.
size_is Określa rozmiar pamięci przydzielonej dla wskaźników wielkości, wskaźników o rozmiarze do wskaźników wielkości i tablic jednowymiarowych lub wielowymiarowych.
source Wskazuje, że element członkowski klasy, właściwości lub metody jest źródłem zdarzeń.
string Wskazuje, że tablica jednowymiarowa char, wchar_t, bytelub równoważna albo wskaźnik do takiej tablicy musi być traktowany jako ciąg.
switch_is Określa wyrażenie lub identyfikator działający jako dyskryminator unii, który wybiera składową unii.
switch_type Określa typ zmiennej używanej jako dyskryminator unii.
transmit_as Instruuje kompilator, aby skojarzył przedstawiony typ, którego klient i aplikacje serwera manipulują, z typem przesyłanym.
uidefault Wskazuje, że element członkowski informacji o typie jest domyślnym elementem członkowskim do wyświetlania w interfejsie użytkownika.
unique Określa unikatowy wskaźnik.
usesgetlasterror Informuje obiekt wywołujący, że jeśli podczas wywoływania tej funkcji wystąpi błąd, obiekt wywołujący może wywołać GetLastError metodę w celu pobrania kodu błędu.
uuid Określa unikatowy identyfikator klasy lub interfejsu.
v1_enum Wskazuje, że określony typ wyliczany jest przesyłany jako jednostka 32-bitowa, a nie wartość domyślna 16-bitowa.
vararg Określa, że funkcja pobiera zmienną liczbę argumentów.
vi_progid Określa niezależną od wersji formę progID.
wire_marshal Określa typ danych, który będzie używany do transmisji zamiast typu danych specyficznych dla aplikacji.

Zobacz też

Atrybuty według grup