Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
The WideStringLengthFromUser function safely calculates the length of a null-terminated wide character string in user-mode memory.
Syntax
SIZE_T WideStringLengthFromUser(
const WCHAR *String
);
Parameters
String
[in] Puntatore a una stringa di caratteri wide con terminazione Null nella memoria in modalità utente.
Return value
La funzione restituisce la lunghezza della stringa in caratteri wide, senza includere il carattere Null di terminazione.
Remarks
Questa funzione fornisce accesso sicuro per calcolare la lunghezza di una stringa di caratteri wide con terminazione Null che si trova nella memoria in modalità utente. È progettato per l'uso da parte del codice in modalità kernel che deve determinare la lunghezza delle stringhe di caratteri wide passate dalle applicazioni in modalità utente.
La funzione garantisce che l'indirizzo della stringa sia un indirizzo in modalità utente valido prima di eseguire il calcolo della lunghezza. Genera un'eccezione strutturata se l'operazione ha esito negativo, ad esempio quando l'indirizzo della stringa non è un indirizzo in modalità utente valido o non è accessibile.
A differenza delle funzioni stringa standard, questa funzione include la convalida per evitare arresti anomali del kernel durante l'accesso a puntatori in modalità utente potenzialmente non validi. In questo modo è essenziale per la programmazione sicura del kernel durante l'elaborazione di dati di stringhe di caratteri wide in modalità utente.
Questa funzione funziona su tutte le versioni di Windows, non solo sulla versione più recente. You need to consume the latest WDK to get the function declaration from the usermode_accessors.h header. You also need the library (umaccess.lib) from the latest WDK. Tuttavia, il driver risultante verrà eseguito correttamente nelle versioni precedenti di Windows.
Requirements
| Requirement | Value |
|---|---|
| Client minimo supportato | See Remarks |
| Header | usermode_accessors.h |
| Library | umaccess.lib |
| IRQL | Minore o uguale a APC_LEVEL |