İngilizce dilinde oku

Aracılığıyla paylaş


RegistryValueKind Sabit listesi

Tanım

Değerleri kayıt defterinde depolarken kullanılacak veri türlerini belirtir veya kayıt defterindeki bir değerin veri türünü tanımlar.

public enum RegistryValueKind
[System.Runtime.InteropServices.ComVisible(true)]
public enum RegistryValueKind
Devralma
RegistryValueKind
Öznitelikler

Alanlar

Name Değer Description
Binary 3

Herhangi bir biçimdeki ikili veriler. Bu değer, REG_BINARY Windows API kayıt defteri veri türüne eşdeğerdir.

DWord 4

32 bitlik ikili bir sayı. Bu değer, REG_DWORD Windows API kayıt defteri veri türüne eşdeğerdir.

ExpandString 2

Değer alındığında genişletilmiş %PATH% gibi ortam değişkenlerine genişletilmemiş başvurular içeren null sonlandırılan bir dize. Bu değer, REG_EXPAND_SZ Windows API kayıt defteri veri türüne eşdeğerdir.

MultiString 7

İki null karakterle sonlandırılan null sonlandırılmış dize dizisi. Bu değer, REG_MULTI_SZ Windows API kayıt defteri veri türüne eşdeğerdir.

None -1

Veri türü yok.

QWord 11

64 bit ikili sayı. Bu değer, REG_QWORD Windows API kayıt defteri veri türüyle eşdeğerdir.

String 1

Null olarak sonlandırılan bir dize. Bu değer, REG_SZ Windows API kayıt defteri veri türüne eşdeğerdir.

Unknown 0

Desteklenmeyen bir kayıt defteri veri türü. Örneğin, REG_RESOURCE_LIST Microsoft Windows API kayıt defteri veri türü desteklenmez. Yöntemin bir ad/değer çifti SetValue(String, Object) depolarken uygun kayıt defteri veri türünü belirlemesi gerektiğini belirtmek için bu değeri kullanın.

Örnekler

Aşağıdaki kod örneği bir kayıt defteri anahtarı oluşturur ve kayıt defteri veri türlerini belirtmek için kullanarak RegistryValueKind bu anahtar için çeşitli değerler ayarlar. Daha sonra örnek, değerleri almak ve görüntülemek için kayıt defteri veri türlerini denetlemek için kullanır RegistryKey.GetValueKind .

using System;
using Microsoft.Win32;

class RegGetDef
{
    public static void Main()
    {
        // Create a reference to a valid key.  In order for this code to
        // work, the indicated key must have been created previously.
        // The key name is not case-sensitive.
        RegistryKey rk = Registry.LocalMachine.OpenSubKey("Software\\myTestKey", false);
        // Get the value from the specified name/value pair in the key.

        string valueName = "myTestValue";

        Console.WriteLine("Retrieving registry value ...");
        Console.WriteLine();
        object o = rk.GetValue(valueName);
        Console.WriteLine("Object Type = " + o.GetType().FullName);
        Console.WriteLine();
        switch (rk.GetValueKind(valueName))
        {
            case RegistryValueKind.String:
            case RegistryValueKind.ExpandString:
                Console.WriteLine("Value = " + o);
                break;
            case RegistryValueKind.Binary:
                foreach (byte b in (byte[])o)
                {
                    Console.Write("{0:x2} ", b);
                }
                Console.WriteLine();
                break;
            case RegistryValueKind.DWord:
                Console.WriteLine("Value = " + Convert.ToString((int)o));
                break;
            case RegistryValueKind.QWord:
                Console.WriteLine("Value = " + Convert.ToString((Int64)o));
                break;
            case RegistryValueKind.MultiString:
                foreach (string s in (string[])o)
                {
                    Console.Write("[{0:s}], ", s);
                }
                Console.WriteLine();
                break;
            default:
                Console.WriteLine("Value = (Unknown)");
                break;
        }

        // Attempt to retrieve a value that does not exist; the specified
        // default value is returned.
        string def = (string)rk.GetValue("notavalue", "The default to return");
        Console.WriteLine();
        Console.WriteLine(def);

        rk.Close();
    }
}
/*
Output:
Retrieving registry value ...

Object Type = System.String

Value = testData

The default to return
*/

Açıklamalar

Numaralandırma, RegistryValueKind desteklenen kayıt defteri veri türleri kümesini ve desteklenmeyen türler için kullanılan değeri (Bilinmiyor) tanımlar. .NET Framework 4'te başlayarak, Yok değeriyle bir veri türü kullanmamayı belirtebilirsiniz.

RegistryKey.GetValueKind Değerini almadan önce bir kayıt defteri anahtarı değerinin veri türünü belirlemek için yöntemini kullanın. Bir kayıt defteri anahtarı değeri ayarladığınızda SetValue , kayıt defteri veri türünü açıkça belirtmek için yöntemini kullanın.

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5

Ayrıca bkz.