IMadVRInfo.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System.Drawing;
  2. using System.Runtime.InteropServices;
  3. namespace VideoPlayLib.MadVR
  4. {
  5. [ComImport, System.Security.SuppressUnmanagedCodeSecurity]
  6. [Guid("8FAB7F31-06EF-444C-A798-10314E185532")]
  7. [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
  8. public interface IMadVRInfo
  9. {
  10. // The memory for strings and binary data is allocated by the callee
  11. // by using LocalAlloc. It is the caller's responsibility to release the
  12. // memory by calling LocalFree.
  13. // Field names and LPWSTR values should be read case insensitive.
  14. [PreserveSig]
  15. int GetBool([In, MarshalAs(UnmanagedType.LPStr)]string field, [Out]out bool value);
  16. [PreserveSig]
  17. int GetInt([In, MarshalAs(UnmanagedType.LPStr)]string field, [Out, MarshalAs(UnmanagedType.I4)]out int value);
  18. [PreserveSig]
  19. int GetSize([In, MarshalAs(UnmanagedType.LPStr)]string field, [Out] out Size value);
  20. [PreserveSig]
  21. int GetRect([In, MarshalAs(UnmanagedType.LPStr)]string field, [Out]out Rectangle value);
  22. [PreserveSig]
  23. int GetUlonglong([In, MarshalAs(UnmanagedType.LPStr)]string field, [Out]out ulong value);
  24. [PreserveSig]
  25. int GetDouble([In, MarshalAs(UnmanagedType.LPStr)]string field, [Out]out double value);
  26. [PreserveSig]
  27. int GetString([In, MarshalAs(UnmanagedType.LPStr)]string field, [Out]out string value, out int chars);
  28. [PreserveSig]
  29. int GetBin([In, MarshalAs(UnmanagedType.LPStr)]string field, [Out]out byte[] value, [Out]out int size);
  30. }
  31. }