The ReadUnicodeStringFromUser function safely reads a UNICODE_STRING structure from user-mode memory.
Syntax
UNICODE_STRING ReadUnicodeStringFromUser(
const volatile UNICODE_STRING *Source
);
Parameters
Source
[in] A pointer to the user-mode memory ___location from which to read the UNICODE_STRING structure.
Return value
ReadUnicodeStringFromUser returns the UNICODE_STRING structure read from the specified user-mode memory address.
Remarks
This function provides a safe way to read a UNICODE_STRING structure from user-mode memory. 指定されたアドレスが、読み取る前にユーザー モード のアドレスであることを確認します。
この関数では、配置は適用されません。
ソース アドレスがユーザー モード アドレスではない場合やアクセスできない場合など、メモリ アクセスが失敗した場合は、構造化例外が発生します。
この関数はコンパイラによって最適化されることも、関数が呼び出される前または関数が戻った後に (ソース コードが明示的にこれらのアクセスを実行しない限り) このメモリ位置への追加のアクセスを作成することもありません。 The memory access is performed with memory_order_relaxed semantics.
この関数は、最新バージョンだけでなく、すべてのバージョンの 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以下 |