Initializes the IDCRL, specifying a custom proxy that overrides the Microsoft Internet Explorer browser's proxy settings or custom time-out value.

HRESULT InitializeEx(
       IN REFGUID GuidClientApplication,
       IN LONG lPPCRLVersion,
       IN DWORD dwFlags,
       IN LPIDCRL_OPTION pOptions,
       IN DWORD dwOptions


A globally unique ID (GUID) that uniquely identifies the hosting client application. You should generate a new GUID for each shipped version of your client application.


The version of the IDCRL software that the client application is using.


A bitwise combination of values from the UPDATE_FLAG enumeration. All undefined bit positions should be set to zero.


A pointer to an array of IDCRL_OPTION structures that specifies initialization options.


The number of elements in the pOptions array.

The following table describes the return values for this method.

Return Code



Error returned if IDCRL is already initialized but points to a different environment.


The flag supplied is not from the UPDATE_FLAG enumeration.


IDCRL has already been successfully initialized and is ready to be used. Returned if IDCRL has already been successfully initialized by a previous call to the method.


IDCRL was successfully initialized and is ready to be used. IDCRL detected a connection to the Internet and was able to successfully update its local configuration information from the Windows Live ID servers, if necessary.

You can specify a custom time-out value if you know the user's connection type (narrow-band or broadband).Your client application must first initialize the Component Object Model (COM) by calling the CoInitializeEx method. Client applications must call the InitializeEx method to initialize IDCRL before calling any other method. Otherwise, the other methods return [PP_E_CRL_NOT_INITIALIZED] to indicate that the library has not been initialized prior to the call.If a client application uses multiple threads, one thread must call the InitializeEx method one time before any of the threads can call any other IDCRL method.Before a client application exits, it should uninitialize IDCRL by calling the Uninitialize method.