Bagikan melalui


Kelas Modul

Mewakili kumpulan objek terkait.

Sintaks

template<ModuleType moduleType>
class Module;

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

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

Parameter

moduleType
Kombinasi satu atau beberapa nilai enumerasi ModuleType .

Anggota

Kelas yang Dilindungi

Nama Deskripsi
Module::GenericReleaseNotifier Memanggil penanganan aktivitas saat objek terakhir dalam modul saat ini dirilis. Penanganan aktivitas ditentukan oleh pada lambda, functor, atau pointer-to-function.
Module::MethodReleaseNotifier Memanggil penanganan aktivitas saat objek terakhir dalam modul saat ini dirilis. Penanganan aktivitas ditentukan oleh objek dan anggota pointer-to-a-method-nya.
Module::ReleaseNotifier Memanggil penanganan aktivitas saat objek terakhir dalam modul dirilis.

Konstruktor Publik

Nama Deskripsi
Module::~Module Mendeinisialisasi instans Module kelas saat ini.

Konstruktor yang Dilindungi

Nama Deskripsi
Module::Module Menginisialisasi instans baru kelas Module.

Metode Publik

Nama Deskripsi
Module::Create Membuat instans modul.
Module::D ecrementObjectCount Mengurangi jumlah objek yang dilacak oleh modul.
Module::GetActivationFactory Mendapatkan pabrik aktivasi untuk modul.
Module::GetClassObject Mengambil cache pabrik kelas.
Module::GetModule Membuat instans modul.
Module::GetObjectCount Mengambil jumlah objek yang dikelola oleh modul ini.
Module::IncrementObjectCount Menaikkan jumlah objek yang dilacak oleh modul.
Module::RegisterCOMObject Mendaftarkan satu atau beberapa objek COM sehingga aplikasi lain dapat terhubung ke objek tersebut.
Module::RegisterObjects Mendaftarkan objek COM atau Windows Runtime sehingga aplikasi lain dapat tersambung ke objek tersebut.
Module::RegisterWinRTObject Mendaftarkan satu atau beberapa objek Windows Runtime sehingga aplikasi lain dapat tersambung ke objek tersebut.
Module::Hentikan Menyebabkan semua pabrik yang dibuat oleh modul dimatikan.
Module::UnregisterCOMObject Membatalkan pendaftaran satu atau beberapa objek COM, yang mencegah aplikasi lain tersambung ke objek tersebut.
Module::UnregisterObjects Membatalkan pendaftaran objek dalam modul yang ditentukan sehingga aplikasi lain tidak dapat tersambung ke objek tersebut.
Module::UnregisterWinRTObject Membatalkan pendaftaran satu atau beberapa objek Windows Runtime sehingga aplikasi lain tidak dapat tersambung ke objek tersebut.

Metode yang Dilindungi

Nama Deskripsi
Module::Create Membuat instans modul.

Anggota Data yang Dilindungi

Nama Deskripsi
Module::objectCount_ Melacak berapa banyak kelas yang telah dibuat dengan fungsi Buat .
Module::releaseNotifier_ Menahan penunjuk ke ReleaseNotifier objek.

Makro

Nama Deskripsi
ActivatableClass Mengisi cache internal yang berisi pabrik yang dapat membuat instans kelas yang ditentukan. Makro ini menentukan parameter pabrik default dan ID grup.
ActivatableClassWithFactory Mengisi cache internal yang berisi pabrik yang dapat membuat instans kelas yang ditentukan. Makro ini memungkinkan Anda menentukan parameter pabrik tertentu.
ActivatableClassWithFactoryEx Mengisi cache internal yang berisi pabrik yang dapat membuat instans kelas yang ditentukan. Makro ini memungkinkan Anda menentukan parameter ID pabrik dan grup tertentu.

Hierarki Warisan

ModuleBase

Module

Module

Persyaratan

Header: module.h

Namespace: Microsoft::WRL

Module::~Module

Mendeinisialisasi instans Module kelas saat ini.

virtual ~Module();

Module::Create

Membuat instans modul.

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)()
);

Parameter

T
Jenis modul.

Callback
Dipanggil saat objek instans terakhir modul dirilis.

object
Parameter objek dan metode digunakan dalam kombinasi. Menunjuk ke objek instans terakhir saat objek instans terakhir dalam modul dirilis.

metode
Parameter objek dan metode digunakan dalam kombinasi. Arahkan ke metode objek instans terakhir saat objek instans terakhir dalam modul dirilis.

Tampilkan Nilai

Referensi ke modul.

Module::D ecrementObjectCount

Mengurangi jumlah objek yang dilacak oleh modul.

virtual long DecrementObjectCount();

Tampilkan Nilai

Hitungan sebelum operasi penurunan.

Module::GetActivationFactory

Mendapatkan pabrik aktivasi untuk modul.

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

Parameter

pActivatibleClassId
IID kelas runtime.

ppIFactory
IActivationFactory untuk kelas runtime yang ditentukan.

serverName
Nama subset pabrik kelas dalam modul saat ini. Tentukan nama server yang digunakan dalam makro ActivatableClassWithFactoryEx , atau tentukan nullptr untuk mendapatkan nama server default.

Tampilkan Nilai

S_OK jika berhasil; jika tidak, HRESULT yang dikembalikan oleh GetActivationFactory.

Module::GetClassObject

Mengambil cache pabrik kelas.

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

Parameter

