public static ILibrary load() { System.IntPtr libraryAsIInterfaceIntermediate; getLibraryInterface(System.IntPtr.Zero, out libraryAsIInterfaceIntermediate); Antilatency.InterfaceContract.IInterface libraryAsIInterface = new Antilatency.InterfaceContract.Details.IInterfaceWrapper(libraryAsIInterfaceIntermediate); var library = libraryAsIInterface.QueryInterface <ILibrary>(); libraryAsIInterface.Dispose(); return(library); }
public T createFactory() { var unloaderInterface = this.QueryInterface <ILibraryUnloader>(); var entry = getEntryPoint(); IInterface result; IntPtr resultIntermediate; entry(System.IntPtr.Zero, out resultIntermediate); result = new Antilatency.InterfaceContract.Details.IInterfaceWrapper(resultIntermediate); unloaderInterface.Dispose(); var factory = result.QueryInterface <T>(); result.Dispose(); return(factory); }