[C++] Unresolved.. IID_IVMRFilterControl

0

Witam,

używam DirectShow do odtwarzania filmów. Gdzieś w kodzie mam:

hr = ifpFilter->QueryInterface(IID_IVMRFilterConfig, (void**)&ifpVMRConfig);

W SDK napisane, że:

Requirements

Header: Declared in Strmif.h; include Dshow.h.

Library: Use Strmiids.lib.

Więc zaincludowałem i zalibowałem.

No i linker zgłasza:

[ILINK32 Error] Error: Unresolved external '_IID_IVMRFilterConfig' referenced from...

strmiids.lib dodałem z SDK jak i próbowałem z http://sourceforge.net/projects/bccsdk/files/.

0

Często brakuje czegoś, ale już w SDK dla Visty ten GUID jest w strmiids.lib.
http://www.sendspace.com/file/dysfw4 // strmiids.lib vista

Zawsze możesz poszukać definicji w headerach i samemou zbudować GUID:

EXTERN_C const IID IID_IVMRFilterConfig;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9e5530c5-7034-48b4-bb46-0b8a6efc8e36")
    IVMRFilterConfig : public IUnknown

Zawartość MIDL_INTERFACE po dodaniu klamerek wstawiasz do CLSIDFromString i już masz ten guid.

0

Dzięki sapero. DZIAŁA!
W strmif.h znalazłem tę definicję, ale CLSIDFromString nie znałem.

BTW: strmiids.lib z podanego przez Ciebie linka, też nie działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1