instance->pdata = pluginInstance;
instance->pdata = peer;
NPP_New(NPMIMEType pluginType,	NPP instance,	PRUint16 mode,	int16 argc,	char* argn[],	char* argv[],	NPSavedData* saved){//    TRACE("NPP_New\n");        if (instance == NULL)        return NPERR_INVALID_INSTANCE_ERROR;    // Create a new plugin instance and start it.    nsIPluginInstance* pluginInstance = NULL;    thePlugin->CreateInstance(NULL, kIPluginInstanceIID, (void**)&pluginInstance);    if (pluginInstance == NULL) {        return NPERR_OUT_OF_MEMORY_ERROR;    }         // Create a new plugin instance peer,    // XXX - Since np_instance is not implemented in the 4.0x browser, I    // XXX - had to save the plugin parameter in the peer class.    // XXX - Ask Warren about np_instance.    CPluginInstancePeer* peer =         new CPluginInstancePeer(instance, (nsMIMEType)pluginType,                                 (nsPluginMode)mode, (PRUint16)argc,                                 (const char** )argn, (const char** )argv);    assert( peer != NULL );    if (!peer) return NPERR_OUT_OF_MEMORY_ERROR;    peer->AddRef();    pluginInstance->Initialize(peer);    pluginInstance->Start();    // Set the user instance and store the peer in npp->pdata.    instance->pdata = pluginInstance;    peer->Release();    return NPERR_NO_ERROR;}