private RegEnumKey ( |
||
keyBase | ||
index | int | |
nameBuffer | StringBuilder | |
bufferLength | int | |
return | int |
public string[] GetSubKeyNames(RegistryKey rkey) { IntPtr handle = Win32RegistryApi.GetHandle(rkey); StringBuilder stringBuilder = new StringBuilder(1024); ArrayList arrayList = new ArrayList(); int num = 0; for (;;) { int num2 = Win32RegistryApi.RegEnumKey(handle, num, stringBuilder, stringBuilder.Capacity); if (num2 == 0) { arrayList.Add(stringBuilder.ToString()); stringBuilder.Length = 0; } else { if (num2 == 259) { break; } this.GenerateException(num2); } num++; } return((string[])arrayList.ToArray(typeof(string))); }
public int SubKeyCount(RegistryKey rkey) { StringBuilder stringBuilder = new StringBuilder(1024); IntPtr handle = Win32RegistryApi.GetHandle(rkey); int num = 0; for (;;) { int num2 = Win32RegistryApi.RegEnumKey(handle, num, stringBuilder, stringBuilder.Capacity); if (num2 == 1018) { break; } if (num2 != 0) { if (num2 == 259) { return(num); } this.GenerateException(num2); } num++; } throw RegistryKey.CreateMarkedForDeletionException(); }