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 |