Makro Registri
Makro ini menentukan jenis pustaka dan fasilitas registri yang berguna.
Nama | Deskripsi |
---|---|
_ATL_STATIC_REGISTRY | Menunjukkan bahwa Anda ingin kode pendaftaran objek Anda berada di objek untuk menghindari dependensi pada ATL.DLL. |
DECLARE_LIBID | Menyediakan cara bagi ATL untuk mendapatkan libid pustaka jenis. |
DECLARE_NO_REGISTRY | Menghindari pendaftaran ATL default. |
DECLARE_REGISTRY | Memasukkan atau menghapus entri objek utama dalam registri sistem. |
DECLARE_REGISTRY_APPID_RESOURCEID | Menentukan informasi yang diperlukan untuk mendaftarkan appid secara otomatis. |
DECLARE_REGISTRY_RESOURCE | Menemukan sumber daya bernama dan menjalankan skrip registri di dalamnya. |
DECLARE_REGISTRY_RESOURCEID | Menemukan sumber daya yang diidentifikasi oleh nomor ID dan menjalankan skrip registri di dalamnya. |
Persyaratan
Header: atlcom.h
_ATL_STATIC_REGISTRY
Simbol yang menunjukkan bahwa Anda ingin kode pendaftaran objek Anda berada di objek untuk menghindari dependensi pada ATL.DLL.
#define _ATL_STATIC_REGISTRY
Keterangan
Saat Anda menentukan ATL_STATIC_REGISTRY, Anda harus menggunakan kode berikut:
#ifdef _ATL_STATIC_REGISTRY
#include <statreg.h>
#endif
DECLARE_LIBID
Menyediakan cara bagi ATL untuk mendapatkan libid pustaka jenis.
DECLARE_LIBID( libid )
Parameter
libid
GUID pustaka jenis.
Keterangan
Gunakan DECLARE_LIBID di CAtlModuleT
kelas -turunan.
Contoh
Proyek ATL yang dihasilkan wizard non-atribut akan memiliki sampel penggunaan makro ini.
DECLARE_NO_REGISTRY
Gunakan DECLARE_NO_REGISTRY jika Anda ingin menghindari pendaftaran ATL default untuk kelas tempat makro ini muncul.
DECLARE_NO_REGISTRY()
DECLARE_REGISTRY
Memasukkan pendaftaran kelas standar ke dalam registri sistem atau menghapusnya dari registri sistem.
DECLARE_REGISTRY(
class,
pid,
vpid,
nid,
flags )
Parameter
kelas
[di] Disertakan untuk kompatibilitas mundur.
pid
[di] LPCTSTR yang merupakan pengidentifikasi program khusus versi.
vpid
[di] LPCTSTR yang merupakan pengidentifikasi program independen versi.
Nid
[di] UINT yang merupakan indeks string sumber daya dalam registri untuk digunakan sebagai deskripsi program.
flags
[di] DWORD yang berisi model utas program dalam registri. Harus salah satu nilai berikut: THREADFLAGS_APARTMENT, THREADFLAGS_BOTH, atau AUTPRXFLAG.
Keterangan
Pendaftaran standar terdiri dari CLSID, ID program, ID program independen versi, string deskripsi, dan model utas.
Saat Anda membuat objek atau kontrol menggunakan Wizard Tambah Kelas ATL, wizard secara otomatis menerapkan dukungan registri berbasis skrip dan menambahkan makro DECLARE_REGISTRY_RESOURCEID ke file Anda. Jika Anda tidak ingin dukungan registri berbasis skrip, Anda perlu mengganti makro ini dengan DECLARE_REGISTRY. DECLARE_REGISTRY hanya menyisipkan lima kunci dasar yang dijelaskan di atas ke dalam registri. Anda harus menulis kode secara manual untuk memasukkan kunci lain ke dalam registri.
DECLARE_REGISTRY_APPID_RESOURCEID
Menentukan informasi yang diperlukan untuk mendaftarkan appid secara otomatis.
DECLARE_REGISTRY_APPID_RESOURCEID(
resid,
appid )
Parameter
resid
Id sumber daya file .rgs yang berisi informasi tentang appid.
appid
Sebuah GUID.
Keterangan
Gunakan DECLARE_REGISTRY_APPID_RESOURCEID di CAtlModuleT
kelas -turunan.
Contoh
Kelas yang ditambahkan ke proyek ATL dengan wizard Tambahkan kode Kelas akan memiliki sampel penggunaan makro ini.
DECLARE_REGISTRY_RESOURCE
Mendapatkan sumber daya bernama yang berisi file registri dan menjalankan skrip untuk memasukkan objek ke dalam registri sistem atau menghapusnya dari registri sistem.
DECLARE_REGISTRY_RESOURCE( x )
Parameter
x
[di] Pengidentifikasi string sumber daya Anda.
Keterangan
Saat Anda membuat objek atau kontrol menggunakan Wizard Proyek ATL, wizard akan secara otomatis menerapkan dukungan registri berbasis skrip dan menambahkan makro DECLARE_REGISTRY_RESOURCEID , yang mirip dengan DECLARE_REGISTRY_RESOURCE, ke file Anda.
Anda dapat secara statis menautkan dengan Komponen Registri ATL (Registrar) untuk akses registri yang dioptimalkan. Untuk menautkan secara statis ke kode Registrar, tambahkan baris berikut ke file pch.h Anda (stdafx.h di Visual Studio 2017 dan yang lebih lama):
#define _ATL_STATIC_REGISTRY
Jika Anda ingin ATL mengganti nilai pengganti pada waktu proses, jangan tentukan makro DECLARE_REGISTRY_RESOURCE atau DECLARE_REGISTRY_RESOURCEID. Sebagai gantinya, buat array _ATL_REGMAP_ENTRIES
struktur, di mana setiap entri berisi tempat penampung variabel yang dipasangkan dengan nilai untuk mengganti tempat penampung pada waktu proses. Kemudian panggil CAtlModule::UpdateRegistryFromResourceD atau CAtlModule::UpdateRegistryFromResourceS, melewati array. Ini menambahkan semua nilai pengganti dalam _ATL_REGMAP_ENTRIES
struktur ke peta penggantian Registrar.
Untuk informasi selengkapnya tentang parameter dan pembuatan skrip yang dapat diganti, lihat artikel Komponen Registri ATL (Pencatat).
DECLARE_REGISTRY_RESOURCEID
Sama seperti DECLARE_REGISTRY_RESOURCE kecuali menggunakan UINT yang dihasilkan wizard untuk mengidentifikasi sumber daya, bukan nama string.
DECLARE_REGISTRY_RESOURCEID( x )
Parameter
x
[di] Pengidentifikasi sumber daya yang dihasilkan wizard.
Keterangan
Saat Anda membuat objek atau kontrol menggunakan Wizard Proyek ATL, wizard akan secara otomatis menerapkan dukungan registri berbasis skrip dan menambahkan makro DECLARE_REGISTRY_RESOURCEID ke file Anda.
Anda dapat secara statis menautkan dengan Komponen Registri ATL (Registrar) untuk akses registri yang dioptimalkan. Untuk menautkan secara statis ke kode Registrar, tambahkan baris berikut ke file stdafx.h Anda (pch.h di Visual Studio 2019 dan yang lebih baru):
#define _ATL_STATIC_REGISTRY
Jika Anda ingin ATL mengganti nilai pengganti pada waktu proses, jangan tentukan makro DECLARE_REGISTRY_RESOURCE atau DECLARE_REGISTRY_RESOURCEID. Sebagai gantinya, buat array _ATL_REGMAP_ENTRIES
struktur, di mana setiap entri berisi tempat penampung variabel yang dipasangkan dengan nilai untuk mengganti tempat penampung pada waktu proses. Kemudian panggil CAtlModule::UpdateRegistryFromResourceD atau CAtlModule::UpdateRegistryFromResourceS, melewati array. Ini menambahkan semua nilai pengganti dalam _ATL_REGMAP_ENTRIES
struktur ke peta penggantian Registrar.
Untuk informasi selengkapnya tentang parameter dan pembuatan skrip yang dapat diganti, lihat artikel Komponen Registri ATL (Pencatat).