Microsoft.Win32.RegistryKey.GetValueNamesCore C# (CSharp) Méthode

GetValueNamesCore() private méthode

Retrieves an array of strings containing all the value names.
private GetValueNamesCore ( int values ) : string[]
values int
Résultat string[]
        private unsafe string[] GetValueNamesCore(int values)
        {
            string[] names = new string[values];
            char[] name = new char[MaxValueLength + 1];
            int namelen;

            fixed (char* namePtr = &name[0])
            {
                for (int i = 0; i < values; i++)
                {
                    namelen = name.Length;

                    int ret = Interop.Advapi32.RegEnumValue(_hkey,
                        i,
                        namePtr,
                        ref namelen,
                        IntPtr.Zero,
                        null,
                        null,
                        null);

                    if (ret != 0)
                    {
                        // ignore ERROR_MORE_DATA if we're querying HKEY_PERFORMANCE_DATA
                        if (!(IsPerfDataKey() && ret == Interop.Errors.ERROR_MORE_DATA))
                            Win32Error(ret, null);
                    }

                    names[i] = new string(namePtr);
                }
            }

            return names;
        }