zweites Mal RegQueryValueEx geht nicht
-
Hallo,
nur zum Verständnis, warum funktioniert das zweite Mal RegQueryValueEx nicht?
in temp steht einfach noch die Zahlenkombination für die Netzwerkkarte drin also: {CF71F8C7-8A26-4C4B-996F-2781CECB5034}
int main() { unsigned char temp[255]="0"; unsigned long size = sizeof(temp); char path[255]=""; HKEY hKey=NULL; RegOpenKey(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkCards\\14"), &hKey); RegQueryValueEx(hKey, TEXT("ServiceName"), NULL, NULL, temp, &size); sprintf(path,"SYSTEM\\CurrentControlSet\\services\\%s\\Parameters\\Tcpip",temp); RegOpenKey(HKEY_LOCAL_MACHINE, TEXT(path), &hKey); RegQueryValueEx(hKey, TEXT("IPAddress"), NULL, NULL, temp, &size); RegCloseKey(hKey); printf("Value: %s (Size: %lu)\n", temp, size); return 0; }
-
Der letzte Parameter ist auch ein "Out"-Parameter. Daher enthält size nach dem ersten Aufruf die Größe des ausgelesenen Wertes in Bytes (falls er denn erfolgreich ist, das solltest du vielleicht noch prüfen). Du musst also danach size wieder auf deine Puffergröße setzen.
-
Danke!
die Überprüfung war auch noch geplant