Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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] Указатель на строку, завершаемую значением NULL, в памяти пользовательского режима.
Return value
Функция возвращает длину строки в широких символах, не включая завершающийся символ NULL.
Remarks
Эта функция обеспечивает безопасный доступ для вычисления длины строки, завершаемой значением NULL, расположенной в памяти пользовательского режима. Он предназначен для использования в коде в режиме ядра, который должен определить длину широкой символьной строки, передаваемой из приложений пользовательского режима.
Функция гарантирует, что строковый адрес является допустимым адресом пользовательского режима перед выполнением вычисления длины. При сбое операции возникает структурированное исключение, например, если адрес строки не является допустимым адресом в пользовательском режиме или недоступен.
В отличие от стандартных строковых функций, эта функция включает проверку, чтобы предотвратить сбои ядра при доступе к потенциально недопустимым указателям в пользовательском режиме. Это делает его важным для безопасного программирования ядра при обработке данных строки строки символов в пользовательском режиме.
Эта функция работает во всех версиях Windows, а не только на последних версиях. 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. Однако результирующий драйвер будет работать в более ранних версиях Windows.
Requirements
| Requirement | Value |
|---|---|
| Минимальный поддерживаемый клиент | See Remarks |
| Header | usermode_accessors.h |
| Library | umaccess.lib |
| IRQL | Меньше или равно APC_LEVEL |