コード例 #1
0
        private void TestSetMedium()
        {
            int          hr        = 0;
            RegPinMedium pinMedium = new RegPinMedium();;

            // Really don't know how to test this method...
            hr = topology.SetMedium(pinIds[0], pinMedium);

            Debug.Assert((hr == 0), "IBDA_Topology.SetMedium");
        }
コード例 #2
0
ファイル: IKsPinTest.cs プロジェクト: ewin66/DirectShow.NET
        private void DumpPinMediumTest()
        {
            int hr;

            IntPtr         ip     = IntPtr.Zero;
            IKsPin         pKsPin = m_IPinOut as IKsPin;
            KSMultipleItem pmi    = new KSMultipleItem();

            // KsQueryMediums returns a KSMultipleItem immediately followed by
            // KSMultipleItem.Count instances of PinMedium
            hr = pKsPin.KsQueryMediums(out ip);
            Marshal.ThrowExceptionForHR(hr);

            try
            {
                // Read the KSMultipleItem
                Marshal.PtrToStructure(ip, pmi);
                Debug.Assert(pmi.Count > 0, "Medium count");

                if (pmi.Count > 0)
                {
                    RegPinMedium pTemp = new RegPinMedium();
                    ip = (IntPtr)(ip.ToInt32() + Marshal.SizeOf(typeof(KSMultipleItem)));

                    for (int i = 0; i < pmi.Count; i++)
                    {
                        // Read the PinMedium
                        Marshal.PtrToStructure(ip, pTemp);
                        Debug.WriteLine(string.Format("{0} ({1}) ({2})", pTemp.clsMedium, pTemp.dw1, pTemp.dw2));
                    }
                }
            }
            finally
            {
                Marshal.FreeCoTaskMem(ip);
            }
        }