MVH/NAudio-2.2.1/NAudio.Wasapi/MediaFoundation/IMFReadWriteClassFactory.cs
2024-06-07 00:47:07 +02:00

33 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace NAudio.MediaFoundation
{
/// <summary>
/// Creates an instance of either the sink writer or the source reader.
/// </summary>
[ComImport,Guid("E7FE2E12-661C-40DA-92F9-4F002AB67627"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IMFReadWriteClassFactory
{
/// <summary>
/// Creates an instance of the sink writer or source reader, given a URL.
/// </summary>
void CreateInstanceFromURL([In, MarshalAs(UnmanagedType.LPStruct)] Guid clsid, [In, MarshalAs(UnmanagedType.LPWStr)] string pwszURL, [In, MarshalAs(UnmanagedType.Interface)] IMFAttributes pAttributes, [In, MarshalAs(UnmanagedType.LPStruct)] Guid riid, [Out, MarshalAs(UnmanagedType.Interface)] out object ppvObject);
/// <summary>
/// Creates an instance of the sink writer or source reader, given an IUnknown pointer.
/// </summary>
void CreateInstanceFromObject([In, MarshalAs(UnmanagedType.LPStruct)] Guid clsid, [In, MarshalAs(UnmanagedType.IUnknown)] object punkObject, [In, MarshalAs(UnmanagedType.Interface)] IMFAttributes pAttributes, [In, MarshalAs(UnmanagedType.LPStruct)] Guid riid, [Out, MarshalAs(UnmanagedType.Interface)] out object ppvObject);
}
/// <summary>
/// CLSID_MFReadWriteClassFactory
/// </summary>
[ComImport, Guid("48e2ed0f-98c2-4a37-bed5-166312ddd83f")]
public class MFReadWriteClassFactory
{
}
}