XPCOM API Reference

このページは翻訳中です。
翻訳作業に参加する場合は、履歴にある翻訳者と連絡·調整してください。

このページはXPCOMリファレンスの新しいホームであり、ここから移動してきました。If you are inclined to help with this migration, your help would be very much appreciated.

There may also be additional information located in Creating XPCOM Components Appendix B; it is unclear how much of the documentation in CXC overlaps with that from the to-be-migrated XPCOM reference mentioned in the last paragraph.

Please see the talk page for information about available templates and categories you should use when creating / editing pages.

 

概観

このリファレンスは XPCOM ライブラリによって提供されている 凍結された インタフェースと関数について述べています。XPCOM glue ライブラリによって提供されているヘルパークラスと関数についても詳しく述べています。このリファレンスは拡張の作者と XPCOM の埋め込みを行う人向けです。

注意: If you are working on a module in the Mozilla codebase that is compiled with MOZILLA_INTERNAL_API, then some of these APIs--the string functions and classes in particular--may differ significantly from what you should use. See the XPCOM string guide for documentation on the string API used internally within the Mozilla codebase.

凍結されたコンポーネント

これらのコンポーネントは XPCOM コンポーネントマネジャーかサービスマネージャを使ってアクセスされます。

nsCategoryManager
XPCOM カテゴリマネージャ。
nsDirectoryService
XPCOM ディレクトリサービス。
nsLocalFile
nsILocalFile を実装しているコンポーネント。
nsObserverService
XPCOM オブザーバサービス。
nsScriptableInputStream
nsIScriptableInputStream を実装しているコンポーネント。
XPCOM primitive コンポーネント
これらのコンポーネントは、単純な XPCOM 形の "box" 値である scriptable オブジェクトを実装します。また、これらのインタフェースを実装します: nsISupportsCString, nsISupportsChar, nsISupportsDouble, nsISupportsFloat, nsISupportsID, nsISupportsInterface, nsISupportsPRBool, nsISupportsPRInt16, nsISupportsPRInt32, nsISupportsPRInt64, nsISupportsPRTime, nsISupportsPRUint16, nsISupportsPRUint32, nsISupportsPRUint64, nsISupportsPRUint8, nsISupportsString, nsISupportsVoid

凍結された関数

これらの関数は XPCOM 共有ライブラリからエクスポートされています。

コア関数

NS_InitXPCOM2 
NS_InitXPCOM2 関数は呼び出しプロセスの中で XPCOM の使用を始めます。
NS_InitXPCOM3 
The NS_InitXPCOM3 関数は静的に定義された XPCOM モジュールのサポート付きで呼び出しプロセスの中で XPCOM の使用を始めます。
NS_ShutdownXPCOM 
NS_ShutdownXPCOM 関数は呼び出しプロセスの中で XPCOM の使用を終了させます。
NS_GetComponentManager 
NS_GetComponentManager 関数は XPCOM コンポーネントマネージャへの参照を返します。
NS_GetComponentRegistrar 
NS_GetComponentRegistrar 関数は XPCOM コンポーネントレジスタへの参照を返します。
NS_GetServiceManager 
NS_GetServiceManager 関数は XPCOM サービスマネージャへの参照を返します。
NS_GetMemoryManager 
NS_GetMemoryManager 関数は XPCOM メモリマネージャへの参照を返します。
NS_NewLocalFile 
NS_NewLocalFile 関数はファイルパスのプラットフォームに依存しない表現を提供する nsILocalFile のインスタンスを作成します。
NS_NewNativeLocalFile 
The NS_NewNativeLocalFile 関数はファイルパスのプラットフォームに依存しない表現を提供する nsILocalFile のインスタンスを作成します。You should avoid using this function if you're not 100% certain that the full file path (not just a leaf) involved is always ASCII.
NS_Alloc 
XPCOM メモリマネージャで使われるメモリのブロックを割り当てます。
NS_Realloc 
XPCOM メモリマネージャで使われるメモリのブロックを再割り当てします。
NS_Free 
XPCOM メモリマネージャで使われるメモリのブロックを開放します。

文字列関数

These are the low-level "string" APIs provided by XPCOM as part of its frozen API. It is often better to use one of the string classes instead of using these functions directly.

