mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 14:06:12 +00:00
- Add ISubdevice interface
- This interface is used as the generic interface for all IPort drivers when connecting with ks.sys svn path=/trunk/; revision=38430
This commit is contained in:
parent
3ae6d9fb3c
commit
eae7530166
1 changed files with 66 additions and 0 deletions
66
reactos/drivers/wdm/audio/backpln/portcls/interfaces.h
Normal file
66
reactos/drivers/wdm/audio/backpln/portcls/interfaces.h
Normal file
|
@ -0,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
|
Loading…
Add table
Add a link
Reference in a new issue