mozilla

Compare Revisions

Initialization and Destruction

Change Revisions

Revision 130068:

Revision 130068 by Pmash on

Revision 130069:

Revision 130069 by Ssmedberg on

Title:
Initialization and Destruction
Initialization and Destruction
Slug:
Gecko_Plugin_API_Reference/Initialization_and_Destruction
Gecko_Plugin_API_Reference/Initialization_and_Destruction
Tags:
NeedsTechnicalReview, Plugins, NPAPI, NeedsEditorialReview, "Gecko Plugin API Reference"
NeedsTechnicalReview, Plugins, NPAPI, NeedsEditorialReview, "Gecko Plugin API Reference"
Content:

Revision 130068
Revision 130069
n13        <a href="en/Gecko_Plugin_API_Reference/Initialization_andn13        <a href="en/Gecko_Plugin_API_Reference/Initialization_and
>_Destruction#Initialization">Initialization</a>: The browser call>_Destruction#Initialization">Initialization</a>: The browser call
>s the Plug-in API function <a href="en/NP_Initialize">NP_Initiali>s the Plug-in API function <code><a href="en/NP_Initialize">NP_In
>ze</a> when the plug-in code is first loaded.>itialize</a></code> when the plug-in code is first loaded.
14      </li>
15      <li>14      </li>
16        <a href="en/Gecko_Plugin_API_Reference/Initialization_and
>_Destruction#Instance_Creation">Instance Creation</a>: The browse 
>r calls the Plug-in API function <a href="en/NPP_New">NPP_New</a> 
> when the instance is created. 
17      </li>15      <li>
16        <a href="en/Gecko_Plugin_API_Reference/Initialization_and
 >_Destruction#Instance_Creation">Instance Creation</a>: The browse
 >r calls the Plug-in API function <code><a href="en/NPP_New">NPP_N
 >ew</a></code> when the instance is created.
18      <li>17      </li>
19        <a href="en/Gecko_Plugin_API_Reference/Initialization_and
>_Destruction#Instance_Destruction">Instance Destruction</a>: The  
>plug-in instance is deleted when the user leaves the instance pag 
>e or closes the instance window; the browser calls the function < 
>a href="en/NPP_Destroy">NPP_Destroy</a> to tell the plug-in that  
>the instance is being deleted. 
20      </li>18      <li>
19        <a href="en/Gecko_Plugin_API_Reference/Initialization_and
 >_Destruction#Instance_Destruction">Instance Destruction</a>: The 
 >plug-in instance is deleted when the user leaves the instance pag
 >e or closes the instance window; the browser calls the function <
 >code><a href="en/NPP_Destroy">NPP_Destroy</a></code> to tell the 
 >plug-in that the instance is being deleted.
