IDL Öznitelikleri

Geleneksel olarak bir .idl dosyasının bakımını yapmak, şunları yapmak zorunda olduğunuz anlamına geliyordu:

  • Değiştirebilmek için bir .idl dosyasının yapısı ve söz dizimi hakkında bilgi sahibi olun.

  • .idl dosyasının bazı yönlerini değiştirmenize olanak tanıyan bir sihirbaza güvenin.

Artık Visual C++ IDL özniteliklerini kullanarak kaynak kod dosyasının içinden .idl dosyasını değiştirebilirsiniz. Çoğu durumda, Visual C++ IDL öznitelikleri MIDL öznitelikleriyle aynı ada sahiptir. Visual C++ IDL özniteliğinin adı ve MIDL özniteliği aynı olduğunda, visual C++ özniteliğini kaynak kod dosyanıza yerleştirmek namesake MIDL özniteliğini içeren bir .idl dosyasıyla sonuçlanır. Ancak Visual C++ IDL özniteliği, MIDL özniteliğinin tüm işlevlerini sağlamayabilir.

COM öznitelikleriyle kullanılmadığında, IDL öznitelikleri arabirimleri tanımlamanıza olanak sağlar. Kaynak kod derlendiğinde, öznitelikler oluşturulan .idl dosyasını tanımlamak için kullanılır. BIR ATL projesinde COM öznitelikleriyle kullanıldığında, gibi coclassbazı IDL öznitelikleri projeye kod eklemeye neden olur.

idl_quote,Visual C++'ın geçerli sürümünde desteklenmeyen MIDL yapılarını kullanmanıza olanak tanır. Bu ve importlib ve includelib gibi diğer öznitelikler, geçerli Visual Studio C++ projenizde var olan .idl dosyalarını kullanmanıza yardımcı olur.

