Author: janderwald Date: Sun Dec 28 11:28:23 2008 New Revision: 38430
URL: http://svn.reactos.org/svn/reactos?rev=38430&view=rev Log: - Add ISubdevice interface - This interface is used as the generic interface for all IPort drivers when connecting with ks.sys
Added: trunk/reactos/drivers/wdm/audio/backpln/portcls/interfaces.h (with props)
Added: trunk/reactos/drivers/wdm/audio/backpln/portcls/interfaces.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/p... ============================================================================== --- trunk/reactos/drivers/wdm/audio/backpln/portcls/interfaces.h (added) +++ trunk/reactos/drivers/wdm/audio/backpln/portcls/interfaces.h [iso-8859-1] Sun Dec 28 11:28:23 2008 @@ -1,0 +1,66 @@ +#ifndef INTERFACES_H__ +#define INTERFACES_H__ + +DEFINE_GUID(IID_IIrpTarget, 0xB4C90A60, 0x5791, 0x11D0, 0x86, 0xF9, 0x00, 0xA0, 0xC9, 0x11, 0xB5, 0x44); +DEFINE_GUID(IID_ISubdevice, 0xB4C90A61, 0x5791, 0x11D0, 0x86, 0xF9, 0x00, 0xA0, 0xC9, 0x11, 0xB5, 0x44); +DEFINE_GUID(IID_IIrpTargetFactory, 0xB4C90A62, 0x5791, 0x11D0, 0x86, 0xF9, 0x00, 0xA0, 0xC9, 0x11, 0xB5, 0x44); + +/***************************************************************************** + * ISubdevice + ***************************************************************************** + */ +struct SUBDEVICE_DESCRIPTOR; +struct IIrpTarget; +struct IIrpTargetFactory; + +#undef INTERFACE +#define INTERFACE ISubdevice + +DECLARE_INTERFACE_(ISubdevice, IUnknown) +{ + STDMETHOD_(NTSTATUS, QueryInterface)(THIS_ + REFIID InterfaceId, + PVOID* Interface + ) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + + STDMETHOD_(NTSTATUS, NewIrpTarget)(THIS_ + OUT struct IIrpTarget **OutTarget, + IN WCHAR * Name, + IN PUNKNOWN Unknown, + IN POOL_TYPE PoolType, + IN PDEVICE_OBJECT * DeviceObject, + IN PIRP Irp, + IN KSOBJECT_CREATE *CreateObject) PURE; + + STDMETHOD_(NTSTATUS, ReleaseChildren)(THIS) PURE; + + STDMETHOD_(NTSTATUS, GetDescriptor)(THIS_ + IN struct SUBDEVICE_DESCRIPTOR **) PURE; + + STDMETHOD_(NTSTATUS, DataRangeIntersection)(THIS_ + IN ULONG PinId, + IN PKSDATARANGE DataRange, + IN PKSDATARANGE MatchingDataRange, + IN ULONG OutputBufferLength, + OUT PVOID ResultantFormat OPTIONAL, + OUT PULONG ResultantFormatLength) PURE; + + STDMETHOD_(NTSTATUS, PowerChangeNotify)(THIS_ + IN POWER_STATE PowerState) PURE; + + STDMETHOD_(NTSTATUS, PinCount)(THIS_ + IN ULONG PinId, + IN OUT PULONG FilterNecessary, + IN OUT PULONG FilterCurrent, + IN OUT PULONG FilterPossible, + IN OUT PULONG GlobalCurrent, + IN OUT PULONG GlobalPossible)PURE; + + +}; +#undef INTERFACE + + +#endif
Propchange: trunk/reactos/drivers/wdm/audio/backpln/portcls/interfaces.h ------------------------------------------------------------------------------ svn:eol-style = native