[ros-diffs] [janderwald] 38430: - Add ISubdevice interface - This interface is used as the generic interface for all IPort drivers when connecting with ks.sys

janderwald at svn.reactos.org janderwald at svn.reactos.org
Sun Dec 28 18:28:23 CET 2008


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/portcls/interfaces.h?rev=38430&view=auto
==============================================================================
--- 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



More information about the Ros-diffs mailing list