1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| public class FReader10 : OcrEngine
{
[...]
private delegate int GetEngineObjectDelegate(string devSN, string reserved1, string reserved2, ref IEngine engine);
private static GetEngineObjectDelegate GetEngineObject;
public FReader10(ParametrageLicenceMoteur parametrage, RecuperationImageRedressee recuperationImageRedressee)
{
// On charge les fonctions non managées et on les affectes aux délégués.
GetEngineObject = (GetEngineObjectDelegate)
UnmanagedFunctionLoader.LoadFunction<GetEngineObjectDelegate>(
parametrage.DLLPath, "GetEngineObject");
DeinitializeEngine = (DeinitializeEngineDelegate)
UnmanagedFunctionLoader.LoadFunction<DeinitializeEngineDelegate>(
parametrage.DLLPath, "DeinitializeEngine");
[...]
}
private void LoadEngine(string key)
{
int hresult = GetEngineObject(key, null, null, ref _engine);
Marshal.ThrowExceptionForHR(hresult);
}
} |
Partager