Fixed Rtl* string functions for proper MBCS/codepage support. Added a
few more functions.
This commit is contained in:
parent
973ce4a088
commit
d2f8bf6f4a
|
@ -272,12 +272,12 @@ type win32
|
|||
@ stdcall RtlAllocateAndInitializeSid (ptr long long long long long long long long long ptr) RtlAllocateAndInitializeSid
|
||||
@ stdcall RtlAllocateHeap(long long long) RtlAllocateHeap
|
||||
@ stub RtlAnsiCharToUnicodeChar
|
||||
@ stub RtlAnsiStringToUnicodeSize
|
||||
@ stdcall RtlAnsiStringToUnicodeSize(ptr) RtlAnsiStringToUnicodeSize
|
||||
@ stdcall RtlAnsiStringToUnicodeString(ptr ptr long) RtlAnsiStringToUnicodeString
|
||||
@ stub RtlAppendAsciizToString
|
||||
@ stub RtlAppendStringToString
|
||||
@ stub RtlAppendUnicodeStringToString
|
||||
@ stub RtlAppendUnicodeToString
|
||||
@ stdcall RtlAppendAsciizToString(ptr str) RtlAppendAsciizToString
|
||||
@ stdcall RtlAppendStringToString(ptr ptr) RtlAppendStringToString
|
||||
@ stdcall RtlAppendUnicodeStringToString(ptr ptr) RtlAppendUnicodeStringToString
|
||||
@ stdcall RtlAppendUnicodeToString(ptr wstr) RtlAppendUnicodeToString
|
||||
@ stub RtlApplyRXact
|
||||
@ stub RtlApplyRXactNoFlush
|
||||
@ stub RtlAreAllAccessesGranted
|
||||
|
@ -293,7 +293,7 @@ type win32
|
|||
@ stub RtlCompactHeap
|
||||
@ stdcall RtlCompareMemory(ptr ptr long) RtlCompareMemory
|
||||
@ stub RtlCompareMemoryUlong
|
||||
@ stub RtlCompareString
|
||||
@ stdcall RtlCompareString(ptr ptr long) RtlCompareString
|
||||
@ stdcall RtlCompareUnicodeString (ptr ptr long) RtlCompareUnicodeString
|
||||
@ stub RtlCompressBuffer
|
||||
@ stub RtlConsoleMultiByteToUnicodeN
|
||||
|
@ -308,8 +308,8 @@ type win32
|
|||
@ stub RtlCopySecurityDescriptor
|
||||
@ stdcall RtlCopySid(long ptr ptr) RtlCopySid
|
||||
@ stub RtlCopySidAndAttributesArray
|
||||
@ stub RtlCopyString
|
||||
@ stub RtlCopyUnicodeString
|
||||
@ stdcall RtlCopyString(ptr ptr) RtlCopyString
|
||||
@ stdcall RtlCopyUnicodeString(ptr ptr) RtlCopyUnicodeString
|
||||
@ stdcall RtlCreateAcl(ptr long long) RtlCreateAcl
|
||||
@ stub RtlCreateAndSetSD
|
||||
@ stdcall RtlCreateEnvironment(long long) RtlCreateEnvironment
|
||||
|
@ -319,8 +319,8 @@ type win32
|
|||
@ stub RtlCreateRegistryKey
|
||||
@ stdcall RtlCreateSecurityDescriptor(ptr long) RtlCreateSecurityDescriptor
|
||||
@ stub RtlCreateTagHeap
|
||||
@ stub RtlCreateUnicodeString
|
||||
@ stub RtlCreateUnicodeStringFromAsciiz
|
||||
@ stdcall RtlCreateUnicodeString(ptr wstr) RtlCreateUnicodeString
|
||||
@ stdcall RtlCreateUnicodeStringFromAsciiz(ptr str) RtlCreateUnicodeStringFromAsciiz
|
||||
@ stub RtlCreateUserProcess
|
||||
@ stub RtlCreateUserSecurityObject
|
||||
@ stub RtlCreateUserThread
|
||||
|
@ -357,9 +357,9 @@ type win32
|
|||
@ stub RtlEqualLuid
|
||||
@ stdcall RtlEqualPrefixSid(ptr ptr) RtlEqualPrefixSid
|
||||
@ stdcall RtlEqualSid (long long) RtlEqualSid
|
||||
@ stub RtlEqualString
|
||||
@ stdcall RtlEqualUnicodeString(long long long) RtlEqualUnicodeString
|
||||
@ stub RtlEraseUnicodeString
|
||||
@ stdcall RtlEqualString(ptr ptr long) RtlEqualString
|
||||
@ stdcall RtlEqualUnicodeString(ptr ptr long) RtlEqualUnicodeString
|
||||
@ stdcall RtlEraseUnicodeString(ptr) RtlEraseUnicodeString
|
||||
@ stub RtlExpandEnvironmentStrings_U
|
||||
@ stub RtlExtendHeap
|
||||
@ stdcall RtlExtendedIntegerMultiply(long long long) RtlExtendedIntegerMultiply
|
||||
|
@ -379,7 +379,7 @@ type win32
|
|||
@ stub RtlFormatMessage
|
||||
@ stdcall RtlFreeAnsiString(long) RtlFreeAnsiString
|
||||
@ stdcall RtlFreeHeap(long long long) RtlFreeHeap
|
||||
@ stub RtlFreeOemString
|
||||
@ stdcall RtlFreeOemString(ptr) RtlFreeOemString
|
||||
@ stdcall RtlFreeSid (long) RtlFreeSid
|
||||
@ stdcall RtlFreeUnicodeString(ptr) RtlFreeUnicodeString
|
||||
@ stub RtlGenerate8dot3Name
|
||||
|
@ -441,7 +441,7 @@ type win32
|
|||
@ stub RtlMapGenericMask
|
||||
@ stdcall RtlMoveMemory(ptr ptr long) RtlMoveMemory
|
||||
@ stdcall RtlMultiByteToUnicodeN(ptr long ptr ptr long) RtlMultiByteToUnicodeN
|
||||
@ stub RtlMultiByteToUnicodeSize
|
||||
@ stdcall RtlMultiByteToUnicodeSize(ptr str long) RtlMultiByteToUnicodeSize
|
||||
@ stub RtlNewInstanceSecurityObject
|
||||
@ stub RtlNewSecurityGrantedAccess
|
||||
@ stdcall RtlNewSecurityObject(long long long long long long) RtlNewSecurityObject
|
||||
|
@ -450,12 +450,12 @@ type win32
|
|||
@ stub RtlNumberGenericTableElements
|
||||
@ stub RtlNumberOfClearBits
|
||||
@ stub RtlNumberOfSetBits
|
||||
@ stub RtlOemStringToUnicodeSize
|
||||
@ stdcall RtlOemStringToUnicodeSize(ptr) RtlOemStringToUnicodeSize
|
||||
@ stdcall RtlOemStringToUnicodeString(ptr ptr long) RtlOemStringToUnicodeString
|
||||
@ stdcall RtlOemToUnicodeN(ptr long ptr ptr long) RtlOemToUnicodeN
|
||||
@ stdcall RtlOpenCurrentUser(long ptr) RtlOpenCurrentUser
|
||||
@ stub RtlPcToFileHeader
|
||||
@ stub RtlPrefixString
|
||||
@ stdcall RtlPrefixString(ptr ptr long) RtlPrefixString
|
||||
@ stdcall RtlPrefixUnicodeString(ptr ptr long) RtlPrefixUnicodeString
|
||||
@ stub RtlProtectHeap
|
||||
@ stdcall RtlQueryEnvironmentVariable_U(long long long) RtlQueryEnvironmentVariable_U
|
||||
|
@ -510,29 +510,29 @@ type win32
|
|||
@ stdcall RtlTimeToSecondsSince1970(ptr ptr) RtlTimeToSecondsSince1970
|
||||
@ stdcall RtlTimeToSecondsSince1980(ptr ptr) RtlTimeToSecondsSince1980
|
||||
@ stdcall RtlTimeToTimeFields (long long) RtlTimeToTimeFields
|
||||
@ stub RtlUnicodeStringToAnsiSize
|
||||
@ stdcall RtlUnicodeStringToAnsiSize(ptr) RtlUnicodeStringToAnsiSize
|
||||
@ stdcall RtlUnicodeStringToAnsiString(ptr ptr long) RtlUnicodeStringToAnsiString
|
||||
@ stub RtlUnicodeStringToCountedOemString
|
||||
@ stub RtlUnicodeStringToInteger
|
||||
@ stub RtlUnicodeStringToOemSize
|
||||
@ stdcall RtlUnicodeStringToOemSize(ptr) RtlUnicodeStringToOemSize
|
||||
@ stdcall RtlUnicodeStringToOemString(ptr ptr long) RtlUnicodeStringToOemString
|
||||
@ stub RtlUnicodeToCustomCPN
|
||||
@ stdcall RtlUnicodeToMultiByteN(ptr long ptr ptr long) RtlUnicodeToMultiByteN
|
||||
@ stub RtlUnicodeToMultiByteSize
|
||||
@ stdcall RtlUnicodeToMultiByteSize(ptr wstr long) RtlUnicodeToMultiByteSize
|
||||
@ stdcall RtlUnicodeToOemN(ptr long ptr ptr long) RtlUnicodeToOemN
|
||||
@ stub RtlUniform
|
||||
@ stub RtlUnlockHeap
|
||||
@ stdcall RtlUnwind(ptr ptr ptr long) RtlUnwind
|
||||
@ stub RtlUpcaseUnicodeChar
|
||||
@ stdcall RtlUpcaseUnicodeString(ptr ptr long) RtlUpcaseUnicodeString
|
||||
@ stub RtlUpcaseUnicodeStringToAnsiString
|
||||
@ stdcall RtlUpcaseUnicodeStringToAnsiString(ptr ptr long) RtlUpcaseUnicodeStringToAnsiString
|
||||
@ stub RtlUpcaseUnicodeStringToCountedOemString
|
||||
@ stdcall RtlUpcaseUnicodeStringToOemString(ptr ptr long) RtlUpcaseUnicodeStringToOemString
|
||||
@ stub RtlUpcaseUnicodeToCustomCPN
|
||||
@ stub RtlUpcaseUnicodeToMultiByteN
|
||||
@ stdcall RtlUpcaseUnicodeToMultiByteN(ptr long ptr ptr long) RtlUpcaseUnicodeToMultiByteN
|
||||
@ stdcall RtlUpcaseUnicodeToOemN(ptr long ptr ptr long) RtlUpcaseUnicodeToOemN
|
||||
@ stub RtlUpperChar
|
||||
@ stub RtlUpperString
|
||||
@ stdcall RtlUpperString(ptr ptr) RtlUpperString
|
||||
@ stub RtlUsageHeap
|
||||
@ stub RtlValidAcl
|
||||
@ stdcall RtlValidSecurityDescriptor(ptr) RtlValidSecurityDescriptor
|
||||
|
@ -552,10 +552,10 @@ type win32
|
|||
@ stub RtlpNtSetValueKey
|
||||
@ stub RtlpUnWaitCriticalSection
|
||||
@ stub RtlpWaitForCriticalSection
|
||||
@ stdcall RtlxAnsiStringToUnicodeSize(ptr) RtlxAnsiStringToUnicodeSize
|
||||
@ stdcall RtlxOemStringToUnicodeSize(ptr) RtlxOemStringToUnicodeSize
|
||||
@ stub RtlxUnicodeStringToAnsiSize
|
||||
@ stdcall RtlxUnicodeStringToOemSize(ptr) RtlxUnicodeStringToOemSize
|
||||
@ stdcall RtlxAnsiStringToUnicodeSize(ptr) RtlAnsiStringToUnicodeSize
|
||||
@ stdcall RtlxOemStringToUnicodeSize(ptr) RtlOemStringToUnicodeSize
|
||||
@ stdcall RtlxUnicodeStringToAnsiSize(ptr) RtlUnicodeStringToAnsiSize
|
||||
@ stdcall RtlxUnicodeStringToOemSize(ptr) RtlUnicodeStringToOemSize
|
||||
@ stub SaveEm87Context
|
||||
@ stdcall ZwAcceptConnectPort(long long long long long long) NtAcceptConnectPort
|
||||
@ stub ZwAccessCheck
|
||||
|
|
1056
dlls/ntdll/rtlstr.c
1056
dlls/ntdll/rtlstr.c
File diff suppressed because it is too large
Load Diff
119
include/ntddk.h
119
include/ntddk.h
|
@ -585,91 +585,52 @@ DWORD WINAPI RtlGetAce(
|
|||
|
||||
/* string functions */
|
||||
|
||||
VOID WINAPI RtlInitAnsiString(
|
||||
PANSI_STRING target,
|
||||
LPCSTR source);
|
||||
|
||||
VOID WINAPI RtlInitString(
|
||||
PSTRING target,
|
||||
LPCSTR source);
|
||||
|
||||
VOID WINAPI RtlInitUnicodeString(
|
||||
PUNICODE_STRING target,
|
||||
LPCWSTR source);
|
||||
|
||||
VOID WINAPI RtlFreeUnicodeString(
|
||||
PUNICODE_STRING str);
|
||||
|
||||
VOID WINAPI RtlFreeAnsiString(
|
||||
PANSI_STRING AnsiString);
|
||||
|
||||
NTSTATUS WINAPI RtlAnsiStringToUnicodeString(
|
||||
PUNICODE_STRING uni,
|
||||
PANSI_STRING ansi,
|
||||
BOOLEAN doalloc);
|
||||
|
||||
NTSTATUS WINAPI RtlOemStringToUnicodeString(
|
||||
PUNICODE_STRING uni,
|
||||
PSTRING ansi,
|
||||
BOOLEAN doalloc);
|
||||
|
||||
NTSTATUS WINAPI RtlMultiByteToUnicodeN(
|
||||
LPWSTR unistr,
|
||||
DWORD unilen,
|
||||
LPDWORD reslen,
|
||||
LPSTR oemstr,
|
||||
DWORD oemlen);
|
||||
|
||||
NTSTATUS WINAPI RtlOemToUnicodeN(
|
||||
LPWSTR unistr,
|
||||
DWORD unilen,
|
||||
LPDWORD reslen,
|
||||
LPSTR oemstr,
|
||||
DWORD oemlen);
|
||||
|
||||
NTSTATUS WINAPI RtlUnicodeToOemN(
|
||||
LPSTR oemstr,
|
||||
DWORD oemlen,
|
||||
LPDWORD reslen,
|
||||
LPWSTR unistr,
|
||||
DWORD unilen);
|
||||
|
||||
NTSTATUS WINAPI RtlUnicodeStringToOemString(
|
||||
PANSI_STRING oem,
|
||||
PUNICODE_STRING uni,
|
||||
BOOLEAN alloc);
|
||||
|
||||
NTSTATUS WINAPI RtlUnicodeStringToAnsiString(
|
||||
PANSI_STRING oem,
|
||||
PUNICODE_STRING uni,
|
||||
BOOLEAN alloc);
|
||||
|
||||
BOOLEAN WINAPI RtlEqualUnicodeString(
|
||||
PUNICODE_STRING s1,
|
||||
PUNICODE_STRING s2,
|
||||
BOOLEAN x);
|
||||
|
||||
DWORD WINAPI RtlUpcaseUnicodeString(
|
||||
PUNICODE_STRING dest,
|
||||
PUNICODE_STRING src,
|
||||
BOOLEAN doalloc);
|
||||
|
||||
UINT WINAPI RtlxOemStringToUnicodeSize(
|
||||
PSTRING str);
|
||||
|
||||
UINT WINAPI RtlxAnsiStringToUnicodeSize(
|
||||
PANSI_STRING str);
|
||||
DWORD WINAPI RtlAnsiStringToUnicodeSize(PSTRING);
|
||||
NTSTATUS WINAPI RtlAnsiStringToUnicodeString(UNICODE_STRING*,const STRING *,BOOLEAN);
|
||||
NTSTATUS WINAPI RtlAppendAsciizToString(STRING*,LPCSTR);
|
||||
NTSTATUS WINAPI RtlAppendStringToString(STRING*,const STRING*);
|
||||
NTSTATUS WINAPI RtlAppendUnicodeStringToString(UNICODE_STRING*,const UNICODE_STRING*);
|
||||
NTSTATUS WINAPI RtlAppendUnicodeToString(UNICODE_STRING*,LPCWSTR);
|
||||
LONG WINAPI RtlCompareString(const STRING*,const STRING*,BOOLEAN);
|
||||
LONG WINAPI RtlCompareUnicodeString(const UNICODE_STRING*,const UNICODE_STRING*,BOOLEAN);
|
||||
void WINAPI RtlCopyString(STRING*,const STRING*);
|
||||
void WINAPI RtlCopyUnicodeString(UNICODE_STRING*,const UNICODE_STRING*);
|
||||
BOOLEAN WINAPI RtlCreateUnicodeString(PUNICODE_STRING,LPCWSTR);
|
||||
BOOLEAN WINAPI RtlCreateUnicodeStringFromAsciiz(PUNICODE_STRING,LPCSTR);
|
||||
void WINAPI RtlEraseUnicodeString(UNICODE_STRING*);
|
||||
BOOLEAN WINAPI RtlEqualString(const STRING*,const STRING*,BOOLEAN);
|
||||
BOOLEAN WINAPI RtlEqualUnicodeString(const UNICODE_STRING*,const UNICODE_STRING*,BOOLEAN);
|
||||
void WINAPI RtlFreeAnsiString(PSTRING);
|
||||
void WINAPI RtlFreeOemString(PSTRING);
|
||||
void WINAPI RtlFreeUnicodeString(PUNICODE_STRING);
|
||||
void WINAPI RtlInitAnsiString(PSTRING,LPCSTR);
|
||||
void WINAPI RtlInitString(PSTRING,LPCSTR);
|
||||
void WINAPI RtlInitUnicodeString(PUNICODE_STRING,LPCWSTR);
|
||||
NTSTATUS WINAPI RtlMultiByteToUnicodeN(LPWSTR,DWORD,LPDWORD,LPCSTR,DWORD);
|
||||
NTSTATUS WINAPI RtlMultiByteToUnicodeSize(DWORD*,LPCSTR,UINT);
|
||||
UINT WINAPI RtlOemStringToUnicodeSize(PSTRING);
|
||||
NTSTATUS WINAPI RtlOemStringToUnicodeString(UNICODE_STRING*,const STRING*,BOOLEAN);
|
||||
NTSTATUS WINAPI RtlOemToUnicodeN(LPWSTR,DWORD,LPDWORD,LPCSTR,DWORD);
|
||||
BOOLEAN WINAPI RtlPrefixString(const STRING*,const STRING*,BOOLEAN);
|
||||
BOOLEAN WINAPI RtlPrefixUnicodeString(const UNICODE_STRING*,const UNICODE_STRING*,BOOLEAN);
|
||||
DWORD WINAPI RtlUnicodeStringToAnsiSize(const UNICODE_STRING*);
|
||||
NTSTATUS WINAPI RtlUnicodeStringToAnsiString(STRING*,const UNICODE_STRING*,BOOLEAN);
|
||||
DWORD WINAPI RtlUnicodeStringToOemSize(const UNICODE_STRING*);
|
||||
NTSTATUS WINAPI RtlUnicodeStringToOemString(STRING*,const UNICODE_STRING*,BOOLEAN);
|
||||
NTSTATUS WINAPI RtlUnicodeToMultiByteN(LPSTR,DWORD,LPDWORD,LPCWSTR,DWORD);
|
||||
NTSTATUS WINAPI RtlUnicodeToMultiByteSize(DWORD*,LPCWSTR,UINT);
|
||||
NTSTATUS WINAPI RtlUnicodeToOemN(LPSTR,DWORD,LPDWORD,LPCWSTR,DWORD);
|
||||
NTSTATUS WINAPI RtlUpcaseUnicodeString(UNICODE_STRING*,const UNICODE_STRING *,BOOLEAN);
|
||||
NTSTATUS WINAPI RtlUpcaseUnicodeStringToAnsiString(STRING*,const UNICODE_STRING*,BOOLEAN);
|
||||
NTSTATUS WINAPI RtlUpcaseUnicodeStringToOemString(STRING*,const UNICODE_STRING*,BOOLEAN);
|
||||
NTSTATUS WINAPI RtlUpcaseUnicodeToMultiByteN(LPSTR,DWORD,LPDWORD,LPCWSTR,DWORD);
|
||||
NTSTATUS WINAPI RtlUpcaseUnicodeToOemN(LPSTR,DWORD,LPDWORD,LPCWSTR,DWORD);
|
||||
|
||||
DWORD WINAPI RtlIsTextUnicode(
|
||||
LPVOID buf,
|
||||
DWORD len,
|
||||
DWORD *pf);
|
||||
|
||||
NTSTATUS WINAPI RtlCompareUnicodeString(
|
||||
PUNICODE_STRING String1,
|
||||
PUNICODE_STRING String2,
|
||||
BOOLEAN CaseInSensitive);
|
||||
|
||||
/* resource functions */
|
||||
|
||||
typedef struct _RTL_RWLOCK {
|
||||
|
|
Loading…
Reference in New Issue