system::loadPlugin loads vst plugin has no effect

i’m trying to load vst plugin using low level api,and i’ve been able to get it’s name and type correctly,but the sound has no effects.when i load this plugin into audition and apply it into a track it works just fine ,the sound get effects immediately without any further settings.what did i do wrong?here is my code and any help will be appreciate.

//vst plugin
unsigned int baseHandle;
//ERRCHECK(system->loadPlugin("ElastiquePitchV2O.dll", &baseHandle));
//ERRCHECK(system->loadPlugin("AutoTune5.dll", &baseHandle));
ERRCHECK(system->loadPlugin("SonitusFXEqualizerVST.dll", &baseHandle));
int countNested=0;
vector<FMOD_PLUGINTYPE> vtPluginTypes;
ERRCHECK(system->getNumNestedPlugins(baseHandle, &countNested));
for (int index = 0; index < countNested; ++index)
	unsigned int handle;
	ERRCHECK(system->getNestedPlugin(baseHandle, index, &handle));
	ERRCHECK(system->getPluginInfo(handle, &type, 0, 0, 0));
result = system->createDSPByType(FMOD_DSP_TYPE_VSTPLUGIN, &vstDsp);
    Add them to the master channel group.  Each time an effect is added (to position 0) it pushes the others down the list.
result = mastergroup->addDSP(0, vstDsp);

It looks like you will want to use System::createDSPByPlugin rather than createDSPByType, so that the plugin is used to create the DSP.

The DSP created by using the VST type is just a shell DSP that you cannot really do anything with, you need to use the plugin to create the DSP.