Bagikan melalui


Makro Kategori

Makro ini menentukan peta kategori.

Makro Deskripsi
BEGIN_CATEGORY_MAP Menandai awal peta kategori.
END_CATEGORY_MAP Menandai akhir peta kategori.
IMPLEMENTED_CATEGORY Menunjukkan kategori yang diimplementasikan oleh objek COM.
REQUIRED_CATEGORY Menunjukkan kategori yang diperlukan dari kontainer oleh objek COM.

Persyaratan

Header: atlcom.h

BEGIN_CATEGORY_MAP

Menandai awal peta kategori.

BEGIN_CATEGORY_MAP(theClass)

Parameter

theClass
[di] Nama kelas yang berisi peta kategori.

Keterangan

Peta kategori digunakan untuk menentukan kategori komponen mana yang akan diterapkan kelas COM dan kategori mana yang diperlukan dari kontainernya.

Tambahkan entri IMPLEMENTED_CATEGORY ke peta untuk setiap kategori yang diimplementasikan oleh kelas COM. Tambahkan entri REQUIRED_CATEGORY ke peta untuk setiap kategori yang mengharuskan kliennya untuk menerapkannya. Tandai akhir peta dengan makro END_CATEGORY_MAP .

Kategori komponen yang tercantum dalam peta akan didaftarkan secara otomatis ketika modul terdaftar jika kelas memiliki OBJECT_ENTRY_AUTO atau OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO terkait.

Catatan

ATL menggunakan manajer kategori komponen standar untuk mendaftarkan kategori komponen. Jika manajer tidak ada pada sistem ketika modul terdaftar, pendaftaran berhasil, tetapi kategori komponen tidak akan didaftarkan untuk kelas tersebut.

Untuk informasi selengkapnya tentang kategori komponen, lihat Apa itu Kategori Komponen dan bagaimana cara kerjanya di Windows SDK.

Contoh

BEGIN_CATEGORY_MAP(CMyCtrl)
   IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()

END_CATEGORY_MAP

Menandai akhir peta kategori.

END_CATEGORY_MAP()

Contoh

Lihat contoh untuk BEGIN_CATEGORY_MAP.

IMPLEMENTED_CATEGORY

Tambahkan makro IMPLEMENTED_CATEGORY ke peta kategori komponen Anda untuk menentukan bahwa makro harus didaftarkan sebagai mengimplementasikan kategori yang diidentifikasi oleh parameter catID.

IMPLEMENTED_CATEGORY(catID)

Parameter

catID
[di] Konstanta atau variabel CATID yang memegang pengidentifikasi unik global (GUID) untuk kategori yang diimplementasikan. Alamat catID akan diambil dan ditambahkan ke peta. Lihat tabel di bawah ini untuk pilihan kategori stok.

Keterangan

Kategori komponen yang tercantum dalam peta akan didaftarkan secara otomatis ketika modul terdaftar jika kelas memiliki OBJECT_ENTRY_AUTO terkait atau makro OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO.

Klien dapat menggunakan informasi kategori yang terdaftar untuk kelas untuk menentukan kemampuan dan persyaratannya tanpa harus membuat instansnya.

Untuk informasi selengkapnya tentang kategori komponen, lihat Apa itu Kategori Komponen dan bagaimana cara kerjanya di Windows SDK.

Pilihan Kategori Saham

Deskripsi Simbol GUID registri
Aman untuk pembuatan skrip CATID_SafeForScripting {7DD95801-9882-11CF-9FA9-00AA006C42C4}
Aman untuk Inisialisasi CATID_SafeForInitializing {7DD95802-9882-11CF-9FA9-00AA006C42C4}
Penahanan Situs Bingkai Sederhana CATID_SimpleFrameControl {157083E0-2368-11cf-87B9-00AA006C8166}
Pengikatan Data Sederhana CATID_PropertyNotifyControl {157083E1-2368-11cf-87B9-00AA006C8166}
Pengikatan Data Tingkat Lanjut CATID_VBDataBound {157083E2-2368-11cf-87B9-00AA006C8166}
Kontrol Tanpa Jendela CATID_WindowlessObject {1D06B600-3AE3-11cf-87B9-00AA006C8166}
Objek Sadar Internet Lihat Objek Sadar Internet di Windows SDK untuk daftar sampel.

Contoh

BEGIN_CATEGORY_MAP(CMyCtrl)
   IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()

REQUIRED_CATEGORY

Tambahkan makro REQUIRED_CATEGORY ke peta kategori komponen Anda untuk menentukan bahwa makro harus didaftarkan sebagai memerlukan kategori yang diidentifikasi oleh parameter catID.

REQUIRED_CATEGORY( catID )

Parameter

catID
[di] Konstanta atau variabel CATID yang memegang pengidentifikasi unik global (GUID) untuk kategori yang diperlukan. Alamat catID akan diambil dan ditambahkan ke peta. Lihat tabel di bawah ini untuk pilihan kategori stok.

Keterangan

Kategori komponen yang tercantum dalam peta akan didaftarkan secara otomatis ketika modul terdaftar jika kelas memiliki OBJECT_ENTRY_AUTO terkait atau makro OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO.

Klien dapat menggunakan informasi kategori yang terdaftar untuk kelas untuk menentukan kemampuan dan persyaratannya tanpa harus membuat instansnya. Misalnya, kontrol mungkin mengharuskan kontainer mendukung pengikatan data. Kontainer dapat mengetahui apakah kontainer memiliki kemampuan yang diperlukan untuk menghosting kontrol dengan mengkueri manajer kategori untuk kategori yang diperlukan oleh kontrol tersebut. Jika kontainer tidak mendukung fitur yang diperlukan, kontainer dapat menolak untuk menghosting objek COM.

Untuk informasi selengkapnya tentang kategori komponen, termasuk daftar sampel, lihat Apa itu Kategori Komponen dan cara kerjanya di Windows SDK.

Pilihan Kategori Saham

Deskripsi Simbol GUID registri
Aman untuk pembuatan skrip CATID_SafeForScripting {7DD95801-9882-11CF-9FA9-00AA006C42C4}
Aman untuk Inisialisasi CATID_SafeForInitializing {7DD95802-9882-11CF-9FA9-00AA006C42C4}
Penahanan Situs Bingkai Sederhana CATID_SimpleFrameControl {157083E0-2368-11cf-87B9-00AA006C8166}
Pengikatan Data Sederhana CATID_PropertyNotifyControl {157083E1-2368-11cf-87B9-00AA006C8166}
Pengikatan Data Tingkat Lanjut CATID_VBDataBound {157083E2-2368-11cf-87B9-00AA006C8166}
Kontrol Tanpa Jendela CATID_WindowlessObject {1D06B600-3AE3-11cf-87B9-00AA006C8166}
Objek Sadar Internet Lihat Objek Sadar Internet di Windows SDK untuk daftar sampel.

Contoh

BEGIN_CATEGORY_MAP(CMyWindow)
   REQUIRED_CATEGORY(CATID_InternetAware)
END_CATEGORY_MAP()

Lihat juga

Macro