mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 13:16:07 +00:00
[FRAMEDYN] Fix the whole situation with regards to wchar_t
Alias CHSTRING_WCHAR to unsigned short and use inline wrappers to be able to use the thing with modern compilers Put the GCC aliases into the public header. Enable build with clang-cl
This commit is contained in:
parent
a8255233f8
commit
061c7ecb1a
7 changed files with 448 additions and 302 deletions
|
@ -44,9 +44,7 @@ add_subdirectory(faultrep)
|
|||
add_subdirectory(fltlib)
|
||||
add_subdirectory(fmifs)
|
||||
add_subdirectory(fontsub)
|
||||
if(NOT USE_CLANG_CL)
|
||||
add_subdirectory(framedyn)
|
||||
endif()
|
||||
add_subdirectory(framedyn)
|
||||
add_subdirectory(fusion)
|
||||
add_subdirectory(gdiplus)
|
||||
add_subdirectory(getuname)
|
||||
|
|
|
@ -13,11 +13,3 @@ set_target_cpp_properties(framedyn WITH_EXCEPTIONS)
|
|||
set_module_type(framedyn win32dll UNICODE)
|
||||
add_importlibs(framedyn oleaut32 msvcrt kernel32 ntdll)
|
||||
add_cd_file(TARGET framedyn DESTINATION reactos/system32/wbem FOR all)
|
||||
|
||||
if(NOT MSVC)
|
||||
add_asm_files(framedynex_asm alias_gcc.s)
|
||||
add_library(framedynex ${framedynex_asm})
|
||||
set_target_properties(framedynex PROPERTIES LINKER_LANGUAGE ASM)
|
||||
else()
|
||||
target_compile_options(framedyn PRIVATE /Zc:wchar_t-)
|
||||
endif()
|
||||
|
|
|
@ -1,98 +0,0 @@
|
|||
#include <asm.inc>
|
||||
|
||||
.code
|
||||
.align 4
|
||||
|
||||
MACRO(DEFINE_ALIAS, alias, alias2, origstring)
|
||||
PUBLIC alias
|
||||
.weakref alias2, origstring
|
||||
alias:
|
||||
jmp alias2
|
||||
ENDM
|
||||
|
||||
#define DEFINE_ALIAS(alias, orig) DEFINE_ALIAS alias, __wrap_ ## alias, #orig
|
||||
|
||||
DEFINE_ALIAS(__ZN8CHString16AllocBeforeWriteEi, ?AllocBeforeWrite@CHString@@IAEXH@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString11AllocBufferEi, ?AllocBuffer@CHString@@IAEXH@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString9AllocCopyERS_iii, ?AllocCopy@CHString@@IBEXAAV1@HHH@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString14AllocSysStringEv, ?AllocSysString@CHString@@QBEPAGXZ)
|
||||
DEFINE_ALIAS(__ZN8CHString10AssignCopyEiPKw, ?AssignCopy@CHString@@IAEXHPBG@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringC1ERKS_, ??0CHString@@QAE@ABV0@@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringC1EPKc, ??0CHString@@QAE@PBD@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringC1EPKh, ??0CHString@@QAE@PBE@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringC1EPKw, ??0CHString@@QAE@PBG@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringC1EPKwi, ??0CHString@@QAE@PBGH@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringC1Ewi, ??0CHString@@QAE@GH@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringC1Ev, ??0CHString@@QAE@XZ)
|
||||
DEFINE_ALIAS(__ZN8CHStringC2Ev, ??0CHString@@QAE@XZ) // CHString::CHString(void)
|
||||
DEFINE_ALIAS(__ZNK8CHString7CollateEPKw, ?Collate@CHString@@QBEHPBG@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString7CompareEPKw, ?Compare@CHString@@QBEHPBG@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString13CompareNoCaseEPKw, ?CompareNoCase@CHString@@QBEHPBG@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString10ConcatCopyEiPKwiS1_, ?ConcatCopy@CHString@@IAEXHPBGH0@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString13ConcatInPlaceEiPKw, ?ConcatInPlace@CHString@@IAEXHPBG@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString15CopyBeforeWriteEv, ?CopyBeforeWrite@CHString@@IAEXXZ)
|
||||
DEFINE_ALIAS(__ZN8CHString5EmptyEv, ?Empty@CHString@@QAEXXZ)
|
||||
DEFINE_ALIAS(__ZNK8CHString4FindEPKw, ?Find@CHString@@QBEHPBG@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString4FindEw, ?Find@CHString@@QBEHG@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString9FindOneOfEPKw, ?FindOneOf@CHString@@QBEHPBG@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString6FormatEjz, ?Format@CHString@@QAAXIZZ)
|
||||
DEFINE_ALIAS(__ZN8CHString6FormatEPKwz, ?Format@CHString@@QAAXPBGZZ)
|
||||
DEFINE_ALIAS(__ZN8CHString14FormatMessageWEjz, ?FormatMessageW@CHString@@QAAXIZZ)
|
||||
DEFINE_ALIAS(__ZN8CHString14FormatMessageWEPKwz, ?FormatMessageW@CHString@@QAAXPBGZZ)
|
||||
DEFINE_ALIAS(__ZN8CHString7FormatVEPKwPc, ?FormatV@CHString@@QAEXPBGPAD@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString9FreeExtraEv, ?FreeExtra@CHString@@QAEXXZ)
|
||||
DEFINE_ALIAS(__ZNK8CHString14GetAllocLengthEv, ?GetAllocLength@CHString@@QBEHXZ)
|
||||
DEFINE_ALIAS(__ZNK8CHString5GetAtEi, ?GetAt@CHString@@QBEGH@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString9GetBufferEi, ?GetBuffer@CHString@@QAEPAGH@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString18GetBufferSetLengthEi, ?GetBufferSetLength@CHString@@QAEPAGH@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString7GetDataEv, ?GetData@CHString@@IBEPAUCHStringData@@XZ)
|
||||
DEFINE_ALIAS(__ZNK8CHString9GetLengthEv, ?GetLength@CHString@@QBEHXZ)
|
||||
DEFINE_ALIAS(__ZN8CHString4InitEv, ?Init@CHString@@IAEXXZ)
|
||||
DEFINE_ALIAS(__ZNK8CHString7IsEmptyEv, ?IsEmpty@CHString@@QBEHXZ)
|
||||
DEFINE_ALIAS(__ZNK8CHString4LeftEi, ?Left@CHString@@QBE?AV1@H@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString11LoadStringWEj, ?LoadStringW@CHString@@QAEHI@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString11LoadStringWEjPwj, ?LoadStringW@CHString@@IAEHIPAGI@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString10LockBufferEv, ?LockBuffer@CHString@@QAEPAGXZ)
|
||||
DEFINE_ALIAS(__ZN8CHString9MakeLowerEv, ?MakeLower@CHString@@QAEXXZ)
|
||||
DEFINE_ALIAS(__ZN8CHString11MakeReverseEv, ?MakeReverse@CHString@@QAEXXZ)
|
||||
DEFINE_ALIAS(__ZN8CHString9MakeUpperEv, ?MakeUpper@CHString@@QAEXXZ)
|
||||
DEFINE_ALIAS(__ZNK8CHString3MidEi, ?Mid@CHString@@QBE?AV1@H@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString3MidEii, ?Mid@CHString@@QBE?AV1@HH@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString7ReleaseEP12CHStringData@4, ?Release@CHString@@KGXPAUCHStringData@@@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString7ReleaseEv, ?Release@CHString@@IAEXXZ)
|
||||
DEFINE_ALIAS(__ZN8CHString13ReleaseBufferEi, ?ReleaseBuffer@CHString@@QAEXH@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString11ReverseFindEw, ?ReverseFind@CHString@@QBEHG@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString5RightEi, ?Right@CHString@@QBE?AV1@H@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString10SafeStrlenEPKw@4, ?SafeStrlen@CHString@@KGHPBG@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString5SetAtEiw, ?SetAt@CHString@@QAEXHG@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString13SpanExcludingEPKw, ?SpanExcluding@CHString@@QBE?AV1@PBG@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHString13SpanIncludingEPKw, ?SpanIncluding@CHString@@QBE?AV1@PBG@Z)
|
||||
DEFINE_ALIAS(__ZN8CHString8TrimLeftEv, ?TrimLeft@CHString@@QAEXXZ)
|
||||
DEFINE_ALIAS(__ZN8CHString9TrimRightEv, ?TrimRight@CHString@@QAEXXZ)
|
||||
DEFINE_ALIAS(__ZN8CHString12UnlockBufferEv, ?UnlockBuffer@CHString@@QAEXXZ)
|
||||
DEFINE_ALIAS(__ZNK8CHStringcvPKwEv, ??BCHString@@QBEPBGXZ)
|
||||
DEFINE_ALIAS(__ZN8CHStringpLERKS_, ??YCHString@@QAEABV0@ABV0@@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringpLEc, ??YCHString@@QAEABV0@D@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringpLEPKw, ??YCHString@@QAEABV0@PBG@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringpLEw, ??YCHString@@QAEABV0@G@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringaSEPS_, ??4CHString@@QAEABV0@PAV0@@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringaSERKS_, ??4CHString@@QAEABV0@ABV0@@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringaSEPKc, ??4CHString@@QAEABV0@PBD@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringaSEc, ??4CHString@@QAEABV0@D@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringaSEPKh, ??4CHString@@QAEABV0@PBE@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringaSEPKw, ??4CHString@@QAEABV0@PBG@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringaSEw, ??4CHString@@QAEABV0@G@Z)
|
||||
DEFINE_ALIAS(__ZNK8CHStringixEi, ??ACHString@@QBEGH@Z)
|
||||
DEFINE_ALIAS(__ZN8CHStringD1Ev, ??1CHString@@QAE@XZ) // CHString::~CHString() complete object destructor
|
||||
DEFINE_ALIAS(__ZN8CHStringD2Ev, ??1CHString@@QAE@XZ) // CHString::~CHString() base object destructor
|
||||
DEFINE_ALIAS(__ZplwRK8CHString, ??H@YG?AVCHString@@GABV0@@Z)
|
||||
DEFINE_ALIAS(__ZplRK8CHStringw, ??H@YG?AVCHString@@ABV0@G@Z)
|
||||
DEFINE_ALIAS(__ZplRK8CHStringPKw, ??H@YG?AVCHString@@ABV0@PBG@Z)
|
||||
DEFINE_ALIAS(__ZplPKwRK8CHString, ??H@YG?AVCHString@@PBGABV0@@Z)
|
||||
DEFINE_ALIAS(__ZplRK8CHStringS1_, ??H@YG?AVCHString@@ABV0@0@Z)
|
||||
DEFINE_ALIAS(__ZN8Provider5FlushEv, ?Flush@Provider@@MAEXXZ)
|
||||
DEFINE_ALIAS(__ZN8Provider21ValidateDeletionFlagsEl, ?ValidateDeletionFlags@Provider@@MAEJJ@Z)
|
||||
DEFINE_ALIAS(__ZN8Provider19ValidateMethodFlagsEl, ?ValidateMethodFlags@Provider@@MAEJJ@Z)
|
||||
DEFINE_ALIAS(__ZN8Provider18ValidateQueryFlagsEl, ?ValidateQueryFlags@Provider@@MAEJJ@Z)
|
||||
|
||||
END
|
|
@ -34,7 +34,7 @@
|
|||
// This is unsafe. This string show be LPCWSTR
|
||||
// However we have to assign it to LPWSTR var. So, let's ignore about const,
|
||||
// as MS does. Normally we check in our code that we don't overwrite this string.
|
||||
LPWSTR afxPchNil = (LPWSTR)L"\0";
|
||||
CHSTRING_WCHAR afxPchNil[1] = {0};
|
||||
// This is the data that are matching the null string upper
|
||||
CHStringData afxNullData = {0, 0, 0};
|
||||
// Exception we may throw in case of allocation failure
|
||||
|
@ -107,7 +107,7 @@ CHString::CHString()
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
CHString::CHString(WCHAR ch, int nRepeat)
|
||||
CHString::CHString(CHSTRING_WCHAR ch, int nRepeat)
|
||||
{
|
||||
// Allow null initialize, in case something goes wrong
|
||||
m_pchData = afxPchNil;
|
||||
|
@ -131,7 +131,7 @@ CHString::CHString(WCHAR ch, int nRepeat)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
CHString::CHString(LPCWSTR lpsz)
|
||||
CHString::CHString(CHSTRING_LPCWSTR lpsz)
|
||||
{
|
||||
// Allow null initialize, in case something goes wrong
|
||||
m_pchData = afxPchNil;
|
||||
|
@ -146,7 +146,9 @@ CHString::CHString(LPCWSTR lpsz)
|
|||
if (Len)
|
||||
{
|
||||
AllocBuffer(Len);
|
||||
wcsncpy(m_pchData, lpsz, Len);
|
||||
wcsncpy(reinterpret_cast<LPWSTR>(m_pchData),
|
||||
reinterpret_cast<LPCWSTR>(lpsz),
|
||||
Len);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -154,7 +156,7 @@ CHString::CHString(LPCWSTR lpsz)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
CHString::CHString(LPCWSTR lpch, int nLength)
|
||||
CHString::CHString(CHSTRING_LPCWSTR lpch, int nLength)
|
||||
{
|
||||
// Allow null initialize, in case something goes wrong
|
||||
m_pchData = afxPchNil;
|
||||
|
@ -164,7 +166,9 @@ CHString::CHString(LPCWSTR lpch, int nLength)
|
|||
{
|
||||
// Just copy the string
|
||||
AllocBuffer(nLength);
|
||||
wcsncpy(m_pchData, lpch, nLength);
|
||||
wcsncpy(reinterpret_cast<LPWSTR>(m_pchData),
|
||||
reinterpret_cast<LPCWSTR>(lpch),
|
||||
nLength);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -185,7 +189,7 @@ CHString::CHString(LPCSTR lpsz)
|
|||
{
|
||||
// Allocate and convert the string
|
||||
AllocBuffer(Len);
|
||||
mbstowcsz(m_pchData, lpsz, Len + 1);
|
||||
mbstowcsz(reinterpret_cast<LPWSTR>(m_pchData), lpsz, Len + 1);
|
||||
// Releasing buffer here is to allow to
|
||||
// update the buffer size. We notify we're
|
||||
// done with changing the string: recompute its
|
||||
|
@ -348,30 +352,32 @@ void CHString::AllocCopy(CHString& dest, int nCopyLen, int nCopyIndex, int nExtr
|
|||
// copying data from another. This is needed by Left/Mid/Right
|
||||
dest.AllocBuffer(nCopyLen + nExtraLen);
|
||||
// And copy our stuff in
|
||||
wcsncpy(dest.m_pchData, m_pchData + nCopyIndex, nCopyLen);
|
||||
wcsncpy(reinterpret_cast<LPWSTR>(dest.m_pchData),
|
||||
reinterpret_cast<LPWSTR>(m_pchData + nCopyIndex),
|
||||
nCopyLen);
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
BSTR CHString::AllocSysString() const
|
||||
CHSTRING_LPWSTR CHString::AllocSysString() const
|
||||
{
|
||||
BSTR SysString;
|
||||
|
||||
// Just allocate the string
|
||||
SysString = SysAllocStringLen(m_pchData, GetData()->nDataLength);
|
||||
SysString = SysAllocStringLen(reinterpret_cast<LPWSTR>(m_pchData), GetData()->nDataLength);
|
||||
if (!SysString)
|
||||
{
|
||||
throw HeapException;
|
||||
}
|
||||
|
||||
return SysString;
|
||||
return reinterpret_cast<CHSTRING_LPWSTR>(SysString);
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
void CHString::AssignCopy(int nSrcLen, LPCWSTR lpszSrcData)
|
||||
void CHString::AssignCopy(int nSrcLen, CHSTRING_LPCWSTR lpszSrcData)
|
||||
{
|
||||
// Don't allow negative len
|
||||
if (nSrcLen < 0)
|
||||
|
@ -389,7 +395,8 @@ void CHString::AssignCopy(int nSrcLen, LPCWSTR lpszSrcData)
|
|||
}
|
||||
|
||||
// Just copy, write down new size, and ensure it's null terminated
|
||||
wcsncpy(m_pchData, lpszSrcData, nSrcLen);
|
||||
wcsncpy(reinterpret_cast<LPWSTR>(m_pchData),
|
||||
reinterpret_cast<LPCWSTR>(lpszSrcData), nSrcLen);
|
||||
GetData()->nDataLength = nSrcLen;
|
||||
m_pchData[nSrcLen] = 0;
|
||||
}
|
||||
|
@ -397,37 +404,37 @@ void CHString::AssignCopy(int nSrcLen, LPCWSTR lpszSrcData)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
int CHString::Collate(LPCWSTR lpsz) const
|
||||
int CHString::Collate(CHSTRING_LPCWSTR lpsz) const
|
||||
{
|
||||
// Just call the deprecated function here - no matter we are null terminated
|
||||
// Did you read my statement about how safe is this implementation?
|
||||
return wcscoll(m_pchData, lpsz);
|
||||
return wcscoll(reinterpret_cast<LPCWSTR>(m_pchData), reinterpret_cast<LPCWSTR>(lpsz));
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
int CHString::Compare(LPCWSTR lpsz) const
|
||||
int CHString::Compare(CHSTRING_LPCWSTR lpsz) const
|
||||
{
|
||||
// Just call the deprecated function here - no matter we are null terminated
|
||||
// Did you read my statement about how safe is this implementation?
|
||||
return wcscmp(m_pchData, lpsz);
|
||||
return wcscmp(reinterpret_cast<LPCWSTR>(m_pchData), reinterpret_cast<LPCWSTR>(lpsz));
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
int CHString::CompareNoCase(LPCWSTR lpsz) const
|
||||
int CHString::CompareNoCase(CHSTRING_LPCWSTR lpsz) const
|
||||
{
|
||||
// Just call the deprecated function here - no matter we are null terminated
|
||||
// Did you read my statement about how safe is this implementation?
|
||||
return wcsicmp(m_pchData, lpsz);
|
||||
return wcsicmp(reinterpret_cast<LPCWSTR>(m_pchData), reinterpret_cast<LPCWSTR>(lpsz));
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
void CHString::ConcatInPlace(int nSrcLen, LPCWSTR lpszSrcData)
|
||||
void CHString::ConcatInPlace(int nSrcLen, CHSTRING_LPCWSTR lpszSrcData)
|
||||
{
|
||||
// With null length, there's not that much to concat...
|
||||
if (nSrcLen == 0)
|
||||
|
@ -467,7 +474,9 @@ void CHString::ConcatInPlace(int nSrcLen, LPCWSTR lpszSrcData)
|
|||
}
|
||||
|
||||
// Then, just copy and null terminate
|
||||
wcsncpy(m_pchData + GetData()->nDataLength, lpszSrcData, nSrcLen);
|
||||
wcsncpy(reinterpret_cast<LPWSTR>(m_pchData + GetData()->nDataLength),
|
||||
reinterpret_cast<LPCWSTR>(lpszSrcData),
|
||||
nSrcLen);
|
||||
GetData()->nDataLength += nSrcLen;
|
||||
m_pchData[GetData()->nDataLength] = 0;
|
||||
}
|
||||
|
@ -476,7 +485,9 @@ void CHString::ConcatInPlace(int nSrcLen, LPCWSTR lpszSrcData)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
void CHString::ConcatCopy(int nSrc1Len, LPCWSTR lpszSrc1Data, int nSrc2Len, LPCWSTR lpszSrc2Data)
|
||||
void CHString::ConcatCopy(
|
||||
int nSrc1Len, CHSTRING_LPCWSTR lpszSrc1Data,
|
||||
int nSrc2Len, CHSTRING_LPCWSTR lpszSrc2Data)
|
||||
{
|
||||
int TotalLen;
|
||||
|
||||
|
@ -495,8 +506,12 @@ void CHString::ConcatCopy(int nSrc1Len, LPCWSTR lpszSrc1Data, int nSrc2Len, LPCW
|
|||
// Otherwise, allocate a new buffer to hold everything (caller will release previous buffer)
|
||||
AllocBuffer(TotalLen);
|
||||
// And concat stuff
|
||||
wcsncpy(m_pchData, lpszSrc1Data, nSrc1Len);
|
||||
wcsncpy(m_pchData + nSrc1Len, lpszSrc2Data, nSrc2Len);
|
||||
wcsncpy(reinterpret_cast<LPWSTR>(m_pchData),
|
||||
reinterpret_cast<LPCWSTR>(lpszSrc1Data),
|
||||
nSrc1Len);
|
||||
wcsncpy(reinterpret_cast<LPWSTR>(m_pchData + nSrc1Len),
|
||||
reinterpret_cast<LPCWSTR>(lpszSrc2Data),
|
||||
nSrc2Len);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -521,7 +536,9 @@ void CHString::CopyBeforeWrite()
|
|||
Release();
|
||||
// Alloc new buffer and copy old data in it
|
||||
AllocBuffer(Data->nDataLength);
|
||||
wcsncpy(m_pchData, Data->data(), Data->nDataLength);
|
||||
wcsncpy(reinterpret_cast<LPWSTR>(m_pchData),
|
||||
reinterpret_cast<LPCWSTR>(Data->data()),
|
||||
Data->nDataLength);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -552,12 +569,12 @@ void CHString::Empty()
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
int CHString::Find(WCHAR ch) const
|
||||
int CHString::Find(CHSTRING_WCHAR ch) const
|
||||
{
|
||||
WCHAR *Found;
|
||||
CHSTRING_LPCWSTR Found;
|
||||
|
||||
// Let's use appropriate helper
|
||||
Found = wcschr(m_pchData, ch);
|
||||
Found = reinterpret_cast<CHSTRING_LPCWSTR>(wcschr(reinterpret_cast<LPCWSTR>(m_pchData), ch));
|
||||
// We have to return a position, so compute it
|
||||
if (Found)
|
||||
{
|
||||
|
@ -571,12 +588,12 @@ int CHString::Find(WCHAR ch) const
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
int CHString::Find(LPCWSTR lpszSub) const
|
||||
int CHString::Find(CHSTRING_LPCWSTR lpszSub) const
|
||||
{
|
||||
WCHAR *Found;
|
||||
CHSTRING_LPCWSTR Found;
|
||||
|
||||
// Let's use appropriate helper
|
||||
Found = wcsstr(m_pchData, lpszSub);
|
||||
Found = reinterpret_cast<CHSTRING_LPCWSTR>(wcsstr(reinterpret_cast<LPCWSTR>(m_pchData), reinterpret_cast<LPCWSTR>(lpszSub)));
|
||||
// We have to return a position, so compute it
|
||||
if (Found)
|
||||
{
|
||||
|
@ -590,12 +607,12 @@ int CHString::Find(LPCWSTR lpszSub) const
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
int CHString::FindOneOf(LPCWSTR lpszCharSet) const
|
||||
int CHString::FindOneOf(CHSTRING_LPCWSTR lpszCharSet) const
|
||||
{
|
||||
WCHAR *Found;
|
||||
CHSTRING_LPCWSTR Found;
|
||||
|
||||
// Let's use appropriate helper
|
||||
Found = wcspbrk(m_pchData, lpszCharSet);
|
||||
Found = reinterpret_cast<CHSTRING_LPCWSTR>(wcspbrk(reinterpret_cast<LPCWSTR>(m_pchData), reinterpret_cast<LPCWSTR>(lpszCharSet)));
|
||||
// We have to return a position, so compute it
|
||||
if (Found)
|
||||
{
|
||||
|
@ -618,7 +635,7 @@ void CHString::Format(UINT nFormatID, ...)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
void CHString::Format(LPCWSTR lpszFormat, ...)
|
||||
void CHString::Format(CHSTRING_LPCWSTR lpszFormat, ...)
|
||||
{
|
||||
// Forward to FormatV
|
||||
va_list ArgsList;
|
||||
|
@ -640,7 +657,7 @@ void CHString::FormatMessageW(UINT nFormatID, ...)
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
void CHString::FormatMessageW(LPCWSTR lpszFormat, ...)
|
||||
void CHString::FormatMessageW(CHSTRING_LPCWSTR lpszFormat, ...)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
@ -648,7 +665,7 @@ void CHString::FormatMessageW(LPCWSTR lpszFormat, ...)
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
void CHString::FormatV(LPCWSTR lpszFormat, va_list argList)
|
||||
void CHString::FormatV(CHSTRING_LPCWSTR lpszFormat, va_list argList)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
@ -671,7 +688,7 @@ void CHString::FreeExtra()
|
|||
// Allocate a new one, at the right size (with no place for \0 :-))
|
||||
AllocBuffer(GetData()->nDataLength);
|
||||
// Copy old and release it
|
||||
wcsncpy(m_pchData, OldData->data(), OldData->nDataLength);
|
||||
wcsncpy(reinterpret_cast<LPWSTR>(m_pchData), reinterpret_cast<LPCWSTR>(OldData->data()), OldData->nDataLength);
|
||||
Release(OldData);
|
||||
}
|
||||
|
||||
|
@ -686,7 +703,7 @@ int CHString::GetAllocLength() const
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
WCHAR CHString::GetAt(int nIndex) const
|
||||
CHSTRING_WCHAR CHString::GetAt(int nIndex) const
|
||||
{
|
||||
// It's up to you to check the index!
|
||||
return m_pchData[nIndex];
|
||||
|
@ -695,9 +712,9 @@ WCHAR CHString::GetAt(int nIndex) const
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
LPWSTR CHString::GetBuffer(int nMinBufLength)
|
||||
CHSTRING_LPWSTR CHString::GetBuffer(int nMinBufLength)
|
||||
{
|
||||
LPWSTR OldBuffer = m_pchData;
|
||||
CHSTRING_LPWSTR OldBuffer = m_pchData;
|
||||
|
||||
// We'll have to allocate a new buffer if it's not big enough
|
||||
// or if it's shared by several strings
|
||||
|
@ -715,7 +732,7 @@ LPWSTR CHString::GetBuffer(int nMinBufLength)
|
|||
// Allocate new buffer
|
||||
AllocBuffer(nMinBufLength);
|
||||
// Copy contents
|
||||
wcsncpy(m_pchData, OldBuffer, OldLen);
|
||||
wcsncpy(reinterpret_cast<LPWSTR>(m_pchData), reinterpret_cast<LPCWSTR>(OldBuffer), OldLen);
|
||||
GetData()->nDataLength = OldLen;
|
||||
|
||||
// Release old
|
||||
|
@ -730,7 +747,7 @@ LPWSTR CHString::GetBuffer(int nMinBufLength)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
LPWSTR CHString::GetBufferSetLength(int nNewLength)
|
||||
CHSTRING_LPWSTR CHString::GetBufferSetLength(int nNewLength)
|
||||
{
|
||||
// Get a buffer big enough
|
||||
// We don't care about the return, it will be set in the string
|
||||
|
@ -813,7 +830,7 @@ int CHString::LoadStringW(UINT nID)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
int CHString::LoadStringW(UINT nID, LPWSTR lpszBuf, UINT nMaxBuf)
|
||||
int CHString::LoadStringW(UINT nID, CHSTRING_LPWSTR lpszBuf, UINT nMaxBuf)
|
||||
{
|
||||
// Deprecated and not implemented any longer - well, this is its implementation
|
||||
return 0;
|
||||
|
@ -822,9 +839,9 @@ int CHString::LoadStringW(UINT nID, LPWSTR lpszBuf, UINT nMaxBuf)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
LPWSTR CHString::LockBuffer()
|
||||
CHSTRING_LPWSTR CHString::LockBuffer()
|
||||
{
|
||||
LPWSTR LockedBuffer;
|
||||
CHSTRING_LPWSTR LockedBuffer;
|
||||
|
||||
// The purpose here is basically to set the nRefs to max int
|
||||
LockedBuffer = GetBuffer(0);
|
||||
|
@ -842,7 +859,7 @@ void CHString::MakeLower()
|
|||
CopyBeforeWrite();
|
||||
|
||||
// Let's use appropriate helper
|
||||
_wcslwr(m_pchData);
|
||||
_wcslwr(reinterpret_cast<LPWSTR>(m_pchData));
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -854,7 +871,7 @@ void CHString::MakeReverse()
|
|||
CopyBeforeWrite();
|
||||
|
||||
// Let's use appropriate helper
|
||||
_wcsrev(m_pchData);
|
||||
_wcsrev(reinterpret_cast<LPWSTR>(m_pchData));
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -866,7 +883,7 @@ void CHString::MakeUpper()
|
|||
CopyBeforeWrite();
|
||||
|
||||
// Let's use appropriate helper
|
||||
_wcsupr(m_pchData);
|
||||
_wcsupr(reinterpret_cast<LPWSTR>(m_pchData));
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -968,7 +985,7 @@ void CHString::ReleaseBuffer(int nNewLength)
|
|||
// If no len provided, get one
|
||||
if (nNewLength == -1)
|
||||
{
|
||||
nNewLength = (int)wcslen(m_pchData);
|
||||
nNewLength = (int)wcslen(reinterpret_cast<LPCWSTR>(m_pchData));
|
||||
}
|
||||
|
||||
// Set appropriate size and null-terminate
|
||||
|
@ -980,12 +997,12 @@ void CHString::ReleaseBuffer(int nNewLength)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
int CHString::ReverseFind(WCHAR ch) const
|
||||
int CHString::ReverseFind(CHSTRING_WCHAR ch) const
|
||||
{
|
||||
WCHAR *Last;
|
||||
CHSTRING_WCHAR *Last;
|
||||
|
||||
// Let's use appropriate helper
|
||||
Last = wcsrchr(m_pchData, ch);
|
||||
Last = reinterpret_cast<CHSTRING_WCHAR*>(wcsrchr(reinterpret_cast<LPCWSTR>(m_pchData), ch));
|
||||
// We have to return a position, so compute it
|
||||
if (Last)
|
||||
{
|
||||
|
@ -1020,7 +1037,7 @@ CHString CHString::Right(int nCount) const
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
int CHString::SafeStrlen(LPCWSTR lpsz)
|
||||
int CHString::SafeStrlen(CHSTRING_LPCWSTR lpsz)
|
||||
{
|
||||
// Check we have a string and then get its length
|
||||
if (lpsz == 0)
|
||||
|
@ -1031,13 +1048,13 @@ int CHString::SafeStrlen(LPCWSTR lpsz)
|
|||
// Of course, it's not safe at all in case string is not null-terminated.
|
||||
// Things that may happen given strings are not to be null-terminated
|
||||
// in this class...
|
||||
return (int)wcslen(lpsz);
|
||||
return (int)wcslen(reinterpret_cast<LPCWSTR>(lpsz));
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
void CHString::SetAt(int nIndex, WCHAR ch)
|
||||
void CHString::SetAt(int nIndex, CHSTRING_WCHAR ch)
|
||||
{
|
||||
CopyBeforeWrite();
|
||||
|
||||
|
@ -1047,24 +1064,24 @@ void CHString::SetAt(int nIndex, WCHAR ch)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
CHString CHString::SpanExcluding(LPCWSTR lpszCharSet) const
|
||||
CHString CHString::SpanExcluding(CHSTRING_LPCWSTR lpszCharSet) const
|
||||
{
|
||||
int Count;
|
||||
|
||||
// Get position and then, extract
|
||||
Count = (int)wcscspn(m_pchData, lpszCharSet);
|
||||
Count = (int)wcscspn(reinterpret_cast<LPCWSTR>(m_pchData), reinterpret_cast<LPCWSTR>(lpszCharSet));
|
||||
return Left(Count);
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
CHString CHString::SpanIncluding(LPCWSTR lpszCharSet) const
|
||||
CHString CHString::SpanIncluding(CHSTRING_LPCWSTR lpszCharSet) const
|
||||
{
|
||||
int Count;
|
||||
|
||||
// Get position and then, extract
|
||||
Count = (int)wcsspn(m_pchData, lpszCharSet);
|
||||
Count = (int)wcsspn(reinterpret_cast<LPCWSTR>(m_pchData), reinterpret_cast<LPCWSTR>(lpszCharSet));
|
||||
return Left(Count);
|
||||
}
|
||||
|
||||
|
@ -1075,7 +1092,7 @@ void CHString::TrimLeft()
|
|||
{
|
||||
int NewBegin;
|
||||
int NewLength;
|
||||
WCHAR *CurrentChar;
|
||||
CHSTRING_WCHAR *CurrentChar;
|
||||
|
||||
// We'll modify, so copy first
|
||||
CopyBeforeWrite();
|
||||
|
@ -1097,7 +1114,7 @@ void CHString::TrimLeft()
|
|||
// And move memory
|
||||
NewBegin = (CurrentChar - m_pchData);
|
||||
NewLength = GetData()->nDataLength - NewBegin;
|
||||
memmove(m_pchData, CurrentChar, NewLength * sizeof(WCHAR));
|
||||
memmove(m_pchData, CurrentChar, NewLength * sizeof(CHSTRING_WCHAR));
|
||||
GetData()->nDataLength = NewLength;
|
||||
}
|
||||
|
||||
|
@ -1106,8 +1123,8 @@ void CHString::TrimLeft()
|
|||
*/
|
||||
void CHString::TrimRight()
|
||||
{
|
||||
WCHAR *CurrentChar;
|
||||
WCHAR *CanBeEaten;
|
||||
CHSTRING_WCHAR *CurrentChar;
|
||||
CHSTRING_WCHAR *CanBeEaten;
|
||||
|
||||
// We'll modify, so copy first
|
||||
CopyBeforeWrite();
|
||||
|
@ -1167,14 +1184,14 @@ void CHString::UnlockBuffer()
|
|||
*/
|
||||
const CHString& CHString::operator=(char ch)
|
||||
{
|
||||
*this = (WCHAR)ch;
|
||||
*this = (CHSTRING_WCHAR)ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
const CHString& CHString::operator=(WCHAR ch)
|
||||
const CHString& CHString::operator=(CHSTRING_WCHAR ch)
|
||||
{
|
||||
AssignCopy(1, &ch);
|
||||
return *this;
|
||||
|
@ -1215,7 +1232,7 @@ const CHString& CHString::operator=(LPCSTR lpsz)
|
|||
}
|
||||
|
||||
// Convert and copy
|
||||
mbstowcsz(m_pchData, lpsz, Len + 1);
|
||||
mbstowcsz(reinterpret_cast<LPWSTR>(m_pchData), lpsz, Len + 1);
|
||||
// Get new size and so on
|
||||
ReleaseBuffer();
|
||||
|
||||
|
@ -1225,7 +1242,7 @@ const CHString& CHString::operator=(LPCSTR lpsz)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
const CHString& CHString::operator=(LPCWSTR lpsz)
|
||||
const CHString& CHString::operator=(CHSTRING_LPCWSTR lpsz)
|
||||
{
|
||||
int Len;
|
||||
|
||||
|
@ -1279,14 +1296,14 @@ const CHString& CHString::operator=(const unsigned char* lpsz)
|
|||
*/
|
||||
const CHString& CHString::operator+=(char ch)
|
||||
{
|
||||
*this += (WCHAR)ch;
|
||||
*this += (CHSTRING_WCHAR)ch;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
const CHString& CHString::operator+=(WCHAR ch)
|
||||
const CHString& CHString::operator+=(CHSTRING_WCHAR ch)
|
||||
{
|
||||
ConcatInPlace(1, &ch);
|
||||
return *this;
|
||||
|
@ -1295,7 +1312,7 @@ const CHString& CHString::operator+=(WCHAR ch)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
const CHString& CHString::operator+=(LPCWSTR lpsz)
|
||||
const CHString& CHString::operator+=(CHSTRING_LPCWSTR lpsz)
|
||||
{
|
||||
int Len;
|
||||
|
||||
|
@ -1318,7 +1335,7 @@ const CHString& CHString::operator+=(const CHString& string)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
WCHAR CHString::operator[](int nIndex) const
|
||||
CHSTRING_WCHAR CHString::operator[](int nIndex) const
|
||||
{
|
||||
return m_pchData[nIndex];
|
||||
}
|
||||
|
@ -1326,7 +1343,7 @@ WCHAR CHString::operator[](int nIndex) const
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
CHString::operator LPCWSTR() const
|
||||
CHString::operator CHSTRING_LPCWSTR() const
|
||||
{
|
||||
return m_pchData;
|
||||
}
|
||||
|
@ -1334,7 +1351,7 @@ CHString::operator LPCWSTR() const
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
CHString WINAPI operator+(WCHAR ch, const CHString& string)
|
||||
CHString WINAPI operator+(CHSTRING_WCHAR ch, const CHString& string)
|
||||
{
|
||||
CHString NewString;
|
||||
|
||||
|
@ -1347,7 +1364,7 @@ CHString WINAPI operator+(WCHAR ch, const CHString& string)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
CHString WINAPI operator+(const CHString& string, WCHAR ch)
|
||||
CHString WINAPI operator+(const CHString& string, CHSTRING_WCHAR ch)
|
||||
{
|
||||
CHString NewString;
|
||||
|
||||
|
@ -1360,7 +1377,7 @@ CHString WINAPI operator+(const CHString& string, WCHAR ch)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
CHString WINAPI operator+(const CHString& string, LPCWSTR lpsz)
|
||||
CHString WINAPI operator+(const CHString& string, CHSTRING_LPCWSTR lpsz)
|
||||
{
|
||||
int Len;
|
||||
CHString NewString;
|
||||
|
@ -1376,7 +1393,7 @@ CHString WINAPI operator+(const CHString& string, LPCWSTR lpsz)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
CHString WINAPI operator+(LPCWSTR lpsz, const CHString& string)
|
||||
CHString WINAPI operator+(CHSTRING_LPCWSTR lpsz, const CHString& string)
|
||||
{
|
||||
int Len;
|
||||
CHString NewString;
|
||||
|
|
|
@ -4,29 +4,29 @@
|
|||
@ thiscall -arch=i386 ?AllocBuffer@CHString@@IAEXH@Z(long) _ZN8CHString11AllocBufferEi # protected: void __thiscall CHString::AllocBuffer(int)
|
||||
@ thiscall -arch=i386 ?AllocCopy@CHString@@IBEXAAV1@HHH@Z(ptr long long long) _ZNK8CHString9AllocCopyERS_iii # protected: void __thiscall CHString::AllocCopy(class CHString &,int,int,int)const
|
||||
@ thiscall -arch=i386 ?AllocSysString@CHString@@QBEPAGXZ() _ZNK8CHString14AllocSysStringEv
|
||||
@ thiscall -arch=i386 ?AssignCopy@CHString@@IAEXHPBG@Z(long wstr) _ZN8CHString10AssignCopyEiPKw
|
||||
@ thiscall -arch=i386 ?AssignCopy@CHString@@IAEXHPBG@Z(long wstr) _ZN8CHString10AssignCopyEiPKt
|
||||
@ thiscall -arch=i386 ??0CHString@@QAE@ABV0@@Z(ptr) _ZN8CHStringC1ERKS_
|
||||
@ thiscall -arch=i386 ??0CHString@@QAE@PBD@Z(str) _ZN8CHStringC1EPKc
|
||||
@ thiscall -arch=i386 ??0CHString@@QAE@PBE@Z(str) _ZN8CHStringC1EPKh
|
||||
@ thiscall -arch=i386 ??0CHString@@QAE@PBG@Z(wstr) _ZN8CHStringC1EPKw
|
||||
@ thiscall -arch=i386 ??0CHString@@QAE@PBGH@Z(wstr long) _ZN8CHStringC1EPKwi
|
||||
@ thiscall -arch=i386 ??0CHString@@QAE@GH@Z(long long) _ZN8CHStringC1Ewi
|
||||
@ thiscall -arch=i386 ??0CHString@@QAE@PBG@Z(wstr) _ZN8CHStringC1EPKt
|
||||
@ thiscall -arch=i386 ??0CHString@@QAE@PBGH@Z(wstr long) _ZN8CHStringC1EPKti
|
||||
@ thiscall -arch=i386 ??0CHString@@QAE@GH@Z(long long) _ZN8CHStringC1Eti
|
||||
@ thiscall -arch=i386 ??0CHString@@QAE@XZ() _ZN8CHStringC1Ev # public: __thiscall CHString::CHString(void)
|
||||
@ thiscall -arch=i386 ?Collate@CHString@@QBEHPBG@Z(wstr) _ZNK8CHString7CollateEPKw # public: int __thiscall CHString::Collate(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?Compare@CHString@@QBEHPBG@Z(wstr) _ZNK8CHString7CompareEPKw # public: int __thiscall CHString::Compare(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?CompareNoCase@CHString@@QBEHPBG@Z(wstr) _ZNK8CHString13CompareNoCaseEPKw # public: int __thiscall CHString::CompareNoCase(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?ConcatCopy@CHString@@IAEXHPBGH0@Z(long wstr long wstr) _ZN8CHString10ConcatCopyEiPKwiS1_ # protected: void __thiscall CHString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)
|
||||
@ thiscall -arch=i386 ?ConcatInPlace@CHString@@IAEXHPBG@Z(long wstr) _ZN8CHString13ConcatInPlaceEiPKw # protected: void __thiscall CHString::ConcatInPlace(int,unsigned short const *)
|
||||
@ thiscall -arch=i386 ?Collate@CHString@@QBEHPBG@Z(wstr) _ZNK8CHString7CollateEPKt # public: int __thiscall CHString::Collate(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?Compare@CHString@@QBEHPBG@Z(wstr) _ZNK8CHString7CompareEPKt # public: int __thiscall CHString::Compare(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?CompareNoCase@CHString@@QBEHPBG@Z(wstr) _ZNK8CHString13CompareNoCaseEPKt # public: int __thiscall CHString::CompareNoCase(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?ConcatCopy@CHString@@IAEXHPBGH0@Z(long wstr long wstr) _ZN8CHString10ConcatCopyEiPKtiS1_ # protected: void __thiscall CHString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)
|
||||
@ thiscall -arch=i386 ?ConcatInPlace@CHString@@IAEXHPBG@Z(long wstr) _ZN8CHString13ConcatInPlaceEiPKt # protected: void __thiscall CHString::ConcatInPlace(int,unsigned short const *)
|
||||
@ thiscall -arch=i386 ?CopyBeforeWrite@CHString@@IAEXXZ() _ZN8CHString15CopyBeforeWriteEv # protected: void __thiscall CHString::CopyBeforeWrite(void)
|
||||
@ thiscall -arch=i386 ?Empty@CHString@@QAEXXZ() _ZN8CHString5EmptyEv # public: void __thiscall CHString::Empty(void)
|
||||
@ thiscall -arch=i386 ?Find@CHString@@QBEHPBG@Z(wstr) _ZNK8CHString4FindEPKw # public: int __thiscall CHString::Find(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?Find@CHString@@QBEHG@Z(long) _ZNK8CHString4FindEw # public: int __thiscall CHString::Find(unsigned short)const
|
||||
@ thiscall -arch=i386 ?FindOneOf@CHString@@QBEHPBG@Z(wstr) _ZNK8CHString9FindOneOfEPKw # public: int __thiscall CHString::FindOneOf(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?Find@CHString@@QBEHPBG@Z(wstr) _ZNK8CHString4FindEPKt # public: int __thiscall CHString::Find(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?Find@CHString@@QBEHG@Z(long) _ZNK8CHString4FindEt # public: int __thiscall CHString::Find(unsigned short)const
|
||||
@ thiscall -arch=i386 ?FindOneOf@CHString@@QBEHPBG@Z(wstr) _ZNK8CHString9FindOneOfEPKt # public: int __thiscall CHString::FindOneOf(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?Format@CHString@@QAAXIZZ(long long long) _ZN8CHString6FormatEjz # public: void __cdecl CHString::Format(unsigned int,...)
|
||||
@ thiscall -arch=i386 ?Format@CHString@@QAAXPBGZZ(long wstr long) _ZN8CHString6FormatEPKwz # public: void __cdecl CHString::Format(unsigned short const *,...)
|
||||
@ thiscall -arch=i386 ?Format@CHString@@QAAXPBGZZ(long wstr long) _ZN8CHString6FormatEPKtz # public: void __cdecl CHString::Format(unsigned short const *,...)
|
||||
@ thiscall -arch=i386 ?FormatMessageW@CHString@@QAAXIZZ(long long long) _ZN8CHString14FormatMessageWEjz # public: void __cdecl CHString::FormatMessageW(unsigned int,...)
|
||||
@ thiscall -arch=i386 ?FormatMessageW@CHString@@QAAXPBGZZ(long ptr long) _ZN8CHString14FormatMessageWEPKwz # public: void __cdecl CHString::FormatMessageW(unsigned short const *,...)
|
||||
@ thiscall -arch=i386 ?FormatV@CHString@@QAEXPBGPAD@Z(wstr long) _ZN8CHString7FormatVEPKwPc # public: void __thiscall CHString::FormatV(unsigned short const *,char *)
|
||||
@ thiscall -arch=i386 ?FormatMessageW@CHString@@QAAXPBGZZ(long ptr long) _ZN8CHString14FormatMessageWEPKtz # public: void __cdecl CHString::FormatMessageW(unsigned short const *,...)
|
||||
@ thiscall -arch=i386 ?FormatV@CHString@@QAEXPBGPAD@Z(wstr long) _ZN8CHString7FormatVEPKtPc # public: void __thiscall CHString::FormatV(unsigned short const *,char *)
|
||||
@ thiscall -arch=i386 ?FreeExtra@CHString@@QAEXXZ() _ZN8CHString9FreeExtraEv # public: void __thiscall CHString::FreeExtra(void)
|
||||
@ thiscall -arch=i386 ?GetAllocLength@CHString@@QBEHXZ() _ZNK8CHString14GetAllocLengthEv # public: int __thiscall CHString::GetAllocLength(void)const
|
||||
@ thiscall -arch=i386 ?GetAt@CHString@@QBEGH@Z(long) _ZNK8CHString5GetAtEi # public: unsigned short __thiscall CHString::GetAt(int)const
|
||||
|
@ -38,7 +38,7 @@
|
|||
@ thiscall -arch=i386 ?IsEmpty@CHString@@QBEHXZ() _ZNK8CHString7IsEmptyEv # public: int __thiscall CHString::IsEmpty(void)const
|
||||
@ thiscall -arch=i386 ?Left@CHString@@QBE?AV1@H@Z(long) _ZNK8CHString4LeftEi # public: class CHString __thiscall CHString::Left(int)const
|
||||
@ thiscall -arch=i386 ?LoadStringW@CHString@@QAEHI@Z(long) _ZN8CHString11LoadStringWEj # public: int __thiscall CHString::LoadStringW(unsigned int)
|
||||
@ thiscall -arch=i386 ?LoadStringW@CHString@@IAEHIPAGI@Z(long wstr long) _ZN8CHString11LoadStringWEjPwj # protected: int __thiscall CHString::LoadStringW(unsigned int,unsigned short *,unsigned int)
|
||||
@ thiscall -arch=i386 ?LoadStringW@CHString@@IAEHIPAGI@Z(long wstr long) _ZN8CHString11LoadStringWEjPtj # protected: int __thiscall CHString::LoadStringW(unsigned int,unsigned short *,unsigned int)
|
||||
@ thiscall -arch=i386 ?LockBuffer@CHString@@QAEPAGXZ() _ZN8CHString10LockBufferEv # public: unsigned short * __thiscall CHString::LockBuffer(void)
|
||||
@ thiscall -arch=i386 ?MakeLower@CHString@@QAEXXZ() _ZN8CHString9MakeLowerEv # public: void __thiscall CHString::MakeLower(void)
|
||||
@ thiscall -arch=i386 ?MakeReverse@CHString@@QAEXXZ() _ZN8CHString11MakeReverseEv # public: void __thiscall CHString::MakeReverse(void)
|
||||
|
@ -48,33 +48,33 @@
|
|||
@ thiscall -arch=i386 ?Release@CHString@@KGXPAUCHStringData@@@Z(ptr) _ZN8CHString7ReleaseEP12CHStringData@4 # protected: static void __stdcall CHString::Release(struct CHStringData *)
|
||||
@ thiscall -arch=i386 ?Release@CHString@@IAEXXZ() _ZN8CHString7ReleaseEv # protected: void __thiscall CHString::Release(void)
|
||||
@ thiscall -arch=i386 ?ReleaseBuffer@CHString@@QAEXH@Z(long) _ZN8CHString13ReleaseBufferEi # public: void __thiscall CHString::ReleaseBuffer(int)
|
||||
@ thiscall -arch=i386 ?ReverseFind@CHString@@QBEHG@Z(long) _ZNK8CHString11ReverseFindEw # public: int __thiscall CHString::ReverseFind(unsigned short)const
|
||||
@ thiscall -arch=i386 ?ReverseFind@CHString@@QBEHG@Z(long) _ZNK8CHString11ReverseFindEt # public: int __thiscall CHString::ReverseFind(unsigned short)const
|
||||
@ thiscall -arch=i386 ?Right@CHString@@QBE?AV1@H@Z(long) _ZNK8CHString5RightEi # public: class CHString __thiscall CHString::Right(int)const
|
||||
@ stdcall -arch=i386 ?SafeStrlen@CHString@@KGHPBG@Z(wstr) _ZN8CHString10SafeStrlenEPKw # protected: static int__stdcall CHString::SafeStrlen(unsigned short const *)
|
||||
@ thiscall -arch=i386 ?SetAt@CHString@@QAEXHG@Z(long long) _ZN8CHString5SetAtEiw # public: void __thiscall CHString::SetAt(int,unsigned short)
|
||||
@ thiscall -arch=i386 ?SpanExcluding@CHString@@QBE?AV1@PBG@Z(long wstr) _ZNK8CHString13SpanExcludingEPKw # public: class CHString __thiscall CHString::SpanExcluding(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?SpanIncluding@CHString@@QBE?AV1@PBG@Z(long wstr) _ZNK8CHString13SpanIncludingEPKw # public: class CHString __thiscall CHString::SpanIncluding(unsigned short const *)const
|
||||
@ stdcall -arch=i386 ?SafeStrlen@CHString@@KGHPBG@Z(wstr) _ZN8CHString10SafeStrlenEPKt # protected: static int__stdcall CHString::SafeStrlen(unsigned short const *)
|
||||
@ thiscall -arch=i386 ?SetAt@CHString@@QAEXHG@Z(long long) _ZN8CHString5SetAtEit # public: void __thiscall CHString::SetAt(int,unsigned short)
|
||||
@ thiscall -arch=i386 ?SpanExcluding@CHString@@QBE?AV1@PBG@Z(long wstr) _ZNK8CHString13SpanExcludingEPKt # public: class CHString __thiscall CHString::SpanExcluding(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?SpanIncluding@CHString@@QBE?AV1@PBG@Z(long wstr) _ZNK8CHString13SpanIncludingEPKt # public: class CHString __thiscall CHString::SpanIncluding(unsigned short const *)const
|
||||
@ thiscall -arch=i386 ?TrimLeft@CHString@@QAEXXZ() _ZN8CHString8TrimLeftEv # public: void __thiscall CHString::TrimLeft(void)
|
||||
@ thiscall -arch=i386 ?TrimRight@CHString@@QAEXXZ() _ZN8CHString9TrimRightEv # public: void __thiscall CHString::TrimRight(void)
|
||||
@ thiscall -arch=i386 ?UnlockBuffer@CHString@@QAEXXZ() _ZN8CHString12UnlockBufferEv # public: void __thiscall CHString::UnlockBuffer(void)
|
||||
@ thiscall -arch=i386 ??BCHString@@QBEPBGXZ(ptr) _ZNK8CHStringcvPKwEv # public: __thiscall CHString::operator unsigned short const *(void)const
|
||||
@ thiscall -arch=i386 ??BCHString@@QBEPBGXZ(ptr) _ZNK8CHStringcvPKtEv # public: __thiscall CHString::operator unsigned short const *(void)const
|
||||
@ thiscall -arch=i386 ??YCHString@@QAEABV0@ABV0@@Z(ptr) _ZN8CHStringpLERKS_ # public: class CHString const & __thiscall CHString::operator+=(class CHString const &)
|
||||
@ thiscall -arch=i386 ??YCHString@@QAEABV0@D@Z(long) _ZN8CHStringpLEc # public: class CHString const & __thiscall CHString::operator+=(char)
|
||||
@ thiscall -arch=i386 ??YCHString@@QAEABV0@PBG@Z(wstr) _ZN8CHStringpLEPKw # public: class CHString const & __thiscall CHString::operator+=(unsigned short const *)
|
||||
@ thiscall -arch=i386 ??YCHString@@QAEABV0@G@Z(long) _ZN8CHStringpLEw # public: class CHString const & __thiscall CHString::operator+=(unsigned short)
|
||||
@ thiscall -arch=i386 ??YCHString@@QAEABV0@PBG@Z(wstr) _ZN8CHStringpLEPKt # public: class CHString const & __thiscall CHString::operator+=(unsigned short const *)
|
||||
@ thiscall -arch=i386 ??YCHString@@QAEABV0@G@Z(long) _ZN8CHStringpLEt # public: class CHString const & __thiscall CHString::operator+=(unsigned short)
|
||||
@ thiscall -arch=i386 ??4CHString@@QAEABV0@PAV0@@Z(ptr) _ZN8CHStringaSEPS_ # public: class CHString const & __thiscall CHString::operator=(class CHString *)
|
||||
@ thiscall -arch=i386 ??4CHString@@QAEABV0@ABV0@@Z(ptr) _ZN8CHStringaSERKS_ # public: class CHString const & __thiscall CHString::operator=(class CHString const &)
|
||||
@ thiscall -arch=i386 ??4CHString@@QAEABV0@PBD@Z(str) _ZN8CHStringaSEPKc # public: class CHString const & __thiscall CHString::operator=(char const *)
|
||||
@ thiscall -arch=i386 ??4CHString@@QAEABV0@D@Z(long) _ZN8CHStringaSEc # public: class CHString const & __thiscall CHString::operator=(char)
|
||||
@ thiscall -arch=i386 ??4CHString@@QAEABV0@PBE@Z(str) _ZN8CHStringaSEPKh # public: class CHString const & __thiscall CHString::operator=(unsigned char const *)
|
||||
@ thiscall -arch=i386 ??4CHString@@QAEABV0@PBG@Z(wstr) _ZN8CHStringaSEPKw # public: class CHString const & __thiscall CHString::operator=(unsigned short const *)
|
||||
@ thiscall -arch=i386 ??4CHString@@QAEABV0@G@Z(long) _ZN8CHStringaSEw # public: class CHString const & __thiscall CHString::operator=(unsigned short)
|
||||
@ thiscall -arch=i386 ??4CHString@@QAEABV0@PBG@Z(wstr) _ZN8CHStringaSEPKt # public: class CHString const & __thiscall CHString::operator=(unsigned short const *)
|
||||
@ thiscall -arch=i386 ??4CHString@@QAEABV0@G@Z(long) _ZN8CHStringaSEt # public: class CHString const & __thiscall CHString::operator=(unsigned short)
|
||||
@ thiscall -arch=i386 ??ACHString@@QBEGH@Z(long) _ZNK8CHStringixEi # public: unsigned short __thiscall CHString::operator[](int)const
|
||||
@ thiscall -arch=i386 ??1CHString@@QAE@XZ() _ZN8CHStringD1Ev # public: __thiscall CHString::~CHString(void), complete object destructor, identical to _ZN8CHStringD2Ev aka base object destructor
|
||||
@ stdcall -arch=i386 ??H@YG?AVCHString@@GABV0@@Z(long ptr) _ZplwRK8CHString # class CHString __stdcall operator+(unsigned short,class CHString const &)
|
||||
@ stdcall -arch=i386 ??H@YG?AVCHString@@ABV0@G@Z(ptr long) _ZplRK8CHStringw # class CHString __stdcall operator+(class CHString const &,unsigned short)
|
||||
@ stdcall -arch=i386 ??H@YG?AVCHString@@ABV0@PBG@Z(ptr wstr) _ZplRK8CHStringPKw # class CHString __stdcall operator+(class CHString const &,unsigned short const *)
|
||||
@ stdcall -arch=i386 ??H@YG?AVCHString@@PBGABV0@@Z(wstr ptr) _ZplPKwRK8CHString # class CHString __stdcall operator+(unsigned short const *,class CHString const &)
|
||||
@ stdcall -arch=i386 ??H@YG?AVCHString@@GABV0@@Z(long ptr) _ZpltRK8CHString # class CHString __stdcall operator+(unsigned short,class CHString const &)
|
||||
@ stdcall -arch=i386 ??H@YG?AVCHString@@ABV0@G@Z(ptr long) _ZplRK8CHStringt # class CHString __stdcall operator+(class CHString const &,unsigned short)
|
||||
@ stdcall -arch=i386 ??H@YG?AVCHString@@ABV0@PBG@Z(ptr wstr) _ZplRK8CHStringPKt # class CHString __stdcall operator+(class CHString const &,unsigned short const *)
|
||||
@ stdcall -arch=i386 ??H@YG?AVCHString@@PBGABV0@@Z(wstr ptr) _ZplPKtRK8CHString # class CHString __stdcall operator+(unsigned short const *,class CHString const &)
|
||||
@ stdcall -arch=i386 ??H@YG?AVCHString@@ABV0@0@Z(ptr ptr) _ZplRK8CHStringS1_ # class CHString __stdcall operator+(class CHString const &,class CHString const &)
|
||||
@ thiscall -arch=i386 ?Flush@Provider@@MAEXXZ() _ZN8Provider5FlushEv # protected: virtual void __thiscall Provider::Flush(void)
|
||||
@ thiscall -arch=i386 ?ValidateDeletionFlags@Provider@@MAEJJ@Z(long) _ZN8Provider21ValidateDeletionFlagsEl # protected: virtual long __thiscall Provider::ValidateDeletionFlags(long)
|
||||
|
@ -86,29 +86,29 @@
|
|||
@ thiscall -arch=win64 ?AllocBuffer@CHString@@IEAAXH@Z(long) _ZN8CHString11AllocBufferEi # protected: void __thiscall CHString::AllocBuffer(int)
|
||||
@ thiscall -arch=win64 ?AllocCopy@CHString@@IEBAXAEAV1@HHH@Z(ptr long long long) _ZNK8CHString9AllocCopyERS_iii # protected: void __thiscall CHString::AllocCopy(class CHString &,int,int,int)const
|
||||
@ thiscall -arch=win64 ?AllocSysString@CHString@@QEBAPEAGXZ() _ZNK8CHString14AllocSysStringEv
|
||||
@ thiscall -arch=win64 ?AssignCopy@CHString@@IEAAXHPEBG@Z(long wstr) _ZN8CHString10AssignCopyEiPKw
|
||||
@ thiscall -arch=win64 ?AssignCopy@CHString@@IEAAXHPEBG@Z(long wstr) _ZN8CHString10AssignCopyEiPKt
|
||||
@ thiscall -arch=win64 ??0CHString@@QEAA@AEBV0@@Z(ptr) _ZN8CHStringC1ERKS_
|
||||
@ thiscall -arch=win64 ??0CHString@@QEAA@PEBD@Z(str) _ZN8CHStringC1EPKc
|
||||
@ thiscall -arch=win64 ??0CHString@@QEAA@PEBE@Z(str) _ZN8CHStringC1EPKh
|
||||
@ thiscall -arch=win64 ??0CHString@@QEAA@PEBG@Z(wstr) _ZN8CHStringC1EPKw
|
||||
@ thiscall -arch=win64 ??0CHString@@QEAA@PEBGH@Z(wstr long) _ZN8CHStringC1EPKwi
|
||||
@ thiscall -arch=win64 ??0CHString@@QEAA@GH@Z(long long) _ZN8CHStringC1Ewi
|
||||
@ thiscall -arch=win64 ??0CHString@@QEAA@PEBG@Z(wstr) _ZN8CHStringC1EPKt
|
||||
@ thiscall -arch=win64 ??0CHString@@QEAA@PEBGH@Z(wstr long) _ZN8CHStringC1EPKti
|
||||
@ thiscall -arch=win64 ??0CHString@@QEAA@GH@Z(long long) _ZN8CHStringC1Eti
|
||||
@ thiscall -arch=win64 ??0CHString@@QEAA@XZ() _ZN8CHStringC1Ev # public: __thiscall CHString::CHString(void)
|
||||
@ thiscall -arch=win64 ?Collate@CHString@@QEBAHPEBG@Z(wstr) _ZNK8CHString7CollateEPKw # public: int __thiscall CHString::Collate(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?Compare@CHString@@QEBAHPEBG@Z(wstr) _ZNK8CHString7CompareEPKw # public: int __thiscall CHString::Compare(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?CompareNoCase@CHString@@QEBAHPEBG@Z(wstr) _ZNK8CHString13CompareNoCaseEPKw # public: int __thiscall CHString::CompareNoCase(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?ConcatCopy@CHString@@IEAAXHPEBGH0@Z(long wstr long wstr) _ZN8CHString10ConcatCopyEiPKwiS1_ # protected: void __thiscall CHString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)
|
||||
@ thiscall -arch=win64 ?ConcatInPlace@CHString@@IEAAXHPEBG@Z(long wstr) _ZN8CHString13ConcatInPlaceEiPKw # protected: void __thiscall CHString::ConcatInPlace(int,unsigned short const *)
|
||||
@ thiscall -arch=win64 ?Collate@CHString@@QEBAHPEBG@Z(wstr) _ZNK8CHString7CollateEPKt # public: int __thiscall CHString::Collate(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?Compare@CHString@@QEBAHPEBG@Z(wstr) _ZNK8CHString7CompareEPKt # public: int __thiscall CHString::Compare(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?CompareNoCase@CHString@@QEBAHPEBG@Z(wstr) _ZNK8CHString13CompareNoCaseEPKt # public: int __thiscall CHString::CompareNoCase(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?ConcatCopy@CHString@@IEAAXHPEBGH0@Z(long wstr long wstr) _ZN8CHString10ConcatCopyEiPKtiS1_ # protected: void __thiscall CHString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)
|
||||
@ thiscall -arch=win64 ?ConcatInPlace@CHString@@IEAAXHPEBG@Z(long wstr) _ZN8CHString13ConcatInPlaceEiPKt # protected: void __thiscall CHString::ConcatInPlace(int,unsigned short const *)
|
||||
@ thiscall -arch=win64 ?CopyBeforeWrite@CHString@@IEAAXXZ() _ZN8CHString15CopyBeforeWriteEv # protected: void __thiscall CHString::CopyBeforeWrite(void)
|
||||
@ thiscall -arch=win64 ?Empty@CHString@@QEAAXXZ() _ZN8CHString5EmptyEv # public: void __thiscall CHString::Empty(void)
|
||||
@ thiscall -arch=win64 ?Find@CHString@@QEBAHPEBG@Z(wstr) _ZNK8CHString4FindEPKw # public: int __thiscall CHString::Find(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?Find@CHString@@QEBAHG@Z(long) _ZNK8CHString4FindEPKw # public: int __thiscall CHString::Find(unsigned short)const
|
||||
@ thiscall -arch=win64 ?FindOneOf@CHString@@QEBAHPEBG@Z(wstr) _ZNK8CHString9FindOneOfEPKw # public: int __thiscall CHString::FindOneOf(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?Find@CHString@@QEBAHPEBG@Z(wstr) _ZNK8CHString4FindEPKt # public: int __thiscall CHString::Find(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?Find@CHString@@QEBAHG@Z(long) _ZNK8CHString4FindEt # public: int __thiscall CHString::Find(unsigned short)const
|
||||
@ thiscall -arch=win64 ?FindOneOf@CHString@@QEBAHPEBG@Z(wstr) _ZNK8CHString9FindOneOfEPKt # public: int __thiscall CHString::FindOneOf(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?Format@CHString@@QEAAXIZZ(long long long) _ZN8CHString6FormatEjz # public: void __cdecl CHString::Format(unsigned int,...)
|
||||
@ thiscall -arch=win64 ?Format@CHString@@QEAAXPEBGZZ(long wstr long) _ZN8CHString6FormatEPKwz # public: void __cdecl CHString::Format(unsigned short const *,...)
|
||||
@ thiscall -arch=win64 ?Format@CHString@@QEAAXPEBGZZ(long wstr long) _ZN8CHString6FormatEPKtz # public: void __cdecl CHString::Format(unsigned short const *,...)
|
||||
@ thiscall -arch=win64 ?FormatMessageW@CHString@@QEAAXIZZ(long long long) _ZN8CHString14FormatMessageWEjz # public: void __cdecl CHString::FormatMessageW(unsigned int,...)
|
||||
@ thiscall -arch=win64 ?FormatMessageW@CHString@@QEAAXPEBGZZ(long ptr long) _ZN8CHString14FormatMessageWEPKwz # public: void __cdecl CHString::FormatMessageW(unsigned short const *,...)
|
||||
@ thiscall -arch=win64 ?FormatV@CHString@@QEAAXPEBGPEAD@Z(wstr long) _ZN8CHString7FormatVEPKwPc # public: void __thiscall CHString::FormatV(unsigned short const *,char *)
|
||||
@ thiscall -arch=win64 ?FormatMessageW@CHString@@QEAAXPEBGZZ(long ptr long) _ZN8CHString14FormatMessageWEPKtz # public: void __cdecl CHString::FormatMessageW(unsigned short const *,...)
|
||||
@ thiscall -arch=win64 ?FormatV@CHString@@QEAAXPEBGPEAD@Z(wstr long) _ZN8CHString7FormatVEPKtPc # public: void __thiscall CHString::FormatV(unsigned short const *,char *)
|
||||
@ thiscall -arch=win64 ?FreeExtra@CHString@@QEAAXXZ() _ZN8CHString9FreeExtraEv # public: void __thiscall CHString::FreeExtra(void)
|
||||
@ thiscall -arch=win64 ?GetAllocLength@CHString@@QEBAHXZ() _ZNK8CHString14GetAllocLengthEv # public: int __thiscall CHString::GetAllocLength(void)const
|
||||
@ thiscall -arch=win64 ?GetAt@CHString@@QEBAGH@Z(long) _ZNK8CHString5GetAtEi # public: unsigned short __thiscall CHString::GetAt(int)const
|
||||
|
@ -120,7 +120,7 @@
|
|||
@ thiscall -arch=win64 ?IsEmpty@CHString@@QEBAHXZ() _ZNK8CHString7IsEmptyEv # public: int __thiscall CHString::IsEmpty(void)const
|
||||
@ thiscall -arch=win64 ?Left@CHString@@QEBA?AV1@H@Z(long) _ZNK8CHString4LeftEi # public: class CHString __thiscall CHString::Left(int)const
|
||||
@ thiscall -arch=win64 ?LoadStringW@CHString@@QEAAHI@Z(long) _ZN8CHString11LoadStringWEj # public: int __thiscall CHString::LoadStringW(unsigned int)
|
||||
@ thiscall -arch=win64 ?LoadStringW@CHString@@IEAAHIPEAGI@Z(long wstr long) _ZN8CHString11LoadStringWEjPwj # protected: int __thiscall CHString::LoadStringW(unsigned int,unsigned short *,unsigned int)
|
||||
@ thiscall -arch=win64 ?LoadStringW@CHString@@IEAAHIPEAGI@Z(long wstr long) _ZN8CHString11LoadStringWEjPtj # protected: int __thiscall CHString::LoadStringW(unsigned int,unsigned short *,unsigned int)
|
||||
@ thiscall -arch=win64 ?LockBuffer@CHString@@QEAAPEAGXZ() _ZN8CHString10LockBufferEv # public: unsigned short * __thiscall CHString::LockBuffer(void)
|
||||
@ thiscall -arch=win64 ?MakeLower@CHString@@QEAAXXZ() _ZN8CHString9MakeLowerEv # public: void __thiscall CHString::MakeLower(void)
|
||||
@ thiscall -arch=win64 ?MakeReverse@CHString@@QEAAXXZ() _ZN8CHString11MakeReverseEv # public: void __thiscall CHString::MakeReverse(void)
|
||||
|
@ -130,33 +130,33 @@
|
|||
@ thiscall -arch=win64 ?Release@CHString@@KAXPEAUCHStringData@@@Z(ptr) _ZN8CHString7ReleaseEP12CHStringData # protected: static void __stdcall CHString::Release(struct CHStringData *)
|
||||
@ thiscall -arch=win64 ?Release@CHString@@IEAAXXZ() _ZN8CHString7ReleaseEv # protected: void __thiscall CHString::Release(void)
|
||||
@ thiscall -arch=win64 ?ReleaseBuffer@CHString@@QEAAXH@Z(long) _ZN8CHString13ReleaseBufferEi # public: void __thiscall CHString::ReleaseBuffer(int)
|
||||
@ thiscall -arch=win64 ?ReverseFind@CHString@@QEBAHG@Z(long) _ZNK8CHString11ReverseFindEw # public: int __thiscall CHString::ReverseFind(unsigned short)const
|
||||
@ thiscall -arch=win64 ?ReverseFind@CHString@@QEBAHG@Z(long) _ZNK8CHString11ReverseFindEt # public: int __thiscall CHString::ReverseFind(unsigned short)const
|
||||
@ thiscall -arch=win64 ?Right@CHString@@QEBA?AV1@H@Z(long) _ZNK8CHString5RightEi # public: class CHString __thiscall CHString::Right(int)const
|
||||
@ stdcall -arch=win64 ?SafeStrlen@CHString@@KAHPEBG@Z(wstr) _ZN8CHString10SafeStrlenEPKw # protected: static int__stdcall CHString::SafeStrlen(unsigned short const *)
|
||||
@ thiscall -arch=win64 ?SetAt@CHString@@QEAAXHG@Z(long long) _ZN8CHString5SetAtEiw # public: void __thiscall CHString::SetAt(int,unsigned short)
|
||||
@ thiscall -arch=win64 ?SpanExcluding@CHString@@QEBA?AV1@PEBG@Z(long wstr) _ZNK8CHString13SpanExcludingEPKw # public: class CHString __thiscall CHString::SpanExcluding(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?SpanIncluding@CHString@@QEBA?AV1@PEBG@Z(long wstr) _ZNK8CHString13SpanIncludingEPKw # public: class CHString __thiscall CHString::SpanIncluding(unsigned short const *)const
|
||||
@ stdcall -arch=win64 ?SafeStrlen@CHString@@KAHPEBG@Z(wstr) _ZN8CHString10SafeStrlenEPKt # protected: static int__stdcall CHString::SafeStrlen(unsigned short const *)
|
||||
@ thiscall -arch=win64 ?SetAt@CHString@@QEAAXHG@Z(long long) _ZN8CHString5SetAtEit # public: void __thiscall CHString::SetAt(int,unsigned short)
|
||||
@ thiscall -arch=win64 ?SpanExcluding@CHString@@QEBA?AV1@PEBG@Z(long wstr) _ZNK8CHString13SpanExcludingEPKt # public: class CHString __thiscall CHString::SpanExcluding(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?SpanIncluding@CHString@@QEBA?AV1@PEBG@Z(long wstr) _ZNK8CHString13SpanIncludingEPKt # public: class CHString __thiscall CHString::SpanIncluding(unsigned short const *)const
|
||||
@ thiscall -arch=win64 ?TrimLeft@CHString@@QEAAXXZ() _ZN8CHString8TrimLeftEv # public: void __thiscall CHString::TrimLeft(void)
|
||||
@ thiscall -arch=win64 ?TrimRight@CHString@@QEAAXXZ() _ZN8CHString9TrimRightEv # public: void __thiscall CHString::TrimRight(void)
|
||||
@ thiscall -arch=win64 ?UnlockBuffer@CHString@@QEAAXXZ() _ZN8CHString12UnlockBufferEv # public: void __thiscall CHString::UnlockBuffer(void)
|
||||
@ thiscall -arch=win64 ??BCHString@@QEBAPEBGXZ(ptr) _ZNK8CHStringcvPKwEv # public: __thiscall CHString::operator unsigned short const *(void)const
|
||||
@ thiscall -arch=win64 ??BCHString@@QEBAPEBGXZ(ptr) _ZNK8CHStringcvPKtEv # public: __thiscall CHString::operator unsigned short const *(void)const
|
||||
@ thiscall -arch=win64 ??YCHString@@QEAAAEBV0@AEBV0@@Z(ptr) _ZN8CHStringpLERKS_ # public: class CHString const & __thiscall CHString::operator+=(class CHString const &)
|
||||
@ thiscall -arch=win64 ??YCHString@@QEAAAEBV0@D@Z(long) _ZN8CHStringpLEc # public: class CHString const & __thiscall CHString::operator+=(char)
|
||||
@ thiscall -arch=win64 ??YCHString@@QEAAAEBV0@PEBG@Z(wstr) _ZN8CHStringpLEPKw # public: class CHString const & __thiscall CHString::operator+=(unsigned short const *)
|
||||
@ thiscall -arch=win64 ??YCHString@@QEAAAEBV0@G@Z(long) _ZN8CHStringpLEw # public: class CHString const & __thiscall CHString::operator+=(unsigned short)
|
||||
@ thiscall -arch=win64 ??YCHString@@QEAAAEBV0@PEBG@Z(wstr) _ZN8CHStringpLEPKt # public: class CHString const & __thiscall CHString::operator+=(unsigned short const *)
|
||||
@ thiscall -arch=win64 ??YCHString@@QEAAAEBV0@G@Z(long) _ZN8CHStringpLEt # public: class CHString const & __thiscall CHString::operator+=(unsigned short)
|
||||
@ thiscall -arch=win64 ??4CHString@@QEAAAEBV0@PEAV0@@Z(ptr) _ZN8CHStringaSEPS_ # public: class CHString const & __thiscall CHString::operator=(class CHString *)
|
||||
@ thiscall -arch=win64 ??4CHString@@QEAAAEBV0@AEBV0@@Z(ptr) _ZN8CHStringaSERKS_ # public: class CHString const & __thiscall CHString::operator=(class CHString const &)
|
||||
@ thiscall -arch=win64 ??4CHString@@QEAAAEBV0@PEBD@Z(str) _ZN8CHStringaSEPKc # public: class CHString const & __thiscall CHString::operator=(char const *)
|
||||
@ thiscall -arch=win64 ??4CHString@@QEAAAEBV0@D@Z(long) _ZN8CHStringaSEc # public: class CHString const & __thiscall CHString::operator=(char)
|
||||
@ thiscall -arch=win64 ??4CHString@@QEAAAEBV0@PEBE@Z(str) _ZN8CHStringaSEPKh # public: class CHString const & __thiscall CHString::operator=(unsigned char const *)
|
||||
@ thiscall -arch=win64 ??4CHString@@QEAAAEBV0@PEBG@Z(wstr) _ZN8CHStringaSEPKw # public: class CHString const & __thiscall CHString::operator=(unsigned short const *)
|
||||
@ thiscall -arch=win64 ??4CHString@@QEAAAEBV0@G@Z(long) _ZN8CHStringaSEw # public: class CHString const & __thiscall CHString::operator=(unsigned short)
|
||||
@ thiscall -arch=win64 ??4CHString@@QEAAAEBV0@PEBG@Z(wstr) _ZN8CHStringaSEPKt # public: class CHString const & __thiscall CHString::operator=(unsigned short const *)
|
||||
@ thiscall -arch=win64 ??4CHString@@QEAAAEBV0@G@Z(long) _ZN8CHStringaSEt # public: class CHString const & __thiscall CHString::operator=(unsigned short)
|
||||
@ thiscall -arch=win64 ??ACHString@@QEBAGH@Z(long) _ZNK8CHStringixEi # public: unsigned short __thiscall CHString::operator[](int)const
|
||||
@ thiscall -arch=win64 ??1CHString@@QEAA@XZ() _ZN8CHStringD1Ev # public: __thiscall CHString::~CHString(void), complete object destructor, identical to _ZN8CHStringD2Ev aka base object destructor
|
||||
@ stdcall -arch=win64 ??H@YA?AVCHString@@GAEBV0@@Z(long ptr) _ZplwRK8CHString # class CHString __stdcall operator+(unsigned short,class CHString const &)
|
||||
@ stdcall -arch=win64 ??H@YA?AVCHString@@AEBV0@G@Z(ptr long) _ZplRK8CHStringw # class CHString __stdcall operator+(class CHString const &,unsigned short)
|
||||
@ stdcall -arch=win64 ??H@YA?AVCHString@@AEBV0@PEBG@Z(ptr wstr) _ZplRK8CHStringPKw # class CHString __stdcall operator+(class CHString const &,unsigned short const *)
|
||||
@ stdcall -arch=win64 ??H@YA?AVCHString@@PEBGAEBV0@@Z(wstr ptr) _ZplPKwRK8CHString # class CHString __stdcall operator+(unsigned short const *,class CHString const &)
|
||||
@ stdcall -arch=win64 ??H@YA?AVCHString@@GAEBV0@@Z(long ptr) _ZpltRK8CHString # class CHString __stdcall operator+(unsigned short,class CHString const &)
|
||||
@ stdcall -arch=win64 ??H@YA?AVCHString@@AEBV0@G@Z(ptr long) _ZplRK8CHStringt # class CHString __stdcall operator+(class CHString const &,unsigned short)
|
||||
@ stdcall -arch=win64 ??H@YA?AVCHString@@AEBV0@PEBG@Z(ptr wstr) _ZplRK8CHStringPKt # class CHString __stdcall operator+(class CHString const &,unsigned short const *)
|
||||
@ stdcall -arch=win64 ??H@YA?AVCHString@@PEBGAEBV0@@Z(wstr ptr) _ZplPKtRK8CHString # class CHString __stdcall operator+(unsigned short const *,class CHString const &)
|
||||
@ stdcall -arch=win64 ??H@YA?AVCHString@@AEBV0@0@Z(ptr ptr) _ZplRK8CHStringS1_ # class CHString __stdcall operator+(class CHString const &,class CHString const &)
|
||||
@ thiscall -arch=win64 ?Flush@Provider@@MEAAXXZ() _ZN8Provider5FlushEv # protected: virtual void __thiscall Provider::Flush(void)
|
||||
@ thiscall -arch=win64 ?ValidateDeletionFlags@Provider@@MEAAJJ@Z(long) _ZN8Provider21ValidateDeletionFlagsEl # protected: virtual long __thiscall Provider::ValidateDeletionFlags(long)
|
||||
|
|
|
@ -23,17 +23,7 @@ add_executable(dllexport_test dllexport_test.c)
|
|||
set_module_type(dllexport_test win32cui)
|
||||
add_importlibs(dllexport_test dllexport_test_dll1 msvcrt kernel32 ntdll)
|
||||
|
||||
# framedyn is skipped in the clang-cl build
|
||||
if(NOT USE_CLANG_CL)
|
||||
|
||||
add_library(dllimport_test MODULE dllimport_framedyn.cpp)
|
||||
set_module_type(dllimport_test module)
|
||||
add_importlibs(dllimport_test framedyn)
|
||||
|
||||
if (MSVC)
|
||||
target_compile_options(dllimport_test PRIVATE /Zc:wchar_t-)
|
||||
else()
|
||||
target_link_libraries(dllimport_test framedynex)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
add_dependencies(dllimport_test psdk)
|
||||
|
|
|
@ -6,15 +6,25 @@
|
|||
#include <windows.h>
|
||||
#include <provexce.h>
|
||||
|
||||
/*
|
||||
* Framedyn dates from ancient times when wchar_t was a typedef to unsigned short.
|
||||
* In order be able to use newer compilers, we define inline overloaded wrappers.
|
||||
*/
|
||||
using CHSTRING_WCHAR=unsigned short ;
|
||||
using CHSTRING_LPCWSTR=const CHSTRING_WCHAR*;
|
||||
using CHSTRING_LPWSTR=CHSTRING_WCHAR*;
|
||||
static_assert(sizeof(CHSTRING_WCHAR) == sizeof(wchar_t), "CHSTRING_WCHAR must be of same size than wchar_t");
|
||||
|
||||
|
||||
struct CHStringData
|
||||
{
|
||||
long nRefs;
|
||||
int nDataLength;
|
||||
int nAllocLength;
|
||||
|
||||
WCHAR* data()
|
||||
CHSTRING_WCHAR* data()
|
||||
{
|
||||
return (WCHAR*)(this+1);
|
||||
return (CHSTRING_WCHAR*)(this+1);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -22,109 +32,346 @@ class CHString
|
|||
{
|
||||
public:
|
||||
CHString();
|
||||
CHString(WCHAR ch, int nRepeat = 1);
|
||||
CHString(LPCWSTR lpsz);
|
||||
CHString(LPCWSTR lpch, int nLength);
|
||||
CHString(CHSTRING_WCHAR ch, int nRepeat = 1);
|
||||
CHString(CHSTRING_LPCWSTR lpsz);
|
||||
CHString(CHSTRING_LPCWSTR lpch, int nLength);
|
||||
CHString(LPCSTR lpsz);
|
||||
CHString(const CHString& stringSrc);
|
||||
CHString(const unsigned char* lpsz);
|
||||
~CHString();
|
||||
|
||||
BSTR AllocSysString() const;
|
||||
int Collate(LPCWSTR lpsz) const;
|
||||
int Compare(LPCWSTR lpsz) const;
|
||||
int CompareNoCase(LPCWSTR lpsz) const;
|
||||
CHSTRING_LPWSTR AllocSysString() const;
|
||||
int Collate(CHSTRING_LPCWSTR lpsz) const;
|
||||
int Collate(const wchar_t* lpsz) const
|
||||
{
|
||||
return Collate(reinterpret_cast<CHSTRING_LPCWSTR>(lpsz));
|
||||
}
|
||||
int Compare(CHSTRING_LPCWSTR lpsz) const;
|
||||
int Compare(const wchar_t* lpsz) const
|
||||
{
|
||||
return Compare(reinterpret_cast<CHSTRING_LPCWSTR>(lpsz));
|
||||
}
|
||||
int CompareNoCase(CHSTRING_LPCWSTR lpsz) const;
|
||||
int CompareNoCase(const wchar_t* lpsz) const
|
||||
{
|
||||
return CompareNoCase(reinterpret_cast<CHSTRING_LPCWSTR>(lpsz));
|
||||
}
|
||||
void Empty();
|
||||
int Find(WCHAR ch) const;
|
||||
int Find(LPCWSTR lpszSub) const;
|
||||
int FindOneOf(LPCWSTR lpszCharSet) const;
|
||||
int Find(CHSTRING_WCHAR ch) const;
|
||||
int Find(CHSTRING_LPCWSTR lpszSub) const;
|
||||
int Find(const wchar_t* lpszSub) const
|
||||
{
|
||||
return FindOneOf(reinterpret_cast<CHSTRING_LPCWSTR>(lpszSub));
|
||||
}
|
||||
int FindOneOf(CHSTRING_LPCWSTR lpszCharSet) const;
|
||||
int FindOneOf(const wchar_t* lpszCharSet) const
|
||||
{
|
||||
return FindOneOf(reinterpret_cast<CHSTRING_LPCWSTR>(lpszCharSet));
|
||||
}
|
||||
void Format(UINT nFormatID, ...);
|
||||
void Format(LPCWSTR lpszFormat, ...);
|
||||
void Format(CHSTRING_LPCWSTR lpszFormat, ...);
|
||||
template <typename ...Params>
|
||||
void Format(const wchar_t* lpszFormat, Params&&... params)
|
||||
{
|
||||
Format(reinterpret_cast<CHSTRING_LPCWSTR>(lpszFormat), params...);
|
||||
}
|
||||
void FormatMessageW(UINT nFormatID, ...);
|
||||
void FormatMessageW(LPCWSTR lpszFormat, ...);
|
||||
void FormatV(LPCWSTR lpszFormat, va_list argList);
|
||||
void FormatMessageW(CHSTRING_LPCWSTR lpszFormat, ...);
|
||||
template <typename ...Params>
|
||||
void FormatMessageW(const wchar_t* lpszFormat, Params&&... params)
|
||||
{
|
||||
FormatMessageW(reinterpret_cast<CHSTRING_LPCWSTR>(lpszFormat), params...);
|
||||
}
|
||||
void FormatV(CHSTRING_LPCWSTR lpszFormat, va_list argList);
|
||||
void FormatV(const wchar_t* lpszFormat, va_list argList)
|
||||
{
|
||||
return FormatV(reinterpret_cast<CHSTRING_LPCWSTR>(lpszFormat), argList);
|
||||
}
|
||||
void FreeExtra();
|
||||
int GetAllocLength() const;
|
||||
WCHAR GetAt(int nIndex) const;
|
||||
LPWSTR GetBuffer(int nMinBufLength);
|
||||
LPWSTR GetBufferSetLength(int nNewLength);
|
||||
CHSTRING_WCHAR GetAt(int nIndex) const;
|
||||
CHSTRING_LPWSTR GetBuffer(int nMinBufLength);
|
||||
CHSTRING_LPWSTR GetBufferSetLength(int nNewLength);
|
||||
int GetLength() const;
|
||||
BOOL IsEmpty() const;
|
||||
CHString Left(int nCount) const;
|
||||
int LoadStringW(UINT nID);
|
||||
LPWSTR LockBuffer();
|
||||
CHSTRING_LPWSTR LockBuffer();
|
||||
void MakeLower();
|
||||
void MakeReverse();
|
||||
void MakeUpper();
|
||||
CHString Mid(int nFirst) const;
|
||||
CHString Mid(int nFirst, int nCount) const;
|
||||
void ReleaseBuffer(int nNewLength = -1);
|
||||
int ReverseFind(WCHAR ch) const;
|
||||
int ReverseFind(CHSTRING_WCHAR ch) const;
|
||||
CHString Right(int nCount) const;
|
||||
void SetAt(int nIndex, WCHAR ch);
|
||||
CHString SpanExcluding(LPCWSTR lpszCharSet) const;
|
||||
CHString SpanIncluding(LPCWSTR lpszCharSet) const;
|
||||
void SetAt(int nIndex, CHSTRING_WCHAR ch);
|
||||
CHString SpanExcluding(CHSTRING_LPCWSTR lpszCharSet) const;
|
||||
CHString SpanExcluding(const wchar_t* lpszCharSet) const
|
||||
{
|
||||
return SpanExcluding(reinterpret_cast<CHSTRING_LPCWSTR>(lpszCharSet));
|
||||
}
|
||||
CHString SpanIncluding(CHSTRING_LPCWSTR lpszCharSet) const;
|
||||
CHString SpanIncluding(const wchar_t* lpszCharSet) const
|
||||
{
|
||||
return SpanIncluding(reinterpret_cast<CHSTRING_LPCWSTR>(lpszCharSet));
|
||||
}
|
||||
void TrimLeft();
|
||||
void TrimRight();
|
||||
void UnlockBuffer();
|
||||
|
||||
const CHString& operator=(char ch);
|
||||
const CHString& operator=(WCHAR ch);
|
||||
const CHString& operator=(CHSTRING_WCHAR ch);
|
||||
const CHString& operator=(CHString *p);
|
||||
const CHString& operator=(LPCSTR lpsz);
|
||||
const CHString& operator=(LPCWSTR lpsz);
|
||||
const CHString& operator=(CHSTRING_LPCWSTR lpsz);
|
||||
const CHString& operator=(const CHString& stringSrc);
|
||||
const CHString& operator=(const unsigned char* lpsz);
|
||||
|
||||
const CHString& operator+=(char ch);
|
||||
const CHString& operator+=(WCHAR ch);
|
||||
const CHString& operator+=(LPCWSTR lpsz);
|
||||
const CHString& operator+=(CHSTRING_WCHAR ch);
|
||||
const CHString& operator+=(CHSTRING_LPCWSTR lpsz);
|
||||
const CHString& operator+=(const CHString& string);
|
||||
|
||||
WCHAR operator[](int nIndex) const;
|
||||
CHSTRING_WCHAR operator[](int nIndex) const;
|
||||
|
||||
operator LPCWSTR() const;
|
||||
operator CHSTRING_LPCWSTR() const;
|
||||
|
||||
friend CHString WINAPI operator+(WCHAR ch, const CHString& string);
|
||||
friend CHString WINAPI operator+(const CHString& string, WCHAR ch);
|
||||
friend CHString WINAPI operator+(const CHString& string, LPCWSTR lpsz);
|
||||
friend CHString WINAPI operator+(LPCWSTR lpsz, const CHString& string);
|
||||
friend CHString WINAPI operator+(CHSTRING_WCHAR ch, const CHString& string);
|
||||
friend CHString WINAPI operator+(const CHString& string, CHSTRING_WCHAR ch);
|
||||
friend CHString WINAPI operator+(const CHString& string, CHSTRING_LPCWSTR lpsz);
|
||||
friend CHString WINAPI operator+(CHSTRING_LPCWSTR lpsz, const CHString& string);
|
||||
friend CHString WINAPI operator+(const CHString& string1, const CHString& string2);
|
||||
|
||||
protected:
|
||||
LPWSTR m_pchData;
|
||||
CHSTRING_LPWSTR m_pchData;
|
||||
|
||||
void AllocBeforeWrite(int nLen);
|
||||
void AllocBuffer(int nLen);
|
||||
void AllocCopy(CHString& dest, int nCopyLen, int nCopyIndex, int nExtraLen) const;
|
||||
void AssignCopy(int nSrcLen, LPCWSTR lpszSrcData);
|
||||
void ConcatCopy(int nSrc1Len, LPCWSTR lpszSrc1Data, int nSrc2Len, LPCWSTR lpszSrc2Data);
|
||||
void ConcatInPlace(int nSrcLen, LPCWSTR lpszSrcData);
|
||||
void AssignCopy(int nSrcLen, CHSTRING_LPCWSTR lpszSrcData);
|
||||
void AssignCopy(int nSrcLen, const wchar_t* lpszSrcData)
|
||||
{
|
||||
AssignCopy(nSrcLen, reinterpret_cast<CHSTRING_LPCWSTR>(lpszSrcData));
|
||||
}
|
||||
void ConcatCopy(int nSrc1Len, CHSTRING_LPCWSTR lpszSrc1Data, int nSrc2Len, CHSTRING_LPCWSTR lpszSrc2Data);
|
||||
void ConcatCopy(int nSrc1Len, const wchar_t* lpszSrc1Data, int nSrc2Len, const wchar_t* lpszSrc2Data)
|
||||
{
|
||||
ConcatCopy(nSrc1Len, reinterpret_cast<CHSTRING_LPCWSTR>(lpszSrc1Data), nSrc2Len, reinterpret_cast<CHSTRING_LPCWSTR>(lpszSrc2Data));
|
||||
}
|
||||
void ConcatInPlace(int nSrcLen, CHSTRING_LPCWSTR lpszSrcData);
|
||||
void ConcatInPlace(int nSrcLen, const wchar_t* lpszSrcData)
|
||||
{
|
||||
ConcatInPlace(nSrcLen, reinterpret_cast<CHSTRING_LPCWSTR>(lpszSrcData));
|
||||
}
|
||||
void CopyBeforeWrite();
|
||||
CHStringData* GetData() const;
|
||||
void Init();
|
||||
int LoadStringW(UINT nID, LPWSTR lpszBuf, UINT nMaxBuf);
|
||||
int LoadStringW(UINT nID, CHSTRING_LPWSTR lpszBuf, UINT nMaxBuf);
|
||||
void Release();
|
||||
static void WINAPI Release(CHStringData* pData);
|
||||
static int WINAPI SafeStrlen(LPCWSTR lpsz);
|
||||
static int WINAPI SafeStrlen(CHSTRING_LPCWSTR lpsz);
|
||||
static int WINAPI SafeStrlen(const wchar_t* lpsz)
|
||||
{
|
||||
return SafeStrlen(reinterpret_cast<CHSTRING_LPCWSTR>(lpsz));
|
||||
}
|
||||
};
|
||||
|
||||
inline BOOL operator==(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) == 0; }
|
||||
inline BOOL operator==(const CHString& s1, CHSTRING_LPCWSTR s2) { return s1.Compare(s2) == 0; }
|
||||
inline BOOL operator==(const CHString& s1, const CHString& s2) { return s1.Compare(s2) == 0; }
|
||||
|
||||
inline BOOL operator!=(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) != 0; }
|
||||
inline BOOL operator!=(const CHString& s1, CHSTRING_LPCWSTR s2) { return s1.Compare(s2) != 0; }
|
||||
inline BOOL operator!=(const CHString& s1, const CHString& s2) { return s1.Compare(s2) != 0; }
|
||||
|
||||
inline BOOL operator<(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) < 0; }
|
||||
inline BOOL operator<(const CHString& s1, CHSTRING_LPCWSTR s2) { return s1.Compare(s2) < 0; }
|
||||
inline BOOL operator<(const CHString& s1, const CHString& s2) { return s1.Compare(s2) < 0; }
|
||||
|
||||
inline BOOL operator>(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) > 0; }
|
||||
inline BOOL operator>(const CHString& s1, CHSTRING_LPCWSTR s2) { return s1.Compare(s2) > 0; }
|
||||
inline BOOL operator>(const CHString& s1, const CHString& s2) { return s1.Compare(s2) > 0; }
|
||||
|
||||
inline BOOL operator<=(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) <= 0; }
|
||||
inline BOOL operator<=(const CHString& s1, CHSTRING_LPCWSTR s2) { return s1.Compare(s2) <= 0; }
|
||||
inline BOOL operator<=(const CHString& s1, const CHString& s2) { return s1.Compare(s2) <= 0; }
|
||||
|
||||
inline BOOL operator>=(const CHString& s1, LPCWSTR s2) { return s1.Compare(s2) >= 0; }
|
||||
inline BOOL operator>=(const CHString& s1, CHSTRING_LPCWSTR s2) { return s1.Compare(s2) >= 0; }
|
||||
inline BOOL operator>=(const CHString& s1, const CHString& s2) { return s1.Compare(s2) >= 0; }
|
||||
|
||||
/* Have GCC link to the symbols exported by framedyn.dll */
|
||||
#ifdef __GNUC__
|
||||
|
||||
#define DEFINE_FRAMEDYN_ALIAS(alias, orig) __asm__(".set " #alias ", \"" #orig "\"");
|
||||
|
||||
#ifdef _M_IX86
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString16AllocBeforeWriteEi, ?AllocBeforeWrite@CHString@@IAEXH@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString11AllocBufferEi, ?AllocBuffer@CHString@@IAEXH@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString9AllocCopyERS_iii, ?AllocCopy@CHString@@IBEXAAV1@HHH@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString14AllocSysStringEv, ?AllocSysString@CHString@@QBEPAGXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString10AssignCopyEiPKt, ?AssignCopy@CHString@@IAEXHPBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringC1ERKS_, ??0CHString@@QAE@ABV0@@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringC1EPKc, ??0CHString@@QAE@PBD@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringC1EPKh, ??0CHString@@QAE@PBE@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringC1EPKt, ??0CHString@@QAE@PBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringC1EPKti, ??0CHString@@QAE@PBGH@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringC1Eti, ??0CHString@@QAE@GH@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringC1Ev, ??0CHString@@QAE@XZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringC2Ev, ??0CHString@@QAE@XZ) // CHString::CHString(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString7CollateEPKt, ?Collate@CHString@@QBEHPBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString7CompareEPKt, ?Compare@CHString@@QBEHPBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString13CompareNoCaseEPKt, ?CompareNoCase@CHString@@QBEHPBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString10ConcatCopyEiPKtiS1_, ?ConcatCopy@CHString@@IAEXHPBGH0@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString13ConcatInPlaceEiPKt, ?ConcatInPlace@CHString@@IAEXHPBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString15CopyBeforeWriteEv, ?CopyBeforeWrite@CHString@@IAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString5EmptyEv, ?Empty@CHString@@QAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString4FindEPKt, ?Find@CHString@@QBEHPBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString4FindEt, ?Find@CHString@@QBEHG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString9FindOneOfEPKt, ?FindOneOf@CHString@@QBEHPBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString6FormatEjz, ?Format@CHString@@QAAXIZZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString6FormatEPKtz, ?Format@CHString@@QAAXPBGZZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString14FormatMessageWEjz, ?FormatMessageW@CHString@@QAAXIZZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString14FormatMessageWEPKtz, ?FormatMessageW@CHString@@QAAXPBGZZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString7FormatVEPKtPc, ?FormatV@CHString@@QAEXPBGPAD@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString9FreeExtraEv, ?FreeExtra@CHString@@QAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString14GetAllocLengthEv, ?GetAllocLength@CHString@@QBEHXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString5GetAtEi, ?GetAt@CHString@@QBEGH@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString9GetBufferEi, ?GetBuffer@CHString@@QAEPAGH@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString18GetBufferSetLengthEi, ?GetBufferSetLength@CHString@@QAEPAGH@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString7GetDataEv, ?GetData@CHString@@IBEPAUCHStringData@@XZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString9GetLengthEv, ?GetLength@CHString@@QBEHXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString4InitEv, ?Init@CHString@@IAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString7IsEmptyEv, ?IsEmpty@CHString@@QBEHXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString4LeftEi, ?Left@CHString@@QBE?AV1@H@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString11LoadStringWEj, ?LoadStringW@CHString@@QAEHI@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString11LoadStringWEjPtj, ?LoadStringW@CHString@@IAEHIPAGI@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString10LockBufferEv, ?LockBuffer@CHString@@QAEPAGXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString9MakeLowerEv, ?MakeLower@CHString@@QAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString11MakeReverseEv, ?MakeReverse@CHString@@QAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString9MakeUpperEv, ?MakeUpper@CHString@@QAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString3MidEi, ?Mid@CHString@@QBE?AV1@H@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString3MidEii, ?Mid@CHString@@QBE?AV1@HH@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString7ReleaseEP12CHStringData@4, ?Release@CHString@@KGXPAUCHStringData@@@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString7ReleaseEv, ?Release@CHString@@IAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString13ReleaseBufferEi, ?ReleaseBuffer@CHString@@QAEXH@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString11ReverseFindEt, ?ReverseFind@CHString@@QBEHG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString5RightEi, ?Right@CHString@@QBE?AV1@H@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString10SafeStrlenEPKt@4, ?SafeStrlen@CHString@@KGHPBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString5SetAtEit, ?SetAt@CHString@@QAEXHG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString13SpanExcludingEPKt, ?SpanExcluding@CHString@@QBE?AV1@PBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHString13SpanIncludingEPKt, ?SpanIncluding@CHString@@QBE?AV1@PBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString8TrimLeftEv, ?TrimLeft@CHString@@QAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString9TrimRightEv, ?TrimRight@CHString@@QAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHString12UnlockBufferEv, ?UnlockBuffer@CHString@@QAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHStringcvPKwEv, ??BCHString@@QBEPBGXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringpLERKS_, ??YCHString@@QAEABV0@ABV0@@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringpLEc, ??YCHString@@QAEABV0@D@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringpLEPKw, ??YCHString@@QAEABV0@PBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringpLEw, ??YCHString@@QAEABV0@G@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringaSEPS_, ??4CHString@@QAEABV0@PAV0@@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringaSERKS_, ??4CHString@@QAEABV0@ABV0@@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringaSEPKc, ??4CHString@@QAEABV0@PBD@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringaSEc, ??4CHString@@QAEABV0@D@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringaSEPKh, ??4CHString@@QAEABV0@PBE@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringaSEPKw, ??4CHString@@QAEABV0@PBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringaSEw, ??4CHString@@QAEABV0@G@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZNK8CHStringixEi, ??ACHString@@QBEGH@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringD1Ev, ??1CHString@@QAE@XZ) // CHString::~CHString() complete object destructor
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8CHStringD2Ev, ??1CHString@@QAE@XZ) // CHString::~CHString() base object destructor
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZplwRK8CHString, ??H@YG?AVCHString@@GABV0@@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZplRK8CHStringw, ??H@YG?AVCHString@@ABV0@G@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZplRK8CHStringPKw, ??H@YG?AVCHString@@ABV0@PBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZplPKwRK8CHString, ??H@YG?AVCHString@@PBGABV0@@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZplRK8CHStringS1_, ??H@YG?AVCHString@@ABV0@0@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8Provider5FlushEv, ?Flush@Provider@@MAEXXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8Provider21ValidateDeletionFlagsEl, ?ValidateDeletionFlags@Provider@@MAEJJ@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8Provider19ValidateMethodFlagsEl, ?ValidateMethodFlags@Provider@@MAEJJ@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(__ZN8Provider18ValidateQueryFlagsEl, ?ValidateQueryFlags@Provider@@MAEJJ@Z)
|
||||
#elif defined(_M_AMD64)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString16AllocBeforeWriteEi, ?AllocBeforeWrite@CHString@@IEAAXH@Z) // protected: void __thiscall CHString::AllocBeforeWrite(int)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString11AllocBufferEi, ?AllocBuffer@CHString@@IEAAXH@Z) // protected: void __thiscall CHString::AllocBuffer(int)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString9AllocCopyERS_iii, ?AllocCopy@CHString@@IEBAXAEAV1@HHH@Z) // protected: void __thiscall CHString::AllocCopy(class CHString &,int,int,int)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString14AllocSysStringEv, ?AllocSysString@CHString@@QEBAPEAGXZ)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString10AssignCopyEiPKt, ?AssignCopy@CHString@@IEAAXHPEBG@Z)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringC1ERKS_, ??0CHString@@QEAA@AEBV0@@Z) // CHString::CHString(CHString const&)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringC1EPKc, ??0CHString@@QEAA@PEBD@Z) // CHString::CHString(char const*)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringC1EPKh, ??0CHString@@QEAA@PEBE@Z) // CHString::CHString(unsigned char const*)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringC1EPKt, ??0CHString@@QEAA@PEBG@Z) // CHString::CHString(unsigned short const*)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringC1EPKti, ??0CHString@@QEAA@PEBGH@Z) // CHString::CHString(unsigned short const*, int)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringC1Eti, ??0CHString@@QEAA@GH@Z) // CHString::CHString(unsigned short, int)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringC1Ev, ??0CHString@@QEAA@XZ) // public: __thiscall CHString::CHString(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringC2Ev, ??0CHString@@QEAA@XZ) // public: __thiscall CHString::CHString(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString7CollateEPKt, ?Collate@CHString@@QEBAHPEBG@Z) // public: int __thiscall CHString::Collate(unsigned short const *)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString7CompareEPKt, ?Compare@CHString@@QEBAHPEBG@Z) // public: int __thiscall CHString::Compare(unsigned short const *)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString13CompareNoCaseEPKt, ?CompareNoCase@CHString@@QEBAHPEBG@Z) // public: int __thiscall CHString::CompareNoCase(unsigned short const *)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString10ConcatCopyEiPKtiS1_, ?ConcatCopy@CHString@@IEAAXHPEBGH0@Z) // protected: void __thiscall CHString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString13ConcatInPlaceEiPKt, ?ConcatInPlace@CHString@@IEAAXHPEBG@Z) // protected: void __thiscall CHString::ConcatInPlace(int,unsigned short const *)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString15CopyBeforeWriteEv, ?CopyBeforeWrite@CHString@@IEAAXXZ) // protected: void __thiscall CHString::CopyBeforeWrite(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString5EmptyEv, ?Empty@CHString@@QEAAXXZ) // public: void __thiscall CHString::Empty(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString4FindEPKt, ?Find@CHString@@QEBAHPEBG@Z) // public: int __thiscall CHString::Find(unsigned short const *)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString4FindEt, ?Find@CHString@@QEBAHG@Z) // public: int __thiscall CHString::Find(unsigned short)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString9FindOneOfEPKt, ?FindOneOf@CHString@@QEBAHPEBG@Z) // public: int __thiscall CHString::FindOneOf(unsigned short const *)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString6FormatEjz, ?Format@CHString@@QEAAXIZZ) // public: void __cdecl CHString::Format(unsigned int,...)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString6FormatEPKtz, ?Format@CHString@@QEAAXPEBGZZ) // public: void __cdecl CHString::Format(unsigned short const *,...)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString14FormatMessageWEjz, ?FormatMessageW@CHString@@QEAAXIZZ) // public: void __cdecl CHString::FormatMessageW(unsigned int,...)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString14FormatMessageWEPKtz, ?FormatMessageW@CHString@@QEAAXPEBGZZ) // public: void __cdecl CHString::FormatMessageW(unsigned short const *,...)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString7FormatVEPKtPc, ?FormatV@CHString@@QEAAXPEBGPEAD@Z) // public: void __thiscall CHString::FormatV(unsigned short const *,char *)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString9FreeExtraEv, ?FreeExtra@CHString@@QEAAXXZ) // public: void __thiscall CHString::FreeExtra(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString14GetAllocLengthEv, ?GetAllocLength@CHString@@QEBAHXZ) // public: int __thiscall CHString::GetAllocLength(void)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString5GetAtEi, ?GetAt@CHString@@QEBAGH@Z) // public: unsigned short __thiscall CHString::GetAt(int)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString9GetBufferEi, ?GetBuffer@CHString@@QEAAPEAGH@Z) // public: unsigned short * __thiscall CHString::GetBuffer(int)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString18GetBufferSetLengthEi, ?GetBufferSetLength@CHString@@QEAAPEAGH@Z) // public: unsigned short * __thiscall CHString::GetBufferSetLength(int)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString7GetDataEv, ?GetData@CHString@@IEBAPEAUCHStringData@@XZ) // protected: struct CHStringData * __thiscall CHString::GetData(void)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString9GetLengthEv, ?GetLength@CHString@@QEBAHXZ) // public: int __thiscall CHString::GetLength(void)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString4InitEv, ?Init@CHString@@IEAAXXZ) // protected: void __thiscall CHString::Init(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString7IsEmptyEv, ?IsEmpty@CHString@@QEBAHXZ) // public: int __thiscall CHString::IsEmpty(void)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString4LeftEi, ?Left@CHString@@QEBA?AV1@H@Z) // public: class CHString __thiscall CHString::Left(int)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString11LoadStringWEj, ?LoadStringW@CHString@@QEAAHI@Z) // public: int __thiscall CHString::LoadStringW(unsigned int)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString11LoadStringWEjPtj, ?LoadStringW@CHString@@IEAAHIPEAGI@Z) // protected: int __thiscall CHString::LoadStringW(unsigned int,unsigned short *,unsigned int)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString10LockBufferEv, ?LockBuffer@CHString@@QEAAPEAGXZ) // public: unsigned short * __thiscall CHString::LockBuffer(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString9MakeLowerEv, ?MakeLower@CHString@@QEAAXXZ) // public: void __thiscall CHString::MakeLower(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString11MakeReverseEv, ?MakeReverse@CHString@@QEAAXXZ) // public: void __thiscall CHString::MakeReverse(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString9MakeUpperEv, ?MakeUpper@CHString@@QEAAXXZ) // public: void __thiscall CHString::MakeUpper(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString3MidEi, ?Mid@CHString@@QEBA?AV1@H@Z) // public: class CHString __thiscall CHString::Mid(int)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString3MidEii, ?Mid@CHString@@QEBA?AV1@HH@Z) // public: class CHString __thiscall CHString::Mid(int,int)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString7ReleaseEP12CHStringData, ?Release@CHString@@KAXPEAUCHStringData@@@Z) // protected: static void __stdcall CHString::Release(struct CHStringData *)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString7ReleaseEv, ?Release@CHString@@IEAAXXZ) // protected: void __thiscall CHString::Release(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString13ReleaseBufferEi, ?ReleaseBuffer@CHString@@QEAAXH@Z) // public: void __thiscall CHString::ReleaseBuffer(int)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString11ReverseFindEt, ?ReverseFind@CHString@@QEBAHG@Z) // public: int __thiscall CHString::ReverseFind(unsigned short)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString5RightEi, ?Right@CHString@@QEBA?AV1@H@Z) // public: class CHString __thiscall CHString::Right(int)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString10SafeStrlenEPKt, ?SafeStrlen@CHString@@KAHPEBG@Z) // protected: static int__stdcall CHString::SafeStrlen(unsigned short const *)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString5SetAtEit, ?SetAt@CHString@@QEAAXHG@Z) // public: void __thiscall CHString::SetAt(int,unsigned short)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString13SpanExcludingEPKt, ?SpanExcluding@CHString@@QEBA?AV1@PEBG@Z) // public: class CHString __thiscall CHString::SpanExcluding(unsigned short const *)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHString13SpanIncludingEPKt, ?SpanIncluding@CHString@@QEBA?AV1@PEBG@Z) // public: class CHString __thiscall CHString::SpanIncluding(unsigned short const *)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString8TrimLeftEv, ?TrimLeft@CHString@@QEAAXXZ) // public: void __thiscall CHString::TrimLeft(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString9TrimRightEv, ?TrimRight@CHString@@QEAAXXZ) // public: void __thiscall CHString::TrimRight(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHString12UnlockBufferEv, ?UnlockBuffer@CHString@@QEAAXXZ) // public: void __thiscall CHString::UnlockBuffer(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHStringcvPKtEv, ??BCHString@@QEBAPEBGXZ) // public: __thiscall CHString::operator unsigned short const *(void)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringpLERKS_, ??YCHString@@QEAAAEBV0@AEBV0@@Z) // public: class CHString const & __thiscall CHString::operator+=(class CHString const &)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringpLEc, ??YCHString@@QEAAAEBV0@D@Z) // public: class CHString const & __thiscall CHString::operator+=(char)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringpLEPKt, ??YCHString@@QEAAAEBV0@PEBG@Z) // public: class CHString const & __thiscall CHString::operator+=(unsigned short const *)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringpLEt, ??YCHString@@QEAAAEBV0@G@Z) // public: class CHString const & __thiscall CHString::operator+=(unsigned short)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringaSEPS_, ??4CHString@@QEAAAEBV0@PEAV0@@Z) // public: class CHString const & __thiscall CHString::operator=(class CHString *)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringaSERKS_, ??4CHString@@QEAAAEBV0@AEBV0@@Z) // public: class CHString const & __thiscall CHString::operator=(class CHString const &)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringaSEPKc, ??4CHString@@QEAAAEBV0@PEBD@Z) // public: class CHString const & __thiscall CHString::operator=(char const *)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringaSEc, ??4CHString@@QEAAAEBV0@D@Z) // public: class CHString const & __thiscall CHString::operator=(char)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringaSEPKh, ??4CHString@@QEAAAEBV0@PEBE@Z) // public: class CHString const & __thiscall CHString::operator=(unsigned char const *)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringaSEPKt, ??4CHString@@QEAAAEBV0@PEBG@Z) // public: class CHString const & __thiscall CHString::operator=(unsigned short const *)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringaSEt, ??4CHString@@QEAAAEBV0@G@Z) // public: class CHString const & __thiscall CHString::operator=(unsigned short)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZNK8CHStringixEi, ??ACHString@@QEBAGH@Z) // public: unsigned short __thiscall CHString::operator[](int)const
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringD1Ev, ??1CHString@@QEAA@XZ) // public: __thiscall CHString::~CHString(void), complete object destructor
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8CHStringD2Ev, ??1CHString@@QEAA@XZ) // public: __thiscall CHString::~CHString(void), base object destructor
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZpltRK8CHString, ??H@YA?AVCHString@@GAEBV0@@Z) // class CHString __stdcall operator+(unsigned short,class CHString const &)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZplRK8CHStringt, ??H@YA?AVCHString@@AEBV0@G@Z) // class CHString __stdcall operator+(class CHString const &,unsigned short)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZplRK8CHStringPKt, ??H@YA?AVCHString@@AEBV0@PEBG@Z) // class CHString __stdcall operator+(class CHString const &,unsigned short const *)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZplPKtRK8CHString, ??H@YA?AVCHString@@PEBGAEBV0@@Z) // class CHString __stdcall operator+(unsigned short const *,class CHString const &)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZplRK8CHStringS1_, ??H@YA?AVCHString@@AEBV0@0@Z) // class CHString __stdcall operator+(class CHString const &,class CHString const &)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8Provider5FlushEv, ?Flush@Provider@@MEAAXXZ) // protected: virtual void __thiscall Provider::Flush(void)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8Provider21ValidateDeletionFlagsEl, ?ValidateDeletionFlags@Provider@@MEAAJJ@Z) // protected: virtual long __thiscall Provider::ValidateDeletionFlags(long)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8Provider19ValidateMethodFlagsEl, ?ValidateMethodFlags@Provider@@MEAAJJ@Z) // protected: virtual long __thiscall Provider::ValidateMethodFlags(long)
|
||||
DEFINE_FRAMEDYN_ALIAS(_ZN8Provider18ValidateQueryFlagsEl, ?ValidateQueryFlags@Provider@@MEAAJJ@Z) // protected: virtual long __thiscall Provider::ValidateQueryFlags(long)
|
||||
#else
|
||||
#error Unsupported arch
|
||||
#endif
|
||||
|
||||
#undef DEFINE_FRAMEDYN_ALIAS
|
||||
|
||||
#endif // __GNUC__
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue