For most managed-unmanaged interoperability problems, search appropriate functions in the Marshal class. For example, to convert managed string to unmanaged, use Marshal::StringToHGlobalAnsi or Marshal::StringToHGlobalUni.