Чтобы обернуть dll, я создал класс MediaInfo, основываясь на моем (ограниченном) понимании из краткого руководства.
Код: Выделить всё
public class MediaInfo
{
[DllImport("MediaInfo.dll")]
private static extern IntPtr MediaInfo_New();
[DllImport("MediaInfo.dll")]
private static extern void MediaInfo_Open(string FileName);
[DllImport("MediaInfo.dll")]
private static extern IntPtr MediaInfo_Inform(IntPtr Handle);
[DllImport("MediaInfo.DLL")]
private static extern void MediaInfo_Close(IntPtr Handle);
IntPtr Handle;
public MediaInfo()
{
Handle = MediaInfo_New();
}
public void Open(string FileName)
{
MediaInfo_Open(FileName);
}
public string Inform()
{
return Marshal.PtrToStringUni(MediaInfo_Inform(Handle));
}
public void Close()
{
MediaInfo_Close(Handle);
}
}
Код: Выделить всё
static void Main(string[] args)
{
var objMediaInfo = new MediaInfo();
objMediaInfo.Open("test.mp4");
string result = objMediaInfo.Inform();
objMediaInfo.Close();
Console.WriteLine(result);
Console.ReadKey();
}
Я знаю, что для этого уже существует полностью разработанная оболочка, но мне хотелось бы, чтобы она была простой и легкой.
Подробнее здесь: https://stackoverflow.com/questions/585 ... -dllimport
Мобильная версия