# InprocServer32

Registers a 32-bit in-process server DLL and specifies the threading model.

Registry Entry

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
\InprocServer32 = <path to 32-bit inproc server dll>
\ThreadingModel = <threading model>

Value Entries

<path to 32-bit inproc server dll>
  Specifies the path to the 32-bit inproc server.
<threading model>
  Specifies the threading model. In-process servers do not CoInitialize call or CoInitializeEx; they must use the registry to specify an applications threading model. Threading models used for this purpose are:
  - ThreadingModel = no value specified: Supports single threading model.

  - ThreadingModel=Apartment. Supports apartment model.

  - ThreadingModel=Both. Supports apartment model and free threading.

  - ThreadingModel=Free. Supports only free threading...

  Currently the ThreadingModel value must be the same for all objects

  provided by an inproc server.

Remarks

For a 32-bit InprocServer, the required entries are InprocHandler32, InprocServer, InprocServer32, and Insertable. Note that InprocServer entry provides backward compatibility. If it is missing, the class will still work, but can’t be inserted in 16-bit applications.

If a container is searching the registry for an InprocServer, the 16-bit version has priority with a 16-bit container, and 32-bit version has priority with a 32-bit container.

The required entries for 32-bit InprocServers are InprocHandler32, InprocServer, InProcServer32, and Insertable. Note that LocalServer and InprocServer entries provide backward compatibility. If they are missing, the class will work, but cannot be inserted into 16-bit applications.

See Also

InprocServer, CoInitialize, CoInitializeEx