ID2D1RenderTarget_EndDraw

レンダーターゲットでの描画操作を終了し、現在のエラー状態と関連タグを示す。

ID2D1RenderTarget_EndDraw this, tag1, tag2

this : [comobj] ID2D1RenderTarget インターフェースの COM オブジェクト変数
tag1 : [var] 型: D2D1_TAG* このメソッドが戻ると、エラーを発生させた描画操作のタグ、またはエラーがなかった場合は 0 が格納される。このパラメーターは未初期化で渡される。
tag2 : [var] 型: D2D1_TAG* このメソッドが戻ると、エラーを発生させた描画操作のタグ、またはエラーがなかった場合は 0 が格納される。このパラメーターは未初期化で渡される。

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

解説

レンダーターゲットでの描画操作を終了し、現在のエラー状態と関連タグを示す。

[戻り値]
型: HRESULT メソッドが成功した場合 S_OK を返す。そうでなければ HRESULT
エラーコードを返し、エラー発生時にアクティブだったタグを tag1 および tag2 に設定する。

[備考]
描画操作は BeginDraw と EndDraw の呼び出しの間でのみ発行できる。
BeginDraw と EndDraw はレンダーターゲットが Direct2D
システムによって使用中であることを示すために使われる。BeginDraw が呼び出されたときの ID2D1RenderTarget
の各実装の振る舞いは異なる場合がある。例えば ID2D1BitmapRenderTarget は BeginDraw/EndDraw
呼び出しの間ロックされることがあり、DXGI サーフェイスレンダーターゲットは BeginDraw 時に取得されて EndDraw
時に解放されることがあり、ID2D1HwndRenderTarget は BeginDraw 時にバッチを開始し EndDraw
時にプレゼントすることがある。レンダリング操作を呼び出すには BeginDraw メソッドを先に呼び出す必要があるが、状態の設定と取得は
BeginDraw/EndDraw の外でも行える。BeginDraw
が呼び出されると、通常レンダーターゲットはレンダリングコマンドのバッチを蓄積するが、内部バッファがいっぱいになるか Flush
メソッドが呼び出されるか EndDraw が呼び出されるまで、これらコマンドの処理を遅延する。EndDraw
メソッドはバッチ化された描画操作を完了させ、その後操作の成否を示す HRESULT
と、オプションでエラー発生時のレンダーターゲットのタグ状態を返す。EndDraw は常に成功する。直前の EndDraw が失敗した
HRESULT を返した場合でも二度呼び出すべきではない。BeginDraw と対応しない EndDraw を呼び出すと、EndDraw
の前に BeginDraw を呼ぶ必要があることを示すエラーを返す。同一のレンダーターゲットで BeginDraw
を二度呼ぶとエラー状態になり、それ以降は何も描画されず、EndDraw が呼ばれたときに適切な HRESULT とエラー情報を返す。

情報

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