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