Clsid
ID Kelas.

riid
ID antarmuka yang Anda minta.

Ppv
Penunjuk ke objek yang dikembalikan.

serverName
Nama server yang ditentukan baik di ActivatableClassWithFactorymakro , , ActivatableClassWithFactoryExatau ActivatableClass ; atau nullptr untuk mendapatkan nama server default.

Tampilkan Nilai

Keterangan

Gunakan metode ini hanya untuk COM, bukan Windows Runtime. Metode ini hanya IClassFactory mengekspos metode.

Module::GetModule

Membuat instans modul.

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

Tampilkan Nilai

Referensi ke modul.

Module::GetObjectCount

Mengambil jumlah objek yang dikelola oleh modul ini.

virtual long GetObjectCount() const;

Tampilkan Nilai

Jumlah objek saat ini yang dikelola oleh modul ini.

Module::IncrementObjectCount

Menaikkan jumlah objek yang dilacak oleh modul.

virtual long IncrementObjectCount();

Tampilkan Nilai

Hitungan sebelum operasi kenaikan.

Module::Module

Menginisialisasi instans baru kelas Module.

Module();

Keterangan

Konstruktor ini dilindungi dan tidak dapat dipanggil dengan new kata kunci. Sebagai gantinya , panggil Modul::GetModule atau Module::Create.

Module::objectCount_

Melacak berapa banyak kelas yang telah dibuat dengan fungsi Buat .

volatile long objectCount_;

Module::RegisterCOMObject

Mendaftarkan satu atau beberapa objek COM sehingga aplikasi lain dapat terhubung ke objek tersebut.

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

Parameter

serverName
Nama server yang sepenuhnya memenuhi syarat.

clsids
Array CLSID untuk didaftarkan.

Pabrik
Array antarmuka IUnknown dari objek kelas yang ketersediaannya sedang diterbitkan.

cookies
Ketika operasi selesai, array pointer ke nilai yang mengidentifikasi objek kelas yang didaftarkan. Nilai-nilai ini kemudian digunakan mencabut pendaftaran.

count
Jumlah CLSID yang akan didaftarkan.

Tampilkan Nilai

S_OK jika berhasil; jika tidak, HRESULT seperti CO_E_OBJISREG yang menunjukkan alasan operasi gagal.

Keterangan

Objek COM terdaftar dengan enumerator CLSCTX_LOCAL_SERVER enumerasi CLSCTX.

Jenis koneksi ke objek terdaftar ditentukan oleh kombinasi parameter templat comflag saat ini dan enumerator REGCLS_SUSPENDED enumerasi REGCLS.

Module::RegisterObjects

Mendaftarkan objek COM atau Windows Runtime sehingga aplikasi lain dapat tersambung ke objek tersebut.

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

Parameter

module
Array objek COM atau Windows Runtime.

serverName
Nama server yang membuat objek.

Tampilkan Nilai

S_OK jika berhasil; jika tidak, HRESULT yang menunjukkan alasan operasi gagal.

Module::RegisterWinRTObject

Mendaftarkan satu atau beberapa objek Windows Runtime sehingga aplikasi lain dapat tersambung ke objek tersebut.

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

Parameter

serverName
Nama yang menentukan subset objek yang terpengaruh oleh operasi ini.

activatableClassIds
Array CLSID yang dapat diaktifkan untuk mendaftar.

cookie
Nilai yang mengidentifikasi objek kelas yang terdaftar. Nilai ini digunakan nanti untuk mencabut pendaftaran.

count
Jumlah objek yang akan didaftarkan.

Tampilkan Nilai

S_OK jika berhasil; jika tidak, kesalahan HRESULT seperti CO_E_OBJISREG yang menunjukkan alasan operasi gagal.

Module::releaseNotifier_

Menahan penunjuk ke ReleaseNotifier objek.

ReleaseNotifier *releaseNotifier_;

Module::Hentikan

Menyebabkan semua pabrik yang dibuat oleh modul dimatikan.

void Terminate();

Keterangan

Merilis pabrik di cache.

Module::UnregisterCOMObject

Membatalkan pendaftaran satu atau beberapa objek COM, yang mencegah aplikasi lain tersambung ke objek tersebut.

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

Parameter

serverName
(Tidak digunakan)

cookies
Array pointer ke nilai yang mengidentifikasi objek kelas yang tidak terdaftar. Array dibuat oleh metode RegisterCOMObject .

count
Jumlah kelas yang akan batalkan pendaftaran.

Tampilkan Nilai

S_OK jika operasi ini berhasil; jika tidak, kesalahan HRESULT yang menunjukkan alasan operasi gagal.

Module::UnregisterObjects

Membatalkan pendaftaran objek dalam modul yang ditentukan sehingga aplikasi lain tidak dapat tersambung ke objek tersebut.

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

Parameter

module
Penunjuk ke modul.

serverName
Nama yang memenuhi syarat yang menentukan subset objek yang terpengaruh oleh operasi ini.

Tampilkan Nilai

S_OK jika operasi ini berhasil; jika tidak, kesalahan HRESULT yang menunjukkan alasan operasi ini gagal.

Module::UnregisterWinRTObject

Membatalkan pendaftaran satu atau beberapa objek Windows Runtime sehingga aplikasi lain tidak dapat tersambung ke objek tersebut.

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

Parameter

cookie
Pointer ke nilai yang mengidentifikasi objek kelas yang pendaftarannya akan dicabut.