private string GetOutputName(ulong index) { IntPtr nameHandle = IntPtr.Zero; string str = null; IntPtr status = NativeMethods.ONNXRuntimeInferenceSessionGetOutputName( _nativeHandle, index, NativeMemoryAllocator.DefaultInstance.Handle, out nameHandle); try { NativeApiStatus.VerifySuccess(status); str = Marshal.PtrToStringAnsi(nameHandle); //assumes charset = ANSI } finally { if (nameHandle != IntPtr.Zero) { NativeMemoryAllocator.DefaultInstance.FreeMemory(nameHandle); } } return(str); }