Managed code is executed exclusively within the .NET common language runtime environment and is wholly dependent on the services provided by that runtime. An application is classed as unmanaged if any part of the application runs or calls services outside of the .NET common language runtime environment.
Certain advanced functionality cannot currently be supported within the managed .NET environment.
If your application requires some functionality that is not currently supported in the fully managed environment, then you can change your application to use the unmanaged environment without requiring substantial change to your application. However, you should note that the XMS stack is making use of unmanaged code when this selection is made.
Managed connections to WMQ (WMQ_CM_CLIENT) will not support: Channel exits, SSL connections, XA Transactions, Non-TCP communications, and Channel compression. However, these might be supported by using an unmanaged connection (WMQ_CM_CLIENT_UNMANAGED). Refer to the WebSphere MQ Using .NET manual for accurate information.
If you create a connection factory from an administered object in an unmanaged environment, you must manually change the value for the connection mode to XMSC_WMQ_CM_CLIENT_UNMANAGED .