如何扫描/枚举vst插件dll?

我正在尝试构建一个托管vst效果的小程序,我想扫描一个文件夹中的插件dll.
我知道如何找到所有的dll,但现在我有以下问题:

>确定给定dll是否为vst插件的最佳方法是什么?
我试着看看ddl是否导出了正确的函数,这适用于使用更新版本的vst sdk制作的插件,因为它导出了一个名为“VstPluginMain”的方法,但旧版本导出了一个相当通用的“main”函数.
>如何确定插件是效果还是乐器?
>如何扫描vst shell插件?
Shell插件基本上是以某种方式包含多种效果的dll.一个例子是Waves Audio http://www.waves.com/制作的插件

ps:如果有一个库可以为我做所有这些,请告诉我.

如何确定VST插件?

一旦你找到main / VSTPluginMain ……就叫它吧!如果返回的是NULL,则它不是VST.如果返回的是指向字节“VstP”的指针(参见aest.h中的VstInt32 magic; ///<必须是#kEffectMagic('VstP')),那么你有一个VST. VSTPluginMain返回指向AEffect结构的指针.您需要查看此结构. 效果还是仪器? AEffect :: flags | (effFlagsIsSynth = 1 << 8) Shell VST更复杂: 类别将是kPlugCategShell 支持“shellCategory”canDo. 使用effShellGetNextPlugin枚举. 例如,使用您想要的ID响应回调中的audioMasterCurrentId.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...