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
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
Adı | Açıklama |
---|---|
Modül::~Modül | Sınıfın geçerli örneğini Module başlatır. |
Korumalı Oluşturucular
Adı | Açıklama |
---|---|
Modül::Modül | Module sınıfının yeni bir örneğini başlatır. |
Genel Yöntemler
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
Adı | Açıklama |
---|---|
Modül::Create | Bir modülün örneğini oluşturur. |
Korumalı Veri Üyeleri
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
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
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.
İade Değeri
Modüle başvuru.
Module::D ecrementObjectCount
Modül tarafından izlenen nesne sayısını azaltma.
virtual long DecrementObjectCount();
İade 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.
Sunucuadı
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
.
İade 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
Clsıd
Sınıf Kimliği.
Riid
İstediğiniz arabirim kimliği.
Ppv
Döndürülen nesnenin işaretçisi.
Sunucuadı
, ActivatableClassWithFactoryEx
veya makroda ActivatableClassWithFactory
belirtilen sunucu adı veya ActivatableClass
nullptr
varsayılan sunucu adını almak için.
İade 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();
İade 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;
İade 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();
İade 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
Sunucuadı
Sunucunun tam adı.
Clsıd
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ı.
İade 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.
Sunucuadı
Nesneleri oluşturan sunucunun adı.
İade 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
Sunucuadı
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ı.
İade 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
Sunucuadı
(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ı.
İade 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.
Sunucuadı
Bu işlemden etkilenen nesnelerin bir alt kümesini belirten uygun bir ad.
İade 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.
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