Aracılığıyla paylaş


MFC Modül Durumunda Etkinleştirme Bağlamları Desteği

MFC, kullanıcı modülü tarafından sağlanan bildirim kaynağını kullanarak bir etkinleştirme bağlamı oluşturur. Etkinleştirme bağlamlarının nasıl oluşturulduğu hakkında daha fazla bilgi için aşağıdaki konulara bakın:

Açıklamalar

Bu Windows SDK konularını okurken, MFC etkinleştirme bağlamı mekanizmasının Windows SDK etkinleştirme bağlamı gibi olduğunu, ancak MFC'nin Windows SDK Etkinleştirme Bağlamı API'sini kullanmadığını unutmayın.

Etkinleştirme bağlamı MFC uygulamalarında, kullanıcı DLL'lerinde ve MFC uzantısı DLL'lerinde aşağıdaki yollarla çalışır:

  • MFC uygulamaları bildirim kaynakları için kaynak kimliği 1'i kullanır. Bu durumda, MFC kendi etkinleştirme bağlamını oluşturmaz, ancak varsayılan uygulama bağlamını kullanır.

  • MFC kullanıcı DLL'leri bildirim kaynakları için kaynak kimliği 2'yi kullanır. Burada, MFC her Kullanıcı DLL'i için bir etkinleştirme bağlamı oluşturur, böylece farklı kullanıcı DLL'leri aynı kitaplıkların farklı sürümlerini (örneğin, Ortak Denetimler kitaplığı) kullanabilir.

  • MFC uzantısı DLL'leri, etkinleştirme bağlamını oluşturmak için barındırma uygulamalarına veya kullanıcı DLL'lerine dayanır.

Etkinleştirme bağlam durumu Etkinleştirme Bağlamı API'sini Kullanma altında açıklanan işlemler kullanılarak değiştirilebilir, ancak MFC etkinleştirme bağlamı mekanizmasını kullanmak, dış eklentilere yapılan tek tek çağrılardan önce ve sonra etkinleştirme durumunu el ile değiştirmenin kolay olmadığı (veya mümkün olmadığı) DLL tabanlı eklenti mimarileri geliştirirken yararlı olabilir.

Etkinleştirme bağlamı AfxWinInit'te oluşturulur. Yok edicide AFX_MODULE_STATE yok edilir. Etkinleştirme bağlam tutamacı içinde AFX_MODULE_STATEtutulur. (AFX_MODULE_STATE AfxGetStaticModuleState içinde açıklanmıştır.)

AFX_MANAGE_STATE makro, etkinleştirme bağlamını etkinleştirir ve devre dışı bırakır. AFX_MANAGE_STATE , MFC kodunun Kullanıcı DLL'sinin seçtiği uygun etkinleştirme bağlamında yürütülmesine izin vermek için MFC DLL'lerinin yanı sıra statik MFC kitaplıkları için de etkinleştirilir.

Ayrıca bkz.

Etkinleştirme Bağlamları
Uygulama Bildirimleri
Derleme Bildirimleri
AfxWinInit
AfxGetStaticModuleState
AFX_MANAGE_STATE