Aracılığıyla paylaş


Modül Sınıfı

İlişkili nesneler koleksiyonunu temsil eder.

Sözdizimi

template<ModuleType moduleType>
class Module;

template<>
class Module<InProc> : public Details::ModuleBase;

template<>
class Module<OutOfProc> : public Module<InProc>;

Parametreler

moduleType
Bir veya daha fazla ModuleType numaralandırma değerinin birleşimi.

Üyeler

Korumalı Sınıflar

Veri Akışı Adı Açıklama
Module::GenericReleaseNotifier Geçerli modüldeki son nesne yayımlandığında bir olay işleyicisi çağırır. Olay işleyicisi tarafından bir lambda, functor veya işaretçiden işleve belirtilir.
Module::MethodReleaseNotifier Geçerli modüldeki son nesne yayımlandığında bir olay işleyicisi çağırır. Olay işleyicisi bir nesne ve işaretçiden yönteme üyesi tarafından belirtilir.
Module::ReleaseNotifier Modüldeki son nesne yayımlandığında olay işleyicisini çağırır.

Ortak Oluşturucular

Veri Akışı Adı Açıklama
Modül::~Modül Sınıfın geçerli örneğini Module başlatır.

Korumalı Oluşturucular

Veri Akışı Adı Açıklama
Modül::Modül Module sınıfının yeni bir örneğini başlatır.

Genel Yöntemler

Veri Akışı Adı Açıklama
Modül::Create Bir modülün örneğini oluşturur.
Module::D ecrementObjectCount Modül tarafından izlenen nesne sayısını azaltma.
Module::GetActivationFactory Modül için bir etkinleştirme fabrikası alır.
Module::GetClassObject Sınıf fabrikalarının önbelleğini alır.
Modül::GetModule Bir modülün örneğini oluşturur.
Module::GetObjectCount Bu modül tarafından yönetilen nesne sayısını alır.
Module::IncrementObjectCount Modül tarafından izlenen nesne sayısını artırır.
Module::RegisterCOMObject Diğer uygulamaların bunlara bağlanabilmesi için bir veya daha fazla COM nesnesi kaydeder.
Module::RegisterObjects Diğer uygulamaların bağlanabilmesi için COM veya Windows Çalışma Zamanı nesneleri kaydeder.
Module::RegisterWinRTObject Diğer uygulamaların bağlanabilmesi için bir veya daha fazla Windows Çalışma Zamanı nesnesi kaydeder.
Modül::Terminate Modülün oluşturduğu tüm fabrikaların kapanmasına neden olur.
Module::UnregisterCOMObject Diğer uygulamaların bunlara bağlanmasını engelleyen bir veya daha fazla COM nesnesinin kaydını kaldırır.
Module::UnregisterObjects Diğer uygulamaların bunlara bağlanamaması için belirtilen modüldeki nesnelerin kaydını temizler.
Module::UnregisterWinRTObject Bir veya daha fazla Windows Çalışma Zamanı nesnesinin kaydını silip diğer uygulamaların bunlara bağlanamamasını sağlar.

Korumalı Yöntemler

Veri Akışı Adı Açıklama
Modül::Create Bir modülün örneğini oluşturur.

Korumalı Veri Üyeleri

Veri Akışı Adı Açıklama
Modül::objectCount_ Make işleviyle kaç sınıfın oluşturulduğunu izler.
Modül::releaseNotifier_ Bir nesnenin işaretçisini ReleaseNotifier tutar.

Makrolar

Veri Akışı Adı Açıklama
ActivatableClass Belirtilen sınıfın bir örneğini oluşturabilen bir fabrika içeren iç önbelleği doldurur. Bu makro varsayılan fabrika ve grup kimliği parametrelerini belirtir.
ActivatableClassWithFactory Belirtilen sınıfın bir örneğini oluşturabilen bir fabrika içeren iç önbelleği doldurur. Bu makro, belirli bir fabrika parametresi belirtmenizi sağlar.
ActivatableClassWithFactoryEx Belirtilen sınıfın bir örneğini oluşturabilen bir fabrika içeren iç önbelleği doldurur. Bu makro, belirli fabrika ve grup kimliği parametrelerini belirtmenizi sağlar.

Devralma Hiyerarşisi

ModuleBase

Module

Module

Gereksinimler

Üst bilgi: module.h

Ad Alanı: Microsoft::WRL

Modül::~Modül

Sınıfın geçerli örneğini Module başlatır.

virtual ~Module();