Öznitelik Açıklama
toplanabilir Bir denetimin başka bir denetim tarafından toplanabilir olduğunu gösterir.
appobject Coclass'ı tam exe uygulamasıyla ilişkili bir uygulama nesnesi olarak tanımlar ve ortak sınıfın işlevlerinin ve özelliklerinin bu tür kitaplığında genel olarak kullanılabilir olduğunu gösterir.
async_uuid MIDL derleyicisini COM arabiriminin hem zaman uyumlu hem de zaman uyumsuz sürümlerini tanımlamaya yönlendiren UUID'yi belirtir.
bindable Özelliğinin veri bağlamayı desteklediğini gösterir.
call_as Uzak bir işlevle eşlenemeyen bir işlevi etkinleştirir.
case Birleşimde switch_type özniteliğiyle birlikte kullanılır.
coclass Sınıf tanımını coclass olarak bir .idl dosyasına yerleştirir.
control Kullanıcı tanımlı türün bir denetim olduğunu belirtir.
cpp_quote Belirtilen dizeyi, tırnak karakterleri olmadan oluşturulan üst bilgi dosyasına yayar.
defaultbind Nesneyi en iyi temsil eden tek, bağlanabilir özelliği gösterir.
defaultcollelem Visual Basic kod iyileştirmesi için kullanılır.
defaultvalue Yazılan isteğe bağlı parametre için varsayılan değerin belirtimine izin verir.
varsayılan Ortak sınıf içinde tanımlanan özel veya dispinterface öğesinin varsayılan programlanabilirlik arabirimini temsil ettiğini gösterir.
defaultvtable Bir arabirimi, denetim için varsayılan vtable arabirimi olarak tanımlar.
dispinterface .idl dosyasına dağıtım arabirimi olarak bir arabirim yerleştirir.
displaybind Kullanıcıya bağlanabilir olarak görüntülenmesi gereken bir özelliği gösterir.
dual .idl dosyasına bir arabirimi çift arabirim olarak yerleştirir.
entry DLL'deki giriş noktasını tanımlayarak modülde dışarı aktarılan bir işlevi veya sabiti belirtir.
first_is İletilecek ilk dizi öğesinin dizinini belirtir.
helpcontext Kullanıcının Yardım dosyasında bu öğe hakkındaki bilgileri görüntülemesine olanak tanıyan bir bağlam kimliği belirtir.
helpfile Bir tür kitaplığı için Yardım dosyasının adını ayarlar.
helpstringcontext .hlp veya .chm dosyasındaki bir yardım konusunun kimliğini belirtir.
helpstringdll Belge dizesi araması (yerelleştirme) gerçekleştirmek için kullanılacak DLL'nin adını belirtir.
helpstring Uygulandığı öğeyi açıklamak için kullanılan karakter dizesini belirtir.
hidden Öğenin var olduğunu ancak kullanıcı odaklı bir tarayıcıda görüntülenmemesi gerektiğini gösterir.
idl_module DLL'de bir giriş noktası belirtir.
idl_quote Visual C++'ın geçerli sürümünde desteklenmeyen öznitelikleri veya IDL yapılarını kullanmanıza olanak tanır.
id Bir üye işlevi (arabirimde veya dispinterface içinde bir özellik veya yöntem) için DISPID belirtir.
iid_is Arabirim işaretçisi tarafından işaret edilen COM arabiriminin IID değerini belirtir.
immediatebind Veritabanına, veriye bağlı bir nesnenin özelliğinde yapılan tüm değişikliklerin hemen bildirileceğini gösterir.
importlib Zaten başka bir tür kitaplığında derlenmiş türleri, oluşturulan tür kitaplığı için kullanılabilir hale getirir.
import Ana .idl dosyanızdan başvurmak istediğiniz tanımları içeren başka bir .idl, .odl veya üst bilgi dosyası belirtir.
include Oluşturulan .idl dosyasına eklenecek bir veya daha fazla üst bilgi dosyasını belirtir.
includelib Oluşturulan .idl dosyasına bir .idl veya .h dosyasının eklenmesine neden olur.
içinde Bir parametrenin çağrılan yordamdan çağrılan yordama geçirilecek olduğunu gösterir.
last_is İletilecek son dizi öğesinin dizinini belirtir.
lcid Bir işleve yerel ayar tanımlayıcısı geçirmenizi sağlar.
length_is İletilecek dizi öğelerinin sayısını belirtir.
licensed Uygulanacağı ortak sınıfın lisanslı olduğunu ve kullanılarak IClassFactory2örneği oluşturulmalıdır.
local Arabirim üst bilgisinde kullanıldığında MIDL derleyicisini üst bilgi oluşturucu olarak kullanmanıza olanak tanır. Tek bir işlevde kullanıldığında, saplama oluşturulmayan yerel bir yordam ayarlar.
max_is Geçerli bir dizi dizini için en yüksek değeri gösterir.
module .idl dosyasındaki kitaplık bloğunu tanımlar.
ms_union Olmayan birleşimlerin ağ veri gösterimi hizalamasını denetler.
no_injected_text Derleyicinin öznitelik kullanımının bir sonucu olarak kod eklemesini engeller.
nonbrowsable Bir arabirim üyesinin özellik tarayıcısında görüntülenmemesi gerektiğini gösterir.
noncreatable Kendi başına örneği oluşturulamayan bir nesneyi tanımlar.
nonextensible IDispatch Uygulamanın yalnızca arabirim açıklamasında listelenen özellikleri ve yöntemleri içerdiğini ve çalışma zamanında ek üyelerle genişletilemeyeceğini belirtir.
object Özel bir arabirim tanımlar; özel öznitelikle eş anlamlı.
odl Bir arabirimi Nesne Açıklama Dili (ODL) arabirimi olarak tanımlar.
oleautomation Bir arabirimin Otomasyon ile uyumlu olduğunu gösterir.
optional Üye işlevi için isteğe bağlı bir parametre belirtir.
out Çağrılan yordamdan çağırma yordamına (sunucudan istemciye) döndürülen işaretçi parametrelerini tanımlar.
pointer_default Parametre listelerinde görünen üst düzey işaretçiler dışında tüm işaretçiler için varsayılan işaretçi özniteliğini belirtir.
pragma Belirtilen dizeyi, tırnak karakterleri olmadan oluşturulan .idl dosyasına yayar.
progid COM nesnesinin ProgID değerini belirtir.
propget Özellik erişimcisi (get) işlevini belirtir.
propputref Değer yerine başvuru kullanan bir özellik ayarı işlevi belirtir.
propput Özellik ayarı işlevini belirtir.
ptr bir işaretçiyi tam işaretçi olarak gösterir.
genel .idl dosyasının içinden başvurulmasa bile tür kitaplığına bir tür tanımı gitmesini sağlar.
aralık Değerleri çalışma zamanında ayarlanan bağımsız değişkenler veya alanlar için izin verilen değerler aralığını belirtir.
readonly Bir değişkene atamayı yasaklar.
ref Bir başvuru işaretçisi tanımlar.
requestedit özelliğinin bildirimi desteklediğini OnRequestEdit gösterir.
restricted Bir kitaplığın veya modül, arabirim veya dispinterface üyesinin rastgele çağrılaamayacağını belirtir.
retval Üyenin dönüş değerini alan parametreyi belirtir.
size_is Boyutlandırılmış işaretçiler, boyutlandırılan işaretçiler için boyutlandırılan işaretçiler ve tek veya çok boyutlu diziler için ayrılan belleğin boyutunu belirtir.
source Bir sınıfın, özelliğin veya yöntemin üyesinin olayların kaynağı olduğunu gösterir.
string Tek boyutlu char, , wchar_tbyteveya eşdeğer dizi ya da böyle bir dizi işaretçisinin dize olarak ele alınması gerektiğini gösterir.
switch_is Birleşim üyesini seçen birleşim ayrımı olarak davranan ifadeyi veya tanımlayıcıyı belirtir.
switch_type Birleşim ayrımı olarak kullanılan değişkenin türünü tanımlar.
transmit_as Derleyiciye, istemci ve sunucu uygulamalarının işlediği, iletilen bir türle sunulan bir türü ilişkilendirmesini sağlar.
uidefault Tür bilgisi üyesinin kullanıcı arabiriminde görüntülenecek varsayılan üye olduğunu gösterir.
unique Benzersiz bir işaretçi belirtir.
usesgetlasterror Çağırana, bu işlevi çağırırken bir hata olması durumunda çağıranın hata kodunu almak için çağırabileceğini GetLastError bildirir.
uuid Bir sınıf veya arabirim için benzersiz kimliği belirtir.
v1_enum Belirtilen numaralandırılmış türün 16 bit varsayılanı yerine 32 bit varlık olarak iletilmesini sağlar.
vararg İşlevin değişken sayıda bağımsız değişken alacağını belirtir.
vi_progid ProgID'nin sürümden bağımsız bir biçimini belirtir.
wire_marshal Uygulamaya özgü bir veri türü yerine iletim için kullanılacak bir veri türünü belirtir.

Ayrıca bkz.

Gruplara Göre Öznitelikler