public TData?MarshalDataToStruct <TData>() where TData : struct { if (Data == IntPtr.Zero) { return(null); } return(MpvMarshal.PtrToStructure <TData>(Data)); }
private TDelegate LoadFunction <TDelegate>(string name) where TDelegate : class { var delegateValue = MpvMarshal.LoadUnmanagedFunction <TDelegate>(dllHandle, name); if (delegateValue == null) { throw new MpvAPIException($"Failed to load Mpv \"{name}\" function."); } return(delegateValue); }