mirror of
https://github.com/QL-Win/QuickLook.git
synced 2025-09-18 06:22:58 +00:00
133 lines
3.2 KiB
C#
133 lines
3.2 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using System.Security;
|
|
|
|
namespace WPFMediaKit.MediaFoundation.Interop;
|
|
|
|
[ComImport, SuppressUnmanagedCodeSecurity,
|
|
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
|
|
Guid("83E91E85-82C1-4ea7-801D-85DC50B75086")]
|
|
public interface IEVRFilterConfig
|
|
{
|
|
[PreserveSig]
|
|
int SetNumberOfStreams(int dwMaxStreams);
|
|
|
|
[PreserveSig]
|
|
void GetNumberOfStreams(out int pdwMaxStreams);
|
|
}
|
|
|
|
[ComImport, SuppressUnmanagedCodeSecurity,
|
|
Guid("DFDFD197-A9CA-43D8-B341-6AF3503792CD"),
|
|
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
|
public interface IMFVideoRenderer
|
|
{
|
|
[PreserveSig]
|
|
int InitializeRenderer([In, MarshalAs(UnmanagedType.Interface)] object pVideoMixer, [In, MarshalAs(UnmanagedType.Interface)] IMFVideoPresenter pVideoPresenter);
|
|
}
|
|
|
|
[ComImport, SuppressUnmanagedCodeSecurity,
|
|
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
|
|
Guid("F6696E82-74F7-4F3D-A178-8A5E09C3659F")]
|
|
public interface IMFClockStateSink
|
|
{
|
|
[PreserveSig]
|
|
int OnClockStart([In] long hnsSystemTime, [In] long llClockStartOffset);
|
|
|
|
[PreserveSig]
|
|
int OnClockStop([In] long hnsSystemTime);
|
|
|
|
[PreserveSig]
|
|
int OnClockPause([In] long hnsSystemTime);
|
|
|
|
[PreserveSig]
|
|
int OnClockRestart([In] long hnsSystemTime);
|
|
|
|
[PreserveSig]
|
|
int OnClockSetRate([In] long hnsSystemTime, [In] float flRate);
|
|
}
|
|
|
|
[ComImport, SuppressUnmanagedCodeSecurity,
|
|
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
|
|
Guid("29AFF080-182A-4A5D-AF3B-448F3A6346CB")]
|
|
public interface IMFVideoPresenter : IMFClockStateSink
|
|
{
|
|
#region IMFClockStateSink
|
|
|
|
[PreserveSig]
|
|
new void OnClockStart([In] long hnsSystemTime, [In] long llClockStartOffset);
|
|
|
|
[PreserveSig]
|
|
new void OnClockStop([In] long hnsSystemTime);
|
|
|
|
[PreserveSig]
|
|
new void OnClockPause([In] long hnsSystemTime);
|
|
|
|
[PreserveSig]
|
|
new void OnClockRestart([In] long hnsSystemTime);
|
|
|
|
[PreserveSig]
|
|
new void OnClockSetRate([In] long hnsSystemTime, [In] float flRate);
|
|
|
|
#endregion IMFClockStateSink
|
|
|
|
[PreserveSig]
|
|
int ProcessMessage();
|
|
|
|
[PreserveSig]
|
|
int GetCurrentMediaType();
|
|
}
|
|
|
|
[ComImport, SuppressUnmanagedCodeSecurity,
|
|
Guid("A490B1E4-AB84-4D31-A1B2-181E03B1077A"),
|
|
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
|
public interface IMFVideoDisplayControl
|
|
{
|
|
[PreserveSig]
|
|
int GetNativeVideoSize(/* not impl */);
|
|
|
|
[PreserveSig]
|
|
int GetIdealVideoSize(/* not impl */);
|
|
|
|
[PreserveSig]
|
|
int SetVideoPosition(/* not impl */);
|
|
|
|
[PreserveSig]
|
|
int GetVideoPosition(/* not impl */);
|
|
|
|
[PreserveSig]
|
|
int SetAspectRatioMode(/* not impl */);
|
|
|
|
[PreserveSig]
|
|
int GetAspectRatioMode(/* not impl */);
|
|
|
|
[PreserveSig]
|
|
int SetVideoWindow([In] IntPtr hwndVideo);
|
|
|
|
[PreserveSig]
|
|
int GetVideoWindow(out IntPtr phwndVideo);
|
|
|
|
[PreserveSig]
|
|
int RepaintVideo();
|
|
|
|
[PreserveSig]
|
|
int GetCurrentImage(/* not impl */);
|
|
|
|
[PreserveSig]
|
|
int SetBorderColor([In] int Clr);
|
|
|
|
[PreserveSig]
|
|
int GetBorderColor(out int pClr);
|
|
|
|
[PreserveSig]
|
|
int SetRenderingPrefs(/* not impl */);
|
|
|
|
[PreserveSig]
|
|
int GetRenderingPrefs(/* not impl */);
|
|
|
|
[PreserveSig]
|
|
int SetFullscreen(/* not impl */);
|
|
|
|
[PreserveSig]
|
|
int GetFullscreen(/* not impl */);
|
|
}
|