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 | 任意のレベル (「解説」セクションを参照) |