Aracılığıyla paylaş


CAtlExeModuleT Sınıfı

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

_ATL_MODULE

CAtlModule

CAtlModuleT

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ış