Funzione RtlOemToUnicodeN (ntifs.h)

La routine RtlOemToUnicodeN converte la stringa di origine specificata in una stringa Unicode usando la tabella codici OEM del sistema corrente.

Sintassi

NTSYSAPI NTSTATUS RtlOemToUnicodeN(
  [out]           PWCH   UnicodeString,
  [in]            ULONG  MaxBytesInUnicodeString,
  [out, optional] PULONG BytesInUnicodeString,
  [in]            PCCH   OemString,
  [in]            ULONG  BytesInOemString
);

Parametri

[out] UnicodeString

Puntatore a un buffer allocato dal chiamante che riceve la stringa tradotta.

[in] MaxBytesInUnicodeString

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

[out, optional] BytesInUnicodeString

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

[in] OemString

Puntatore alla stringa di origine OEM da convertire in Unicode. Se la tabella codici corrente descrive un set di caratteri a byte singolo, questo puntatore può essere lo stesso indirizzo di UnicodeString.

[in] BytesInOemString

Lunghezza, in byte, della stringa in OemString.

Valore restituito

RtlOemToUnicodeN restituisce STATUS_SUCCESS se la stringa completa in OemString è stata tradotta correttamente e restituita in UnicodeString. In caso contrario, può restituire STATUS_BUFFER_OVERFLOW se la stringa di destinazione deve essere troncata per adattare l'oggetto MaxBytesInUnicodeString specificato. STATUS_BUFFER_OVERFLOW è un valore NTSTATUS di avviso.

Commenti

RtlOemToUnicodeN supporta solo i caratteri Unicode precomposti mappati alla tabella codici OEM di sistema corrente installata all'ora di avvio del sistema.

Se la tabella codici di sistema corrente definisce un set di caratteri a byte singolo, tutti i caratteri a byte singolo nell'intervallo 0x00 a 0x7f sono semplicemente estesi zero nella stringa Unicode corrispondente per velocizzare l'operazione di conversione. Il valore del carattere 0x5c in tale tabella codici viene convertito nel carattere barra rovesciata, anche se la tabella codici corrente definisce questo carattere come segno Yen.

Per il valore restituito STATUS_SUCCESS, il valore di BytesInUnicodeString, se presente, indica la lunghezza della stringa Unicode restituita anziché quella specificata di MaxBytesInUnicodeString.

Questa routine non modifica la stringa di origine a meno che i puntatori UnicodeString e OemString non siano equivalenti. La stringa Unicode restituita viene terminata con valore Null se non viene troncata.

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

Requisiti

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

Vedi anche

RtlOemStringToCountedUnicodeString

RtlOemStringToUnicodeString

RtlUnicodeToOemN