Format C:
09.08.2002, 18:48
moin
HKEY hKey;
static VALENT values[2];
DWORD dwSize;
BOOL bError = 0;
char test[200]="";
int i;
values[0].ve_valuename = "REG_KEY1";
values[1].ve_valuename = "REG_KEY2";
// Pfad öffnen
if(!RegOpenKeyEx (HKEY_LOCAL_MACHINE, REG_PFAD, 0, KEY_ALL_ACCESS, &hKey))
{
if(i = RegQueryMultipleValues(hKey, values, 2, NULL, &dwSize))
{
char *lpBuf;
sprintf(test, "%d", i);
MessageBox(0, test, "", 0);
lpBuf = (char*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwSize);
RegQueryMultipleValues(hKey, values, 2, lpBuf, &dwSize);
MessageBox(0, (char*)values[0].ve_valueptr, "", 0);
HeapFree(GetProcessHeap(), 0, lpBuf);
}
RegCloseKey(hKey);
}
RegQueryMultipleValues gibt den wert 87 zurück.
87 steht für ERROR_INVALID_PARAMETER
In der MSDN steht noch drinn das RegQueryMultipleValues 3 Feher Codes zurückgeben kann, u.a: ERROR_TRANSFER_TOO_LONG, dieser ist jedoch in Winerror.h nicht Definiert. auch in keiner anderen *.h Datei.
Watt is da los ? Wieso gibt RegQueryMultipleValues 87 zurück ?
HKEY hKey;
static VALENT values[2];
DWORD dwSize;
BOOL bError = 0;
char test[200]="";
int i;
values[0].ve_valuename = "REG_KEY1";
values[1].ve_valuename = "REG_KEY2";
// Pfad öffnen
if(!RegOpenKeyEx (HKEY_LOCAL_MACHINE, REG_PFAD, 0, KEY_ALL_ACCESS, &hKey))
{
if(i = RegQueryMultipleValues(hKey, values, 2, NULL, &dwSize))
{
char *lpBuf;
sprintf(test, "%d", i);
MessageBox(0, test, "", 0);
lpBuf = (char*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwSize);
RegQueryMultipleValues(hKey, values, 2, lpBuf, &dwSize);
MessageBox(0, (char*)values[0].ve_valueptr, "", 0);
HeapFree(GetProcessHeap(), 0, lpBuf);
}
RegCloseKey(hKey);
}
RegQueryMultipleValues gibt den wert 87 zurück.
87 steht für ERROR_INVALID_PARAMETER
In der MSDN steht noch drinn das RegQueryMultipleValues 3 Feher Codes zurückgeben kann, u.a: ERROR_TRANSFER_TOO_LONG, dieser ist jedoch in Winerror.h nicht Definiert. auch in keiner anderen *.h Datei.
Watt is da los ? Wieso gibt RegQueryMultipleValues 87 zurück ?