Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu sınıf, sistem kayıt defterindeki girdileri işlemek için yöntemler sağlar.
Önemli
Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.
Sözdizimi
class CRegKey
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
CRegKey::CRegKey |
Oluşturucu. |
CRegKey::~CRegKey |
Yok edici. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
CRegKey::Attach |
Üye tutamacını CRegKey olarak ayarlayarak nesneye bir HKEY eklemek için hKeybu yöntemi çağırınm_hKey. |
CRegKey::Close |
Üye tanıtıcısını m_hKey serbest bırakmak ve olarak ayarlamak için NULLbu yöntemi çağırın. |
CRegKey::Create |
Alt anahtarı yoksa belirtilen anahtarı oluşturmak için bu yöntemi çağırın hKeyParent. |
CRegKey::DeleteSubKey |
Belirtilen anahtarı kayıt defterinden kaldırmak için bu yöntemi çağırın. |
CRegKey::DeleteValue |
'den bir değer alanını kaldırmak için bu yöntemi çağırabilirsiniz m_hKey. |
CRegKey::Detach |
Üye tanıtıcısını m_hKey nesnesinden CRegKey ayırmak ve olarak ayarlamak m_hKey için NULLbu yöntemi çağırın. |
CRegKey::EnumKey |
Açık kayıt defteri anahtarının alt anahtarlarını numaralandırmak için bu yöntemi çağırın. |
CRegKey::Flush |
Açık kayıt defteri anahtarının tüm özniteliklerini kayıt defterine yazmak için bu yöntemi çağırın. |
CRegKey::GetKeySecurity |
Açık kayıt defteri anahtarını koruyan güvenlik tanımlayıcısının bir kopyasını almak için bu yöntemi çağırın. |
CRegKey::NotifyChangeKeyValue |
Bu yöntem, çağıranı açık kayıt defteri anahtarının özniteliklerinde veya içeriğinde yapılan değişiklikler hakkında bilgilendirir. |
CRegKey::Open |
Belirtilen anahtarı açmak ve bu anahtarın tanıtıcısına ayarlamak m_hKey için bu yöntemi çağırın. |
CRegKey::QueryBinaryValue |
Belirtilen değer adı için ikili verileri almak için bu yöntemi çağırın. |
CRegKey::QueryDWORDValue |
Belirtilen değer adına ilişkin DWORD verileri almak için bu yöntemi çağırın. |
CRegKey::QueryGUIDValue |
Belirtilen değer adı için GUID verilerini almak için bu yöntemi çağırın. |
CRegKey::QueryMultiStringValue |
Belirtilen değer adı için çok dizeli verileri almak için bu yöntemi çağırın. |
CRegKey::QueryQWORDValue |
Belirtilen değer adına ilişkin QWORD verileri almak için bu yöntemi çağırın. |
CRegKey::QueryStringValue |
Belirtilen değer adı için dize verilerini almak için bu yöntemi çağırın. |
CRegKey::QueryValue |
belirtilen değer alanının verilerini almak için bu yöntemi çağırın m_hKey. Bu yöntemin önceki sürümleri artık desteklenmiyor ve olarak ATL_DEPRECATEDişaretleniyor. |
CRegKey::RecurseDeleteKey |
Belirtilen anahtarı kayıt defterinden kaldırmak ve herhangi bir alt anahtarı açıkça kaldırmak için bu yöntemi çağırın. |
CRegKey::SetBinaryValue |
Kayıt defteri anahtarının ikili değerini ayarlamak için bu yöntemi çağırın. |
CRegKey::SetDWORDValue |
Kayıt defteri anahtarının DWORD değerini ayarlamak için bu yöntemi çağırın. |
CRegKey::SetGUIDValue |
Kayıt defteri anahtarının GUID değerini ayarlamak için bu yöntemi çağırın. |
CRegKey::SetKeySecurity |
Kayıt defteri anahtarının güvenliğini ayarlamak için bu yöntemi çağırın. |
CRegKey::SetKeyValue |
Verileri belirtilen anahtarın belirtilen değer alanında depolamak için bu yöntemi çağırın. |
CRegKey::SetMultiStringValue |
Kayıt defteri anahtarının çok dizeli değerini ayarlamak için bu yöntemi çağırın. |
CRegKey::SetQWORDValue |
Kayıt defteri anahtarının QWORD değerini ayarlamak için bu yöntemi çağırın. |
CRegKey::SetStringValue |
Kayıt defteri anahtarının dize değerini ayarlamak için bu yöntemi çağırın. |
CRegKey::SetValue |
Verileri belirtilen değer alanında depolamak için bu yöntemi çağırın m_hKey. Bu yöntemin önceki sürümleri artık desteklenmiyor ve olarak ATL_DEPRECATEDişaretleniyor. |
Ortak İşleçler
| Veri Akışı Adı | Açıklama |
|---|---|
CRegKey::operator HKEY |
Bir CRegKey nesneyi öğesine HKEYdönüştürür. |
CRegKey::operator = |
Atama işleci. |
Ortak Veri Üyeleri
| Veri Akışı Adı | Açıklama |
|---|---|
CRegKey::m_hKey |
Nesneyle ilişkili kayıt defteri anahtarının tanıtıcısını CRegKey içerir. |
CRegKey::m_pTM |
Nesne işaretçisi CAtlTransactionManager |
Açıklamalar
CRegKey , sistem kayıt defterinde anahtar ve değerleri oluşturmak ve silmek için yöntemler sağlar. Kayıt defteri, yazılım sürüm numaraları, yüklü donanımın mantıksal-fiziksel eşlemeleri ve COM nesneleri gibi sistem bileşenleri için yüklemeye özgü bir tanım kümesi içerir.
CRegKey belirli bir makine için sistem kayıt defterine bir programlama arabirimi sağlar. Örneğin, belirli bir kayıt defteri anahtarını açmak için çağrısında bulunur CRegKey::Open. Bir veri değerini almak veya değiştirmek için sırasıyla veya CRegKey::SetValueçağrısı CRegKey::QueryValue gerçekleştirin. Bir anahtarı kapatmak için öğesini arayın CRegKey::Close.
Bir anahtarı kapattığınızda, bu anahtarın kayıt defteri verileri sabit diske yazılır (temizlenir). Bu işlem birkaç saniye sürebilir. Uygulamanızın kayıt defteri verilerini sabit diske açıkça yazması gerekiyorsa Win32 işlevini çağırabilirsiniz RegFlushKey . Ancak, RegFlushKey birçok sistem kaynağı kullanır ve yalnızca kesinlikle gerekli olduğunda çağrılmalıdır.
Önemli
Çağıranın bir kayıt defteri konumu belirtmesine izin veren tüm yöntemler, güvenilemeyen verileri okuma potansiyeline sahiptir. kullanan RegQueryValueEx yöntemler, bu işlevin null sonlandırılan dizeleri açıkça işlemediğini dikkate almalıdır. Her iki koşul da çağrı kodu tarafından denetlenmelidir.
Gereksinimler
Üstbilgi: atlbase.h
CRegKey::Attach
Üye tutamacını CRegKey olarak ayarlayarak nesnesine bir HKEY eklemek için hKeybu yöntemi çağırınm_hKey.
void Attach(HKEY hKey) throw();
Parametreler
hKey
Kayıt defteri anahtarının tanıtıcısı.
Açıklamalar
Attach, değilse m_hKeyNULLonaylar.
CRegKey::Close
Üye tanıtıcısını m_hKey serbest bırakmak ve olarak ayarlamak için NULLbu yöntemi çağırın.
LONG Close() throw();
Dönüş Değeri
Başarılı olursa döndürür ERROR_SUCCESS; aksi takdirde bir hata değeri döndürür.
CRegKey::Create
Alt anahtarı yoksa belirtilen anahtarı oluşturmak için bu yöntemi çağırın hKeyParent.
LONG Create(
HKEY hKeyParent,
LPCTSTR lpszKeyName,
LPTSTR lpszClass = REG_NONE,
DWORD dwOptions = REG_OPTION_NON_VOLATILE,
REGSAM samDesired = KEY_READ | KEY_WRITE,
LPSECURITY_ATTRIBUTES lpSecAttr = NULL,
LPDWORD lpdwDisposition = NULL) throw();
Parametreler
hKeyParent
Açık anahtarın tutamacı.
lpszKeyName
Oluşturulacak veya açılacak anahtarın adını belirtir. Bu ad alt anahtarı hKeyParentolmalıdır.
lpszClass
Oluşturulacak veya açılacak anahtarın sınıfını belirtir. Varsayılan değer REG_NONE.
dwOptions
Anahtar seçenekleri. Varsayılan değer şudur: REG_OPTION_NON_VOLATILE. Olası değerlerin ve açıklamaların listesi için Bkz RegCreateKeyEx . Windows SDK'sında.
samDesired
Anahtarın güvenlik erişimi. Varsayılan değer şudur: KEY_READ | KEY_WRITE. Olası değerlerin ve açıklamaların listesi için bkz RegCreateKeyEx. .
lpSecAttr
Anahtarın tutamacının bir SECURITY_ATTRIBUTES alt işlem tarafından devralınıp devralınamayacağını gösteren bir yapı işaretçisi. Varsayılan olarak, bu parametredir NULL (tanıtıcı devralınamaz).
lpdwDisposition
[out] NULLDeğilse, (anahtar yoksa ve oluşturulduysa) veya REG_OPENED_EXISTING_KEY (anahtar mevcutsa ve açıldıysa) alır REG_CREATED_NEW_KEY .
Dönüş Değeri
Başarılı olursa, döndürür ERROR_SUCCESS ve anahtarı açar. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Create üyeyi m_hKey bu anahtarın tanıtıcısına ayarlar.
CRegKey::CRegKey
Oluşturucu.
CRegKey() throw();
CRegKey(CRegKey& key) throw();
explicit CRegKey(HKEY hKey) throw();
CRegKey(CAtlTransactionManager* pTM) throw();
Parametreler
key
Bir nesneye CRegKey başvuru.
hKey
Kayıt defteri anahtarının tanıtıcısı.
pTM
Nesne işaretçisi CAtlTransactionManager
Açıklamalar
Yeni CRegKey bir nesne oluşturur. Nesne var olan CRegKey bir nesneden veya bir tanıtıcıdan kayıt defteri anahtarına oluşturulabilir.
CRegKey::~CRegKey
Yok edici.
~CRegKey() throw();
Açıklamalar
Yıkıcı serbest bırakır m_hKey.
CRegKey::DeleteSubKey
Belirtilen anahtarı kayıt defterinden kaldırmak için bu yöntemi çağırın.
LONG DeleteSubKey(LPCTSTR lpszSubKey) throw();
Parametreler
lpszSubKey
Silinecek anahtarın adını belirtir. Bu ad alt anahtarı m_hKeyolmalıdır.
Dönüş Değeri
Başarılı olursa döndürür ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
DeleteSubKey yalnızca alt anahtarı olmayan bir anahtarı silebilir. Anahtarın alt anahtarları varsa, bunun yerine çağrısı RecurseDeleteKey yapın.
CRegKey::DeleteValue
'den bir değer alanını kaldırmak için bu yöntemi çağırabilirsiniz m_hKey.
LONG DeleteValue(LPCTSTR lpszValue) throw();
Parametreler
lpszValue
Kaldırılacak değer alanını belirtir.
Dönüş Değeri
Başarılı olursa döndürür ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
CRegKey::Detach
Üye tanıtıcısını m_hKey nesnesinden CRegKey ayırmak ve olarak ayarlamak m_hKey için NULLbu yöntemi çağırın.
HKEY Detach() throw();
Dönüş Değeri
Nesneyle CRegKey ilişkilendirilmiş HKEY.
CRegKey::EnumKey
Açık kayıt defteri anahtarının alt anahtarlarını numaralandırmak için bu yöntemi çağırın.
LONG EnumKey(
DWORD iIndex,
LPTSTR pszName,
LPDWORD pnNameLength,
FILETIME* pftLastWriteTime = NULL) throw();
Parametreler
iIndex
Alt anahtar dizini. Bu parametre ilk çağrı için sıfır olmalı ve ardından sonraki çağrılar için artırılmalıdır
pszName
Sonlandırıcı null karakter de dahil olmak üzere alt anahtarın adını alan bir arabelleğe yönelik işaretçi. Yalnızca alt anahtarın adı arabelleğe kopyalanır, tam anahtar hiyerarşisine kopyalanmaz.
pnNameLength
parametresi tarafından belirtilen arabellek boyutunu TCHARsbelirten bir değişkenin işaretçisi pszName . Bu boyut, sonlandırıcı null karakteri içermelidir. Yöntemi döndürdüğünde, tarafından pnNameLength işaret edilen değişken arabellekte depolanan karakter sayısını içerir. Döndürülen sayı, sonlandırıcı null karakteri içermez.
pftLastWriteTime
Numaralandırılmış alt anahtarın son yazıldığı zamanı alan değişken işaretçisi.
Dönüş Değeri
Yöntem başarılı olursa, dönüş değeri olur ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Alt anahtarları numaralandırmak için sıfır dizinini çağırın CRegKey::EnumKey . Dizin değerini artırıp yöntemi döndürene ERROR_NO_MORE_ITEMSkadar yineleyin. Daha fazla bilgi için bkz RegEnumKeyEx . Windows SDK'sı.
CRegKey::Flush
Açık kayıt defteri anahtarının tüm özniteliklerini kayıt defterine yazmak için bu yöntemi çağırın.
LONG Flush() throw();
Dönüş Değeri
Yöntem başarılı olursa, dönüş değeri olur ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Daha fazla bilgi için bkz RegEnumFlush . Windows SDK'sı.
CRegKey::GetKeySecurity
Açık kayıt defteri anahtarını koruyan güvenlik tanımlayıcısının bir kopyasını almak için bu yöntemi çağırın.
LONG GetKeySecurity(
SECURITY_INFORMATION si,
PSECURITY_DESCRIPTOR psd,
LPDWORD pnBytes) throw();
Parametreler
si
SECURITY_INFORMATION İstenen güvenlik bilgilerini gösteren değer.
psd
İstenen güvenlik tanımlayıcısının bir kopyasını alan arabellek işaretçisi.
pnBytes
tarafından psdişaret edilen arabelleğin bayt cinsinden boyutu.
Dönüş Değeri
Yöntem başarılı olursa, dönüş değeri olur ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Daha fazla bilgi için bkz. RegGetKeySecurity.
CRegKey::m_hKey
Nesneyle ilişkili kayıt defteri anahtarının tanıtıcısını CRegKey içerir.
HKEY m_hKey;
CRegKey::m_pTM
Nesne CAtlTransactionManager işaretçisi.
CAtlTransactionManager* m_pTM;
Açıklamalar
CRegKey::NotifyChangeKeyValue
Bu yöntem, çağıranı açık kayıt defteri anahtarının özniteliklerinde veya içeriğinde yapılan değişiklikler hakkında bilgilendirir.
LONG NotifyChangeKeyValue(
BOOL bWatchSubtree,
DWORD dwNotifyFilter,
HANDLE hEvent,
BOOL bAsync = TRUE) throw();
Parametreler
bWatchSubtree
Belirtilen anahtarda ve tüm alt anahtarlarında veya yalnızca belirtilen anahtarda değişiklikleri raporlayıp raporlamayacağını belirten bir bayrak belirtir. Bu parametre ise TRUEyöntemi anahtardaki ve alt anahtarlarındaki değişiklikleri bildirir. parametresi ise FALSE, yöntem raporları yalnızca anahtarda değişiklik gösterir.
dwNotifyFilter
Hangi değişikliklerin bildirilmesi gerektiğini denetleyen bir bayrak kümesi belirtir. Bu parametre aşağıdaki değerlerin bir bileşimi olabilir:
| Değer | Anlamı |
|---|---|
REG_NOTIFY_CHANGE_NAME |
Alt anahtar eklenip eklenmediğini veya silindiğini çağıranı bilgilendirin. |
REG_NOTIFY_CHANGE_ATTRIBUTES |
Güvenlik tanımlayıcısı bilgileri gibi anahtarın özniteliklerinde yapılan değişiklikleri çağıranı bilgilendirin. |
REG_NOTIFY_CHANGE_LAST_SET |
Anahtar değerindeki değişiklikleri çağıranı bilgilendirin. Bu, değer eklemeyi veya silmeyi ya da var olan bir değeri değiştirmeyi içerebilir. |
REG_NOTIFY_CHANGE_SECURITY |
Anahtarın güvenlik tanımlayıcısına yapılan değişiklikleri çağıranı bilgilendirin. |
hEvent
Bir olaya işleme. bAsync parametresi iseTRUE, yöntemi hemen döndürür ve bu olaya işaret gönderilerek değişiklikler bildirilir. ise bAsync FALSEhEvent yoksayılır.
bAsync
Yönteminin nasıl değiştiğini gösteren bir bayrak belirtir. Bu parametre ise TRUEyöntemi hemen döndürür ve belirtilen olayı işaretleyerek değişiklikleri bildirir. Bu parametre olduğunda FALSE, yöntem bir değişiklik gerçekleşene kadar döndürmez. hEvent Geçerli bir olay belirtmezse parametresi bAsync olamazTRUE.
Dönüş Değeri
Yöntem başarılı olursa, dönüş değeri olur ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Not
Bu yöntem, belirtilen anahtar silinirse çağıranı bilgilendirmez.
Diğer ayrıntılar ve örnek bir program için bkz RegNotifyChangeKeyValue. .
CRegKey::Open
Belirtilen anahtarı açmak ve bu anahtarın tanıtıcısına ayarlamak m_hKey için bu yöntemi çağırın.
LONG Open(
HKEY hKeyParent,
LPCTSTR lpszKeyName,
REGSAM samDesired = KEY_READ | KEY_WRITE) throw();
Parametreler
hKeyParent
Açık anahtarın tutamacı.
lpszKeyName
Oluşturulacak veya açılacak anahtarın adını belirtir. Bu ad alt anahtarı hKeyParentolmalıdır.
samDesired
Anahtarın güvenlik erişimi. Varsayılan değer şudur: KEY_ALL_ACCESS. Olası değerlerin ve açıklamaların listesi için Bkz RegCreateKeyEx . Windows SDK'sında.
Dönüş Değeri
Başarılı olursa döndürür ERROR_SUCCESS; aksi takdirde, içinde WINERROR.Htanımlanan sıfır olmayan bir hata değeri döndürür.
Açıklamalar
lpszKeyName Parametresi boş bir dizeyse NULL veya bu dizeyi işaret ederse, Open tarafından hKeyParenttanımlanan anahtarın yeni bir tutamacını açar, ancak daha önce açılmış tanıtıcıyı kapatmaz.
Open'nin aksineCRegKey::Create, mevcut değilse belirtilen anahtarı oluşturmaz.
CRegKey::operator HKEY
Bir CRegKey nesneyi öğesine HKEYdönüştürür.
operator HKEY() const throw();
CRegKey::operator =
Atama işleci.
CRegKey& operator= (CRegKey& key) throw();
Parametreler
key
Kopyalanacak anahtar.
Dönüş Değeri
Yeni anahtara başvuru döndürür.
Açıklamalar
Bu işleç geçerli nesnesinden ayrılır key ve bunun yerine nesneye CRegKey atar.
CRegKey::QueryBinaryValue
Belirtilen değer adı için ikili verileri almak için bu yöntemi çağırın.
LONG QueryBinaryValue(
LPCTSTR pszValueName,
void* pValue,
ULONG* pnBytes) throw();
Parametreler
pszValueName
Sorgulanması gereken değerin adını içeren - sonlandırılan bir NULLdizenin işaretçisi.
pValue
Değerin verilerini alan arabelleğe yönelik işaretçi.
pnBytes
parametresi tarafından işaret edilen arabelleğin boyutunu bayt cinsinden belirten bir değişkenin işaretçisi pValue . Yöntemi döndürdüğünde, bu değişken arabelleğe kopyalanan verilerin boyutunu içerir.
Dönüş Değeri
Yöntem başarılı olursa, ERROR_SUCCESS döndürülür. Yöntem bir değeri okuyamıyorsa, içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodu döndürür. Başvuruda bulunan veriler türünde REG_BINARYERROR_INVALID_DATA değilse döndürülür.
Açıklamalar
Bu yöntem kullanır RegQueryValueEx ve doğru veri türünün döndürüldüğünü onaylar. Diğer ayrıntılar için bkz RegQueryValueEx .
Önemli
Bu yöntem, çağıranın herhangi bir kayıt defteri konumu belirtmesine olanak tanır ve güvenilir olmayan verileri okuma olasılığı vardır. Ayrıca, RegQueryValueEx bu yöntem tarafından kullanılan işlev null-sonlandırılan dizeleri açıkça işlemez. Her iki koşul da çağrı kodu tarafından denetlenmelidir.
CRegKey::QueryDWORDValue
Belirtilen değer adına ilişkin DWORD verileri almak için bu yöntemi çağırın.
LONG QueryDWORDValue(
LPCTSTR pszValueName,
DWORD& dwValue) throw();
Parametreler
pszValueName
Sorgulanması gereken değerin adını içeren - sonlandırılan bir NULLdizenin işaretçisi.
dwValue
öğesini alan bir arabelleğe yönelik DWORDişaretçi.
Dönüş Değeri
Yöntem başarılı olursa, ERROR_SUCCESS döndürülür. Yöntem bir değeri okuyamıyorsa, içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodu döndürür. Başvuruda bulunan veriler türünde REG_DWORDERROR_INVALID_DATA değilse döndürülür.
Açıklamalar
Bu yöntem kullanır RegQueryValueEx ve doğru veri türünün döndürüldüğünü onaylar. Diğer ayrıntılar için bkz RegQueryValueEx .
Önemli
Bu yöntem, çağıranın herhangi bir kayıt defteri konumu belirtmesine olanak tanır ve güvenilir olmayan verileri okuma olasılığı vardır. Ayrıca, RegQueryValueEx bu yöntem tarafından kullanılan işlev null-sonlandırılan dizeleri açıkça işlemez. Her iki koşul da çağrı kodu tarafından denetlenmelidir.
CRegKey::QueryGUIDValue
Belirtilen değer adı için GUID verilerini almak için bu yöntemi çağırın.
LONG QueryGUIDValue(
LPCTSTR pszValueName,
GUID& guidValue) throw();
Parametreler
pszValueName
Sorgulanması gereken değerin adını içeren - sonlandırılan bir NULLdizenin işaretçisi.
guidValue
GUID'yi alan bir değişkenin işaretçisi.
Dönüş Değeri
Yöntem başarılı olursa, ERROR_SUCCESS döndürülür. Yöntem bir değeri okuyamıyorsa, içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodu döndürür. Başvuruda bulunan veriler geçerli bir GUID değilse döndürülür ERROR_INVALID_DATA .
Açıklamalar
Bu yöntem kullanarak dizesini CRegKey::QueryStringValue kullanır ve guid'ye CLSIDFromStringdönüştürür.
Önemli
Bu yöntem, çağıranın herhangi bir kayıt defteri konumu belirtmesine olanak tanır ve güvenilir olmayan verileri okuma olasılığı vardır.
CRegKey::QueryMultiStringValue
Belirtilen değer adı için çok dizeli verileri almak için bu yöntemi çağırın.
LONG QueryMultiStringValue(
LPCTSTR pszValueName,
LPTSTR pszValue,
ULONG* pnChars) throw();
Parametreler
pszValueName
Sorgulanması gereken değerin adını içeren - sonlandırılan bir NULLdizenin işaretçisi.
pszValue
Çoklu dize verilerini alan arabelleğe yönelik işaretçi. Çoklu dize, iki null karakterle sonlandırılan - sonlandırılan dizelerden oluşan NULLbir dizidir.
pnChars
tarafından işaret edilen pszValuearabelleğin içindeki boyutuTCHARs. Yöntemi döndürdüğünde, pnChars TCHARsalınan çok dizeli dizenin boyutunu (sonlandırıcı null karakter de dahil) içerir.
Dönüş Değeri
Yöntem başarılı olursa, ERROR_SUCCESS döndürülür. Yöntem bir değeri okuyamıyorsa, içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodu döndürür. Başvuruda bulunan veriler türünde REG_MULTI_SZERROR_INVALID_DATA değilse döndürülür.
Açıklamalar
Bu yöntem kullanır RegQueryValueEx ve doğru veri türünün döndürüldüğünü onaylar. Diğer ayrıntılar için bkz RegQueryValueEx .
Önemli
Bu yöntem, çağıranın herhangi bir kayıt defteri konumu belirtmesine olanak tanır ve güvenilir olmayan verileri okuma olasılığı vardır. Ayrıca, RegQueryValueEx bu yöntem tarafından kullanılan işlev null-sonlandırılan dizeleri açıkça işlemez. Her iki koşul da çağrı kodu tarafından denetlenmelidir.
CRegKey::QueryQWORDValue
Belirtilen değer adına ilişkin QWORD verileri almak için bu yöntemi çağırın.
LONG QueryQWORDValue(
LPCTSTR pszValueName,
ULONGLONG& qwValue) throw();
Parametreler
pszValueName
Sorgulanması gereken değerin adını içeren - sonlandırılan bir NULLdizenin işaretçisi.
qwValue
öğesini alan bir arabelleğe yönelik QWORDişaretçi.
Dönüş Değeri
Yöntem başarılı olursa, ERROR_SUCCESS döndürülür. Yöntem bir değeri okuyamıyorsa, içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodu döndürür. Başvuruda bulunan veriler türünde REG_QWORDERROR_INVALID_DATA değilse döndürülür.
Açıklamalar
Bu yöntem kullanır RegQueryValueEx ve doğru veri türünün döndürüldüğünü onaylar. Diğer ayrıntılar için bkz RegQueryValueEx .
Önemli
Bu yöntem, çağıranın herhangi bir kayıt defteri konumu belirtmesine olanak tanır ve güvenilir olmayan verileri okuma olasılığı vardır. Ayrıca, RegQueryValueEx bu yöntem tarafından kullanılan işlev null-sonlandırılan dizeleri açıkça işlemez. Her iki koşul da çağrı kodu tarafından denetlenmelidir.
CRegKey::QueryStringValue
Belirtilen değer adı için dize verilerini almak için bu yöntemi çağırın.
LONG QueryStringValue(
LPCTSTR pszValueName,
LPTSTR pszValue,
ULONG* pnChars) throw();
Parametreler
pszValueName
Sorgulanması gereken değerin adını içeren - sonlandırılan bir NULLdizenin işaretçisi.
pszValue
Dize verilerini alan arabelleğe yönelik işaretçi.
pnChars
tarafından pszValueişaret edilen arabelleğin TCHAR'lardaki boyutu. Yöntemi döndürdüğünde, pnChars TCHARsalınan dizenin boyutunu (sonlandırıcı null karakter de dahil) içerir.
Dönüş Değeri
Yöntem başarılı olursa, ERROR_SUCCESS döndürülür. Yöntem bir değeri okuyamıyorsa, içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodu döndürür. Başvuruda bulunan veriler türünde REG_SZERROR_INVALID_DATA değilse döndürülür. yöntemi döndürürseERROR_MORE_DATApnChars, bayt cinsinden gerekli arabellek boyutuna değil sıfıra eşittir.
Açıklamalar
Bu yöntem kullanır RegQueryValueEx ve doğru veri türünün döndürüldüğünü onaylar. Diğer ayrıntılar için bkz RegQueryValueEx .
Önemli
Bu yöntem, çağıranın herhangi bir kayıt defteri konumu belirtmesine olanak tanır ve güvenilir olmayan verileri okuma olasılığı vardır. Ayrıca, RegQueryValueEx bu yöntem tarafından kullanılan işlev null-sonlandırılan dizeleri açıkça işlemez. Her iki koşul da çağrı kodu tarafından denetlenmelidir.
CRegKey::QueryValue
belirtilen değer alanının verilerini almak için bu yöntemi çağırın m_hKey. Bu yöntemin önceki sürümleri artık desteklenmiyor ve olarak ATL_DEPRECATEDişaretleniyor.
LONG QueryValue(
LPCTSTR pszValueName,
DWORD* pdwType,
void* pData,
ULONG* pnBytes) throw();
ATL_DEPRECATED LONG QueryValue(
DWORD& dwValue,
LPCTSTR lpszValueName);
ATL_DEPRECATED LONG QueryValue(
LPTSTR szValue,
LPCTSTR lpszValueName,
DWORD* pdwCount);
Parametreler
pszValueName
Sorgulanması gereken değerin adını içeren - sonlandırılan bir NULLdizenin işaretçisi. veya boş bir dizeyse pszValueName NULL , ""yöntemi anahtarın adsız veya varsa varsayılan değerinin türünü ve verilerini alır.
pdwType
Belirtilen değerde depolanan veri türünü belirten bir kod alan değişken işaretçisi. pdwType Tür kodu gerekli değilse parametresi olabilirNULL.
pData
Değerin verilerini alan arabelleğe yönelik işaretçi. Bu parametre, veriler gerekli değilse olabilir NULL .
pnBytes
parametresi tarafından işaret edilen arabelleğin boyutunu bayt cinsinden belirten bir değişkenin işaretçisi pData . Yöntemi döndürdüğünde, bu değişken öğesine kopyalanan pDataverilerin boyutunu içerir.
dwValue
Değer alanının sayısal verileri.
lpszValueName
Sorgulanacak değer alanını belirtir.
szValue
Değer alanının dize verileri.
pdwCount
Dize verilerinin boyutu. Değeri başlangıçta arabellek boyutuna szValue ayarlanır.
Dönüş Değeri
Başarılı olursa döndürür ERROR_SUCCESS; aksi takdirde, içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodu döndürür.
Açıklamalar
İki özgün sürümü QueryValue artık desteklenmez ve olarak ATL_DEPRECATEDişaretlenir. Bu formlar kullanılırsa derleyici bir uyarı yayınlar.
Kalan yöntem çağırır RegQueryValueEx.
Önemli
Bu yöntem, çağıranın herhangi bir kayıt defteri konumu belirtmesine olanak tanır ve güvenilir olmayan verileri okuma olasılığı vardır. Ayrıca, RegQueryValueEx bu yöntem tarafından kullanılan işlev null-sonlandırılan dizeleri açıkça işlemez. Her iki koşul da çağrı kodu tarafından denetlenmelidir.
CRegKey::RecurseDeleteKey
Belirtilen anahtarı kayıt defterinden kaldırmak ve herhangi bir alt anahtarı açıkça kaldırmak için bu yöntemi çağırın.
LONG RecurseDeleteKey(LPCTSTR lpszKey) throw();
Parametreler
lpszKey
Silinecek anahtarın adını belirtir. Bu ad alt anahtarı m_hKeyolmalıdır.
Dönüş Değeri
Başarılı olursa döndürür ERROR_SUCCESS; aksi takdirde, içinde WINERROR.Htanımlanan sıfır olmayan bir hata değeri döndürür.
Açıklamalar
Anahtarın alt anahtarları varsa, anahtarı silmek için bu yöntemi çağırmanız gerekir.
CRegKey::SetBinaryValue
Kayıt defteri anahtarının ikili değerini ayarlamak için bu yöntemi çağırın.
LONG SetBinaryValue(
LPCTSTR pszValueName,
const void* pValue,
ULONG nBytes) throw();
Parametreler
pszValueName
Ayarlanacağı değerin adını içeren bir dizenin işaretçisi. Bu ada sahip bir değer henüz yoksa yöntemi bunu anahtara ekler.
pValue
Belirtilen değer adıyla depolanacak verileri içeren arabelleğe yönelik işaretçi.
nBytes
parametresi tarafından işaret edilen pValue bilgilerin boyutunu bayt cinsinden belirtir.
Dönüş Değeri
Yöntem başarılı olursa, dönüş değeri olur ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Bu yöntem, değerini kayıt defterine yazmak için kullanır RegSetValueEx .
CRegKey::SetDWORDValue
Kayıt defteri anahtarının DWORD değerini ayarlamak için bu yöntemi çağırın.
LONG SetDWORDValue(LPCTSTR pszValueName, DWORD dwValue) throw();
Parametreler
pszValueName
Ayarlanacağı değerin adını içeren bir dizenin işaretçisi. Bu ada sahip bir değer henüz yoksa yöntemi bunu anahtara ekler.
dwValue
DWORD Belirtilen değer adıyla depolanacak veriler.
Dönüş Değeri
Yöntem başarılı olursa, dönüş değeri olur ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Bu yöntem, değerini kayıt defterine yazmak için kullanır RegSetValueEx .
CRegKey::SetGUIDValue
Kayıt defteri anahtarının GUID değerini ayarlamak için bu yöntemi çağırın.
LONG SetGUIDValue(LPCTSTR pszValueName, REFGUID guidValue) throw();
Parametreler
pszValueName
Ayarlanacağı değerin adını içeren bir dizenin işaretçisi. Bu ada sahip bir değer henüz yoksa yöntemi bunu anahtara ekler.
guidValue
Belirtilen değer adıyla depolanacak GUID'ye başvuru.
Dönüş Değeri
Yöntem başarılı olursa, dönüş değeri olur ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Bu yöntem, kullanır CRegKey::SetStringValue ve kullanarak StringFromGUID2GUID'yi bir dizeye dönüştürür.
CRegKey::SetKeyValue
Verileri belirtilen anahtarın belirtilen değer alanında depolamak için bu yöntemi çağırın.
LONG SetKeyValue(
LPCTSTR lpszKeyName,
LPCTSTR lpszValue,
LPCTSTR lpszValueName = NULL) throw();
Parametreler
lpszKeyName
Oluşturulacak veya açılacak anahtarın adını belirtir. Bu ad alt anahtarı m_hKeyolmalıdır.
lpszValue
Depolanacak verileri belirtir. Bu parametre olmayanNULL olmalıdır.
lpszValueName
Ayarlanacak değer alanını belirtir. Anahtarda bu ada sahip bir değer alanı yoksa eklenir.
Dönüş Değeri
Başarılı olursa döndürür ERROR_SUCCESS; aksi takdirde, içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodu döndürür.
Açıklamalar
Anahtarı oluşturmak veya açmak lpszKeyName ve verileri değer alanında depolamak lpszValue için bu yöntemi çağırın lpszValueName .
CRegKey::SetKeySecurity
Kayıt defteri anahtarının güvenliğini ayarlamak için bu yöntemi çağırın.
LONG SetKeySecurity(SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd) throw();
Parametreler
si
Ayarlanacağı güvenlik tanımlayıcısının bileşenlerini belirtir. Değer, aşağıdaki değerlerin bir bileşimi olabilir:
| Değer | Anlamı |
|---|---|
DACL_SECURITY_INFORMATION |
Anahtarın isteğe bağlı erişim denetimi listesini (DACL) ayarlar. Anahtarın erişimi olmalıdır WRITE_DAC veya çağıran işlem nesnenin sahibi olmalıdır. |
GROUP_SECURITY_INFORMATION |
Anahtarın birincil grup güvenlik tanımlayıcısını (SID) ayarlar. Anahtarın erişimi olmalıdır WRITE_OWNER veya çağıran işlem nesnenin sahibi olmalıdır. |
OWNER_SECURITY_INFORMATION |
Anahtarın sahip SID'sini ayarlar. Anahtarın erişimi olmalıdır WRITE_OWNER veya çağıran işlemin nesnenin sahibi olması veya ayrıcalığı SE_TAKE_OWNERSHIP_NAME etkinleştirilmiş olması gerekir. |
SACL_SECURITY_INFORMATION |
Anahtarın sistem erişim denetimi listesini (SACL) ayarlar. Anahtarın erişimi olmalıdır ACCESS_SYSTEM_SECURITY . Bu erişimi elde etmenin uygun yolu, çağıranın SE_SECURITY_NAME geçerli erişim belirtecinde ayrıcalığı etkinleştirmek, erişim için ACCESS_SYSTEM_SECURITY tanıtıcıyı açmak ve ardından ayrıcalığı devre dışı bırakmaktır. |
psd
Belirtilen anahtar için ayarlanacağı güvenlik özniteliklerini belirten bir SECURITY_DESCRIPTOR yapı işaretçisi.
Dönüş Değeri
Yöntem başarılı olursa, dönüş değeri olur ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Anahtarın güvenlik özniteliklerini ayarlar. Diğer ayrıntılar için bkz RegSetKeySecurity .
CRegKey::SetMultiStringValue
Kayıt defteri anahtarının çok dizeli değerini ayarlamak için bu yöntemi çağırın.
LONG SetMultiStringValue(LPCTSTR pszValueName, LPCTSTR pszValue) throw();
Parametreler
pszValueName
Ayarlanacağı değerin adını içeren bir dizenin işaretçisi. Bu ada sahip bir değer henüz yoksa yöntemi bunu anahtara ekler.
pszValue
Belirtilen değer adıyla depolanacak çok dizeli verilerin işaretçisi. Çoklu dize, iki null karakterle sonlandırılan - sonlandırılan dizelerden oluşan NULLbir dizidir.
Dönüş Değeri
Yöntem başarılı olursa, dönüş değeri olur ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Bu yöntem, değerini kayıt defterine yazmak için kullanır RegSetValueEx .
CRegKey::SetQWORDValue
Kayıt defteri anahtarının QWORD değerini ayarlamak için bu yöntemi çağırın.
LONG SetQWORDValue(LPCTSTR pszValueName, ULONGLONG qwValue) throw();
Parametreler
pszValueName
Ayarlanacağı değerin adını içeren bir dizenin işaretçisi. Bu ada sahip bir değer henüz yoksa yöntemi bunu anahtara ekler.
qwValue
QWORD Belirtilen değer adıyla depolanacak veriler.
Dönüş Değeri
Yöntem başarılı olursa, dönüş değeri olur ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Bu yöntem, değerini kayıt defterine yazmak için kullanır RegSetValueEx .
CRegKey::SetStringValue
Kayıt defteri anahtarının dize değerini ayarlamak için bu yöntemi çağırın.
LONG SetStringValue(
LPCTSTR pszValueName,
LPCTSTR pszValue,
DWORD dwType = REG_SZ) throw();
Parametreler
pszValueName
Ayarlanacağı değerin adını içeren bir dizenin işaretçisi. Bu ada sahip bir değer henüz yoksa yöntemi bunu anahtara ekler.
pszValue
Belirtilen değer adıyla depolanacak dize verilerinin işaretçisi.
dwType
Kayıt defterine yazacak dizenin türü: REG_SZ (varsayılan) veya REG_EXPAND_SZ (çoklu dizeler için).
Dönüş Değeri
Yöntem başarılı olursa, dönüş değeri olur ERROR_SUCCESS. Yöntem başarısız olursa, dönüş değeri içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodudur.
Açıklamalar
Bu yöntem, değerini kayıt defterine yazmak için kullanır RegSetValueEx .
CRegKey::SetValue
Verileri belirtilen değer alanında depolamak için bu yöntemi çağırın m_hKey. Bu yöntemin önceki sürümleri artık desteklenmiyor ve olarak ATL_DEPRECATEDişaretleniyor.
LONG SetValue(
LPCTSTR pszValueName,
DWORD dwType,
const void* pValue,
ULONG nBytes) throw();
static LONG WINAPI SetValue(
HKEY hKeyParent,
LPCTSTR lpszKeyName,
LPCTSTR lpszValue,
LPCTSTR lpszValueName = NULL);
ATL_DEPRECATED LONG SetValue(
DWORD dwValue,
LPCTSTR lpszValueName);
ATL_DEPRECATED LONG SetValue(
LPCTSTR lpszValue,
LPCTSTR lpszValueName = NULL,
bool bMulti = false,
int nValueLen = -1);
Parametreler
pszValueName
Ayarlanacağı değerin adını içeren bir dizenin işaretçisi. Anahtarda bu ada sahip bir değer zaten yoksa yöntemi bunu anahtara ekler. NULL veya boş bir dizeysepszValueName, ""yöntemi anahtarın adsız veya varsayılan değeri için türü ve verileri ayarlar.
dwType
parametresi tarafından işaret edilen pValue veri türünü belirten bir kod belirtir.
pValue
Belirtilen değer adıyla depolanacak verileri içeren arabelleğe yönelik işaretçi.
nBytes
parametresi tarafından işaret edilen pValue bilgilerin boyutunu bayt cinsinden belirtir. Veriler , veya REG_EXPAND_SZREG_MULTI_SZnBytes türündeyseREG_SZ, sonlandırıcı null karakterin boyutunu içermelidir.
hKeyParent
Açık anahtarın tutamacı.
lpszKeyName
Oluşturulacak veya açılacak anahtarın adını belirtir. Bu ad alt anahtarı hKeyParentolmalıdır.
lpszValue
Depolanacak verileri belirtir. Bu parametre olmayanNULL olmalıdır.
lpszValueName
Ayarlanacak değer alanını belirtir. Anahtarda bu ada sahip bir değer alanı yoksa eklenir.
dwValue
Depolanacak verileri belirtir.
bMulti
False ise, dizenin türünde REG_SZolduğunu gösterir. True ise, dizenin türünde REG_MULTI_SZçok dizeli olduğunu gösterir.
nValueLen
True ise bMulti , nValueLen dizenin lpszValue karakter cinsinden uzunluğudur. False ise bMulti , -1 değeri yöntemin uzunluğu otomatik olarak hesaplayacak olduğunu gösterir.
Dönüş Değeri
Başarılı olursa döndürür ERROR_SUCCESS; aksi takdirde, içinde WINERROR.Htanımlanan sıfır olmayan bir hata kodu döndürür.
Açıklamalar
öğesinin SetValue iki özgün sürümü olarak ATL_DEPRECATED işaretlenir ve artık kullanılmamalıdır. Bu formlar kullanılırsa derleyici bir uyarı yayınlar.
Üçüncü yöntem çağırır RegSetValueEx.