57 if (!CustomCP->DBCSCodePage)
60 if (CustomSize > (UnicodeSize /
sizeof(
WCHAR)))
162 DPRINT(
"RtlInitCodePageTable() called\n");
215 DPRINT(
"RtlInitNlsTables()called\n");
217 if (AnsiTableBase && OemTableBase && CaseTableBase)
222 NlsTable->UpperCaseTable = (
PUSHORT)CaseTableBase + 2;
223 NlsTable->LowerCaseTable = (
PUSHORT)CaseTableBase + *((
PUSHORT)CaseTableBase + 1) + 2;
245 if (MbSize > (UnicodeSize /
sizeof(
WCHAR)))
265 PCSTR MbEnd = MbString + MbSize;
267 for (
i = 0;
i < UnicodeSize /
sizeof(
WCHAR) && MbString < MbEnd;
i++)
269 Char = *(
PUCHAR)MbString++;
285 if (MbString < MbEnd)
290 *ResultSize =
i *
sizeof(
WCHAR);
311 DPRINT1(
"RtlConsoleMultiByteToUnicodeN calling RtlMultiByteToUnicodeN\n");
336 *UnicodeSize = MbSize *
sizeof(
WCHAR);
387 if (OemSize > (UnicodeSize /
sizeof(
WCHAR)))
423 if (!OemLeadByteInfo)
435 *ResultSize =
i *
sizeof(
WCHAR);
449 DPRINT(
"RtlResetRtlTranslations() called\n");
494 if (!CustomCP->DBCSCodePage)
497 if (UnicodeSize > (CustomSize *
sizeof(
WCHAR)))
540 Size = (UnicodeSize > (MbSize *
sizeof(
WCHAR)))
541 ? MbSize : (UnicodeSize /
sizeof(
WCHAR));
565 *MbString++ =
LOBYTE(WideChar);
573 *MbString++ =
LOBYTE(MbChar);
579 *MbString++ =
HIBYTE(MbChar);
580 *MbString++ =
LOBYTE(MbChar);
587 *ResultSize = MbSize -
i;
602 ULONG UnicodeLength = UnicodeSize /
sizeof(
WCHAR);
610 *MbSize = UnicodeLength;
617 while (UnicodeLength--)
623 MbLength +=
sizeof(
WCHAR);
654 UnicodeSize /=
sizeof(
WCHAR);
658 while (OemSize && UnicodeSize)
668 while (OemSize && UnicodeSize)
703 return (
Source - (
'a' -
'A'));
745 if (!CustomCP->DBCSCodePage)
748 if (UnicodeSize > (CustomSize *
sizeof(
WCHAR)))
759 *CustomString = ((
PCHAR)CustomCP->WideCharTable)[UpcaseChar];
793 if (UnicodeSize > (MbSize *
sizeof(
WCHAR)))
838 if (UnicodeSize > (OemSize *
sizeof(
WCHAR)))
890 *ResultSize = OemSize -
i;
914 return Source ^ (
'a' -
'A');
static CODEPAGE_ENTRY AnsiCodePage
static CODEPAGE_ENTRY OemCodePage
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
#define MAXIMUM_LEADBYTES
struct _NLS_FILE_HEADER * PNLS_FILE_HEADER
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
_Out_ PCPTABLEINFO CodePageTable
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
VOID NTAPI RtlInitNlsTables(IN PUSHORT AnsiTableBase, IN PUSHORT OemTableBase, IN PUSHORT CaseTableBase, OUT PNLSTABLEINFO NlsTable)
WCHAR NTAPI RtlpUpcaseUnicodeChar(IN WCHAR Source)
PUSHORT NlsUnicodeToMbOemTable
NTSTATUS NTAPI RtlMultiByteToUnicodeN(OUT PWCHAR UnicodeString, IN ULONG UnicodeSize, OUT PULONG ResultSize, IN PCSTR MbString, IN ULONG MbSize)
PCHAR NlsUnicodeToAnsiTable
PUSHORT NlsOemLeadByteInfo
USHORT NlsUnicodeDefaultChar
VOID NTAPI RtlGetDefaultCodePage(OUT PUSHORT AnsiCodePage, OUT PUSHORT OemCodePage)
BOOLEAN NlsMbOemCodePageTag
VOID NTAPI RtlInitCodePageTable(IN PUSHORT TableBase, OUT PCPTABLEINFO CodePageTable)
VOID NTAPI RtlResetRtlTranslations(IN PNLSTABLEINFO NlsTable)
WCHAR NTAPI RtlDowncaseUnicodeChar(IN WCHAR Source)
WCHAR NTAPI RtlpDowncaseUnicodeChar(IN WCHAR Source)
WCHAR NTAPI RtlUpcaseUnicodeChar(IN WCHAR Source)
PUSHORT NlsUnicodeLowercaseTable
PUSHORT NlsOemToUnicodeTable
NTSTATUS NTAPI RtlUnicodeToMultiByteSize(OUT PULONG MbSize, IN PCWCH UnicodeString, IN ULONG UnicodeSize)
PUSHORT NlsAnsiToUnicodeTable
NTSTATUS NTAPI RtlUnicodeToOemN(OUT PCHAR OemString, IN ULONG OemSize, OUT PULONG ResultSize OPTIONAL, IN PCWCH UnicodeString, IN ULONG UnicodeSize)
NTSTATUS NTAPI RtlCustomCPToUnicodeN(IN PCPTABLEINFO CustomCP, OUT PWCHAR UnicodeString, IN ULONG UnicodeSize, OUT PULONG ResultSize OPTIONAL, IN PCHAR CustomString, IN ULONG CustomSize)
NTSTATUS NTAPI RtlUpcaseUnicodeToMultiByteN(OUT PCHAR MbString, IN ULONG MbSize, OUT PULONG ResultSize OPTIONAL, IN PCWCH UnicodeString, IN ULONG UnicodeSize)
NTSTATUS NTAPI RtlConsoleMultiByteToUnicodeN(OUT PWCHAR UnicodeString, IN ULONG UnicodeSize, OUT PULONG ResultSize, IN PCSTR MbString, IN ULONG MbSize, OUT PULONG Unknown)
NTSTATUS NTAPI RtlUpcaseUnicodeToCustomCPN(IN PCPTABLEINFO CustomCP, OUT PCHAR CustomString, IN ULONG CustomSize, OUT PULONG ResultSize OPTIONAL, IN PWCHAR UnicodeString, IN ULONG UnicodeSize)
PUSHORT NlsUnicodeToMbAnsiTable
NTSTATUS NTAPI RtlOemToUnicodeN(OUT PWCHAR UnicodeString, IN ULONG UnicodeSize, OUT PULONG ResultSize OPTIONAL, IN PCCH OemString, IN ULONG OemSize)
NTSTATUS NTAPI RtlUnicodeToMultiByteN(OUT PCHAR MbString, IN ULONG MbSize, OUT PULONG ResultSize OPTIONAL, IN PCWCH UnicodeString, IN ULONG UnicodeSize)
PCHAR NlsUnicodeToOemTable
NTSTATUS NTAPI RtlMultiByteToUnicodeSize(OUT PULONG UnicodeSize, IN PCSTR MbString, IN ULONG MbSize)
NTSTATUS NTAPI RtlUnicodeToCustomCPN(IN PCPTABLEINFO CustomCP, OUT PCHAR CustomString, IN ULONG CustomSize, OUT PULONG ResultSize OPTIONAL, IN PWCHAR UnicodeString, IN ULONG UnicodeSize)
CHAR NTAPI RtlUpperChar(IN CHAR Source)
NTSTATUS NTAPI RtlUpcaseUnicodeToOemN(OUT PCHAR OemString, IN ULONG OemSize, OUT PULONG ResultSize OPTIONAL, IN PCWCH UnicodeString, IN ULONG UnicodeSize)
PUSHORT NlsUnicodeUpcaseTable
#define STATUS_BUFFER_OVERFLOW
PULONG MinorVersion OPTIONAL
UCHAR LeadByte[MAXIMUM_LEADBYTES]
USHORT MaximumCharacterSize
USHORT TransUniDefaultChar
#define RtlCopyMemory(Destination, Source, Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
*BytesInOemString PCHAR OemString