0

Does that even make sense in principle?

Desktop Duplication API returns DXGI_ERROR_ACCESS_LOST, which makes sense, because the display output is taken over by the logon session.

However, DirectX games continue to run in the background, and a cursory search shows that OBS is able to continue streaming.

LOST
  • 2,956
  • 3
  • 25
  • 40
  • 1
    OBS is open source. With what settings exactly does OBS continue capturing with a locked screen? For example "Display Capture" uses the same technology as Desktop Duplication API. – Simon Mourier Mar 14 '23 at 06:58

1 Answers1

0

Desktop Duplication is your only choice:

With that said, we're still adding features and working on WGC so it doesn't have all of DDA's features yet. Namely:

  • DDA can capture the secure desktop (UAC prompts) if started from the SYSTEM account.
  • Dirty region reporting.
  • Callable from a non-interactive user context.
  • Can capture truly full screen exclusive games (both can capture EFSE games).
Roman R.
  • 68,205
  • 6
  • 94
  • 158
  • Sorry if it was not clear, but I do not need to capture the secure desktop. I need to capture what happens on the regular desktop behind the lock screen. – LOST Mar 14 '23 at 21:20
  • 1
    From what I remember OBS has code to hook ("detour") D3D interfaces and intercept presentation calls and scene updates. Those games incapable to see that the desktop is gone and they could pause, and instead they continue to run their rendering loop - those game could probably be hooked this way and they could indeed look as if they run "behind the lock screen". – Roman R. Mar 15 '23 at 11:48
  • 1
    was able to achieve capture by hooking `IDXGISwapChain::Present` – LOST Mar 22 '23 at 02:29