NS_CStringContainerInit 
The NS_CStringContainerInit function initializes a nsCStringContainer instance for use as a nsACString.
NS_CStringContainerInit2 
The NS_CStringContainerInit2 function initializes a nsCStringContainer instance for use as a nsACString.
NS_CStringContainerFinish 
The NS_CStringContainerFinish function releases any memory allocated by a nsCStringContainer instance.
NS_CStringGetData 
The NS_CStringGetData function gives the caller read access to the string's internal buffer.
NS_CStringGetMutableData 
The NS_CStringGetDataMutable function gives the caller write access to the string's internal buffer.
NS_CStringSetData 
The NS_CStringSetData function copies data into the string's internal buffer.
NS_CStringSetDataRange 
The NS_CStringSetDataRange function copies data into a section of the string's internal buffer.
NS_CStringCopy 
The NS_CStringCopy function copies the value from one nsACString instance to another.
NS_CStringAppendData 
The NS_CStringAppendData function appends data to the existing value of a nsACString instance.
NS_CStringInsertData 
The NS_CStringInsertData function appends data to the existing value of a nsACString instance.
NS_CStringCutData 
The NS_CStringCutData function removes a section of the string's internal buffer.
NS_CStringCloneData 
The NS_CStringCloneData function returns a null-terminated, heap allocated copy of the string's internal buffer.
NS_StringContainerInit 
The NS_StringContainerInit function initializes a nsStringContainer instance for use as a nsAString.
NS_StringContainerInit2 
...
NS_StringContainerFinish 
The NS_StringContainerFinish function releases any memory allocated by a nsStringContainer instance.
NS_StringGetData 
The NS_StringGetData function gives the caller access to the string's internal buffer.
NS_StringGetMutableData 
...
NS_StringSetData 
The NS_StringSetData function copies data into the string's internal buffer.
NS_StringSetDataRange 
The NS_StringSetDataRange function copies data into a section of the string's internal buffer.
NS_StringCopy 
The NS_StringCopy function copies the value from one nsAString instance to another.
NS_StringAppendData 
The NS_StringAppendData function appends data to the existing value of a nsAString instance.
NS_StringInsertData 
The NS_StringInsertData function appends data to the existing value of a nsACString instance.
NS_StringCutData 
The NS_StringCutData function removes a section of the string's internal buffer.
NS_StringCloneData 
The NS_StringCloneData function returns a null-terminated, heap allocated copy of the string's internal buffer.
NS_CStringToUTF16 
The NS_CStringToUTF16 function converts the value of a nsACString instance to UTF-16 and stores the result in a nsAString instance.
NS_UTF16ToCString  
The NS_UTF16ToCString function converts the value of a nsAString instance from UTF-16 to the specified multi-byte encoding and stores the result in a nsACString instance.

凍結されたインターフェース

コア

nsICategoryManager 
The nsICategoryManager interface provides access to a data structure that holds a list of name-value pairs, called categories, where each value is a list of strings.
nsIClassInfo 
The nsIClassInfo interface provides information about a specific implementation class.
nsIComponentManager 
The nsIComponentManager interface provides methods to access factory objects and instantiate instances of classes.
nsIComponentRegistrar 
The nsIComponentRegistrar interface provides methods to access and modify the XPCOM component registry.
nsIFactory 
The nsIFactory interface allows for the creation of nsISupports derived classes without specifying a concrete class type.
nsIInterfaceRequestor 
The nsIInterfaceRequestor interface defines a generic interface for requesting interfaces that a given object might provide access to.
nsIModule 
The nsIModule interface must be implemented by each XPCOM component. It is the main entry point by which the system accesses an XPCOM component.
nsIMemory 
The nsIMemory interface represents a generic memory allocator.
nsIObserver 
The nsIObserver interface is a generic notification callback interface that is typically used in conjunction with nsIObserverService.
nsIObserverService 
The nsIObserverService interface provides methods to add, remove, notify, and enumerate observers of various notifications.
nsIProgrammingLanguage 
The nsIProgrammingLanguage interface provides an enumeration of programming language identifiers.
nsIProperties 
The nsIProperties interface provides methods to access a map of named XPCOM object values.
nsIServiceManager 
The nsIServiceManager manager interface provides a means to obtain global services in an application.
nsISimpleEnumerator 
The nsISimpleEnumerator interface represents an enumeration of XPCOM objects and provides methods to access elements sequentially.
nsISupports 
All XPCOM interfaces inherit the nsISupports interface.
nsISupportsWeakReference 
The nsISupportsWeakReference interface is a factory interface, which produces appropriate instances of nsIWeakReference.
nsIWeakReference 
The nsIWeakReference interface represents a proxy for an XPCOM object. It allows a consumer to hold an indirect, non-owning reference to an XPCOM object.

ファイルとディレクトリ

