#ifndef _NTRTL_H
#if (PHNT_VERSION >= PHNT_WINDOWS_10_20H1)
NTSYSAPI
NTSTATUS
NTAPI
RtlInitUTF8StringEx(
_Out_ PUTF8_STRING DestinationString,
_In_opt_z_ __drv_aliasesMem PCSZ SourceString
);
View code on GitHub// ntifs.h
NTSYSAPI NTSTATUS RtlInitUTF8StringEx(
PUTF8_STRING DestinationString,
__drv_aliasesMem PCSZ SourceString
);
View the official Windows Driver Kit DDI reference// wdm.h
NTSYSAPI NTSTATUS RtlInitUTF8StringEx(
PUTF8_STRING DestinationString,
__drv_aliasesMem PCSZ SourceString
);
View the official Windows Driver Kit DDI referenceRtlInitUTF8StringEx initializes a counted string of UTF-8 characters.
DestinationStringPointer to the UTF8_STRING structure to be initialized. The ntdef.h header file defines this structure to be identical to the ANSI_STRING structure.
SourceStringPointer to a null-terminated character string. SourceString is used to initialize the counted string that DestinationString points to.
RtlInitUTF8StringEx returns STATUS_NAME_TOO_LONG if the SourceString is too long. Otherwise, this routine returns STATUS_SUCCESS.
RtlInitUTF8StringEx sets the members of the UTF8_STRING structure that DestinationString points to as follows:
Copies the pointer value of SourceString into the Buffer member.
Sets the Length member to the length, in bytes, of the source string, excluding the terminating null.
Sets the MaximumLength member to the length, in bytes, of the source string, including the terminating null.
If SourceString is NULL, Length and MaximumLength are both set to zero.
RtlInitStringEx does not alter the source string pointed to by SourceString.
Callers of RtlInitStringEx can be running at IRQL <= DISPATCH_LEVEL if the DestinationString buffer is nonpageable. Usually, callers run at IRQL = PASSIVE_LEVEL because most other RtlXxxString routines cannot be called at IRQL > PASSIVE_LEVEL.
The RtlInitUTF8StringEx routine initializes a counted string of UTF-8 characters.
DestinationStringA pointer to the UTF8_STRING structure to be initialized. The Ntdef.h header file defines this structure to be identical to the STRING structure.
SourceStringA pointer to a null-terminated character string. This string is used to initialize the counted string pointed to by DestinationString.
Returns STATUS_NAME_TOO_LONG if the SourceString is too long. Otherwise, this routine returns STATUS_SUCCESS.
The routine copies the SourceString pointer value to the Buffer member of the UTF8_STRING structure pointed to by DestinationString. The Length member of this structure is set to the length, in bytes, of the source string, excluding the terminating null. The MaximumLength member of the structure is set to the length, in bytes, of the source string, including the terminating null. If SourceString is NULL, Length and MaximumLength are both set to zero.
RtlInitUTF8StringEx does not alter the source string pointed to by SourceString.
Callers of RtlInitUTF8StringEx can be running at IRQL <= DISPATCH_LEVEL if the DestinationString buffer is nonpageable. Usually, callers run at IRQL = PASSIVE_LEVEL because most other RtlXxxString routines cannot be called at IRQL > PASSIVE_LEVEL.