Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Etkin Şablon Kitaplığı (ATL) desteklenmeye devam eder. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.
Bu sınıf, bir uygulamanın modülünü temsil eder.
Sözdizimi
template <class T>
class ATL_NO_VTABLE CAtlExeModuleT : public CAtlModuleT<T>
Parametreler
T
sınıfınız öğesinden CAtlExeModuleTtüretilmiştir.
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
| CAtlExeModuleT::CAtlExeModuleT | Oluşturucu. |
| CAtlExeModuleT::~CAtlExeModuleT | Yok edici. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| CAtlExeModuleT::InitializeCom | COM'ı başlatır. |
| CAtlExeModuleT::P arseCommandLine | Komut satırını ayrıştırıp gerekirse kayıt gerçekleştirir. |
| CAtlExeModuleT::P ostMessageLoop | Bu yöntem, ileti döngüsü çıktıktan hemen sonra çağrılır. |
| CAtlExeModuleT::P reMessageLoop | Bu yöntem, ileti döngüsüne girmeden hemen önce çağrılır. |
| CAtlExeModuleT::RegisterClassObjects | Sınıf nesnesini kaydeder. |
| CAtlExeModuleT::RevokeClassObjects | Sınıf nesnesini iptal eder. |
| CAtlExeModuleT::Run | Bu yöntem, başlatmak, ileti döngüsünü çalıştırmak ve temizlemek için EXE modülünde kod yürütür. |
| CAtlExeModuleT::RunMessageLoop | Bu yöntem ileti döngüsünü yürütür. |
| CAtlExeModuleT::UninitializeCom | COM'un başlatılmamış halini alır. |
| CAtlExeModuleT::Unlock | Modülün kilit sayısını azaltma. |
| CAtlExeModuleT::WinMain | Bu yöntem, EXE çalıştırmak için gereken kodu uygular. |
Ortak Veri Üyeleri
| Veri Akışı Adı | Açıklama |
|---|---|
| CAtlExeModuleT::m_bDelayShutdown | Modülün kapatılmasında gecikme olması gerektiğini belirten bir bayrak. |
| CAtlExeModuleT::m_dwPause | Kapatmadan önce tüm nesnelerin serbest bırakıldığından emin olmak için kullanılan bir duraklatma değeri. |
| CAtlExeModuleT::m_dwTimeOut | Modülün kaldırılmasını geciktirmek için kullanılan zaman aşımı değeri. |
Açıklamalar
CAtlExeModuleT bir uygulamanın (EXE) modülünü temsil eder ve EXE oluşturmayı, komut satırını işlemeyi, sınıf nesnelerini kaydetmeyi, ileti döngüsünü çalıştırmayı ve çıkışta temizlemeyi destekleyen kod içerir.
Bu sınıf, EXE sunucusundaki COM nesneleri sürekli oluşturulduğunda ve yok edildiğinde performansı geliştirmek için tasarlanmıştır. Son COM nesnesi yayımlandıktan sonra EXE, CAtlExeModuleT::m_dwTimeOut veri üyesi tarafından belirtilen süreyi bekler. Bu süre boyunca etkinlik yoksa (başka bir ifadeyle COM nesnesi oluşturulmaz), kapatma işlemi başlatılır.
CAtlExeModuleT::m_bDelayShutdown veri üyesi, EXE'nin yukarıda tanımlanan mekanizmayı kullanıp kullanmadığını belirlemek için kullanılan bir bayraktır. False olarak ayarlanırsa modül hemen sonlandırılır.
ATL'deki modüller hakkında daha fazla bilgi için bkz . ATL Modül Sınıfları.
Devralma Hiyerarşisi
CAtlExeModuleT
Gereksinimler
Üst bilgi: atlbase.h
CAtlExeModuleT::CAtlExeModuleT
Oluşturucu.
CAtlExeModuleT() throw();
Açıklamalar
EXE modülü başlatılamadıysa, WinMain daha fazla işlem yapmadan hemen geri döner.
CAtlExeModuleT::~CAtlExeModuleT
Yok edici.
~CAtlExeModuleT() throw();
Açıklamalar
Ayrılan tüm kaynakları serbesttir.
CAtlExeModuleT::InitializeCom
COM'ı başlatır.
static HRESULT InitializeCom() throw();
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Bu yöntem oluşturucudan çağrılır ve COM'un varsayılan uygulamadan farklı bir şekilde başlatılması için geçersiz kılınabilir. Varsayılan uygulama ya çağırır CoInitializeEx(NULL, COINIT_MULTITHREADED) ya CoInitialize(NULL) da proje yapılandırmasına bağlı olarak.
Bu yöntemin geçersiz kılınılması normalde CAtlExeModuleT::UninitializeCom'un geçersiz kılınmış olmasını gerektirir.
CAtlExeModuleT::m_bDelayShutdown
Modülün kapatılmasında gecikme olması gerektiğini belirten bir bayrak.
bool m_bDelayShutdown;
Açıklamalar
Ayrıntılar için bkz. CAtlExeModuleT'ye Genel Bakış.
CAtlExeModuleT::m_dwPause
Kapatmadan önce tüm nesnelerin gittiğinden emin olmak için kullanılan bir duraklatma değeri.
DWORD m_dwPause;
Açıklamalar
Sunucuyu kapatmak için duraklatma değeri olarak kullanılan milisaniye sayısını ayarlamak için CAtlExeModuleT::InitializeCom çağrısından sonra bu değeri değiştirin. Varsayılan değer 1000 milisaniyedir.
CAtlExeModuleT::m_dwTimeOut
Modülün kaldırılmasını geciktirmek için kullanılan zaman aşımı değeri.
DWORD m_dwTimeOut;
Açıklamalar
Sunucuyu kapatmak için zaman aşımı değeri olarak kullanılan milisaniye sayısını tanımlamak için CAtlExeModuleT::InitializeCom çağrısından sonra bu değeri değiştirin. Varsayılan değer 5000 milisaniyedir. Diğer ayrıntılar için bkz. CAtlExeModuleT Genel Bakış.
CAtlExeModuleT::P arseCommandLine
Komut satırını ayrıştırıp gerekirse kayıt gerçekleştirir.
bool ParseCommandLine(LPCTSTR lpCmdLine, HRESULT* pnRetCode) throw();
Parametreler
lpCmdLine
Komut satırı uygulamaya geçirildi.
pnRetCode
Kayda karşılık gelen HRESULT (varsa).
Dönüş Değeri
Uygulamanın çalışmaya devam etmesi gerekiyorsa true döndür, aksi takdirde false.
Açıklamalar
Bu yöntem CAtlExeModuleT::WinMain'den çağrılır ve komut satırı anahtarlarını işlemek için geçersiz kılınabilir. Varsayılan uygulama /RegServer ve /UnRegServer komut satırı bağımsız değişkenlerini denetler ve kayıt veya kayıt kaldırma işlemi gerçekleştirir.
CAtlExeModuleT::P ostMessageLoop
Bu yöntem, ileti döngüsü çıktıktan hemen sonra çağrılır.
HRESULT PostMessageLoop() throw();
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Özel uygulama temizleme gerçekleştirmek için bu yöntemi geçersiz kılın. Varsayılan uygulama CAtlExeModuleT::RevokeClassObjects'i çağırır.
CAtlExeModuleT::P reMessageLoop
Bu yöntem, ileti döngüsüne girmeden hemen önce çağrılır.
HRESULT PreMessageLoop(int nShowCmd) throw();
Parametreler
nShowCmd
WinMain'de nShowCmd parametresi olarak geçirilen değer.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Uygulama için özel başlatma kodu eklemek için bu yöntemi geçersiz kılın. Varsayılan uygulama sınıf nesnelerini kaydeder.
CAtlExeModuleT::RegisterClassObjects
Diğer uygulamaların bağlanabilmesi için sınıf nesnesini OLE'ye kaydeder.
HRESULT RegisterClassObjects(DWORD dwClsContext, DWORD dwFlags) throw();
Parametreler
dwClsContext
Sınıf nesnesinin çalıştırılacağı bağlamı belirtir. Olası değerler CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER veya CLSCTX_LOCAL_SERVER.
dwFlags
Sınıf nesnesine bağlantı türlerini belirler. Olası değerler REGCLS_SINGLEUSE, REGCLS_MULTIPLEUSE veya REGCLS_MULTI_SEPARATE.
Dönüş Değeri
Başarılı S_OK, kaydedilecek sınıf yoksa S_FALSE veya hata durumunda HRESULT hatası döndürür.
CAtlExeModuleT::RevokeClassObjects
Sınıf nesnesini kaldırır.
HRESULT RevokeClassObjects() throw();
Dönüş Değeri
Başarılı S_OK, kaydedilecek sınıf yoksa S_FALSE veya hata durumunda HRESULT hatası döndürür.
CAtlExeModuleT::Run
Bu yöntem, başlatmak, ileti döngüsünü çalıştırmak ve temizlemek için EXE modülünde kod yürütür.
HRESULT Run(int nShowCmd = SW_HIDE) throw();
Parametreler
nShowCmd
Pencerenin nasıl gösterileceğini belirtir. Bu parametre, WinMain bölümünde açıklanan değerlerden biri olabilir. Varsayılan olarak SW_HIDE.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Bu yöntem geçersiz kılınabilir. Ancak uygulamada bunun yerine CAtlExeModuleT::P reMessageLoop, CAtlExeModuleT::RunMessageLoop veya CAtlExeModuleT::P ostMessageLoop'u geçersiz kılmak daha iyidir.
CAtlExeModuleT::RunMessageLoop
Bu yöntem ileti döngüsünü yürütür.
void RunMessageLoop() throw();
Açıklamalar
İleti döngüsünün davranışını değiştirmek için bu yöntem geçersiz kılınabilir.
CAtlExeModuleT::UninitializeCom
COM'un başlatılmamış halini alır.
static void UninitializeCom() throw();
Açıklamalar
Varsayılan olarak bu yöntem yalnızca CoUninitialize'ı çağırır ve yıkıcıdan çağrılır. CAtlExeModuleT::InitializeCom'ı geçersiz kılarsanız bu yöntemi geçersiz kılın.
CAtlExeModuleT::Unlock
Modülün kilit sayısını azaltma.
LONG Unlock() throw();
Dönüş Değeri
Tanılama veya test için yararlı olabilecek bir değer döndürür.
CAtlExeModuleT::WinMain
Bu yöntem, EXE çalıştırmak için gereken kodu uygular.
int WinMain(int nShowCmd) throw();
Parametreler
nShowCmd
Pencerenin nasıl gösterileceğini belirtir. Bu parametre, WinMain bölümünde açıklanan değerlerden biri olabilir.
Dönüş Değeri
Yürütülebilir dosyanın dönüş değerini döndürür.
Açıklamalar
Bu yöntem geçersiz kılınabilir.
CAtlExeModuleT::P reMessageLoop, CAtlExeModuleT::P ostMessageLoop veya CAtlExeModuleT::RunMessageLoop geçersiz kılınması yeterli esneklik sağlamıyorsa, bu yöntemi kullanarak işlevi geçersiz kılmak WinMain mümkündür.
Ayrıca bkz.
ATLDuck Örneği
CAtlModuleT Sınıfı
CAtlDllModuleT Sınıfı
Sınıfa Genel Bakış