Forgive me for resurrecting an ancient topic
I've just followed Timo's approach and now have a simple webcam capture app working with DirectShow.
To clarify:
1) Download the Windows SDK (6.1 worked for me)
2) Use the includes from the SDK and remove the path to the Pelles Win includes
3) Make sure to use the C interfaces for COM and DirectShow
4) Link against the right libs, e.g. strmiids.lib
What I mean for 3) is that the SDK samples, e.g. PlayCap and AmCap, use C++ interfaces so need converted for Pelles. For example, the last line here:
// Attach the filter graph to the capture graph
IGraphBuilder * g_pGraph = NULL;
ICaptureGraphBuilder2 * g_pCapture = NULL;
HRESULT hr = g_pCapture->SetFiltergraph(g_pGraph);
becomes
HRESULT hr = g_pCapture->lpVtbl->SetFiltergraph(g_pCapture, g_pGraph);
EASY!