Additional Topics > External Development Guide > Obsolete Internal Interfaces > Interfaces Obsoleted in IDL 6.3

# Interfaces Obsoleted in IDL 6.3

Prior to IDL 6.3, the IDL_Win32Init() function was used to initialize IDL in callable IDL applications for the Microsoft Windows environment, It was obsoleted in IDL 6.3, replaced by the IDL_Initialize() function that offers the same abilities in addition to being usable on a cross platform basis. New code should be written to use IDL_Initialize().

## Initialization: Microsoft Windows

Under Microsoft Windows, the IDL_Win32Init() function prepares the IDL DLL for use. IDL_Win32Init() must be called before any other function except IDL_ToutPush().

Windows applications should not call IDL_Init(), described in the previous section. IDL_Win32Init() calls IDL_Init() on your behalf at the appropriate time.

int IDL_Win32Init(int iOpts, void *hinstExe, void *hwndExe, void *hAccel);

where:

### iOpts

A bitmask used to specify initialization options. The allowed bit values are:

### IDL_INIT_RUNTIME

Setting this bit causes IDL to check out a runtime license instead of the normal license. IDL_RuntimeExec() is then used to run an IDL application restored from a Save/Restore file.

### IDL_INIT_LMQUEUE

Setting this bit causes IDL to wait for an available license before beginning an IDL

task such as batch processing.

### hinstExe

HINSTANCE from the application that will be calling IDL.

### hwndExe

HWND for the application’s main window.

### hAccel

Reserved. This argument should always be NULL.

IDL_Win32Init() returns TRUE if the initialization is successful, and FALSE for failure.