Modül::Create

Bir modülün örneğini oluşturur.

WRL_NOTHROW static Module& Create();
template<typename T>
WRL_NOTHROW static Module& Create(
   T callback
);
template<typename T>
WRL_NOTHROW static Module& Create(
   _In_ T* object,
   _In_ void (T::* method)()
);

Parametreler

T
Modül türü.

geri çağırma
Modülün son örnek nesnesi yayımlandığında çağrılır.

object
Nesne ve yöntem parametreleri birlikte kullanılır. Modüldeki son örnek nesnesi yayımlandığında son örnek nesnesini gösterir.

yöntem
Nesne ve yöntem parametreleri birlikte kullanılır. Modüldeki son örnek nesnesi yayımlandığında son örnek nesnesinin yöntemine işaret edilir.

Dönüş Değeri

Modüle başvuru.

Module::D ecrementObjectCount

Modül tarafından izlenen nesne sayısını azaltma.

virtual long DecrementObjectCount();

Dönüş Değeri

Azaltma işleminden önceki sayı.

Module::GetActivationFactory

Modül için bir etkinleştirme fabrikası alır.

WRL_NOTHROW HRESULT GetActivationFactory(
   _In_ HSTRING pActivatibleClassId,
   _Deref_out_ IActivationFactory **ppIFactory,
   wchar_t* serverName = nullptr
);

Parametreler

pActivatibleClassId
Çalışma zamanı sınıfının IID değeri.

ppIFactory
Belirtilen çalışma zamanı sınıfı için IActivationFactory.

serverName
Geçerli modüldeki sınıf fabrikalarının bir alt kümesinin adı. ActivatableClassWithFactoryEx makrosunda kullanılan sunucu adını belirtin veya varsayılan sunucu adını almak için belirtinnullptr.

Dönüş Değeri

Başarılı olursa S_OK; aksi takdirde, GetActivationFactory tarafından döndürülen HRESULT.

Module::GetClassObject

Sınıf fabrikalarının önbelleğini alır.

HRESULT GetClassObject(
   REFCLSID clsid,
   REFIID riid,
   _Deref_out_ void **ppv,
   wchar_t* serverName = nullptr
);

Parametreler

clsid
Sınıf Kimliği.

riid
İstediğiniz arabirim kimliği.

ppv
Döndürülen nesnenin işaretçisi.

serverName
, ActivatableClassWithFactoryExveya makroda ActivatableClassWithFactorybelirtilen sunucu adı veya ActivatableClass nullptr varsayılan sunucu adını almak için.

Dönüş Değeri

Açıklamalar

Bu yöntemi Windows Çalışma Zamanı için değil yalnızca COM için kullanın. Bu yöntem yalnızca IClassFactory yöntemleri kullanıma sunar.

Modül::GetModule

Bir modülün örneğini oluşturur.

static Module& GetModule();
WRL_NOTHROW static Module& GetModule();

Dönüş Değeri

Modül başvurusu.

Module::GetObjectCount

Bu modül tarafından yönetilen nesne sayısını alır.

virtual long GetObjectCount() const;

Dönüş Değeri

Bu modül tarafından yönetilen geçerli nesne sayısı.

Module::IncrementObjectCount

Modül tarafından izlenen nesne sayısını artırır.

virtual long IncrementObjectCount();

Dönüş Değeri

Artım işleminden önceki sayı.

Modül::Modül

Module sınıfının yeni bir örneğini başlatır.

Module();

Açıklamalar

Bu oluşturucu korumalıdır ve anahtar sözcüğüyle new çağrılamaz. Bunun yerine Module::GetModule veya Module::Create çağrısı yapın.

Modül::objectCount_

Make işleviyle kaç sınıfın oluşturulduğunu izler.

volatile long objectCount_;

Module::RegisterCOMObject

Diğer uygulamaların bunlara bağlanabilmesi için bir veya daha fazla COM nesnesi kaydeder.

WRL_NOTHROW virtual HRESULT RegisterCOMObject(
   const wchar_t* serverName,
   IID* clsids,
   IClassFactory** factories,
   DWORD* cookies,
   unsigned int count);

Parametreler

serverName
Sunucunun tam adı.

clsids
Kaydedilecek BIR CLSID dizisi.

Fabrika
Kullanılabilirliği yayımlanan sınıf nesnelerinin IUnknown arabirimleri dizisi.

