次の方法で共有


ReadULongFromUser 関数 (usermode_accessors.h)

The ReadULongFromUser function safely reads a ULONG value from user-mode memory.

Syntax

ULONG ReadULongFromUser(
  const volatile ULONG *Source
);

Parameters

Source

[in]ULONG 値の読み取り元となるユーザー モードのメモリ位置へのポインター。

Return value

ReadULongFromUser returns the ULONG value read from the specified user-mode memory address.

Remarks

この関数は、ユーザー モード メモリから ULONG 値を安全に読み取る方法を提供します。 指定されたアドレスが、読み取る前にユーザー モード のアドレスであることを確認します。

この関数では、配置は適用されません。

ソース アドレスがユーザー モード アドレスではない場合やアクセスできない場合など、メモリ アクセスが失敗した場合は、構造化例外が発生します。

この関数はコンパイラによって最適化されることも、関数が呼び出される前または関数が戻った後に (ソース コードが明示的にこれらのアクセスを実行しない限り) このメモリ位置への追加のアクセスを作成することもありません。 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以下

See also

ReadULongFromMode

WriteULongToUser