« Gecko Plugin API Reference « Plug-in Side Plug-in API
Summary
Creates a new instance of a plug-in.
Syntax
#include <npapi.h> NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char *argn[], char *argv[], NPSavedData *saved);
Parameters
The function has the following parameters:
- pluginType
- Pointer to the MIME type for new plug-in instance.
- instance
- Contains instance-specific private data for the plug-in and the browser. This data is stored in instance->pdata.
- mode
- 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.
- argc
- Number of HTML arguments in the EMBED tag for an embedded plug-in; determines the number of attributes in the argn and argv arrays.
- argn[]
- Array of attribute names passed to the plug-in from the EMBED tag.
- argv[]
- Array of attribute values passed to the plug-in from the EMBED tag.
- saved
- 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.
Returns
- If successful, the function returns NPERR_NO_ERROR.
- If unsuccessful, the function returns an error code. For possible values, see Error Codes.
Description
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.