ScrollConsoleScreenBufferW

画面バッファ内のデータブロックを移動する ScrollConsoleScreenBuffer 関数のリファレンス情報を参照。

ScrollConsoleScreenBufferW hConsoleOutput, lpScrollRectangle, lpClipRectangle, dwDestinationOrigin, lpFill

hConsoleOutput : [intptr] コンソールスクリーンバッファへのハンドル。ハンドルは **GENERIC\_READ** アクセス権を持つ必要がある。詳細は [Console Buffer Security and Access Rights](console-buffer-security-and-access-rights.md) を参照。
lpScrollRectangle : [var] 移動するコンソール画面バッファ矩形の左上および右下座標をメンバで指定する [**SMALL\_RECT**](small-rect-str.md) 構造体へのポインタ。
lpClipRectangle : [var] メンバによりスクロールの影響を受けるコンソールスクリーンバッファ矩形の左上および右下の座標を指定する [**SMALL\_RECT**](small-rect-str.md) 構造体へのポインタ。このポインタは **NULL** でもよい。
dwDestinationOrigin : [var] *lpScrollRectangle* の内容の新しい位置の左上隅を指定する [**COORD**](coord-str.md) 構造体(文字単位)。
lpFill : [var] *lpScrollRectangle* と *lpClipRectangle* の交差領域のうち、移動の結果として空になったセルを埋めるために使用する文字と色属性を指定する [**CHAR\_INFO**](char-info-str.md) 構造体へのポインタ。

(プラグイン / モジュール : kernel32.dll)

解説

画面バッファ内のデータブロックを移動する ScrollConsoleScreenBuffer 関数のリファレンス情報を参照。

[戻り値]

関数が成功した場合、戻り値は非ゼロである。関数が失敗した場合、戻り値はゼロである。拡張エラー情報を取得するには、[**GetLastError**](/windows/win32/api/errhandlingapi/nf-errhandlingapi-getlasterror)
を呼び出す。

[備考]
**ScrollConsoleScreenBuffer** は、*lpScrollRectangle*
パラメータで指定される画面バッファの矩形領域の内容を、コンソール画面バッファの別領域にコピーする。コピー先の矩形は
*lpScrollRectangle* と同じ寸法を持ち、その左上隅は *dwDestinationOrigin*
パラメータで指定される座標に置かれる。*lpScrollRectangle* のうちコピー先矩形と重ならない部分は、*lpFill*
パラメータで指定された文字と色属性で埋められる。クリッピング矩形は、*lpScrollRectangle*
矩形およびコピー先矩形の双方に対する変更に適用される。たとえば、クリッピング矩形が *lpFill*
の内容で埋められるはずだった領域を含まない場合、その領域の元の内容は変更されないまま残る。スクロール元やコピー先の領域がコンソール画面バッファの寸法を超える場合はクリッピングされる。たとえば
*lpScrollRectangle* が (0,0) から (19,19) の領域で、*dwDestinationOrigin* が
(10,15) の場合、コピー先矩形は (10,15) から (29,34) の領域となる。しかし、コンソール画面バッファが幅 50
文字・高さ 30 文字の場合、コピー先矩形は (10,15) から (29,29)
にクリッピングされる。コンソール画面バッファへの変更は、*lpClipRectangle* が
[**SMALL\_RECT**](small-rect-str.md)
構造体を指定している場合、それに従ってもクリッピングされる。クリッピング矩形が (0,0) から (49,19)
と指定されている場合、コンソール画面バッファのその領域内で発生する変更のみが反映される。[!INCLUDE
[setting-codepage-mode-remarks](./includes/setting-codepage-mode-remarks.md)]
> [!TIP] > この API
は推奨されず、**[仮想ターミナル](console-virtual-terminal-sequences.md)**
に相当するものもない。画面の一部領域を固定する
**[スクロールマージン](console-virtual-terminal-sequences.md#scrolling-margins)**、領域外にアクティブ位置を設定する
**[カーソル位置指定](console-virtual-terminal-sequences.md#cursor-positioning)**、およびテキストを強制的に移動させるための改行で近似できる。残った領域は、カーソルを移動し、**[グラフィック属性を設定](console-virtual-terminal-sequences.md#text-formatting)**
し、通常のテキストを書き込むことで埋めることができる。

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs