This->exists = FALSE;
NPP_New(NPMIMEType pluginType,    NPP instance,    uint16 mode,    int16 argc,    char* argn[],    char* argv[],    NPSavedData* saved){    PluginInstance* This;    if (instance == NULL)        return NPERR_INVALID_INSTANCE_ERROR;            instance->pdata = NPN_MemAlloc(sizeof(PluginInstance));        This = (PluginInstance*) instance->pdata;    if (This == NULL)     {        return NPERR_OUT_OF_MEMORY_ERROR;    }    memset(This, 0, sizeof(PluginInstance));    /* mode is NP_EMBED, NP_FULL, or NP_BACKGROUND (see npapi.h) */    This->mode = mode;    This->type = dupMimeType(pluginType);    This->instance = instance;    This->pluginsPageUrl = NULL;    /* Parse argument list passed to plugin instance */    /* We are interested in these arguments     *  PLUGINSPAGE = <url>     */    while (argc > 0)    {        argc --;        if (argv[argc] != NULL)        {        if (!strcasecmp(argn[argc], "PLUGINSPAGE"))            This->pluginsPageUrl = strdup(argv[argc]);        else if (!strcasecmp(argn[argc], "PLUGINURL"))            This->pluginsFileUrl = strdup(argv[argc]);        else if (!strcasecmp(argn[argc], "CODEBASE"))            This->pluginsPageUrl = strdup(argv[argc]);        else if (!strcasecmp(argn[argc], "CLASSID"))            This->pluginsFileUrl = strdup(argv[argc]);        else if (!strcasecmp(argn[argc], "HIDDEN"))            This->pluginsHidden = (!strcasecmp(argv[argc],            "TRUE"));        }    }    return NPERR_NO_ERROR;}