📄 vmr9.cs
字号:
[In] IntPtr dwUserID,
[In] ref VMR9AllocationInfo lpAllocInfo,
[In, Out] ref int lpNumBuffers
);
[PreserveSig]
new int TerminateDevice([In] IntPtr dwID);
[PreserveSig]
new int GetSurface(
[In] IntPtr dwUserID,
[In] int SurfaceIndex,
[In] int SurfaceFlags,
[Out] out IntPtr lplpSurface
);
[PreserveSig]
new int AdviseNotify([In] IVMRSurfaceAllocatorNotify9 lpIVMRSurfAllocNotify);
#endregion
[PreserveSig]
int GetSurfaceEx(
[In] IntPtr dwUserID,
[In] int SurfaceIndex,
[In] int SurfaceFlags,
[Out] out IntPtr lplpSurface,
[Out] out DsRect lprcDst
);
}
[ComImport,
Guid("dca3f5df-bb3a-4d03-bd81-84614bfbfa0c"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRSurfaceAllocatorNotify9
{
[PreserveSig]
int AdviseSurfaceAllocator(
[In] IntPtr dwUserID,
[In] IVMRSurfaceAllocator9 lpIVRMSurfaceAllocator
);
[PreserveSig]
int SetD3DDevice(
[In] IntPtr lpD3DDevice,
[In] IntPtr hMonitor
);
[PreserveSig]
int ChangeD3DDevice(
[In] IntPtr lpD3DDevice,
[In] IntPtr hMonitor
);
[PreserveSig]
int AllocateSurfaceHelper(
[In] ref VMR9AllocationInfo lpAllocInfo,
[In, Out] ref int lpNumBuffers,
[Out, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.SysInt)] IntPtr[] lplpSurface
);
[PreserveSig]
int NotifyEvent(
[In] EventCode EvCode,
[In] IntPtr Param1,
[In] IntPtr Param2
);
}
[ComImport,
Guid("8d5148ea-3f5d-46cf-9df1-d1b896eedb1f"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRSurfaceAllocator9
{
[PreserveSig]
int InitializeDevice(
[In] IntPtr dwUserID,
[In] ref VMR9AllocationInfo lpAllocInfo,
[In, Out] ref int lpNumBuffers
);
[PreserveSig]
int TerminateDevice([In] IntPtr dwID);
[PreserveSig]
int GetSurface(
[In] IntPtr dwUserID,
[In] int SurfaceIndex,
[In] int SurfaceFlags,
[Out] out IntPtr lplpSurface
);
[PreserveSig]
int AdviseNotify([In] IVMRSurfaceAllocatorNotify9 lpIVMRSurfAllocNotify);
}
[ComImport,
Guid("5a804648-4f66-4867-9c43-4f5c822cf1b8"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRFilterConfig9
{
[PreserveSig]
int SetImageCompositor([In] IVMRImageCompositor9 lpVMRImgCompositor);
[PreserveSig]
int SetNumberOfStreams([In] int dwMaxStreams);
[PreserveSig]
int GetNumberOfStreams([Out] out int pdwMaxStreams);
[PreserveSig]
int SetRenderingPrefs([In] VMR9RenderPrefs dwRenderFlags);
[PreserveSig]
int GetRenderingPrefs([Out] out VMR9RenderPrefs pdwRenderFlags);
[PreserveSig]
int SetRenderingMode([In] VMR9Mode Mode);
[PreserveSig]
int GetRenderingMode([Out] out VMR9Mode Mode);
}
[ComImport,
Guid("8f537d09-f85e-4414-b23b-502e54c79927"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRWindowlessControl9
{
int GetNativeVideoSize(
[Out] out int lpWidth,
[Out] out int lpHeight,
[Out] out int lpARWidth,
[Out] out int lpARHeight
);
int GetMinIdealVideoSize(
[Out] out int lpWidth,
[Out] out int lpHeight
);
int GetMaxIdealVideoSize(
[Out] out int lpWidth,
[Out] out int lpHeight
);
int SetVideoPosition(
[In] DsRect lpSRCRect,
[In] DsRect lpDSTRect
);
int GetVideoPosition(
[Out] DsRect lpSRCRect,
[Out] DsRect lpDSTRect
);
int GetAspectRatioMode([Out] out VMR9AspectRatioMode lpAspectRatioMode);
int SetAspectRatioMode([In] VMR9AspectRatioMode AspectRatioMode);
int SetVideoClippingWindow([In] IntPtr hwnd); // HWND
int RepaintVideo(
[In] IntPtr hwnd, // HWND
[In] IntPtr hdc // HDC
);
int DisplayModeChanged();
int GetCurrentImage([Out] out IntPtr lpDib); // BYTE**
int SetBorderColor([In] int Clr);
int GetBorderColor([Out] out int lpClr);
}
[ComImport,
Guid("00d96c29-bbde-4efc-9901-bb5036392146"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRAspectRatioControl9
{
[PreserveSig]
int GetAspectRatioMode([Out] out VMRAspectRatioMode lpdwARMode);
[PreserveSig]
int SetAspectRatioMode([In] VMRAspectRatioMode lpdwARMode);
}
[ComImport,
Guid("a215fb8d-13c2-4f7f-993c-003d6271a459"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRDeinterlaceControl9
{
[PreserveSig]
int GetNumberOfDeinterlaceModes(
[In] ref VMR9VideoDesc lpVideoDescription,
[In, Out] ref int lpdwNumDeinterlaceModes,
[Out, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct)] Guid[] lpDeinterlaceModes
);
[PreserveSig]
int GetDeinterlaceModeCaps(
[In, MarshalAs(UnmanagedType.LPStruct)] Guid lpDeinterlaceMode,
[In] ref VMR9VideoDesc lpVideoDescription,
[In, Out] ref VMR9DeinterlaceCaps lpDeinterlaceCaps
);
[PreserveSig]
int GetDeinterlaceMode(
[In] int dwStreamID,
[Out] out Guid lpDeinterlaceMode
);
[PreserveSig]
int SetDeinterlaceMode(
[In] int dwStreamID,
[In, MarshalAs(UnmanagedType.LPStruct)] Guid lpDeinterlaceMode
);
[PreserveSig]
int GetDeinterlacePrefs([Out] out VMR9DeinterlacePrefs lpdwDeinterlacePrefs);
[PreserveSig]
int SetDeinterlacePrefs([In] VMR9DeinterlacePrefs lpdwDeinterlacePrefs);
[PreserveSig]
int GetActualDeinterlaceMode(
[In] int dwStreamID,
[Out] out Guid lpDeinterlaceMode
);
}
[ComImport,
Guid("4a5c89eb-df51-4654-ac2a-e48e02bbabf6"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRImageCompositor9
{
[PreserveSig]
int InitCompositionDevice([In] IntPtr pD3DDevice);
[PreserveSig]
int TermCompositionDevice([In] IntPtr pD3DDevice);
[PreserveSig]
int SetStreamMediaType(
[In] int dwStrmID,
[In] AMMediaType pmt,
[In, MarshalAs(UnmanagedType.Bool)] bool fTexture
);
[PreserveSig]
int CompositeImage(
[In] IntPtr pD3DDevice,
[In] IntPtr pddsRenderTarget, // IDirect3DSurface9
[In] AMMediaType pmtRenderTarget,
[In] long rtStart,
[In] long rtEnd,
[In] int dwClrBkGnd,
[In, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct, SizeParamIndex=7)] VMR9VideoStreamInfo[] pVideoStreamInfo,
[In] int cStreams
);
}
[ComImport,
Guid("45c15cab-6e22-420a-8043-ae1f0ac02c7d"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRImagePresenterConfig9
{
[PreserveSig]
int SetRenderingPrefs([In] VMR9RenderPrefs dwRenderFlags);
[PreserveSig]
int GetRenderingPrefs([Out] out VMR9RenderPrefs dwRenderFlags);
}
[ComImport,
Guid("ced175e5-1935-4820-81bd-ff6ad00c9108"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRMixerBitmap9
{
[PreserveSig]
int SetAlphaBitmap([In] ref VMR9AlphaBitmap pBmpParms);
[PreserveSig]
int UpdateAlphaBitmapParameters([In] ref VMR9AlphaBitmap pBmpParms);
[PreserveSig]
int GetAlphaBitmapParameters([Out] out VMR9AlphaBitmap pBmpParms);
}
[ComImport,
Guid("1a777eaa-47c8-4930-b2c9-8fee1c1b0f3b"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRMixerControl9
{
[PreserveSig]
int SetAlpha(
[In] int dwStreamID,
[In] float Alpha
);
[PreserveSig]
int GetAlpha(
[In] int dwStreamID,
[Out] out float Alpha
);
[PreserveSig]
int SetZOrder(
[In] int dwStreamID,
[In] int dwZ
);
[PreserveSig]
int GetZOrder(
[In] int dwStreamID,
[Out] out int dwZ
);
[PreserveSig]
int SetOutputRect(
[In] int dwStreamID,
[In] ref NormalizedRect pRect
);
[PreserveSig]
int GetOutputRect(
[In] int dwStreamID,
[Out] out NormalizedRect pRect
);
[PreserveSig]
int SetBackgroundClr([In] int ClrBkg);
[PreserveSig]
int GetBackgroundClr([Out] out int ClrBkg);
[PreserveSig]
int SetMixingPrefs([In] VMR9MixerPrefs dwMixerPrefs);
[PreserveSig]
int GetMixingPrefs([Out] out VMR9MixerPrefs dwMixerPrefs);
[PreserveSig]
int SetProcAmpControl(
[In] int dwStreamID,
[In] ref VMR9ProcAmpControl lpClrControl
);
[PreserveSig]
int GetProcAmpControl(
[In] int dwStreamID,
[In, Out] ref VMR9ProcAmpControl lpClrControl
);
[PreserveSig]
int GetProcAmpControlRange(
[In] int dwStreamID,
[In, Out] ref VMR9ProcAmpControlRange lpClrControl
);
}
[ComImport,
Guid("46c2e457-8ba0-4eef-b80b-0680f0978749"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRMonitorConfig9
{
[PreserveSig]
int SetMonitor([In] int uDev);
[PreserveSig]
int GetMonitor([Out] out int uDev);
[PreserveSig]
int SetDefaultMonitor([In] int uDev);
[PreserveSig]
int GetDefaultMonitor([Out] out int uDev);
[PreserveSig]
int GetAvailableMonitors(
[Out, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct)] VMR9MonitorInfo[] pInfo,
[In] int dwMaxInfoArraySize,
[Out] out int pdwNumDevices
);
}
[ComImport,
Guid("d0cfe38b-93e7-4772-8957-0400c49a4485"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IVMRVideoStreamControl9
{
[PreserveSig]
int SetStreamActiveState([In, MarshalAs(UnmanagedType.Bool)] bool fActive);
[PreserveSig]
int GetStreamActiveState([Out, MarshalAs(UnmanagedType.Bool)] out bool fActive);
}
#endregion
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -