mirror of
https://github.com/reactos/reactos.git
synced 2025-04-18 03:34:11 +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…
Reference in a new issue