Ejemplo n.º 1
0
BOOL ATEIniFile::WriteKey(const ATEStr& szSection, const ATEStr& szKey, const INIKey& key)
{
    if(szSection.IsEmpty()) { return FALSE; }
    if(szKey.IsEmpty()) { return FALSE; }

    switch(key.type)
    {
    case KEY_DWORD:
    {
        // ATEStr szKeyValPair;
        // szKeyValPair.Format(L"%s=%u", szKey.GetHead(), key.val.dwVal);
        // BOOL bRet = WritePrivateProfileSectionW(szSection.GetHead(),
        //                                         szKeyValPair.GetHead(),
        //                                         m_szFilePath.GetHead());
        // if (!bRet) { return FALSE; }
        // return TRUE;

        //function have bugs for only one entry.
        ATEStr szKeyVal;
        szKeyVal.Format(L"%d", key.val.dwVal);
        BOOL bRet = WritePrivateProfileStringW(szSection.GetHead(),
                                               szKey.GetHead(),
                                               szKeyVal.GetHead(),
                                               m_szFilePath.GetHead());

        if (!bRet) { return FALSE; }
        return TRUE;
    }
        break;
    case KEY_STRING:
    {
        //function have bugs for only one entry.
        BOOL bRet = WritePrivateProfileStringW(szSection.GetHead(),
                                               szKey.GetHead(),
                                               key.val.szVal,
                                               m_szFilePath.GetHead());

        if (!bRet) { return FALSE; }
        return TRUE;
    }
        break;
    case KEY_STRUCT:
    {
        BOOL bRet = WritePrivateProfileStructW(szSection.GetHead(),
                                               szKey.GetHead(),
                                               (LPVOID)&(key.val.binVal[0]),
                                               key.valSize,
                                               m_szFilePath.GetHead());
        if (!bRet) { return FALSE; }
        return TRUE;
    }
        break;
    default:
        return FALSE;
        break;
    }

    return FALSE;
}
Ejemplo n.º 2
0
BOOL CIniFile::SetStruct(const wchar_t *const pwchSection,
	const wchar_t *const pwchKeyWord,
	void *const pvStruct,
	const UINT unStructSize)
{
	assert(NULL != pwchSection);
	assert(NULL != pwchKeyWord);
	assert(NULL != pvStruct);
	assert(unStructSize > 0);

	return WritePrivateProfileStructW(pwchSection, pwchKeyWord, pvStruct, unStructSize, m_wchPath);
}