次の方法で共有


WRITE_REGISTER_BUFFER_ULONG関数 (wdm.h)

WRITE_REGISTER_BUFFER_ULONG ルーチンは、指定されたポインターを逆参照し、メモリ バリアを挿入し、一連の ULONG 値をバッファーから指定されたアドレスに書き込みます。

構文

void WRITE_REGISTER_BUFFER_ULONG(
  [in] volatile ULONG *Register,
  [in] PULONG         Buffer,
  [in] ULONG          Count
);

パラメーター

[in] Register

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

[in] Buffer

ULONG 値の配列の書き込み元となるバッファーへのポインター。

[in] Count

レジスタに書き込む ULONG 値の数を指定します。

戻り値

なし

解説

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

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

バッファーのサイズは、少なくとも指定された数の ULONG 値を含むのに十分な大きさである必要があります。

WRITE_REGISTER_BUFFER_ULONGの呼び出し元は、バッファーが常駐で、Register が常駐でマップされたデバイス メモリであると仮定して、任意の IRQL で実行できます。

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h、Miniport.h、Wudfwdm.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 任意のレベル (「解説」セクションを参照)