RegQueryInfoKey()的lpcMaxValueLen值获取的不对

来源:互联网 发布:淘宝卖家退货退款流程 编辑:程序博客网 时间:2024/05/28 05:16
void ShowInfo(HKEY hKey){DWORD cSubKeys;             // number of subkeysDWORD cMaxSubKeyLen;        // longest subkey nameDWORD cMaxClassLen;         // longest class stringDWORD cValues;             // number of value entriesDWORD cMaxValueNameLen;     // longest value nameDWORD cMaxValueLen;         // longest value dataDWORD cbSecurityDescriptor;// descriptor lengthFILETIME ftLastWriteTime,ftLocalTime; // last write timeSYSTEMTIME sysTime;char szClass[32];DWORD dwClassLen=32;DWORD ret;ret=::RegQueryInfoKey(hKey,szClass,&dwClassLen,0,&cSubKeys, &cMaxSubKeyLen,&cMaxClassLen,&cValues, &cMaxValueNameLen, &cMaxValueLen,&cbSecurityDescriptor,&ftLastWriteTime);::FileTimeToLocalFileTime(&ftLastWriteTime,&ftLocalTime);::FileTimeToSystemTime(&ftLocalTime,&sysTime);printf("%u/%u/%u %u:%u:%u\n",sysTime.wYear,sysTime.wMonth,sysTime.wDay,sysTime.wHour,sysTime.wMinute,sysTime.wSecond);printf("%d,%d,%d\n",cMaxSubKeyLen,cMaxValueNameLen,cMaxValueLen);}

最近在看几个注册表的api,RegQueryInfoKey()获取的其他值都正确,就是键值的最大长度cMaxValueLen有问题,比实际的大好多,不知道怎么回事。一般是2倍多,有的很离谱是1024,求指导
原创粉丝点击