Share via

DirectShow "Video Mixing Renderer Filter 9" cannot be created

Didier Cabalé 15 Reputation points
2026-03-05T17:23:13.96+00:00

[Host=Windows10; Guest=Hyper-V +Windows7 /Windows10]

Hey,
from my Hyper-V hosted Windows7, I fail to create a DirectShow "Video Mixing Renderer Filter 9" instance. For establishing this failure, simply run the attached PowerShell script:

Code:

# 1. Define the GUID object
$vmr9Guid = [Guid]"{51B4ABF3-748F-4E3B-A276-C828330E926A}"

# 2. Get the COM type associated with that GUID
$vmr9Type = [Type]::GetTypeFromCLSID($vmr9Guid)

# 3. Create the instance
$VMR = [Activator]::CreateInstance($vmr9Type)

# Check if instance created
$VMR

.. and you will get this error:

Exception calling "CreateInstance" with "1" argument(s): "Creating an instance of the COM component with CLSID {51B4ABF 3-748F-4E3B-A276-C828330E926A} from the IClassFactory failed due to the following error: 80040273." At line:1 char:35 + $VMR = [Activator]::CreateInstance <<<< ($vmr9Type) + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException

Important note1: running that same script on a hardware based Windows7 runs fine.
Note2: the same failure happens on a Windows7 or Windows10 hosted VirtualBox VM: https://forums.virtualbox.org/viewtopic.php?p=557974

Of course, this is really annoying because this prevents me going further in using Hyper-V for software development.

=> Have you some clues ?

Thanks in advance for your help!

Windows for business | Windows Client for IT Pros | Storage high availability | Virtualization and Hyper-V
0 comments No comments

2 answers

Sort by: Most helpful
  1. Domic Vo 19,580 Reputation points Independent Advisor
    2026-03-05T17:56:19.68+00:00

    Hello Didier Cabalé,

    The error you are encountering when trying to instantiate the DirectShow Video Mixing Renderer 9 (VMR9) inside a Hyper‑V guest is not related to Windows for Business or Windows 365 Enterprise. This is a local virtualization and graphics subsystem limitation.

    VMR9 depends on DirectX 9 hardware acceleration and a functioning Direct3D device. In a physical Windows 7 installation, the DirectShow runtime can create the VMR9 filter because the GPU driver exposes the required Direct3D capabilities. In a Hyper‑V guest, however, the virtual GPU stack is limited. Hyper‑V’s synthetic video adapter does not expose full Direct3D/DirectX 9 acceleration, and therefore the COM instantiation of VMR9 fails with error 0x80040273 (VFW_E_DDRAW_CAPS_NOT_SUITABLE). This is consistent with what you observed: the same script works on bare metal but fails in Hyper‑V and VirtualBox, because both hypervisors emulate only basic graphics functions without full DirectShow renderer support.

    There is no registry or configuration tweak that will enable VMR9 in Hyper‑V guests. The only supported options are:

    • Use RemoteFX vGPU or Discrete Device Assignment (DDA) with a physical GPU passed through to the VM. This allows the guest OS to access Direct3D capabilities and successfully instantiate VMR9.
    • Alternatively, replace VMR9 with the Enhanced Video Renderer (EVR), which is supported in newer Windows versions and does not require the same legacy DirectDraw/Direct3D hooks. EVR is the recommended renderer for development on Windows 7 and later.

    In short, the failure is expected because Hyper‑V’s virtual GPU does not expose the hardware acceleration required by VMR9. To proceed with development, you either need GPU passthrough (RemoteFX/DDA) or switch to EVR.

    I hope you've found something useful here. If it helps you get more insight into the issue, it's appreciated to accept the answer. Should you have more questions, feel free to leave a message. Have a nice day!

    Domic Vo.


  2. Q&A Assist
    2026-03-05T17:23:34.3033333+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    The Video Mixing Renderer 9 (VMR-9) filter is not the default renderer and must be present and registered in the guest OS in order to be created via its CLSID. The error 0x80040273 indicates that the COM class factory cannot create the filter instance, which typically means the VMR-9 filter is not available or not properly registered in that environment.

    From the documentation:

    • VMR-9 is a DirectShow filter that is available for redistribution on all platforms supported by DirectX 9, but it is not the default renderer on any system and must be explicitly added to the filter graph.
    • To use VMR-9, an application must explicitly create it (for example, via CoCreateInstance(CLSID_VideoMixingRenderer9, ...)) and add it to the filter graph using IFilterGraph::AddFilter.
    • VMR-7 is the default renderer on Windows XP and later, but VMR-9 is separate and uses Direct3D 9.

    In a virtualized guest (Hyper-V or VirtualBox), the ability to create VMR-9 depends on:

    1. The guest OS having the DirectShow VMR-9 filter binaries installed (i.e., the DirectX 9 components that include CLSID_VideoMixingRenderer9).
    2. Those components being correctly registered as COM classes inside the guest.

    If the same script works on hardware Windows 7 but fails in the VM, the guest likely does not have the DirectX/DirectShow components that include VMR-9, or they are not registered. Hyper-V itself does not provide or block VMR-9; it only virtualizes the hardware. The fix must be inside the guest:

    1. Ensure DirectX 9 runtime (including DirectShow components) is installed in the guest OS.
    2. Verify that CLSID_VideoMixingRenderer9 is registered in the guest (for example, by installing or repairing the DirectX/DirectShow runtime that contains VMR-9).
    3. After that, creating the COM object via GetTypeFromCLSID / CreateInstance should succeed, and the filter can then be added to a DirectShow filter graph as described in the VMR-9 documentation.

    Note that VMR-9 is a legacy DirectShow component. For new development on Windows 10 and 11, the recommended APIs are MediaPlayer, IMFMediaEngine, and Media Foundation’s audio/video capture stack instead of DirectShow.


    References:

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.