BizHawk/BizHawk.Common/IImportResolver.cs

27 lines
528 B
C#
Raw Normal View History

using System;
namespace BizHawk.Common
{
/// <summary>
/// interface for a dynamic link library or similar
/// </summary>
public interface IImportResolver
{
IntPtr Resolve(string entryPoint);
}
public static class ImportResolverExtensions
{
public static IntPtr SafeResolve(this IImportResolver dll, string entryPoint)
{
var ret = dll.Resolve(entryPoint);
if (ret == IntPtr.Zero)
2017-04-13 18:57:58 +00:00
{
throw new NullReferenceException($"Couldn't resolve entry point \"{entryPoint}\"");
}
return ret;
}
}
}