2021-07-11 22:59:29 -05:00
|
|
|
// Decompiled with JetBrains decompiler
|
|
|
|
|
// Type: Microsoft.Iris.Render.Protocols.Splash.Rendering.RemoteVideoPool
|
|
|
|
|
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
|
|
|
|
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
|
|
|
|
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
|
|
|
|
|
|
|
|
|
using Microsoft.Iris.Render.Common;
|
|
|
|
|
using Microsoft.Iris.Render.Protocol;
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.Iris.Render.Protocols.Splash.Rendering
|
|
|
|
|
{
|
2021-07-11 23:04:40 -05:00
|
|
|
internal class RemoteVideoPool : RemoteSurfacePool
|
2021-07-11 22:59:29 -05:00
|
|
|
{
|
2021-07-11 23:04:40 -05:00
|
|
|
private static ushort[] s_priv_ByteOrder_Msg6_NotifyVideoInputChanged;
|
|
|
|
|
private static ushort[] s_priv_ByteOrder_Msg7_SetContentOverscan;
|
|
|
|
|
private static ushort[] s_priv_ByteOrder_Msg8_NotifyVideoSizeChanged;
|
|
|
|
|
private static ushort[] s_priv_ByteOrder_Msg10_OnFrameReady;
|
|
|
|
|
private static ushort[] s_priv_ByteOrder_Msg11_OnClockStop;
|
|
|
|
|
private static ushort[] s_priv_ByteOrder_Msg12_OnClockStart;
|
|
|
|
|
private static ushort[] s_priv_ByteOrder_Msg13_OnDisconnect;
|
|
|
|
|
private static ushort[] s_priv_ByteOrder_Msg14_OnConnect;
|
|
|
|
|
|
|
|
|
|
protected RemoteVideoPool()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void BuildNotifyVideoInputChanged(
|
|
|
|
|
out RenderPort _priv_portUse,
|
|
|
|
|
out Message* _priv_pmsgUse,
|
|
|
|
|
Size sizeContentPxl,
|
|
|
|
|
Size sizeAspectRatio)
|
|
|
|
|
{
|
|
|
|
|
Debug2.Throw(this.IsValid, "Non-static method call requires an instance");
|
|
|
|
|
_priv_portUse = this.m_renderPort;
|
|
|
|
|
_priv_portUse.ValidateHandle(this.m_renderHandle);
|
|
|
|
|
uint size = (uint)sizeof(RemoteVideoPool.Msg6_NotifyVideoInputChanged);
|
|
|
|
|
RemoteVideoPool.Msg6_NotifyVideoInputChanged* videoInputChangedPtr = (RemoteVideoPool.Msg6_NotifyVideoInputChanged*)_priv_portUse.AllocMessageBuffer(size);
|
|
|
|
|
videoInputChangedPtr->_priv_size = size;
|
|
|
|
|
videoInputChangedPtr->_priv_msgid = 6U;
|
|
|
|
|
videoInputChangedPtr->sizeContentPxl = sizeContentPxl;
|
|
|
|
|
videoInputChangedPtr->sizeAspectRatio = sizeAspectRatio;
|
|
|
|
|
videoInputChangedPtr->_priv_idObjectSubject = this.m_renderHandle;
|
|
|
|
|
if (_priv_portUse.ForeignByteOrder)
|
2021-07-11 23:07:04 -05:00
|
|
|
MarshalHelper.SwapByteOrder((byte*)videoInputChangedPtr, ref s_priv_ByteOrder_Msg6_NotifyVideoInputChanged, typeof(RemoteVideoPool.Msg6_NotifyVideoInputChanged), 0, 0);
|
2021-07-11 23:04:40 -05:00
|
|
|
_priv_pmsgUse = (Message*)videoInputChangedPtr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void SendNotifyVideoInputChanged(Size sizeContentPxl, Size sizeAspectRatio)
|
|
|
|
|
{
|
|
|
|
|
RenderPort _priv_portUse;
|
|
|
|
|
Message* _priv_pmsgUse;
|
|
|
|
|
this.BuildNotifyVideoInputChanged(out _priv_portUse, out _priv_pmsgUse, sizeContentPxl, sizeAspectRatio);
|
|
|
|
|
_priv_portUse.SendRemoteMessage(_priv_pmsgUse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void BuildSetContentOverscan(
|
|
|
|
|
out RenderPort _priv_portUse,
|
|
|
|
|
out Message* _priv_pmsgUse,
|
|
|
|
|
float flContentOverscan)
|
|
|
|
|
{
|
|
|
|
|
Debug2.Throw(this.IsValid, "Non-static method call requires an instance");
|
|
|
|
|
_priv_portUse = this.m_renderPort;
|
|
|
|
|
_priv_portUse.ValidateHandle(this.m_renderHandle);
|
|
|
|
|
uint size = (uint)sizeof(RemoteVideoPool.Msg7_SetContentOverscan);
|
|
|
|
|
RemoteVideoPool.Msg7_SetContentOverscan* setContentOverscanPtr = (RemoteVideoPool.Msg7_SetContentOverscan*)_priv_portUse.AllocMessageBuffer(size);
|
|
|
|
|
setContentOverscanPtr->_priv_size = size;
|
|
|
|
|
setContentOverscanPtr->_priv_msgid = 7U;
|
|
|
|
|
setContentOverscanPtr->flContentOverscan = flContentOverscan;
|
|
|
|
|
setContentOverscanPtr->_priv_idObjectSubject = this.m_renderHandle;
|
|
|
|
|
if (_priv_portUse.ForeignByteOrder)
|
2021-07-11 23:07:04 -05:00
|
|
|
MarshalHelper.SwapByteOrder((byte*)setContentOverscanPtr, ref s_priv_ByteOrder_Msg7_SetContentOverscan, typeof(RemoteVideoPool.Msg7_SetContentOverscan), 0, 0);
|
2021-07-11 23:04:40 -05:00
|
|
|
_priv_pmsgUse = (Message*)setContentOverscanPtr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void SendSetContentOverscan(float flContentOverscan)
|
|
|
|
|
{
|
|
|
|
|
RenderPort _priv_portUse;
|
|
|
|
|
Message* _priv_pmsgUse;
|
|
|
|
|
this.BuildSetContentOverscan(out _priv_portUse, out _priv_pmsgUse, flContentOverscan);
|
|
|
|
|
_priv_portUse.SendRemoteMessage(_priv_pmsgUse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void BuildNotifyVideoSizeChanged(
|
|
|
|
|
out RenderPort _priv_portUse,
|
|
|
|
|
out Message* _priv_pmsgUse,
|
|
|
|
|
Size sizeTargetPxl)
|
|
|
|
|
{
|
|
|
|
|
Debug2.Throw(this.IsValid, "Non-static method call requires an instance");
|
|
|
|
|
_priv_portUse = this.m_renderPort;
|
|
|
|
|
_priv_portUse.ValidateHandle(this.m_renderHandle);
|
|
|
|
|
uint size = (uint)sizeof(RemoteVideoPool.Msg8_NotifyVideoSizeChanged);
|
|
|
|
|
RemoteVideoPool.Msg8_NotifyVideoSizeChanged* videoSizeChangedPtr = (RemoteVideoPool.Msg8_NotifyVideoSizeChanged*)_priv_portUse.AllocMessageBuffer(size);
|
|
|
|
|
videoSizeChangedPtr->_priv_size = size;
|
|
|
|
|
videoSizeChangedPtr->_priv_msgid = 8U;
|
|
|
|
|
videoSizeChangedPtr->sizeTargetPxl = sizeTargetPxl;
|
|
|
|
|
videoSizeChangedPtr->_priv_idObjectSubject = this.m_renderHandle;
|
|
|
|
|
if (_priv_portUse.ForeignByteOrder)
|
2021-07-11 23:07:04 -05:00
|
|
|
MarshalHelper.SwapByteOrder((byte*)videoSizeChangedPtr, ref s_priv_ByteOrder_Msg8_NotifyVideoSizeChanged, typeof(RemoteVideoPool.Msg8_NotifyVideoSizeChanged), 0, 0);
|
2021-07-11 23:04:40 -05:00
|
|
|
_priv_pmsgUse = (Message*)videoSizeChangedPtr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void SendNotifyVideoSizeChanged(Size sizeTargetPxl)
|
|
|
|
|
{
|
|
|
|
|
RenderPort _priv_portUse;
|
|
|
|
|
Message* _priv_pmsgUse;
|
|
|
|
|
this.BuildNotifyVideoSizeChanged(out _priv_portUse, out _priv_pmsgUse, sizeTargetPxl);
|
|
|
|
|
_priv_portUse.SendRemoteMessage(_priv_pmsgUse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void BuildOnFrameReady(
|
|
|
|
|
out RenderPort _priv_portUse,
|
|
|
|
|
out Message* _priv_pmsgUse,
|
|
|
|
|
int idxFrame,
|
|
|
|
|
long nTimeStampQPC,
|
|
|
|
|
long nFrameCount,
|
|
|
|
|
Rectangle rcContent,
|
|
|
|
|
uint nOptions)
|
|
|
|
|
{
|
|
|
|
|
Debug2.Throw(this.IsValid, "Non-static method call requires an instance");
|
|
|
|
|
_priv_portUse = this.m_renderPort;
|
|
|
|
|
_priv_portUse.ValidateHandle(this.m_renderHandle);
|
|
|
|
|
uint size = (uint)sizeof(RemoteVideoPool.Msg10_OnFrameReady);
|
|
|
|
|
RemoteVideoPool.Msg10_OnFrameReady* msg10OnFrameReadyPtr = (RemoteVideoPool.Msg10_OnFrameReady*)_priv_portUse.AllocMessageBuffer(size);
|
|
|
|
|
msg10OnFrameReadyPtr->_priv_size = size;
|
|
|
|
|
msg10OnFrameReadyPtr->_priv_msgid = 10U;
|
|
|
|
|
msg10OnFrameReadyPtr->idxFrame = idxFrame;
|
|
|
|
|
msg10OnFrameReadyPtr->nTimeStampQPC = nTimeStampQPC;
|
|
|
|
|
msg10OnFrameReadyPtr->nFrameCount = nFrameCount;
|
|
|
|
|
msg10OnFrameReadyPtr->rcContent = rcContent;
|
|
|
|
|
msg10OnFrameReadyPtr->nOptions = nOptions;
|
|
|
|
|
msg10OnFrameReadyPtr->_priv_idObjectSubject = this.m_renderHandle;
|
|
|
|
|
if (_priv_portUse.ForeignByteOrder)
|
2021-07-11 23:07:04 -05:00
|
|
|
MarshalHelper.SwapByteOrder((byte*)msg10OnFrameReadyPtr, ref s_priv_ByteOrder_Msg10_OnFrameReady, typeof(RemoteVideoPool.Msg10_OnFrameReady), 0, 0);
|
2021-07-11 23:04:40 -05:00
|
|
|
_priv_pmsgUse = (Message*)msg10OnFrameReadyPtr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void SendOnFrameReady(
|
|
|
|
|
int idxFrame,
|
|
|
|
|
long nTimeStampQPC,
|
|
|
|
|
long nFrameCount,
|
|
|
|
|
Rectangle rcContent,
|
|
|
|
|
uint nOptions)
|
|
|
|
|
{
|
|
|
|
|
RenderPort _priv_portUse;
|
|
|
|
|
Message* _priv_pmsgUse;
|
|
|
|
|
this.BuildOnFrameReady(out _priv_portUse, out _priv_pmsgUse, idxFrame, nTimeStampQPC, nFrameCount, rcContent, nOptions);
|
|
|
|
|
_priv_portUse.SendRemoteMessage(_priv_pmsgUse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void BuildOnClockStop(out RenderPort _priv_portUse, out Message* _priv_pmsgUse)
|
|
|
|
|
{
|
|
|
|
|
Debug2.Throw(this.IsValid, "Non-static method call requires an instance");
|
|
|
|
|
_priv_portUse = this.m_renderPort;
|
|
|
|
|
_priv_portUse.ValidateHandle(this.m_renderHandle);
|
|
|
|
|
uint size = (uint)sizeof(RemoteVideoPool.Msg11_OnClockStop);
|
|
|
|
|
RemoteVideoPool.Msg11_OnClockStop* msg11OnClockStopPtr = (RemoteVideoPool.Msg11_OnClockStop*)_priv_portUse.AllocMessageBuffer(size);
|
|
|
|
|
msg11OnClockStopPtr->_priv_size = size;
|
|
|
|
|
msg11OnClockStopPtr->_priv_msgid = 11U;
|
|
|
|
|
msg11OnClockStopPtr->_priv_idObjectSubject = this.m_renderHandle;
|
|
|
|
|
if (_priv_portUse.ForeignByteOrder)
|
2021-07-11 23:07:04 -05:00
|
|
|
MarshalHelper.SwapByteOrder((byte*)msg11OnClockStopPtr, ref s_priv_ByteOrder_Msg11_OnClockStop, typeof(RemoteVideoPool.Msg11_OnClockStop), 0, 0);
|
2021-07-11 23:04:40 -05:00
|
|
|
_priv_pmsgUse = (Message*)msg11OnClockStopPtr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void SendOnClockStop()
|
|
|
|
|
{
|
|
|
|
|
RenderPort _priv_portUse;
|
|
|
|
|
Message* _priv_pmsgUse;
|
|
|
|
|
this.BuildOnClockStop(out _priv_portUse, out _priv_pmsgUse);
|
|
|
|
|
_priv_portUse.SendRemoteMessage(_priv_pmsgUse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void BuildOnClockStart(
|
|
|
|
|
out RenderPort _priv_portUse,
|
|
|
|
|
out Message* _priv_pmsgUse,
|
|
|
|
|
uint nClockGeneration,
|
|
|
|
|
uint nFrameRateNumerator,
|
|
|
|
|
uint nFrameRateDenominator,
|
|
|
|
|
Rectangle rcBasisPxl,
|
|
|
|
|
Size sizeAspectRatio)
|
|
|
|
|
{
|
|
|
|
|
Debug2.Throw(this.IsValid, "Non-static method call requires an instance");
|
|
|
|
|
_priv_portUse = this.m_renderPort;
|
|
|
|
|
_priv_portUse.ValidateHandle(this.m_renderHandle);
|
|
|
|
|
uint size = (uint)sizeof(RemoteVideoPool.Msg12_OnClockStart);
|
|
|
|
|
RemoteVideoPool.Msg12_OnClockStart* msg12OnClockStartPtr = (RemoteVideoPool.Msg12_OnClockStart*)_priv_portUse.AllocMessageBuffer(size);
|
|
|
|
|
msg12OnClockStartPtr->_priv_size = size;
|
|
|
|
|
msg12OnClockStartPtr->_priv_msgid = 12U;
|
|
|
|
|
msg12OnClockStartPtr->nClockGeneration = nClockGeneration;
|
|
|
|
|
msg12OnClockStartPtr->nFrameRateNumerator = nFrameRateNumerator;
|
|
|
|
|
msg12OnClockStartPtr->nFrameRateDenominator = nFrameRateDenominator;
|
|
|
|
|
msg12OnClockStartPtr->rcBasisPxl = rcBasisPxl;
|
|
|
|
|
msg12OnClockStartPtr->sizeAspectRatio = sizeAspectRatio;
|
|
|
|
|
msg12OnClockStartPtr->_priv_idObjectSubject = this.m_renderHandle;
|
|
|
|
|
if (_priv_portUse.ForeignByteOrder)
|
2021-07-11 23:07:04 -05:00
|
|
|
MarshalHelper.SwapByteOrder((byte*)msg12OnClockStartPtr, ref s_priv_ByteOrder_Msg12_OnClockStart, typeof(RemoteVideoPool.Msg12_OnClockStart), 0, 0);
|
2021-07-11 23:04:40 -05:00
|
|
|
_priv_pmsgUse = (Message*)msg12OnClockStartPtr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void SendOnClockStart(
|
|
|
|
|
uint nClockGeneration,
|
|
|
|
|
uint nFrameRateNumerator,
|
|
|
|
|
uint nFrameRateDenominator,
|
|
|
|
|
Rectangle rcBasisPxl,
|
|
|
|
|
Size sizeAspectRatio)
|
|
|
|
|
{
|
|
|
|
|
RenderPort _priv_portUse;
|
|
|
|
|
Message* _priv_pmsgUse;
|
|
|
|
|
this.BuildOnClockStart(out _priv_portUse, out _priv_pmsgUse, nClockGeneration, nFrameRateNumerator, nFrameRateDenominator, rcBasisPxl, sizeAspectRatio);
|
|
|
|
|
_priv_portUse.SendRemoteMessage(_priv_pmsgUse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void BuildOnDisconnect(out RenderPort _priv_portUse, out Message* _priv_pmsgUse)
|
|
|
|
|
{
|
|
|
|
|
Debug2.Throw(this.IsValid, "Non-static method call requires an instance");
|
|
|
|
|
_priv_portUse = this.m_renderPort;
|
|
|
|
|
_priv_portUse.ValidateHandle(this.m_renderHandle);
|
|
|
|
|
uint size = (uint)sizeof(RemoteVideoPool.Msg13_OnDisconnect);
|
|
|
|
|
RemoteVideoPool.Msg13_OnDisconnect* msg13OnDisconnectPtr = (RemoteVideoPool.Msg13_OnDisconnect*)_priv_portUse.AllocMessageBuffer(size);
|
|
|
|
|
msg13OnDisconnectPtr->_priv_size = size;
|
|
|
|
|
msg13OnDisconnectPtr->_priv_msgid = 13U;
|
|
|
|
|
msg13OnDisconnectPtr->_priv_idObjectSubject = this.m_renderHandle;
|
|
|
|
|
if (_priv_portUse.ForeignByteOrder)
|
2021-07-11 23:07:04 -05:00
|
|
|
MarshalHelper.SwapByteOrder((byte*)msg13OnDisconnectPtr, ref s_priv_ByteOrder_Msg13_OnDisconnect, typeof(RemoteVideoPool.Msg13_OnDisconnect), 0, 0);
|
2021-07-11 23:04:40 -05:00
|
|
|
_priv_pmsgUse = (Message*)msg13OnDisconnectPtr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void SendOnDisconnect()
|
|
|
|
|
{
|
|
|
|
|
RenderPort _priv_portUse;
|
|
|
|
|
Message* _priv_pmsgUse;
|
|
|
|
|
this.BuildOnDisconnect(out _priv_portUse, out _priv_pmsgUse);
|
|
|
|
|
_priv_portUse.SendRemoteMessage(_priv_pmsgUse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void BuildOnConnect(out RenderPort _priv_portUse, out Message* _priv_pmsgUse)
|
|
|
|
|
{
|
|
|
|
|
Debug2.Throw(this.IsValid, "Non-static method call requires an instance");
|
|
|
|
|
_priv_portUse = this.m_renderPort;
|
|
|
|
|
_priv_portUse.ValidateHandle(this.m_renderHandle);
|
|
|
|
|
uint size = (uint)sizeof(RemoteVideoPool.Msg14_OnConnect);
|
|
|
|
|
RemoteVideoPool.Msg14_OnConnect* msg14OnConnectPtr = (RemoteVideoPool.Msg14_OnConnect*)_priv_portUse.AllocMessageBuffer(size);
|
|
|
|
|
msg14OnConnectPtr->_priv_size = size;
|
|
|
|
|
msg14OnConnectPtr->_priv_msgid = 14U;
|
|
|
|
|
msg14OnConnectPtr->_priv_idObjectSubject = this.m_renderHandle;
|
|
|
|
|
if (_priv_portUse.ForeignByteOrder)
|
2021-07-11 23:07:04 -05:00
|
|
|
MarshalHelper.SwapByteOrder((byte*)msg14OnConnectPtr, ref s_priv_ByteOrder_Msg14_OnConnect, typeof(RemoteVideoPool.Msg14_OnConnect), 0, 0);
|
2021-07-11 23:04:40 -05:00
|
|
|
_priv_pmsgUse = (Message*)msg14OnConnectPtr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public unsafe void SendOnConnect()
|
|
|
|
|
{
|
|
|
|
|
RenderPort _priv_portUse;
|
|
|
|
|
Message* _priv_pmsgUse;
|
|
|
|
|
this.BuildOnConnect(out _priv_portUse, out _priv_pmsgUse);
|
|
|
|
|
_priv_portUse.SendRemoteMessage(_priv_pmsgUse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static RemoteVideoPool CreateFromHandle(
|
|
|
|
|
RenderPort port,
|
|
|
|
|
RENDERHANDLE handle)
|
|
|
|
|
{
|
|
|
|
|
return new RemoteVideoPool(port, handle, true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static RemoteVideoPool CreateFromExternalHandle(
|
|
|
|
|
RenderPort port,
|
|
|
|
|
RENDERHANDLE handle,
|
|
|
|
|
IRenderHandleOwner owner)
|
|
|
|
|
{
|
|
|
|
|
port.RegisterKnownHandle(owner, handle);
|
|
|
|
|
return new RemoteVideoPool(port, handle, false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected RemoteVideoPool(RenderPort port, RENDERHANDLE handle, bool fFreeOnDispose)
|
|
|
|
|
: base(port, handle, fFreeOnDispose)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected RemoteVideoPool(RenderPort port, IRenderHandleOwner owner)
|
|
|
|
|
: base(port, owner)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override bool Equals(object other) => other is RemoteVideoPool && this.m_renderHandle == ((RemoteObject)other).m_renderHandle;
|
|
|
|
|
|
|
|
|
|
public override int GetHashCode() => base.GetHashCode();
|
|
|
|
|
|
|
|
|
|
[ComVisible(false)]
|
|
|
|
|
private struct Msg6_NotifyVideoInputChanged
|
|
|
|
|
{
|
|
|
|
|
public uint _priv_size;
|
|
|
|
|
public uint _priv_msgid;
|
|
|
|
|
public RENDERHANDLE _priv_idObjectSubject;
|
|
|
|
|
public Size sizeContentPxl;
|
|
|
|
|
public Size sizeAspectRatio;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[ComVisible(false)]
|
|
|
|
|
private struct Msg7_SetContentOverscan
|
|
|
|
|
{
|
|
|
|
|
public uint _priv_size;
|
|
|
|
|
public uint _priv_msgid;
|
|
|
|
|
public RENDERHANDLE _priv_idObjectSubject;
|
|
|
|
|
public float flContentOverscan;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[ComVisible(false)]
|
|
|
|
|
private struct Msg8_NotifyVideoSizeChanged
|
|
|
|
|
{
|
|
|
|
|
public uint _priv_size;
|
|
|
|
|
public uint _priv_msgid;
|
|
|
|
|
public RENDERHANDLE _priv_idObjectSubject;
|
|
|
|
|
public Size sizeTargetPxl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[ComVisible(false)]
|
|
|
|
|
private struct Msg10_OnFrameReady
|
|
|
|
|
{
|
|
|
|
|
public uint _priv_size;
|
|
|
|
|
public uint _priv_msgid;
|
|
|
|
|
public RENDERHANDLE _priv_idObjectSubject;
|
|
|
|
|
public int idxFrame;
|
|
|
|
|
public long nTimeStampQPC;
|
|
|
|
|
public long nFrameCount;
|
|
|
|
|
public Rectangle rcContent;
|
|
|
|
|
public uint nOptions;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[ComVisible(false)]
|
|
|
|
|
private struct Msg11_OnClockStop
|
|
|
|
|
{
|
|
|
|
|
public uint _priv_size;
|
|
|
|
|
public uint _priv_msgid;
|
|
|
|
|
public RENDERHANDLE _priv_idObjectSubject;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[ComVisible(false)]
|
|
|
|
|
private struct Msg12_OnClockStart
|
|
|
|
|
{
|
|
|
|
|
public uint _priv_size;
|
|
|
|
|
public uint _priv_msgid;
|
|
|
|
|
public RENDERHANDLE _priv_idObjectSubject;
|
|
|
|
|
public uint nClockGeneration;
|
|
|
|
|
public uint nFrameRateNumerator;
|
|
|
|
|
public uint nFrameRateDenominator;
|
|
|
|
|
public Rectangle rcBasisPxl;
|
|
|
|
|
public Size sizeAspectRatio;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[ComVisible(false)]
|
|
|
|
|
private struct Msg13_OnDisconnect
|
|
|
|
|
{
|
|
|
|
|
public uint _priv_size;
|
|
|
|
|
public uint _priv_msgid;
|
|
|
|
|
public RENDERHANDLE _priv_idObjectSubject;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[ComVisible(false)]
|
|
|
|
|
private struct Msg14_OnConnect
|
|
|
|
|
{
|
|
|
|
|
public uint _priv_size;
|
|
|
|
|
public uint _priv_msgid;
|
|
|
|
|
public RENDERHANDLE _priv_idObjectSubject;
|
|
|
|
|
}
|
2021-07-11 22:59:29 -05:00
|
|
|
}
|
|
|
|
|
}
|