7,655
社区成员
发帖
与我相关
我的任务
分享
hChange[0] = CeFindFirstRegChange(HKEY_CLASSES_ROOT, TRUE, REG_NOTIFY_CHANGE_NAME|REG_NOTIFY_CHANGE_LAST_SET);
if (INVALID_HANDLE_VALUE == hChange[0])
{
dw_error = GetLastError();
}
hChange[1] = CeFindFirstRegChange(HKEY_CURRENT_USER, TRUE, REG_NOTIFY_CHANGE_NAME|REG_NOTIFY_CHANGE_LAST_SET);
if (INVALID_HANDLE_VALUE == hChange[1])
{
dw_error = GetLastError();
}
hChange[2] = CeFindFirstRegChange(HKEY_LOCAL_MACHINE, TRUE, REG_NOTIFY_CHANGE_NAME|REG_NOTIFY_CHANGE_LAST_SET);
if (INVALID_HANDLE_VALUE == hChange[2])
{
dw_error = GetLastError();
}
if (0 == dw_error)
{
dwRetCode = WaitForMultipleObjects(NOTIFYNUM, hChange, FALSE, INFINITE);
if (WAIT_FAILED == dwRetCode)
{
dw_error = GetLastError();
}
lRetCode = CeRegGetNotificationInfo(hChange[dwRetCode], 0, NULL, 0, NULL, &dwBytesAvailable);
if (0 == lRetCode) //call function fail.
{
dw_error = GetLastError(); //but no error, dw_error = 0;
}
}
lRetCode = RegOpenKeyEx(HKEY_CLASSES_ROOT, NULL, 0, 0, &hKey[0]);
if (ERROR_SUCCESS != lRetCode)
{
}
lRetCode = RegOpenKeyEx(HKEY_CURRENT_USER, NULL, 0, 0, &hKey[1]);
if (ERROR_SUCCESS != lRetCode)
{
}
lRetCode = RegOpenKeyEx(HKEY_LOCAL_MACHINE, NULL, 0, 0, &hKey[2]);
if (ERROR_SUCCESS != lRetCode)
{
}
for (i = 0; i < NOTIFYNUM; i++)
{
hChange[i] = CeFindFirstRegChange(hKey[i], TRUE, REG_NOTIFY_CHANGE_NAME);
if (INVALID_HANDLE_VALUE == hChange[i])
{
dw_error = GetLastError();
}
}