CeRegQueryValueEx (rapi)
Last changed: lwoodard@sstdevgroup.com-205.162.224.251

.
Summary
This function retrieves the type and data for a specified value name associated with an open registry key.

C# Signature:

[DllImport("rapi.dll", CharSet=CharSet.Unicode)]
public static extern uint CeRegQueryValueEx(
    uint hKey,
    string lpValueName,
    int lpReserved,
    ref int lpType,
    byte[] lpData,
    ref int lpchData);

User-Defined Types:

uint HKEY_CLASSES_ROOT = 0x80000000;
uint HKEY_CURRENT_USER = 0x80000001;
uint HKEY_LOCAL_MACHINE = 0x80000002;
uint HKEY_USERS = 0x80000003;

Notes:

function info on msdn at http://msdn.microsoft.com/en-us/library/aa918463.aspx

Tips & Tricks:

Please add some!

Sample Code:

uint key;
uint ret;

int lpType = new int();
byte[] lpData = new Byte[256];
int lpcbData = lpData.Length;

ret = CeRegOpenKeyEx(HKEY_CURRENT_USER,"Software\\TestApp\\Settings",0,0x1,out key);

if(ret == 0)
{
    ret = CeRegQueryValueEx(key,"MyKey",0,ref lpType, lpData, ref lpcbData);

    if(ret == 0)
    {
        // success, your data in in lpData to be converted
    }
}

CeRegCloseKey(key);

Alternative Managed API:

Documentation