Your Search Results



    « Gecko Plugin API Reference « Plug-in Side Plug-in API


    Creates a new instance of a plug-in.


    #include <npapi.h>
    NPError NPP_New(NPMIMEType    pluginType,
                    NPP instance, uint16 mode,
                    int16 argc,   char *argn[],
                    char *argv[], NPSavedData *saved);


    The function has the following parameters:

    Pointer to the MIME type for new plug-in instance.
    Contains instance-specific private data for the plug-in and the browser. This data is stored in instance->pdata.
    Display mode of plug-in. Values:
    • NP_EMBED: (1) Instance was created by an EMBED tag and shares the browser window with other content.
    • NP_FULL: (2) Instance was created by a separate file and is the primary content in the window.
    Number of HTML arguments in the EMBED tag for an embedded plug-in; determines the number of attributes in the argn and argv arrays.
    Array of attribute names passed to the plug-in from the EMBED tag.
    Array of attribute values passed to the plug-in from the EMBED tag.
    Pointer to data saved by NPP_Destroy for a previous instance of this plug-in at the same URL. If non-null, the browser passes ownership of the NPSavedData object back to the plug-in. The plug-in is responsible for freeing the memory for the NPSavedData and the buffer it contains.


    • If successful, the function returns NPERR_NO_ERROR.
    • If unsuccessful, the function returns an error code. For possible values, see Error Codes.


    NPP_New creates a new instance of a plug-in. It is called after NP_Initialize and is passed the MIME type, embedded or full-screen display mode, and, for embedded plug-ins, information about HTML EMBED arguments.

    A new instance pointer (NPP instance) is created by the plug-in, which is valid until the instance is destroyed with NPP_Destroy.

    If instance data was saved from a previous instance of the plug-in by the NPP_Destroy function, it is returned in the saved parameter for the current instance to use.

    All attributes in the EMBED tag (standard and private) are passed in NPP_New in the argn and argv arrays. The browser ignores any non-standard attributes within an EMBED tag. This gives developers a chance to use private attributes to communicate instance-specific options or other information to the plug-in. Place private options at the end of the list of standard attributes in the EMBED Tag.

    See Also

    NPP_Destroy, NP_Shutdown, NPP, NPSavedData

    Document Tags and Contributors

    Contributors to this page: Pmash, Demos, Rickwookie, Mgjbot
    Last updated by: Demos,