hi All,
I have a function that reads string values from the registry:
This normally works fine however if I am trying to read a unc network path from the registry some times it fails and returns 'NONE'.Code:char *readregistry(char keyname[50], char keyvalue[20]) { BOOL ret, success; HKEY keyhandle; DWORD dwBufLen = 32; char myregval[100]; char *str= (char *)malloc(100); if (str == NULL) { cout << "Error allocating memory"; exit(1); } ret=RegOpenKeyEx(HKEY_LOCAL_MACHINE,keyname,0,KEY_READ,&keyhandle); if (ret != ERROR_SUCCESS) { strcpy(str, "NONE"); return str; } else { success= RegQueryValueEx(keyhandle, keyvalue, NULL, NULL, (LPBYTE)myregval, &dwBufLen); if (success != ERROR_SUCCESS) { strcpy(str, "NONE"); return str; } else { strcpy(str, myregval); return str; } } }
For instance it cannot read this value:
\\computername\share\directory\subdirectory\
But it can read this:
\\computername\share\directory\
Any thoughts as to how to get around this problem?
Thanks in advance..
Aaron



LinkBack URL
About LinkBacks


