18 #include <wine/unicode.h> 63 DPRINT(
"HACK::Shouldn't have happened! Consider fixing Usetup and registry entries it creates on install\n");
119 else if (UniDest->Length >= UniDest->MaximumLength)
125 ASSERT(!(UniDest->MaximumLength & 1) && UniDest->Length <= UniDest->MaximumLength);
138 UniDest->Buffer =
NULL;
268 ULONG RunningTotal = 0;
272 while (*
str !=
'\0' && *
str <=
' ')
str++;
279 else if (*
str ==
'-')
297 else if (
str[1] ==
'o')
302 else if (
str[1] ==
'x')
320 if (chCurrent >=
'0' && chCurrent <=
'9')
322 digit = chCurrent -
'0';
324 else if (chCurrent >=
'A' && chCurrent <=
'Z')
326 digit = chCurrent -
'A' + 10;
328 else if (chCurrent >=
'a' && chCurrent <=
'z')
330 digit = chCurrent -
'a' + 10;
337 if (digit < 0 || digit >= (
int)
base)
break;
339 RunningTotal = RunningTotal *
base + digit;
343 *
value = bMinus ? (0 - RunningTotal) : RunningTotal;
372 while (!
ret &&
len--)
ret = *p1++ - *p2++;
393 if (
s1->Length !=
s2->Length)
return FALSE;
410 if (
s1->Length !=
s2->Length)
return FALSE;
481 while (i < OemString->
Length)
556 DPRINT1(
"\\u%04x is not valid for OEM\n", *Char);
739 *
pos =
'A' + digit - 10;
786 if (Radix == 0) Radix = 10;
788 if ((Radix != 2) && (Radix != 8) &&
789 (Radix != 10) && (Radix != 16))
895 if (
String2->Length < String1->Length)
898 NumChars = String1->Length;
899 pc1 = String1->Buffer;
991 ULONG RunningTotal = 0;
994 while (CharsRemaining >= 1 && *lpwstr <=
' ')
1000 if (CharsRemaining >= 1)
1007 else if (*lpwstr ==
'-')
1019 if (CharsRemaining >= 2 && lpwstr[0] ==
'0')
1021 if (lpwstr[1] ==
'b')
1024 CharsRemaining -= 2;
1027 else if (lpwstr[1] ==
'o')
1030 CharsRemaining -= 2;
1033 else if (lpwstr[1] ==
'x')
1036 CharsRemaining -= 2;
1051 while (CharsRemaining >= 1)
1053 wchCurrent = *lpwstr;
1055 if (wchCurrent >=
'0' && wchCurrent <=
'9')
1057 digit = wchCurrent -
'0';
1059 else if (wchCurrent >=
'A' && wchCurrent <=
'Z')
1061 digit = wchCurrent -
'A' + 10;
1063 else if (wchCurrent >=
'a' && wchCurrent <=
'z')
1065 digit = wchCurrent -
'a' + 10;
1072 if (digit < 0 || (
ULONG)digit >=
base)
break;
1074 RunningTotal = RunningTotal *
base + digit;
1079 *
value = bMinus ? (0 - RunningTotal) : RunningTotal;
1125 ASSERT(!(UniSource->Length & 1));
1147 else if (AnsiDest->Length >= AnsiDest->MaximumLength)
1152 AnsiDest->Length = AnsiDest->MaximumLength - 1;
1204 else if (UniDest->Length >= UniDest->MaximumLength)
1218 UniDest->Buffer =
NULL;
1258 else if (OemDest->Length >= OemDest->MaximumLength)
1272 OemDest->Buffer =
NULL;
1280 #define ITU_IMPLEMENTED_TESTS (IS_TEXT_UNICODE_ODD_LENGTH|IS_TEXT_UNICODE_SIGNATURE) 1292 static const WCHAR std_control_chars[] = {
'\r',
'\n',
'\t',
' ', 0x3000, 0};
1293 static const WCHAR byterev_control_chars[] = {0x0d00, 0x0a00, 0x0900, 0x2000, 0};
1297 UCHAR last_lo_byte = 0;
1298 UCHAR last_hi_byte = 0;
1299 ULONG hi_byte_diff = 0;
1300 ULONG lo_byte_diff = 0;
1302 ULONG lead_byte = 0;
1325 if (((
char *)
buf)[
len - 1] == 0)
1331 if (
len > 256)
len = 256;
1337 for (
i = 0;
i <
len;
i++)
1342 lo_byte_diff +=
max(lo_byte, last_lo_byte) -
min(lo_byte, last_lo_byte);
1343 hi_byte_diff +=
max(hi_byte, last_hi_byte) -
min(hi_byte, last_hi_byte);
1345 last_lo_byte = lo_byte;
1346 last_hi_byte = hi_byte;
1361 for (
i = 0;
i <
len;
i++)
1374 if (lead_byte < (
weight / 3))
1376 else if (lead_byte < ((
weight * 2) / 3))
1386 if (lo_byte_diff < 127 && !hi_byte_diff)
1391 if (hi_byte_diff && !lo_byte_diff)
1396 if ((
weight * lo_byte_diff) < hi_byte_diff)
1403 ((
weight * hi_byte_diff) < lo_byte_diff))
1411 for (
i = 0;
i <
len;
i++)
1413 if (!(
s[
i] & 0xff) || !(
s[
i] >> 8))
1423 for (
i = 0;
i <
len;
i++)
1435 for (
i = 0;
i <
len;
i++)
1437 if (
strchrW(byterev_control_chars,
s[
i]))
1509 else if (UniDest->Length > UniDest->MaximumLength)
1525 UniDest->Buffer =
NULL;
1612 const WCHAR *lpszCLSID =
str->Buffer;
1625 if (*lpszCLSID !=
'{')
1633 if (*lpszCLSID !=
'-')
1638 if (*lpszCLSID !=
'}')
1645 WCHAR ch = *lpszCLSID, ch2 = lpszCLSID[1];
1649 if (ch >=
'0' && ch <=
'9')
1651 else if (ch >=
'a' && ch <=
'f')
1653 else if (ch >=
'A' && ch <=
'F')
1658 if (ch2 >=
'0' && ch2 <=
'9')
1660 else if (ch2 >=
'a' && ch2 <=
'f')
1661 ch2 = ch2 -
'a' + 10;
1662 else if (ch2 >=
'A' && ch2 <=
'F')
1663 ch2 = ch2 -
'A' + 10;
1667 byte = ch << 4 | ch2;
1671 #ifndef WORDS_BIGENDIAN 1762 (
ULONG)(((*c) >=
L'a' && (*c) <=
L'z') ?
1763 (*
c) -
L'a' +
L'A' : (*c)));
1793 RtlUnicodeStringToCountedOemString(
1807 Length = RtlUnicodeStringToCountedOemSize(UniSource);
1829 else if (OemDest->Length > OemDest->MaximumLength)
1849 OemDest->Buffer =
NULL;
1892 *
Pos =
'A' + Digit - 10;
1929 UniDest->MaximumLength = UniSource->Length;
1933 else if (UniSource->Length > UniDest->MaximumLength)
1938 j = UniSource->Length /
sizeof(
WCHAR);
1940 for (
i = 0;
i <
j;
i++)
1945 UniDest->Length = UniSource->Length;
1979 else if (AnsiDest->Length >= AnsiDest->MaximumLength)
1993 AnsiDest->Buffer =
NULL;
2020 Length = RtlUnicodeStringToCountedOemSize(UniSource);
2037 else if (OemDest->Length > OemDest->MaximumLength)
2055 OemDest->Buffer =
NULL;
2091 else if (OemDest->Length >= OemDest->MaximumLength)
2109 OemDest->Buffer =
NULL;
2155 L"{%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
2218 while (!
ret &&
len--)
ret = *p1++ - *p2++;
2258 while (SourceLength)
2319 if (UniDest->Buffer ==
NULL)
return FALSE;
2370 UniDest->MaximumLength = UniSource->Length;
2374 else if (UniSource->Length > UniDest->MaximumLength)
2379 UniDest->Length = UniSource->Length;
2380 StopGap = UniSource->Length /
sizeof(
WCHAR);
2382 for (
i = 0 ;
i < StopGap;
i++)
2384 if (UniSource->Buffer[
i] <
L'A')
2386 UniDest->Buffer[
i] = UniSource->Buffer[
i];
2388 else if (UniSource->Buffer[
i] <=
L'Z')
2390 UniDest->Buffer[
i] = (UniSource->Buffer[
i] + (
L'a' -
L'A'));
2627 if (NewBuffer ==
NULL)
2643 Buffer->Buffer = NewBuffer;
2662 for (
i = 0;
i < MatchString->Length /
sizeof(
WCHAR);
i++)
2664 WCHAR OtherChar = MatchString->Buffer[
i];
2668 if (Char == OtherChar)
2691 DPRINT(
"RtlFindCharInUnicodeString(%u, '%wZ', '%wZ', %p)\n",
2712 if (
Found == WantToFind)
2724 if (
Found == WantToFind)
2749 ULONG ComputerNameLength;
2750 ULONG ComputerNameOemNLength;
2755 ComputerNameLength = DnsHostName->
Length;
2769 if (ComputerNameLength > 0)
2771 ComputerNameOemNLength = 0;
2775 &ComputerNameOemNLength,
2777 ComputerNameLength);
2790 ComputerNameOem.Buffer = ComputerNameOemN;
2791 ComputerNameOem.Length = (
USHORT)ComputerNameOemNLength;
2799 AllocateComputerNameString);
BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz(OUT PUNICODE_STRING Destination, IN PCSZ Source)
#define RTL_FIND_CHAR_IN_UNICODE_STRING_START_AT_END
static const unsigned char pc2[48]
BOOLEAN NTAPI RtlPrefixString(const STRING *String1, const STRING *String2, BOOLEAN CaseInsensitive)
*BytesInOemString PCHAR OemString
static BOOLEAN RtlpIsCharInUnicodeString(IN WCHAR Char, IN PCUNICODE_STRING MatchString, IN BOOLEAN CaseInSensitive)
BOOLEAN NTAPI RtlEqualComputerName(IN PUNICODE_STRING ComputerName1, IN PUNICODE_STRING ComputerName2)
_In_ ULONG _In_ ULONG _In_ ULONG Length
ULONG NTAPI RtlxUnicodeStringToOemSize(IN PCUNICODE_STRING UnicodeString)
static const unsigned char pc1[56]
_Use_decl_annotations_ NTSTATUS NTAPI RtlUnicodeToMultiByteN(_Out_ PCHAR MbString, _In_ ULONG MbSize, _Out_opt_ PULONG ResultSize, _In_ PCWCH UnicodeString, _In_ ULONG UnicodeSize)
VOID NTAPI RtlFreeOemString(IN POEM_STRING OemString)
BOOLEAN NTAPI RtlEqualDomainName(IN PUNICODE_STRING DomainName1, IN PUNICODE_STRING DomainName2)
#define IS_TEXT_UNICODE_DBCS_LEADBYTE
LONG NTAPI RtlCompareUnicodeString(IN PCUNICODE_STRING s1, IN PCUNICODE_STRING s2, IN BOOLEAN CaseInsensitive)
#define _At_(target, annos)
#define IS_TEXT_UNICODE_REVERSE_STATISTICS
ACPI_SIZE strlen(const char *String)
_Use_decl_annotations_ NTSTATUS NTAPI RtlMultiByteToUnicodeSize(_Out_ PULONG UnicodeSize, _In_ PCCH MbString, _In_ ULONG MbSize)
IN BOOLEAN OUT PSTR Buffer
#define STATUS_INVALID_PARAMETER
WINE_UNICODE_INLINE WCHAR * strchrW(const WCHAR *str, WCHAR ch)
NTSTATUS NTAPI RtlDnsHostNameToComputerName(PUNICODE_STRING ComputerName, PUNICODE_STRING DnsHostName, BOOLEAN AllocateComputerNameString)
NTSYSAPI UINT WINAPI RtlOemStringToUnicodeSize(const STRING *)
#define RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING
_In_ BOOLEAN _In_ ULONG HashAlgorithm
NTSTATUS NTAPI RtlStringFromGUID(IN REFGUID Guid, OUT PUNICODE_STRING GuidString)
#define __analysis_assume(expr)
BOOLEAN NTAPI RtlCreateUnicodeString(IN OUT PUNICODE_STRING UniDest, IN PCWSTR Source)
VOID NTAPI RtlCopyString(IN OUT PSTRING DestinationString, IN const STRING *SourceString OPTIONAL)
#define IS_TEXT_UNICODE_NOT_ASCII_MASK
_In_ BOOLEAN _In_ ULONG _Out_ PULONG HashValue
BOOLEAN NTAPI RtlPrefixUnicodeString(PCUNICODE_STRING String1, PCUNICODE_STRING String2, BOOLEAN CaseInsensitive)
USHORT NlsUnicodeDefaultChar
_Use_decl_annotations_ NTSTATUS NTAPI RtlOemToUnicodeN(_Out_ PWCHAR UnicodeString, _In_ ULONG UnicodeSize, _Out_opt_ PULONG ResultSize, _In_ PCCH OemString, _In_ ULONG OemSize)
IN PVOID IN PVOID IN USHORT IN USHORT Size
NTSTATUS NTAPI RtlOemStringToCountedUnicodeString(IN OUT PUNICODE_STRING UniDest, IN PCOEM_STRING OemSource, IN BOOLEAN AllocateDestinationString)
_Use_decl_annotations_ NTSTATUS NTAPI RtlUnicodeToOemN(_Out_ PCHAR OemString, _In_ ULONG OemSize, _Out_opt_ PULONG ResultSize, _In_ PCWCH UnicodeString, _In_ ULONG UnicodeSize)
NTSTATUS NTAPI RtlUnicodeStringToOemString(IN OUT POEM_STRING OemDest, IN PCUNICODE_STRING UniSource, IN BOOLEAN AllocateDestinationString)
#define RtlpAllocateStringMemory
#define _When_(expr, annos)
NTSTATUS NTAPI RtlOemStringToUnicodeString(IN OUT PUNICODE_STRING UniDest, IN PCOEM_STRING OemSource, IN BOOLEAN AllocateDestinationString)
NTSTATUS NTAPI RtlAppendUnicodeToString(IN OUT PUNICODE_STRING Destination, IN PCWSTR Source)
VOID NTAPI RtlInitString(IN OUT PSTRING DestinationString, IN PCSZ SourceString)
#define RtlMoveMemory(Destination, Source, Length)
#define IS_TEXT_UNICODE_SIGNATURE
#define STATUS_BUFFER_TOO_SMALL
BOOLEAN NTAPI RtlEqualUnicodeString(IN CONST UNICODE_STRING *s1, IN CONST UNICODE_STRING *s2, IN BOOLEAN CaseInsensitive)
NTSTATUS NTAPI RtlAnsiStringToUnicodeString(IN OUT PUNICODE_STRING UniDest, IN PANSI_STRING AnsiSource, IN BOOLEAN AllocateDestinationString)
GLenum GLuint GLenum GLsizei const GLchar * buf
NTSTATUS NTAPI RtlUpcaseUnicodeStringToAnsiString(IN OUT PANSI_STRING AnsiDest, IN PCUNICODE_STRING UniSource, IN BOOLEAN AllocateDestinationString)
NTSTATUS NTAPI RtlUnicodeStringToInteger(const UNICODE_STRING *str, ULONG base, ULONG *value)
VOID NTAPI RtlInitUnicodeString(IN OUT PUNICODE_STRING DestinationString, IN PCWSTR SourceString)
return STATUS_NOT_IMPLEMENTED
VOID NTAPI RtlEraseUnicodeString(IN PUNICODE_STRING String)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
_Use_decl_annotations_ NTSTATUS NTAPI RtlUpcaseUnicodeToOemN(_Out_ PCHAR OemString, _In_ ULONG OemSize, _Out_opt_ PULONG ResultSize, _In_ PCWCH UnicodeString, _In_ ULONG UnicodeSize)
BOOLEAN NTAPI RtlEqualString(IN const STRING *s1, IN const STRING *s2, IN BOOLEAN CaseInsensitive)
#define IS_TEXT_UNICODE_STATISTICS
_In_ const STRING _In_ BOOLEAN CaseInSensitive
NTSTATUS NTAPI RtlIntegerToUnicodeString(IN ULONG Value, IN ULONG Base OPTIONAL, IN OUT PUNICODE_STRING String)
GLenum GLuint GLenum GLsizei length
NTSTATUS NTAPI RtlFindCharInUnicodeString(IN ULONG Flags, IN PCUNICODE_STRING SearchString, IN PCUNICODE_STRING MatchString, OUT PUSHORT Position)
NTSTATUS NTAPI RtlInitAnsiStringEx(IN OUT PANSI_STRING DestinationString, IN PCSZ SourceString)
NTSTATUS NTAPI RtlAppendStringToString(IN PSTRING Destination, IN const STRING *Source)
_Out_ _Inout_ POEM_STRING DestinationString
#define STATUS_INVALID_PARAMETER_2
VOID NTAPI RtlFreeUnicodeString(IN PUNICODE_STRING UnicodeString)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
VOID NTAPI RtlFreeAnsiString(IN PANSI_STRING AnsiString)
BOOLEAN NTAPI RtlIsValidOemCharacter(IN PWCHAR Char)
_In_ const STRING _In_ BOOLEAN CaseInsensitive
_Use_decl_annotations_ NTSTATUS NTAPI RtlUpcaseUnicodeToMultiByteN(_Out_ PCHAR MbString, _In_ ULONG MbSize, _Out_opt_ PULONG ResultSize, _In_ PCWCH UnicodeString, _In_ ULONG UnicodeSize)
#define RTL_FIND_CHAR_IN_UNICODE_STRING_COMPLEMENT_CHAR_SET
#define IS_TEXT_UNICODE_REVERSE_ASCII16
NTSTATUS NTAPI RtlCharToInteger(PCSZ str, ULONG base, PULONG value)
#define STATUS_NAME_TOO_LONG
NTSTATUS NTAPI RtlUpcaseUnicodeString(IN OUT PUNICODE_STRING UniDest, IN PCUNICODE_STRING UniSource, IN BOOLEAN AllocateDestinationString)
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 GLint GLint j
_In_ uint64_t _In_ uint64_t _In_ uint64_t _In_opt_ traverse_ptr * tp
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
CHAR NTAPI RtlUpperChar(_In_ CHAR Source)
#define IS_TEXT_UNICODE_REVERSE_SIGNATURE
PCHAR NlsUnicodeToOemTable
#define __drv_allocatesMem(kind)
_Must_inspect_result_ _In_ ULONG Flags
BOOLEAN NlsMbOemCodePageTag
VOID NTAPI RtlUpperString(PSTRING DestinationString, const STRING *SourceString)
#define NT_SUCCESS(StatCode)
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
_In_ WDFCOLLECTION _In_ ULONG Index
NTSTATUS NTAPI RtlInitUnicodeStringEx(OUT PUNICODE_STRING DestinationString, IN PCWSTR SourceString)
#define IS_TEXT_UNICODE_ODD_LENGTH
NTSTATUS NTAPI RtlIntegerToUnicode(IN ULONG Value, IN ULONG Base OPTIONAL, IN ULONG Length OPTIONAL, IN OUT LPWSTR String)
NTSTATUS NTAPI RtlValidateUnicodeString(_In_ ULONG Flags, _In_ PCUNICODE_STRING String)
NTSTATUS NTAPI RtlHashUnicodeString(IN CONST UNICODE_STRING *String, IN BOOLEAN CaseInSensitive, IN ULONG HashAlgorithm, OUT PULONG HashValue)
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
LONG NTAPI RtlCompareString(IN const STRING *s1, IN const STRING *s2, IN BOOLEAN CaseInsensitive)
NTSTATUS NTAPI RtlUnicodeStringToAnsiString(IN OUT PANSI_STRING AnsiDest, IN PCUNICODE_STRING UniSource, IN BOOLEAN AllocateDestinationString)
VOID NTAPI RtlInitAnsiString(IN OUT PANSI_STRING DestinationString, IN PCSZ SourceString)
#define RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE
CONST STRING * PCOEM_STRING
#define RtlpFreeStringMemory
NTSTATUS NTAPI RtlLargeIntegerToChar(IN PLARGE_INTEGER Value, IN ULONG Base, IN ULONG Length, IN OUT PCHAR String)
PUSHORT NlsOemLeadByteInfo
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
NTSTATUS NTAPI RtlUpcaseUnicodeStringToOemString(IN OUT POEM_STRING OemDest, IN PCUNICODE_STRING UniSource, IN BOOLEAN AllocateDestinationString)
_Use_decl_annotations_ NTSTATUS NTAPI RtlMultiByteToUnicodeN(_Out_ PWCH UnicodeString, _In_ ULONG UnicodeSize, _Out_opt_ PULONG ResultSize, _In_ PCCH MbString, _In_ ULONG MbSize)
ULONG NTAPI RtlxOemStringToUnicodeSize(IN PCOEM_STRING OemString)
int _cdecl swprintf(const WCHAR *,...)
BOOLEAN NTAPI RtlpDidUnicodeToOemWork(IN PCUNICODE_STRING UnicodeString, IN POEM_STRING OemString)
#define _Must_inspect_result_
#define IS_TEXT_UNICODE_REVERSE_CONTROLS
#define IS_TEXT_UNICODE_CONTROLS
#define IS_TEXT_UNICODE_ILLEGAL_CHARS
NTSYSAPI DWORD WINAPI RtlUnicodeStringToAnsiSize(const UNICODE_STRING *)
_In_ ULONG _In_ ULONG Offset
#define MAX_COMPUTERNAME_LENGTH
PWCHAR NlsOemToUnicodeTable
NTSTATUS NTAPI RtlIntegerToChar(ULONG value, ULONG base, ULONG length, PCHAR str)
WCHAR NTAPI RtlpDowncaseUnicodeChar(_In_ WCHAR Source)
#define STATUS_BUFFER_OVERFLOW
WCHAR NTAPI RtlAnsiCharToUnicodeChar(IN OUT PUCHAR *AnsiChar)
#define HASH_STRING_ALGORITHM_DEFAULT
NTSTATUS NTAPI RtlAppendAsciizToString(IN OUT PSTRING Destination, IN PCSZ Source)
#define STATUS_UNMAPPABLE_CHARACTER
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 STATUS_ACCESS_VIOLATION
WCHAR NTAPI RtlpUpcaseUnicodeChar(_In_ WCHAR Source)
_Use_decl_annotations_ NTSTATUS NTAPI RtlUnicodeToMultiByteSize(_Out_ PULONG MbSize, _In_ PCWCH UnicodeString, _In_ ULONG UnicodeSize)
#define RTL_SKIP_BUFFER_COPY
NTSTATUS NTAPI RtlpSafeCopyMemory(_Out_writes_bytes_all_(Length) VOID UNALIGNED *Destination, _In_reads_bytes_(Length) CONST VOID UNALIGNED *Source, _In_ SIZE_T Length)
BOOLEAN NTAPI RtlIsTextUnicode(CONST VOID *buf, INT len, INT *pf)
ULONG NTAPI RtlxUnicodeStringToAnsiSize(IN PCUNICODE_STRING UnicodeString)
NTSYSAPI DWORD WINAPI RtlUnicodeStringToOemSize(const UNICODE_STRING *)
NTSTATUS NTAPI RtlpEnsureBufferSize(IN ULONG Flags, IN OUT PRTL_BUFFER Buffer, IN SIZE_T RequiredSize)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
_In_ const STRING * String2
NTSTATUS NTAPI RtlGUIDFromString(IN UNICODE_STRING *str, OUT GUID *guid)
#define IS_TEXT_UNICODE_REVERSE_MASK
#define RtlZeroMemory(Destination, Length)
#define RtlCopyMemory(Destination, Source, Length)
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
#define RTL_FIND_CHAR_IN_UNICODE_STRING_CASE_INSENSITIVE
NTSTATUS NTAPI RtlDowncaseUnicodeString(IN OUT PUNICODE_STRING UniDest, IN PCUNICODE_STRING UniSource, IN BOOLEAN AllocateDestinationString)
ULONG NTAPI RtlxAnsiStringToUnicodeSize(IN PCANSI_STRING AnsiString)
NTSTATUS NTAPI RtlDuplicateUnicodeString(IN ULONG Flags, IN PCUNICODE_STRING SourceString, OUT PUNICODE_STRING DestinationString)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG RequiredSize
#define HASH_STRING_ALGORITHM_X65599
#define IS_TEXT_UNICODE_ASCII16
_In_ PSID _In_ BOOLEAN AllocateDestinationString
unsigned short MaximumLength
NTSTATUS NTAPI RtlInt64ToUnicodeString(IN ULONGLONG Value, IN ULONG Base OPTIONAL, IN OUT PUNICODE_STRING String)
#define IS_TEXT_UNICODE_NULL_BYTES
PUSHORT NlsUnicodeToMbOemTable
_IRQL_requires_max_(PASSIVE_LEVEL)
Queries information details about a security descriptor.
#define IS_TEXT_UNICODE_UNICODE_MASK
NTSTATUS NTAPI RtlMultiAppendUnicodeStringBuffer(OUT PRTL_UNICODE_STRING_BUFFER StringBuffer, IN ULONG NumberOfAddends, IN PCUNICODE_STRING Addends)
VOID NTAPI RtlCopyUnicodeString(IN OUT PUNICODE_STRING DestinationString, IN PCUNICODE_STRING SourceString)
NTSTATUS NTAPI RtlAppendUnicodeStringToString(IN OUT PUNICODE_STRING Destination, IN PCUNICODE_STRING Source)
#define RtlOemStringToCountedUnicodeSize(STRING)
NTSTATUS NTAPI RtlUpcaseUnicodeStringToCountedOemString(IN OUT POEM_STRING OemDest, IN PCUNICODE_STRING UniSource, IN BOOLEAN AllocateDestinationString)
#define IS_TEXT_UNICODE_NOT_UNICODE_MASK
PULONG MinorVersion OPTIONAL
#define STATUS_INVALID_COMPUTER_NAME