//static QString QextSerialEnumerator::getRegKeyValue(HKEY key, LPCTSTR property) { DWORD size = 0; RegQueryValueEx(key, property, NULL, NULL, NULL, & size); BYTE * buff = new BYTE[size]; if (RegQueryValueEx(key, property, NULL, NULL, buff, & size) == ERROR_SUCCESS) { return TCHARToQStringN(buff, size); delete [] buff; } else { qWarning("QextSerialEnumerator::getRegKeyValue: can not obtain value from registry"); delete [] buff; return QString(); } }
//static QString QextSerialEnumerator::getRegKeyValue(HKEY key, LPCTSTR property) { DWORD size = 0; DWORD type; RegQueryValueEx(key, property, NULL, NULL, NULL, & size); BYTE* buff = new BYTE[size]; QString result; if( RegQueryValueEx(key, property, NULL, &type, buff, & size) == ERROR_SUCCESS ) { // might not be terminated...let QString terminate in this case if( type == REG_SZ || type == REG_MULTI_SZ || type == REG_EXPAND_SZ ) result = TCHARToQString(buff); else result = TCHARToQStringN(buff, size); } RegCloseKey(key); delete [] buff; return result; }