21      <li>20      </li>
21      <li>
22        <a href="en/Gecko_Plugin_API_Reference/Initialization_and22        <a href="en/Gecko_Plugin_API_Reference/Initialization_and
>_Destruction#Shutdown">Shutdown</a>: When the last instance of a >_Destruction#Shutdown">Shutdown</a>: When the last instance of a 
>plug-in is deleted, the plug-in code is unloaded from memory and >plug-in is deleted, the plug-in code is unloaded from memory and 
>the browser calls the function <a href="en/NP_Shutdown">NP_Shutdo>the browser calls the function <code><a href="en/NP_Shutdown">NP_
>wn</a>. Plug-ins consume no resources, other than disk space, if >Shutdown</a></code>. Plug-ins consume no resources, other than di
>not referenced.>sk space, if not referenced.
23      </li>
24    </ul>23      </li>
25    <p>24    </ul>
25    <p>
26      This chapter ends with <a href="en/Gecko_Plugin_API_Referen26      This chapter ends with <a href="en/Gecko_Plugin_API_Referen
>ce/Initialization_and_Destruction#Initialize_and_Shutdown_Example>ce/Initialization_and_Destruction#Initialize_and_Shutdown_Example
>">Initialize and Shutdown Example</a>, which includes the <a href>">Initialize and Shutdown Example</a>, which includes the <code><
>="en/NP_Initialize">NP_Initialize</a> and <a href="en/NP_Shutdown>a href="en/NP_Initialize">NP_Initialize</a></code> and <code><a h
>">NP_Shutdown</a> methods.>ref="en/NP_Shutdown">NP_Shutdown</a></code> methods.
n32      The browser calls <a href="en/NP_Initialize">NP_Initialize<n32      The browser calls <code><a href="en/NP_Initialize">NP_Initi
>/a> when a plug-in is loaded and before the first instance is cre>alize</a></code> when a plug-in is loaded and before the first in
>ated. Use this function to allocate the memory and resources shar>stance is created. Use this function to allocate the memory and r
>ed by all instances of your plug-in.>esources shared by all instances of your plug-in.
n40      After the last plug-in instance is deleted, the browser caln40      After the last plug-in instance is deleted, the browser cal
>ls <a href="en/NP_Shutdown">NP_Shutdown</a>, which releases the m>ls <code><a href="en/NP_Shutdown">NP_Shutdown</a></code>, which r
>emory or resources allocated by <code><a href="en/NP_Initialize">>eleases the memory or resources allocated by <code><a href="en/NP
>NP_Initialize</a></code>. For an example that shows the use of bo>_Initialize">NP_Initialize</a></code>. For an example that shows 
>th the <code><a href="en/NP_Initialize">NP_Initialize</a></code> >the use of both the <code><a href="en/NP_Initialize">NP_Initializ
>and <code>NP_Shutdown</code> methods, see <a href="en/Gecko_Plugi>e</a></code> and <code>NP_Shutdown</code> methods, see <a href="e
>n_API_Reference/Initialization_and_Destruction#Initialize_and_Shu>n/Gecko_Plugin_API_Reference/Initialization_and_Destruction#Initi
>tdown_Example">Initialize and Shutdown Example</a>>alize_and_Shutdown_Example">Initialize and Shutdown Example</a>
n58      The function tables also contain version information that tn58      The function tables also contain version information that t
>he plug-in checks to verify that it is compatible with the API ca>he plug-in checks to verify that it is compatible with the API ca
>pabilities provided by the application. To check this information>pabilities provided by the application. To check this information
>, use <a href="en/NPN_Version">NPN_Version</a>.>, use <code><a href="en/NPN_Version">NPN_Version</a></code>.
n67      After initialization, the plug-in instance is created. Moren67      After initialization, the plug-in instance is created. More
> than one instance of the same plug-in can exist if a single page> than one instance of the same plug-in can exist if a single page
> contains multiple embedded plug-ins, or if several browser windo> contains multiple embedded plug-ins, or if several browser windo
>ws are open and display the same data type. At this point, a plug>ws are open and display the same data type. At this point, a plug
>-in can call the <a href="en/NPN_SetValue">NPN_SetValue</a> funct>-in can call the <code><a href="en/NPN_SetValue">NPN_SetValue</a>
>ion to specify whether it is windowed (the default) or windowless></code> function to specify whether it is windowed (the default) 
>.>or windowless.
68    </p>
69    <p>68    </p>
69    <p>
70      Plug-in instance are created with <a href="en/NPP_New">NPP_70      Plug-in instance are created with <code><a href="en/NPP_New
>New</a> and destroyed with <a href="en/NPP_Destroy">NPP_Destroy</>">NPP_New</a></code> and destroyed with <code><a href="en/NPP_Des
>a>. <code><a href="en/NPP_New">NPP_New</a></code> informs the plu>troy">NPP_Destroy</a></code>. <code><a href="en/NPP_New">NPP_New<
>g-in of the creation of a new instance with the specified MIME ty>/a></code> informs the plug-in of the creation of a new instance 
>pe. You can allocate instance-specific private data at this time.>with the specified MIME type. You can allocate instance-specific 
 >private data at this time.
n122      Plug-in instances are created with <a href="en/NPP_New">NPPn122      Plug-in instances are created with <code><a href="en/NPP_Ne
>_New</a> and destroyed with <a href="en/NPP_Destroy">NPP_Destroy<>w">NPP_New</a></code> and destroyed with <code><a href="en/NPP_De
>/a>. The browser calls <code>NPP_Destroy</code> when a plug-in in>stroy">NPP_Destroy</a></code>. The browser calls <code>NPP_Destro
>stance is deleted, usually because the user has left the page con>y</code> when a plug-in instance is deleted, usually because the 
>taining the instance, closed the window, or quit the application.>user has left the page containing the instance, closed the window
> If this is the last instance created by a plug-in, <a href="en/N>, or quit the application. If this is the last instance created b
>P_Shutdown">NP_Shutdown</a> is called.>y a plug-in, <code><a href="en/NP_Shutdown">NP_Shutdown</a></code
 >> is called.
n171      When the application no longer needs the plug-in, it is shun171      When the application no longer needs the plug-in, it is shu
>t down and released. <a href="en/NP_Shutdown">NP_Shutdown</a> giv>t down and released. <code><a href="en/NP_Shutdown">NP_Shutdown</
>es you an opportunity to delete data allocated in <a href="en/NP_>a></code> gives you an opportunity to delete data allocated in <c
>Initialize">NP_Initialize</a> to be shared by all instances of a >ode><a href="en/NP_Initialize">NP_Initialize</a></code> to be sha
>plug-in. The browser calls the plug-in's <code>NP_Shutdown</code>>red by all instances of a plug-in. The browser calls the plug-in'
> function, which informs the plug-in that its library is about to>s <code>NP_Shutdown</code> function, which informs the plug-in th
> be unloaded, and gives it a chance to cancel any outstanding I/O>at its library is about to be unloaded, and gives it a chance to 
> requests, delete threads it created, free any memory it allocate>cancel any outstanding I/O requests, delete threads it created, f
>d, and perform any other closing tasks.>ree any memory it allocated, and perform any other closing tasks.
t186      This example demonstrates the use of the <a href="en/NP_Init186      This example demonstrates the use of the <code><a href="en/
>tialize">NP_Initialize</a> and <a href="en/NP_Shutdown">NP_Shutdo>NP_Initialize">NP_Initialize</a></code> and <code><a href="en/NP_
>wn</a> methods.>Shutdown">NP_Shutdown</a></code> methods.

Back to History