« Gecko Plugin API Reference « Plug-in Side Plug-in API
概要
プラグインの新しいインスタンスを作成します。
文法
#include <npapi.h> NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char *argn[], char *argv[], NPSavedData *saved);
パラメータ
この関数は以下のパラメータを取ります:
- pluginType
- 新しいプラグインのインスタンスに対する MIME タイプへのポインタ。
- instance
- プラグインやブラウザに対するインスタンス固有のプライベートなデータを含みます。このデータは instance->pdata に保存されます。
- mode
- プラグインの表示モデル。 値:
- NP_EMBED: (1) インスタンスは EMBED タグによって作成され他のコンテンツとブラウザウィンドウを共有します。
- NP_FULL: (2) インスタンスは分割されたファイルによって作成されウィンドウの第一要素である。
- argc
- 組み込みプラグインに対する EMBED タグ内の HTML 引数の数; argn や argv 配列内の属性の数を決めます。
- argn[]
- EMBED タグからプラグインへと渡された属性名の配列。
- argv[]
- EMBED タグからプラグインへと渡された属性の値の配列。
- saved
- このプラグインの 同じ URL にあった以前のインスタンスに対する NPP_Destroy によって保存されたデータへのポインタ。非 null ならば、ブラウザは NPSavedData オブジェクトの所有をプラグインに返します。プラグインは NPSavedData やその中に含まれるバッファに対するメモリを開放する責任があります。
戻り値
- 成功ならば、この関数は NPERR_NO_ERROR を返します。
- 失敗ならば、この関数はエラーコードを返します。返しうる値については、エラーコード を参照してください。
説明
NPP_New
はプラグインの新しいインスタンスを作成します。この関数は NP_Initialize の後に呼ばれて MIME タイプ、組み込みかフルスクリーンかのいずれかの表示モード、組み込みのプラグインに対しては HTML EMBED 引数 についての情報を提供します。
プラグインの NPP ポインタはインスタンスが NPP_Destroy で破棄されるまで有効です。
NPP_Destroy 関数によって以前のプラグインのインスタンスからインスタンスのデータが保存されたならば、それは使用する現在のインスタンスに対する保存されたパラメータ内で返されます。
EMBED タグ(標準やプライベート)内のすべての属性は NPP_New
内の argn や argv 配列内に渡されます。ブラウザは EMBED タグ内のすべての非標準属性を無視します。 このため開発者はプライベート属性をインスタンス固有のオプションや他の情報をプラグインに伝えるのに利用することができます。EMBED タグ内の標準属性のリストの最後にプライベートオプションを置いてください。