Code Monkey home page Code Monkey logo

Comments (7)

smourier avatar smourier commented on June 15, 2024 1

Ok I think the problem is the Frame Server & Frame Server Monitor services (running as svchost.exe with special command lines) must load VCamSampleSource.dll in-process and they're running under different credentials (Local Service & Local System respectively), so they just get an access denied when they load this dll from where you compile, and this access denied is then propagated to VCamSample when it calls IMFVirtualCamera::Start.

image

I guess you compile in a directory under your compiling user's root, for example something like C:\Users\<your login>\source\repos\VCamSample\x64\Debug or somewhere restricted in some way.

It works with the version I built because I suppose you download it (and register it there) under a directory that's accessible by the two Frame Server services.

So the solution is just to copy VCamSampleSource.dll once built somewhere where everyone has access and register it from here (or build and register where everyone has access)

from vcamsample.

smourier avatar smourier commented on June 15, 2024

I just tried on a Windows 11 Sandbox (https://learn.microsoft.com/en-us/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview) and on a brand new Windows 11 VM from the ISO here https://www.microsoft.com/en-us/software-download/windows11 and it works fine.

So I guess it's related to your security settings or more generally how your machine is configured, but I'm unsure what's exactly the problem. There are multiple processes that needs access:

  • VCamSample.exe
  • SvcHost.exe which runs two processes: the frame server and the frame server monitor like we can see here:

image

Access denied at that point is usually because these two services have a problem to run, or they can't access the registry of the binaries where the VCamSampleSource was registered.

Oh and ... maybe it's simply due the fact that you downloaded the binaries from the internet, not compiled them by yourself. So you must remove the Mark of the Web (https://en.wikipedia.org/wiki/Mark_of_the_Web) click on "Unblock" on the .zip file you downloaded and press OK:

image

from vcamsample.

lyris85 avatar lyris85 commented on June 15, 2024

I tried again using your recommandation in window sandox, same result: access denied.

Here is the config I used to build the project:
Screenshot 2024-04-15 073429
I tried all config ( x86 debug and release, x64 debug and release)

Here is the output build:
Screenshot 2024-04-15 074220

I have Windows 11 Pro version 23H2

from vcamsample.

smourier avatar smourier commented on June 15, 2024

Have you registered this new VCamSampleSource.dll output files?

from vcamsample.

lyris85 avatar lyris85 commented on June 15, 2024

Yes I did it lik
Untitled
e this:

from vcamsample.

smourier avatar smourier commented on June 15, 2024

It works fine (downloaded or rebuilt) in a brand new VM with these specs:

image

Security issues can arise from many causes and Windows 11 Virtual Cam involves at least 3 different processes that all need registry (read) access. Difficult to say w/o being able to reproduce.

You can try to use procmon https://learn.microsoft.com/en-us/sysinternals/downloads/procmon to check access denieds (on files and/or registry keys), and/or build both binaries in Debug and check the traces the sample outputs, using what's described here https://github.com/smourier/VCamSample?tab=readme-ov-file#tracing

from vcamsample.

lyris85 avatar lyris85 commented on June 15, 2024

FYI information I was able to run the software downloaded from your repo. But building it doest work

from vcamsample.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.