48void operator delete(
void*
ptr)
63void*
operator new(
size_t uSize)
82 if (nLen == 0 || lpDest == 0)
125 for (
int i = 0;
i < nRepeat; ++
i)
152 reinterpret_cast<LPCWSTR>(lpsz),
172 reinterpret_cast<LPCWSTR>(lpch),
344 if (nCopyLen + nExtraLen == 0)
355 dest.AllocBuffer(nCopyLen + nExtraLen);
401 reinterpret_cast<LPCWSTR>(lpszSrcData), nSrcLen);
480 reinterpret_cast<LPCWSTR>(lpszSrcData),
496 if (nSrc1Len < 0 || nSrc2Len < 0)
502 TotalLen = nSrc1Len + nSrc2Len;
512 reinterpret_cast<LPCWSTR>(lpszSrc1Data),
515 reinterpret_cast<LPCWSTR>(lpszSrc2Data),
530 if (
Data->nRefs <= 1)
552 if (
GetData()->nDataLength == 0)
723 if (
GetData()->nRefs > 1 ||
GetData()->nAllocLength < nMinBufLength)
729 if (OldLen > nMinBufLength)
731 nMinBufLength = OldLen;
799 return (
GetData()->nDataLength == 0);
812 if (nCount >
GetData()->nDataLength)
897 return Mid(nFirst,
GetData()->nDataLength - nFirst);
919 if (nFirst + nCount >
GetData()->nDataLength)
927 if (nFirst >
GetData()->nDataLength)
988 if (nNewLength == -1)
995 Data->nDataLength = nNewLength;
996 Data->data()[nNewLength] = 0;
1028 if (nCount >
GetData()->nDataLength)
1104 while (*CurrentChar != 0)
1144 while (*CurrentChar != 0)
1153 else if (CanBeEaten == 0)
1155 CanBeEaten = CurrentChar;
1162 if (CanBeEaten == 0)
1263 if (&stringSrc ==
this)
static USHORT USHORT * NewLength
ACPI_SIZE strlen(const char *String)
#define InterlockedIncrement
#define InterlockedDecrement
int mbstowcsz(LPWSTR lpDest, LPCSTR lpSrc, int nLen)
CHSTRING_WCHAR afxPchNil[1]
CHString WINAPI operator+(CHSTRING_WCHAR ch, const CHString &string)
CHeap_Exception HeapException(CHeap_Exception::E_ALLOCATION_ERROR)
const CHSTRING_WCHAR * CHSTRING_LPCWSTR
CHSTRING_WCHAR * CHSTRING_LPWSTR
unsigned short CHSTRING_WCHAR
CHStringData * GetData() const
void ConcatInPlace(int nSrcLen, CHSTRING_LPCWSTR lpszSrcData)
CHString Left(int nCount) const
void SetAt(int nIndex, CHSTRING_WCHAR ch)
const CHString & operator+=(char ch)
int Compare(CHSTRING_LPCWSTR lpsz) const
void AssignCopy(int nSrcLen, CHSTRING_LPCWSTR lpszSrcData)
const CHString & operator=(char ch)
CHString SpanExcluding(CHSTRING_LPCWSTR lpszCharSet) const
void ReleaseBuffer(int nNewLength=-1)
CHSTRING_LPWSTR GetBuffer(int nMinBufLength)
CHString Right(int nCount) const
void FormatMessageW(UINT nFormatID,...)
CHSTRING_WCHAR operator[](int nIndex) const
int Collate(CHSTRING_LPCWSTR lpsz) const
CHString Mid(int nFirst) const
int LoadStringW(UINT nID)
void ConcatCopy(int nSrc1Len, CHSTRING_LPCWSTR lpszSrc1Data, int nSrc2Len, CHSTRING_LPCWSTR lpszSrc2Data)
CHString SpanIncluding(CHSTRING_LPCWSTR lpszCharSet) const
void AllocCopy(CHString &dest, int nCopyLen, int nCopyIndex, int nExtraLen) const
int CompareNoCase(CHSTRING_LPCWSTR lpsz) const
CHSTRING_LPWSTR LockBuffer()
int Find(CHSTRING_WCHAR ch) const
CHSTRING_LPWSTR GetBufferSetLength(int nNewLength)
CHSTRING_LPWSTR m_pchData
CHSTRING_LPWSTR AllocSysString() const
int ReverseFind(CHSTRING_WCHAR ch) const
void AllocBuffer(int nLen)
void FormatV(CHSTRING_LPCWSTR lpszFormat, va_list argList)
int GetAllocLength() const
int FindOneOf(CHSTRING_LPCWSTR lpszCharSet) const
void AllocBeforeWrite(int nLen)
CHSTRING_WCHAR GetAt(int nIndex) const
static int WINAPI SafeStrlen(CHSTRING_LPCWSTR lpsz)
void Format(UINT nFormatID,...)
#define ERROR_INVALID_PARAMETER
#define MultiByteToWideChar
VOID WINAPI RaiseException(_In_ DWORD dwExceptionCode, _In_ DWORD dwExceptionFlags, _In_ DWORD nNumberOfArguments, _In_opt_ const ULONG_PTR *lpArguments)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
static BYTE * GetData(BYTE *pData, ULONG *pLength)
return pMemory GetBuffer()
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
_CONST_RETURN wchar_t *__cdecl wcsstr(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_SubStr)
#define memmove(s1, s2, n)
static CHAR string1[MAX_PATH]
static CHAR string2[MAX_PATH]
#define STATUS_INTEGER_OVERFLOW
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_CRTIMP wchar_t *__cdecl _wcsrev(_Inout_z_ wchar_t *_Str)
_Check_return_ _CRTIMP _CONST_RETURN wchar_t *__cdecl wcspbrk(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
_CRTIMP wchar_t *__cdecl wcsncpy(wchar_t *_Dest, const wchar_t *_Source, size_t _Count)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_Check_return_ _CRTIMP size_t __cdecl wcsspn(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
_CRTIMP wchar_t *__cdecl _wcsupr(_Inout_z_ wchar_t *_String)
_Check_return_ _CRTIMP size_t __cdecl wcscspn(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
_CRTIMP wchar_t *__cdecl _wcslwr(_Inout_z_ wchar_t *_String)
_Check_return_ _CRTIMP int __cdecl wcscoll(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
#define EXCEPTION_NONCONTINUABLE
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
*nSize LPSTR _Inout_ LPDWORD nSize