读书人

作Filter之def的dll!该如何处

发布时间: 2012-03-01 10:25:47 作者: rapoo

作Filter之def的dll!!!!
是的,起初我想做一Sink的Filter,所以我在作用到了生dll的程式,

////////TSFileSink.cpp部分程式
STDAPI DllRegisterServer()
{
return AMovieDllRegisterServer2(TRUE);

} // DllRegisterServer

// DllUnregisterServer
//
STDAPI DllUnregisterServer()
{
return AMovieDllRegisterServer2(FALSE);

} // DllUnregisterServer

// DllEntryPoint
//
extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, ULONG, LPVOID);

BOOL APIENTRY DllMain(HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved)
{
return DllEntryPoint((HINSTANCE)(hModule), ul_reason_for_call, lpReserved);
}
///////以下是用到的方法

HRESULT CDataIn::CheckMediaType(const CMediaType *pmt)
STDMETHODIMP CDataIn::EndOfStream()
HRESULT CDataIn::BeginFlush()
HRESULT CDataIn::EndFlush()
HRESULT CDataIn::Receive(IMediaSample *pSample)


//////以下是作TSFileSink.def的方式
LIBRARY TSFileSink.dll

EXPORTS
DllMain PRIVATE
DllGetClassObject PRIVATE
DllCanUnloadNow PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE

///////////////////////////////////////////////
可是在Build程中,生了error

warning C4355: 'this' : used in base member initializer list
Linking...
TSFileSink.def : error LNK2001: unresolved external symbol DllCanUnloadNow
TSFileSink.def : error LNK2001: unresolved external symbol DllGetClassObject
Debug/TSFileSink.lib : fatal error LNK1120: 2 unresolved externals
LINK : fatal error LNK1141: failure during build of exports file
Error executing link.exe.

TSFileSink.exe - 4 error(s), 1 warning(s)

///////
麻各位高手忙,是不是我建立def有呢?或者是作程式中有呢?
分感激!!!

[解决办法]
没有导出DllCanUnloadNow等函数啊
[解决办法]
GUID重定义了,在mediaformats.h与uuids.h中,H264VideoFormat等GUID重定义了。
检查下mediaformats.h中的定义试着更改声明以避免。

读书人网 >多媒体

热点推荐