Kurabiye
İşlem tamamlandığında, kaydedilen sınıf nesnelerini tanımlayan değerlere yönelik bir işaretçi dizisi. Bu değerler daha sonra kaydı iptal et olarak kullanılır.

count
Kaydedilecek CLSID sayısı.

Dönüş Değeri

Başarılı olursa S_OK; aksi takdirde, işlemin başarısız olmasının nedenini gösteren CO_E_OBJISREG gibi bir HRESULT.

Açıklamalar

COM nesneleri CLSCTX numaralandırmasının CLSCTX_LOCAL_SERVER numaralandırıcısıyla kaydedilir.

Kayıtlı nesnelere bağlantı türü, geçerli comflag şablon parametresi ve REGCLS numaralandırmasının REGCLS_SUSPENDED numaralandırıcısının bir bileşimiyle belirtilir.

Module::RegisterObjects

Diğer uygulamaların bağlanabilmesi için COM veya Windows Çalışma Zamanı nesneleri kaydeder.

HRESULT RegisterObjects(
   ModuleBase* module,
   const wchar_t* serverName);

Parametreler

module
COM veya Windows Çalışma Zamanı nesneleri dizisi.

serverName
Nesneleri oluşturan sunucunun adı.

Dönüş Değeri

Başarılı olursa S_OK; aksi takdirde, işlemin başarısız olmasının nedenini gösteren bir HRESULT.

Module::RegisterWinRTObject

Diğer uygulamaların bağlanabilmesi için bir veya daha fazla Windows Çalışma Zamanı nesnesi kaydeder.

HRESULT RegisterWinRTObject(const wchar_t* serverName,
   wchar_t** activatableClassIds,
   WINRT_REGISTRATION_COOKIE* cookie,
   unsigned int count)

Parametreler

serverName
Bu işlemden etkilenen nesnelerin bir alt kümesini belirten ad.

activatableClassIds
Kaydedilecek eyleme geçirilebilir CLSID dizisi.

çerez
Kayıtlı sınıf nesnelerini tanımlayan bir değer. Bu değer daha sonra kaydı iptal etmek için kullanılır.

count
Kaydedilecek nesne sayısı.

Dönüş Değeri

Başarılı olursa S_OK; aksi takdirde, işlemin başarısız olma nedenini gösteren CO_E_OBJISREG gibi bir HRESULT hatası.

Modül::releaseNotifier_

Bir nesnenin işaretçisini ReleaseNotifier tutar.

ReleaseNotifier *releaseNotifier_;

Modül::Terminate

Modülün oluşturduğu tüm fabrikaların kapanmasına neden olur.

void Terminate();

Açıklamalar

Fabrikaları önbellekte serbest bırakır.

Module::UnregisterCOMObject

Diğer uygulamaların bunlara bağlanmasını engelleyen bir veya daha fazla COM nesnesinin kaydını kaldırır.

virtual HRESULT UnregisterCOMObject(
   const wchar_t* serverName,
   DWORD* cookies,
   unsigned int count

Parametreler

serverName
(Kullanılmayan)

Kurabiye
Kaydedilecek sınıf nesnelerini tanımlayan değerlere yönelik bir işaretçi dizisi. Dizi, RegisterCOMObject yöntemi tarafından oluşturulmuştur.

count
Kaydı kaldıracak sınıf sayısı.

Dönüş Değeri

Bu işlemin başarılı olup olmadığını S_OK; aksi takdirde, işlemin başarısız olmasının nedenini gösteren bir HRESULT hatası.

Module::UnregisterObjects

Diğer uygulamaların bunlara bağlanamaması için belirtilen modüldeki nesnelerin kaydını temizler.

HRESULT UnregisterObjects(
   ModuleBase* module,
   const wchar_t* serverName);

Parametreler

module
Bir modülün işaretçisi.

serverName
Bu işlemden etkilenen nesnelerin bir alt kümesini belirten uygun bir ad.

Dönüş Değeri

Bu işlemin başarılı olup olmadığını S_OK; aksi takdirde, bu işlemin başarısız olmasının nedenini gösteren bir HRESULT hatası.

Module::UnregisterWinRTObject

Bir veya daha fazla Windows Çalışma Zamanı nesnesinin kaydını silip diğer uygulamaların bunlara bağlanamamasını sağlar.

virtual HRESULT UnregisterWinRTObject(
   unsigned int,
   _Inout_ WINRT_REGISTRATION_COOKIE* cookie
);

Parametreler

çerez
Kaydı iptal edilecek sınıf nesnesini tanımlayan bir değer işaretçisi.