dll可以只运行一次的函数位置

dll可以只运行一次的函数位置,例如下面的FFmpeg使用。

BOOL WINAPI DllMain(

HINSTANCE hinstDLL,  // handle to DLL module
DWORD fdwReason,     // reason for calling function
LPVOID lpReserved)  // reserved
{
// Perform actions based on the reason for calling.
switch (fdwReason)
{
case DLL_PROCESS_ATTACH://当DLL被初次映射到进程的地址空间中时


av_register_all();//注册所有文件格式和编解码库
avformat_network_init();//初始化网络功能


break;


case DLL_THREAD_ATTACH://一个线程正在被创建
break;


case DLL_THREAD_DETACH://线程终结
break;


case DLL_PROCESS_DETACH://这个DLL从进程的地址空间中解除映射
avformat_network_deinit();//去初始化网络功能
break;
}
return TRUE;  // Successful DLL_PROCESS_ATTACH.
}

猜你喜欢

转载自blog.csdn.net/xionglifei2014/article/details/80223937