READ_REGISTER_BUFFER_ULONG64関数 (wdm.h)

READ_REGISTER_BUFFER_ULONG64 ルーチンは、指定されたポインターを逆参照し、メモリ バリアを挿入し、指定したレジスタ アドレスから一連のULONG64値をバッファーに読み取ります

構文

void READ_REGISTER_BUFFER_ULONG64(
  [in]  volatile ULONG64 *Register,
  [out] PULONG64         Buffer,
  [in]  ULONG            Count
);

パラメーター

[in] Register

レジスタ アドレスへのポインター。これは、メモリ空間内のマップされた範囲である必要があります。

[out] Buffer

ULONG64 値の配列が読み込まれるバッファーへのポインター。

[in] Count

バッファーに読み込む ULONG64 値の数を指定します。

戻り値

なし

解説

このルーチンは、コードにメモリ バリアを挿入します。 このバリアにより、このルーチンの呼び出しの前にソース コードに表示されるすべての操作が、呼び出し後に表示される操作の前に完了することが保証されます。

メモリ バリアの詳細については、「 KeMemoryBarrier」を参照してください。

Buffer バッファーのサイズは、少なくとも指定した数の ULONG64 値を格納できる大きさである必要があります。

READ_REGISTER_BUFFER_ULONG64 マクロの呼び出し元は、どの IRQL で実行されていてもかまいません (Buffer バッファーが常駐で、Register のレジスタが常駐のマップされたデバイス メモリと想定した場合)。

要件

要件
サポートされている最小のクライアント 64 ビット バージョンの Windows でのみ使用できます。
対象プラットフォーム デスクトップ
Header wdm.h (Wdm.h を含む)
Library NtosKrnl.exe
[DLL] NtosKrnl.exe
IRQL 任意のレベル (「解説」セクションを参照)