ceregenumvalue (rapi)
Last changed: -71.1.128.141

.

Enumerates values for an open registry key.

C# Signature:

[DllImport("rapi.dll", EntryPoint = "CeRegEnumValue")]
static extern uint CeRegEnumValue(uint hKey, int dwIndex, [MarshalAs(UnmanagedType.LPWStr)] string lpszValueName, ref int lpcbValueName, int lpReserved, ref int lpType, byte[] lpData, ref int lpcbData);

VB Signature:

Declare Function CeRegEnumValue Lib "rapi.dll" (TODO) As TODO

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

// After opening a key
int index = 0;
int valueNameSize = 32;
string valueName = new string('\0', valueNameSize);
int type = 0;
byte[] valueData = new byte[256];
int valueDataSize = valueData.Length;

while (ret != ERROR_NO_MORE_FILES) {
    ret = CeRegEnumValue(key, index++, valueName,
    ref valueNameSize, 0, ref type, valueData,
    ref valueDataSize);

    if (ret == 0) {
        // Success
    }
}

Documentation