68 lines
2.9 KiB
C++

/*********************************************************************************************
* Copyright 2003 - Volian Enterprises, Inc. All rights reserved.
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
* ------------------------------------------------------------------------------
* $Workfile: IniFileIO.cpp $ $Revision: 4 $
* $Author: Jsj $ $Date: 1/07/04 12:08p $
*
* $History: IniFileIO.cpp $
*
* ***************** Version 4 *****************
* User: Jsj Date: 1/07/04 Time: 12:08p
* Updated in $/LibSource/IniFileIO
* was not returning found strings
*
* ***************** Version 3 *****************
* User: Jsj Date: 12/16/03 Time: 11:44a
* Updated in $/LibSource/IniFileIO
* modified to all use in .net 1.0 and .net 1.1
*********************************************************************************************/
// This is the main DLL file.
#include "stdafx.h"
#include "IniFileIO.h"
using namespace IniFileIO;
String *INIFile::GetINIKeyValueStr(String *SectName, String *KeyName, String *DefaultValue, unsigned BufSize, String *IniFileName)
{
unsigned rtval;
LPCTSTR tmpSectName;
LPCTSTR tmpKeyName;
LPCTSTR tmpDefaultValue;
LPSTR tmpReturnBuff;
LPCTSTR tmpIniFileName;
ValueString = new String(NULL,BufSize+1);
tmpSectName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(SectName)));
tmpKeyName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(KeyName)));
tmpDefaultValue = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(DefaultValue)));
tmpReturnBuff = static_cast<LPSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(ValueString)));
tmpIniFileName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(IniFileName)));
rtval = GetPrivateProfileString(tmpSectName,tmpKeyName,tmpDefaultValue,tmpReturnBuff,BufSize,tmpIniFileName);
ValueString = new String(tmpReturnBuff);
return ValueString;
}
bool INIFile::WriteINIKeyValueStr(String *SectName, String *KeyName, String *KeyValue, String *IniFileName)
{
bool rtval;
LPCTSTR tmpSectName;
LPCTSTR tmpKeyName;
LPCTSTR tmpKeyValue;
LPCTSTR tmpIniFileName;
tmpSectName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(SectName)));
tmpKeyName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(KeyName)));
tmpKeyValue = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(KeyValue)));
tmpIniFileName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(IniFileName)));
rtval = WritePrivateProfileString(tmpSectName,tmpKeyName,tmpKeyValue,tmpIniFileName);
Marshal::FreeCoTaskMem(System::IntPtr((void*)tmpSectName));
Marshal::FreeCoTaskMem(System::IntPtr((void*)tmpKeyName));
Marshal::FreeCoTaskMem(System::IntPtr((void*)tmpKeyValue));
Marshal::FreeCoTaskMem(System::IntPtr((void*)tmpIniFileName));
return rtval;
}