The NS_InitXPCOM2
function initiates use of XPCOM in the calling process.
#include "nsXPCOM.h" nsresult NS_InitXPCOM2( nsIServiceManager** aResult, nsIFile* aBinDirectory, nsIDirectoryServiceProvider* aAppFileLocationProvider );
NS_GetServiceManager
. The resulting interface pointer is AddRef
'd upon return and must either be Release
'd explicitly or passed to NS_ShutdownXPCOM
when the application is finished with XPCOM.
nsnull
.
The NS_InitXPCOM2
function returns NS_OK
if successful. Otherwise, it returns an error code. Some of the possible errors are documented below:
NS_ShutdownXPCOM
has been called.
You must call NS_InitXPCOM2
(or NS_InitXPCOM3
) before proceeding to use XPCOM in a process. The one exception is that you may call NS_NewLocalFile
or NS_NewNativeLocalFile
to create a nsIFile
needed for the aBinDirectory parameter to NS_InitXPCOM2
. Many of the XPCOM glue functions and classes are also available prior to XPCOM initialization, including for example nsEmbedCString
and nsCOMPtr
.
This function was finalized for Mozilla 0.9.6. See bug 999147 for details.