Kayıt Defteri Makroları
Bu makrolar yararlı tür kitaplığını ve kayıt defteri olanaklarını tanımlar.
Veri Akışı Adı | Açıklama |
---|---|
_ATL_STATIC_REGISTRY | ATL.DLL bağımlılığını önlemek için nesnenizin kayıt kodunun nesnede olmasını istediğinizi gösterir. |
DECLARE_LIBID | ATL'nin tür kitaplığının libidini alması için bir yol sağlar. |
DECLARE_NO_REGISTRY | Varsayılan ATL kaydını önler. |
DECLARE_REGISTRY | Ana nesnenin girdisini sistem kayıt defterine girer veya kaldırır. |
DECLARE_REGISTRY_APPID_RESOURCEID | Appid'yi otomatik olarak kaydetmek için gereken bilgileri belirtir. |
DECLARE_REGISTRY_RESOURCE | Adlandırılmış kaynağı bulur ve içinde kayıt defteri betiğini çalıştırır. |
DECLARE_REGISTRY_RESOURCEID | Kimlik numarasıyla tanımlanan kaynağı bulur ve içinde kayıt defteri betiğini çalıştırır. |
Gereksinimler
Üst bilgi: atlcom.h
_ATL_STATIC_REGISTRY
ATL.DLL bağımlılığını önlemek için nesnenizin kayıt kodunun nesnede olmasını istediğinizi gösteren simge.
#define _ATL_STATIC_REGISTRY
Açıklamalar
ATL_STATIC_REGISTRY tanımlarken aşağıdaki kodu kullanmanız gerekir:
#ifdef _ATL_STATIC_REGISTRY
#include <statreg.h>
#endif
DECLARE_LIBID
ATL'nin tür kitaplığının libidini alması için bir yol sağlar.
DECLARE_LIBID( libid )
Parametreler
libid
Tür kitaplığının GUID'i.
Açıklamalar
Türetilmiş bir CAtlModuleT
sınıfta DECLARE_LIBID kullanın.
Örnek
Özniteliksiz sihirbaz tarafından oluşturulan ATL projeleri, bu makronun kullanımına bir örnek içerir.
DECLARE_NO_REGISTRY
Bu makronun görüntülendiği sınıf için varsayılan ATL kaydından kaçınmak istiyorsanız DECLARE_NO_REGISTRY kullanın.
DECLARE_NO_REGISTRY()
DECLARE_REGISTRY
Standart sınıf kaydını sistem kayıt defterine girer veya sistem kayıt defterinden kaldırır.
DECLARE_REGISTRY(
class,
pid,
vpid,
nid,
flags )
Parametreler
class
[in] Geriye dönük uyumluluk için dahil.
Pıd
[in] Sürüme özgü program tanımlayıcısı olan bir LPCTSTR.
vpid
[in] Sürümden bağımsız bir program tanımlayıcısı olan bir LPCTSTR.
Nıd
[in] Programın açıklaması olarak kullanılacak kayıt defterindeki kaynak dizesinin dizini olan bir UINT.
Bayrak
[in] Kayıt defterinde programın iş parçacığı modelini içeren bir DWORD. Şu değerlerden biri olmalıdır: THREADFLAGS_APARTMENT, THREADFLAGS_BOTH veya AUTPRXFLAG.
Açıklamalar
Standart kayıt CLSID, program kimliği, sürümden bağımsız program kimliği, açıklama dizesi ve iş parçacığı modelinden oluşur.
ATL Sınıf Ekleme Sihirbazı'nı kullanarak bir nesne veya denetim oluşturduğunuzda, sihirbaz betik tabanlı kayıt defteri desteğini otomatik olarak uygular ve DECLARE_REGISTRY_RESOURCEID makrosunu dosyalarınıza ekler. Betik tabanlı kayıt defteri desteği istemiyorsanız, bu makroyu DECLARE_REGISTRY ile değiştirmeniz gerekir. DECLARE_REGISTRY yalnızca yukarıda açıklanan beş temel anahtarı kayıt defterine ekler. Kayıt defterine başka anahtarlar eklemek için el ile kod yazmanız gerekir.
DECLARE_REGISTRY_APPID_RESOURCEID
Appid'yi otomatik olarak kaydetmek için gereken bilgileri belirtir.
DECLARE_REGISTRY_APPID_RESOURCEID(
resid,
appid )
Parametreler
Resid
Appid hakkında bilgi içeren .rgs dosyasının kaynak kimliği.
appid
A GUID.
Açıklamalar
Türetilmiş bir CAtlModuleT
sınıfta DECLARE_REGISTRY_APPID_RESOURCEID kullanın.
Örnek
Sınıf Kodu Ekleme sihirbazıyla ATL projelerine eklenen sınıfların bu makroyu kullanma örneği olacaktır.
DECLARE_REGISTRY_RESOURCE
Kayıt defteri dosyasını içeren adlandırılmış kaynağı alır ve sistem kayıt defterine nesne girmek veya bunları sistem kayıt defterinden kaldırmak için betiği çalıştırır.
DECLARE_REGISTRY_RESOURCE( x )
Parametreler
x
[in] Kaynağınızın dize tanımlayıcısı.
Açıklamalar
ATL Proje Sihirbazı'nı kullanarak bir nesne veya denetim oluşturduğunuzda, sihirbaz betik tabanlı kayıt defteri desteğini otomatik olarak uygular ve dosyalarınıza DECLARE_REGISTRY_RESOURCE benzer DECLARE_REGISTRY_RESOURCEID makrosunu ekler.
İyileştirilmiş kayıt defteri erişimi için ATL Kayıt Defteri Bileşeni (Kayıt Şirketi) ile statik olarak bağlantı oluşturabilirsiniz. Kayıt şirketi koduna statik olarak bağlanmak için pch.h dosyanıza (Visual Studio 2017 ve önceki sürümlerde stdafx.h) aşağıdaki satırı ekleyin:
#define _ATL_STATIC_REGISTRY
ATL'nin çalışma zamanında değiştirme değerlerini değiştirmesini istiyorsanız, DECLARE_REGISTRY_RESOURCE veya DECLARE_REGISTRY_RESOURCEID makroyu belirtmeyin. Bunun yerine, her girişin _ATL_REGMAP_ENTRIES
çalışma zamanında yer tutucuyu değiştirmek için bir değerle eşleştirilmiş bir değişken yer tutucusu içerdiği bir yapı dizisi oluşturun. Ardından diziyi geçirerek CAtlModule::UpdateRegistryFromResourceD veya CAtlModule::UpdateRegistryFromResourceS'u çağırın. Bu işlem, yapılardaki _ATL_REGMAP_ENTRIES
tüm değiştirme değerlerini Kayıt Şirketinin değiştirme haritasına ekler.
Değiştirilebilir parametreler ve betik oluşturma hakkında daha fazla bilgi için ATL Kayıt Defteri Bileşeni (Kayıt Şirketi) makalesine bakın.
DECLARE_REGISTRY_RESOURCEID
DECLARE_REGISTRY_RESOURCE ile aynıdır ancak kaynağı tanımlamak için dize adı yerine sihirbaz tarafından oluşturulan bir UINT kullanır.
DECLARE_REGISTRY_RESOURCEID( x )
Parametreler
x
[in] Kaynağınızın sihirbaz tarafından oluşturulan tanımlayıcısı.
Açıklamalar
ATL Proje Sihirbazı'nı kullanarak bir nesne veya denetim oluşturduğunuzda, sihirbaz betik tabanlı kayıt defteri desteğini otomatik olarak uygular ve DECLARE_REGISTRY_RESOURCEID makrosunu dosyalarınıza ekler.
İyileştirilmiş kayıt defteri erişimi için ATL Kayıt Defteri Bileşeni (Kayıt Şirketi) ile statik olarak bağlantı oluşturabilirsiniz. Kayıt şirketi koduna statik olarak bağlanmak için stdafx.h dosyanıza (Visual Studio 2019 ve sonraki sürümlerde pch.h) aşağıdaki satırı ekleyin:
#define _ATL_STATIC_REGISTRY
ATL'nin çalışma zamanında değiştirme değerlerini değiştirmesini istiyorsanız, DECLARE_REGISTRY_RESOURCE veya DECLARE_REGISTRY_RESOURCEID makroyu belirtmeyin. Bunun yerine, her girişin _ATL_REGMAP_ENTRIES
çalışma zamanında yer tutucuyu değiştirmek için bir değerle eşleştirilmiş bir değişken yer tutucusu içerdiği bir yapı dizisi oluşturun. Ardından diziyi geçirerek CAtlModule::UpdateRegistryFromResourceD veya CAtlModule::UpdateRegistryFromResourceS'u çağırın. Bu işlem, yapılardaki _ATL_REGMAP_ENTRIES
tüm değiştirme değerlerini Kayıt Şirketinin değiştirme haritasına ekler.
Değiştirilebilir parametreler ve betik oluşturma hakkında daha fazla bilgi için ATL Kayıt Defteri Bileşeni (Kayıt Şirketi) makalesine bakın.