Exemple #1
0
bool CRulesManager::FindRule(const USB_DK_HIDE_RULE &Rule, TFunctor Functor)
{
    for (const auto &SubKey : m_RegAccess)
    {
        try
        {
            USB_DK_HIDE_RULE ExistingRule;
            ReadRule(SubKey, ExistingRule);

            if (Rule == ExistingRule)
            {
                Functor(SubKey);
                return true;
            }
        }
        catch (const UsbDkRuleManagerException &e)
        {
            auto ErrorText = tstring(TEXT("Error while processing rule ")) +
                             SubKey + TEXT(": ") + string2tstring(e.what());
            OutputDebugString(ErrorText.c_str());
        }
    }

    return false;
}
Exemple #2
0
inline HRESULT	KAppFile::ReadRuleList(KRecord* pRecord)
{
	HRESULT hr = S_OK;
	ASSERT(pRecord->GetType() == AppRule_RuleList);

	KRecord rule = pRecord->FirstSubRecord();
	while (pRecord->IsSubRecord(rule)) 
	{
		if (!rule.Ok())
			return E_APP_FILE_UNKNOWN_FMT;

		hr = ReadRule(&rule); 

		rule = rule.NextRecord();
	} 
	return S_OK;
}