68 lines
2.9 KiB
C++
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;
|
|
}
|