46 void operator delete(
void*
ptr)
61 void*
operator new(
size_t uSize)
80 if (nLen == 0 || lpDest == 0)
123 for (
int i = 0;
i < nRepeat; ++
i)
150 reinterpret_cast<LPCWSTR>(lpsz),
170 reinterpret_cast<LPCWSTR>(lpch),
342 if (nCopyLen + nExtraLen == 0)
353 dest.AllocBuffer(nCopyLen + nExtraLen);
356 reinterpret_cast<LPWSTR>(
m_pchData + nCopyIndex),
374 return reinterpret_cast<CHSTRING_LPWSTR>(SysString);
399 reinterpret_cast<LPCWSTR>(lpszSrcData), nSrcLen);
411 return wcscoll(reinterpret_cast<LPCWSTR>(
m_pchData), reinterpret_cast<LPCWSTR>(lpsz));
421 return wcscmp(reinterpret_cast<LPCWSTR>(
m_pchData), reinterpret_cast<LPCWSTR>(lpsz));
431 return wcsicmp(reinterpret_cast<LPCWSTR>(
m_pchData), reinterpret_cast<LPCWSTR>(lpsz));
478 reinterpret_cast<LPCWSTR>(lpszSrcData),
494 if (nSrc1Len < 0 || nSrc2Len < 0)
500 TotalLen = nSrc1Len + nSrc2Len;
510 reinterpret_cast<LPCWSTR>(lpszSrc1Data),
513 reinterpret_cast<LPCWSTR>(lpszSrc2Data),
528 if (
Data->nRefs <= 1)
540 reinterpret_cast<LPCWSTR>(
Data->data()),
550 if (
GetData()->nDataLength == 0)
596 Found = reinterpret_cast<CHSTRING_LPCWSTR>(
wcsstr(reinterpret_cast<LPCWSTR>(
m_pchData), reinterpret_cast<LPCWSTR>(lpszSub)));
615 Found = reinterpret_cast<CHSTRING_LPCWSTR>(
wcspbrk(reinterpret_cast<LPCWSTR>(
m_pchData), reinterpret_cast<LPCWSTR>(lpszCharSet)));
721 if (
GetData()->nRefs > 1 ||
GetData()->nAllocLength < nMinBufLength)
727 if (OldLen > nMinBufLength)
729 nMinBufLength = OldLen;
735 wcsncpy(reinterpret_cast<LPWSTR>(
m_pchData), reinterpret_cast<LPCWSTR>(OldBuffer), OldLen);
797 return (
GetData()->nDataLength == 0);
810 if (nCount >
GetData()->nDataLength)
895 return Mid(nFirst,
GetData()->nDataLength - nFirst);
917 if (nFirst + nCount >
GetData()->nDataLength)
925 if (nFirst >
GetData()->nDataLength)
986 if (nNewLength == -1)
993 Data->nDataLength = nNewLength;
994 Data->data()[nNewLength] = 0;
1005 Last = reinterpret_cast<CHSTRING_WCHAR*>(
wcsrchr(reinterpret_cast<LPCWSTR>(
m_pchData), ch));
1026 if (nCount >
GetData()->nDataLength)
1051 return (
int)
wcslen(reinterpret_cast<LPCWSTR>(lpsz));
1102 while (*CurrentChar != 0)
1142 while (*CurrentChar != 0)
1151 else if (CanBeEaten == 0)
1153 CanBeEaten = CurrentChar;
1160 if (CanBeEaten == 0)
1261 if (&stringSrc ==
this)
#define ERROR_INVALID_PARAMETER
_CRTIMP wchar_t *__cdecl _wcsrev(_Inout_z_ wchar_t *_Str)
CHStringData * GetData() const
#define memmove(s1, s2, n)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
void Format(UINT nFormatID,...)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
int ReverseFind(CHSTRING_WCHAR ch) const
int CompareNoCase(CHSTRING_LPCWSTR lpsz) const
_Check_return_ _CRTIMP int __cdecl wcscoll(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
ACPI_SIZE strlen(const char *String)
IN BOOLEAN OUT PSTR Buffer
void AllocBeforeWrite(int nLen)
_CONST_RETURN wchar_t *__cdecl wcsstr(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_SubStr)
static CHAR string2[MAX_PATH]
_Check_return_ _CRTIMP size_t __cdecl wcscspn(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG _In_opt_ PVOID Data
CHeap_Exception HeapException(CHeap_Exception::E_ALLOCATION_ERROR)
*nSize LPSTR _Inout_ LPDWORD nSize
CHString Left(int nCount) const
void ReleaseBuffer(int nNewLength=-1)
CHString SpanIncluding(CHSTRING_LPCWSTR lpszCharSet) const
#define EXCEPTION_NONCONTINUABLE
static CHAR string1[MAX_PATH]
CHSTRING_WCHAR * CHSTRING_LPWSTR
int LoadStringW(UINT nID)
CHSTRING_WCHAR operator[](int nIndex) const
int Compare(CHSTRING_LPCWSTR lpsz) const
static USHORT USHORT * NewLength
CHSTRING_LPWSTR m_pchData
#define STATUS_INTEGER_OVERFLOW
CHString Right(int nCount) const
int FindOneOf(CHSTRING_LPCWSTR lpszCharSet) const
const CHString & operator+=(char ch)
_CRTIMP wchar_t *__cdecl _wcsupr(_Inout_z_ wchar_t *_String)
void AllocCopy(CHString &dest, int nCopyLen, int nCopyIndex, int nExtraLen) const
CHSTRING_LPWSTR LockBuffer()
CHSTRING_LPWSTR GetBufferSetLength(int nNewLength)
void AssignCopy(int nSrcLen, CHSTRING_LPCWSTR lpszSrcData)
int Find(CHSTRING_WCHAR ch) const
void ConcatCopy(int nSrc1Len, CHSTRING_LPCWSTR lpszSrc1Data, int nSrc2Len, CHSTRING_LPCWSTR lpszSrc2Data)
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
void AllocBuffer(int nLen)
int mbstowcsz(LPWSTR lpDest, LPCSTR lpSrc, int nLen)
int Collate(CHSTRING_LPCWSTR lpsz) const
#define InterlockedDecrement
void FormatV(CHSTRING_LPCWSTR lpszFormat, va_list argList)
CHSTRING_WCHAR GetAt(int nIndex) const
CHSTRING_WCHAR afxPchNil[1]
void ConcatInPlace(int nSrcLen, CHSTRING_LPCWSTR lpszSrcData)
CHSTRING_LPWSTR AllocSysString() const
_CRTIMP wchar_t *__cdecl _wcslwr(_Inout_z_ wchar_t *_String)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
#define InterlockedIncrement
_CRTIMP wchar_t *__cdecl wcsncpy(wchar_t *_Dest, const wchar_t *_Source, size_t _Count)
VOID WINAPI RaiseException(IN DWORD dwExceptionCode, IN DWORD dwExceptionFlags, IN DWORD nNumberOfArguments, IN CONST ULONG_PTR *lpArguments OPTIONAL)
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
unsigned short CHSTRING_WCHAR
static BYTE * GetData(BYTE *pData, ULONG *pLength)
_Check_return_ _CRTIMP _CONST_RETURN wchar_t *__cdecl wcspbrk(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
CHString WINAPI operator+(CHSTRING_WCHAR ch, const CHString &string)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define MultiByteToWideChar
CHString Mid(int nFirst) const
void FormatMessageW(UINT nFormatID,...)
const CHString & operator=(char ch)
static int WINAPI SafeStrlen(CHSTRING_LPCWSTR lpsz)
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
CHSTRING_LPWSTR GetBuffer(int nMinBufLength)
_Check_return_ _CRTIMP size_t __cdecl wcsspn(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
const CHSTRING_WCHAR * CHSTRING_LPCWSTR
void SetAt(int nIndex, CHSTRING_WCHAR ch)
CHString SpanExcluding(CHSTRING_LPCWSTR lpszCharSet) const
int GetAllocLength() const
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *