DirectDraw->Filter(IVideoWindow)->put_Parent(...) gibt fehler: Interface not supported
-
Ich will den Umgang mit Filter in DirectShow lernen, stoße dabei auf einige Schwierigkeiten:
beim Aufruf vonVideoWindow->put_Parent((OAHWND)ghApp);
bekomme ich den Fehlercode 0x80004002 zurück, der laut MSDN für soviel wie Interface not supported steht.
Dabei wird VideoWindow und ghApp so definiert und erstellt:IVideoWindow* VideoWindow = NULL; HWND ghApp //... ghApp = CreateWindow(CLASSNAME, "applName", WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CAPTION, 100, 100, 300, 300, GetDesktopWindow(), NULL, hInstance, NULL); //... FilterGraphManager->QueryInterface(IID_VideoWindow, (void**)&VideoWindow);
im Eigentlichen nicht recht viel anders als der Demo-Code der bei DirectX dabei war:
pGB->QueryInterface(IID_IVideoWindow, (void **)&pVW); pVW->put_Owner((OAHWND)ghApp); ghApp = CreateWindow(CLASSNAME, APPLICATIONNAME, WS_OVERLAPPEDWINDOW | WS_CAPTION | WS_CLIPCHILDREN, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, ghInst, 0);
Der Punkt ist: Die DemoApplikation von DirectX9 (PlayWnd) schafft das setzen des Parents durch die IVideoWindow-Interface ohne Probleme, meine Applikation hat dabei aber ihr Schwierigkeiten, obwohls beide male (fast) das selbe ist
Weiß jemand, was falsch ist oder was der Grund für den Fehlercode sein könnte?