DirectShow Type Libraries and .NET Interop DLL

Kohsuke Kawaguchi

I needed to use DirectShow from my C# application. Theoretically, this should be a very easy job ---- only if I have a type library. Unfortunately, DirectShow didn't seem to come with its type library.

I eventually found that IDL files are a part of the SDK release, so I decided to build a type library from those IDLs by myself. In a hope that this would be useful for other people, I decided to make it publicly available.

These are from DirectX 9.

I also found a similar (but more ambitious) project, which tries to re-create interfaces entirely in C#. I don't think that's a good approach, but that might fits your taste better.

Other Useful Interop DLLs

Windows has a few additional DLLs that are built on top of DirectShow, which are quite useful when developing a video related applications. I also created InterOp DLLs for those. These DLLs are developed to work better with my DirectShow InterOp DLL.

Limitation

DVD-related IDLs somehow didn't compile, so some related interfaces must be missing from this type library.

FAQ

I can't find IMediaControl interface

Even though MSDN describes them as a part of DirectShow, those interfaces are kept in QuartzTypeLib, normally in %SYSTEM32%\quartz.dll. You can import those type libraries directly into your .NET projects.

History


Back to home