ID2D1Factory::CreateDxgiSurfaceRenderTarget で作成された Direct2D レンダー ターゲットがあります。WM_SIZE メッセージを受け取ったら、IDXGISwapChain::ResizeBuffers を呼び出して対応するスワップ チェーンのサイズを変更しようとしましたが、DXGI_ERROR_INVALID_CALL (0x887a0001) で失敗しました。ResizeBuffers のドキュメントに次のように記載されているためだと思います。
バック バッファーへのすべての未解決の参照を解放しない限り、スワップ チェーンのサイズを変更することはできません。ResizeBuffers が成功するためには、バック バッファーの直接参照と間接参照をすべて解放する必要があります。
直接参照は、リソースに対して AddRef を呼び出した後、アプリケーションによって保持されます。
間接参照は、リソースへのビューによって保持され、リソースのビューをデバイス コンテキスト、リソースを使用したコマンド リスト、そのリソースへのビューを使用したコマンド リスト、使用した別のコマンド リストを実行したコマンド リストにバインドします。リソースなど。
ID2D1RenderTarget::CreateDxgiSurfaceRenderTarget によって作成された Direct2D レンダー ターゲットは、そのような間接参照の 1 つだと思います。しかし、ウィンドウのサイズが変更されるたびにレンダー ターゲットを再作成する必要があるとは想像できません。