COM Sarmalayıcıları
COM, çeşitli önemli yollarla .NET çalışma zamanı nesne modelinden farklıdır:
COM nesnelerinin istemcileri bu nesnelerin yaşam ömrünü yönetmelidir; ortak dil çalışma zamanı, ortamındaki nesnelerin ömrünü yönetir.
COM nesnelerinin istemcileri, hizmeti sağlayan bir arabirim isteyerek ve arabirim işaretçisini geri alarak bir hizmetin kullanılabilir olup olmadığını bulur. .NET nesnelerinin istemcileri yansıma kullanarak bir nesnenin işlevselliğinin açıklamasını alabilir.
NET nesneleri .NET çalışma zamanı yürütme ortamı tarafından yönetilen bellekte bulunur. Yürütme ortamı, performans nedeniyle nesneleri bellek içinde taşıyabilir ve taşınan nesnelere yapılan tüm başvuruları güncelleştirebilir. Bir nesnenin işaretçisini alan yönetilmeyen istemciler, nesnenin aynı konumda kalmasını sağlar. Bu istemcilerin konumu sabit olmayan bir nesneyle ilgilenmeye yönelik bir mekanizması yoktur.
Çalışma zamanı, bu farklılıkların üstesinden gelmek için hem yönetilen hem de yönetilmeyen istemcilerin kendi ortamlarındaki nesneleri çağırdıklarını düşünmelerini sağlamak için sarmalayıcı sınıfları sağlar. Yönetilen istemciniz COM nesnesinde bir yöntemi her çağırışında, çalışma zamanı bir çalışma zamanı çağrılabilen sarmalayıcı (RCW) oluşturur. RCW'ler, yönetilen ve yönetilmeyen başvuru mekanizmaları arasındaki farkları ve diğer şeyleri soyutlar. Çalışma zamanı işlemi tersine çevirmek için com çağrılabilen sarmalayıcı (CCW) da oluşturur ve com istemcisinin .NET nesnesinde bir yöntemi sorunsuz bir şekilde çağırmasını sağlar. Aşağıdaki çizimde gösterildiği gibi, çağıran kodun perspektifi çalışma zamanının hangi sarmalayıcı sınıfını oluşturduğunu belirler.
Çoğu durumda, çalışma zamanı tarafından oluşturulan standart RCW veya CCW, COM ile .NET çalışma zamanı arasındaki sınırı geçen çağrılar için yeterli sıralama sağlar. Özel öznitelikleri kullanarak, isteğe bağlı olarak çalışma zamanının yönetilen ve yönetilmeyen kodu temsil ettiği şekli ayarlayabilirsiniz.
Ayrıca bkz.
- ComWrappers Kaynak Oluşturma
- .NET Framework'te Gelişmiş COM Birlikte Çalışabilirliği
- Çalışma Zamanında Çağrılabilir Sarmalayıcı
- COM Çağrılabilir Sarmalayıcısı
- .NET Framework'te Standart Sarmalayıcıları Özelleştirme
- Nasıl yapılır: .NET Framework'te Çalışma Zamanı Çağrılabilen Sarmalayıcıları Özelleştirme
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin