Funzione RtlUnicodeToMultiByteN (ntifs.h)

La routine RtlUnicodeToMultiByteN converte la stringa Unicode specificata in una nuova stringa di caratteri, utilizzando la tabella codici ANSI (ACP) di sistema corrente. La stringa tradotta non è necessariamente da un set di caratteri multibyte.

Sintassi

NTSYSAPI NTSTATUS RtlUnicodeToMultiByteN(
  [out]           PCHAR  MultiByteString,
  [in]            ULONG  MaxBytesInMultiByteString,
  [out, optional] PULONG BytesInMultiByteString,
  [in]            PCWCH  UnicodeString,
  [in]            ULONG  BytesInUnicodeString
);

Parametri

[out] MultiByteString

Puntatore a un buffer allocato dal chiamante per ricevere la stringa tradotta. Il buffer MultiByteString non deve sovrapporsi al buffer UnicodeString .

[in] MaxBytesInMultiByteString

Numero massimo di byte da scrivere in MultiByteString. Se questo valore causa il troncamento della stringa tradotta, RtlUnicodeToMultiByteN non restituisce uno stato di errore.

[out, optional] BytesInMultiByteString

Puntatore a una variabile allocata dal chiamante che riceve la lunghezza, in byte, della stringa tradotta. Questo parametro è facoltativo e può essere NULL.

[in] UnicodeString

Puntatore alla stringa di origine Unicode da tradurre.

[in] BytesInUnicodeString

Dimensioni, in byte, della stringa in UnicodeString.

Valore restituito

RtlUnicodeToMultiByteN restituisce STATUS_SUCCESS.

Commenti

RtlUnicodeToMultiByteN converte la stringa Unicode specificata usando la tabella codici ANSI di sistema corrente installata all'avvio del sistema.

Anche se BytesInMultiByteString è facoltativo e può essere NULL, i chiamanti devono fornire spazio di archiviazione, perché la lunghezza ricevuta può essere usata per determinare se la conversione ha avuto esito positivo.

Questa routine non modifica la stringa di origine. Restituisce una stringa multibyte con terminazione Null se l'oggetto BytesInUnicodeString specificato includeva un carattere di terminazione NULL e se il valore MaxBytesInMultiByteString specificato non causava il troncamento.

Analogamente a RtlUnicodeToMultiByteSize, RtlUnicodeToMultiByteN supporta solo i caratteri Unicode precompilata mappati alla tabella codici ANSI di sistema corrente installata all'avvio del sistema.

Per informazioni su altre routine di gestione delle stringhe, vedere Routine RTL (Run-Time Library).

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Fltkernel.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Vedi anche

RtlMultiByteToUnicodeN

RtlUnicodeToMultiByteSize

RtlUpcaseUnicodeToMultiByteN