nsIFile 
The nsIFile interface represents a file or directory location in a platform-independent manner.
nsILocalFile 
The nsILocalFile interface represents a file or directory location in a platform-independent manner that is accessible on the local filesystem. It extends nsIFile.
nsIDirectoryService 
The nsIDirectoryService interface provides methods to initialize and configure a directory service instance.
nsIDirectoryServiceProvider 
The nsIDirectoryServiceProvider interface is used by the Directory Service to get file locations.
nsIDirectoryServiceProvider2 
The nsIDirectoryServiceProvider2 interface is used by the Directory Service to get an enumeration of file locations.

ストリーム

nsIInputStream 
The nsIInputStream interface represents a readable data source.
nsIOutputStream 
The nsIOutputStream interface represents a writable data sink.
nsIScriptableInputStream 
The nsIScriptableInputStream interface provides scriptable access to a nsIInputStream instance.

プリミティヴ

nsISupportsPrimitive 
The nsISupportsPrimitive interface serves as a base interface for all of the nsISupports* family of interfaces.
nsISupportsPRBool 
The nsISupportsPRBool interface provides scriptable access for boolean values.
nsISupportsChar 
The nsISupportsChar interface provides scriptable access for single character values (often used to store an ASCII character).
nsISupportsPRInt16 
The nsISupportsPRInt16 interface provides scriptable access for 16-bit signed integers.
nsISupportsPRInt32 
The nsISupportsPRInt32 interface provides scriptable access for 32-bit signed integers.
nsISupportsPRInt64 
The nsISupportsPRInt64 interface provides scriptable access for 64-bit signed integers.
nsISupportsPRUint16 
The nsISupportsPRUint16 interface provides scriptable access for 16-bit unsigned integers.
nsISupportsPRUint32 
The nsISupportsPRUint32 interface provides scriptable access for 32-bit unsigned integers.
nsISupportsPRUint64 
The nsISupportsPRUint64 interface provides scriptable access for 64-bit unsigned integers.
nsISupportsPRUint8 
The nsISupportsPRUint8 interface provides scriptable access for 8-bit unsigned integers.
nsISupportsDouble 
The nsISupportsDouble interface provides scriptable access for double-precision floating-point values.
nsISupportsFloat 
The nsISupportsFloat interface provides scriptable access for single-precision floating-point values.
nsISupportsPRTime 
The nsISupportsPRTime interface provides scriptable access for PRTime values.
nsISupportsCString 
The nsISupportsCString interface provides scriptable access for ASCII character strings.
nsISupportsString 
The nsISupportsString interface provides scriptable access for Unicode character strings.
nsISupportsVoid 
The nsISupportsVoid interface provides scriptable access for generic pointers. values.
nsISupportsID 
The nsISupportsID interface provides scriptable access for boolean values.
nsISupportsInterfacePointer 
The nsISupportsInterfacePointer interface provides scriptable access for XPCOM objects.

XPCOM "Glue" クラスと関数

These classes and functions are provided to simplify the use of XPCOM from C++. They are not part of the frozen XPCOM API, which means that they may evolve over time. When these classes are used by a component, it may be necessary to link the component against the XPCOM glue library.

コア

nsCOMPtr 
This utility class simplifies managing XPCOM interface references from C++ code.
nsMemory 
The nsMemory class provides static helper routines to manage memory. These routines allow easy access to XPCOM's global nsIMemory implementation without having to go through the service manager to get it.
nsSupportsWeakReference 
Inherit from this C++ class to add canonical support for nsISupportsWeakReference.

文字列

nsACString 
The nsACString abstract class represents a character string composed of single-byte storage units. This class is typically used to represent ASCII or UTF-8 character arrays.
nsAString 
The nsAString abstract class represents a character string composed of double-byte storage units. This class is typically used to represent Unicode character arrays.
nsEmbedString 
The nsEmbedString concrete class provides a way to construct a nsAString object that allocates null-terminated storage.
nsEmbedCString 
The nsEmbedCString concrete class provides a way to construct a nsACString object that allocates null-terminated storage.
nsString 
...
nsCString 
...
nsDependentString 
...
nsDependentCString 
...
nsDependentSubstring 
...
nsDependentCSubstring 
...
NS_ConvertASCIItoUTF16 
...
NS_ConvertUTF8toUTF16 
...
NS_ConvertUTF16toUTF8 
...
NS_LossyConvertUTF16toASCII 
...
nsLiteralCString 
...
nsLiteralString 
...
getter_Copies 
...
Substring 
...
StringHead 
...
StringTail 
...
EmptyString 
...
EmptyCString 
...

スレッド同期

こちらのページを参照してください。

Original Document Information

  • Author: Darin Fisher
  • Last Updated Date: 2005/01/20
  • Copyright Information: Copyright © 2004-2005

ドキュメントのタグと貢献者

Contributors to this page: Marsf, fscholz, Mgjbot, Taken, Okome
最終更新者: Marsf,