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 |