65 lines
1.8 KiB
C#
65 lines
1.8 KiB
C#
using NAudio.Wasapi.CoreAudioApi.Interfaces;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
|
|
namespace NAudio.CoreAudioApi.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// Windows CoreAudio IPart interface
|
|
/// Defined in devicetopology.h
|
|
/// </summary>
|
|
[Guid("AE2DE0E4-5BCA-4F2D-AA46-5D13F8FDB3A9"),
|
|
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
|
|
ComImport]
|
|
internal interface IPart
|
|
{
|
|
int GetName(
|
|
[Out, MarshalAs(UnmanagedType.LPWStr)] out string name);
|
|
|
|
int GetLocalId(
|
|
[Out] out uint id);
|
|
|
|
int GetGlobalId(
|
|
[Out, MarshalAs(UnmanagedType.LPWStr)] out string id);
|
|
|
|
int GetPartType(
|
|
[Out] out PartTypeEnum partType);
|
|
|
|
int GetSubType(
|
|
out Guid subType);
|
|
|
|
int GetControlInterfaceCount(
|
|
[Out] out uint count);
|
|
|
|
int GetControlInterface(
|
|
[In] uint index,
|
|
[Out, MarshalAs(UnmanagedType.IUnknown)] out IControlInterface controlInterface);
|
|
|
|
[PreserveSig]
|
|
int EnumPartsIncoming(
|
|
[Out] out IPartsList parts);
|
|
|
|
[PreserveSig]
|
|
int EnumPartsOutgoing(
|
|
[Out] out IPartsList parts);
|
|
|
|
int GetTopologyObject(
|
|
[Out] out object topologyObject);
|
|
|
|
[PreserveSig]
|
|
int Activate(
|
|
[In] ClsCtx dwClsContext,
|
|
[In] ref Guid refiid,
|
|
[MarshalAs(UnmanagedType.IUnknown)] out object interfacePointer);
|
|
|
|
int RegisterControlChangeCallback(
|
|
[In] ref Guid refiid,
|
|
[In] IControlChangeNotify notify);
|
|
|
|
int UnregisterControlChangeCallback(
|
|
[In] IControlChangeNotify notify);
|
|
}
|
|
}
|