Author: janderwald
Date: Thu Dec 4 02:44:17 2008
New Revision: 37842
URL:
http://svn.reactos.org/svn/reactos?rev=37842&view=rev
Log:
- Add CLSIDs for Miniport drivers
- Add IIDs for IResourceList, IRegistryKey
- Add IMiniportWaveCyclicStream, IMiniportWaveCyclic interface
Added:
trunk/reactos/include/ddk/dmusicks.h (with props)
Modified:
trunk/reactos/include/ddk/portcls.h
Added: trunk/reactos/include/ddk/dmusicks.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/dmusicks.h?rev…
==============================================================================
--- trunk/reactos/include/ddk/dmusicks.h (added)
+++ trunk/reactos/include/ddk/dmusicks.h [iso-8859-1] Thu Dec 4 02:44:17 2008
@@ -1,0 +1,10 @@
+#ifndef _DMUSICKS_
+#define _DMUSICKS_
+
+DEFINE_GUID(CLSID_MiniportDriverDMusUART, 0xd3f0ce1c, 0xFFFC, 0x11D1, 0x81, 0xB0, 0x00,
0x60, 0x08, 0x33, 0x16, 0xC1);
+DEFINE_GUID(CLSID_MiniportDriverDMusUARTCapture, 0xD3F0CE1D, 0xFFFC, 0x11D1, 0x81, 0xB0,
0x00, 0x60, 0x08, 0x33, 0x16, 0xC1);
+
+
+
+
+#endif
Propchange: trunk/reactos/include/ddk/dmusicks.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/include/ddk/portcls.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/portcls.h?rev=…
==============================================================================
--- trunk/reactos/include/ddk/portcls.h [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/portcls.h [iso-8859-1] Thu Dec 4 02:44:17 2008
@@ -162,24 +162,9 @@
#define PORT_CLASS_DEVICE_EXTENSION_SIZE ( 64 * sizeof(ULONG_PTR) )
-/* ===============================================================
- Class IDs - TODO (put these elsewhere!!!)
-*/
-#if 0
-//#define CLSID_PortDMus /* dmusicks.h */
-DEFINE_GUID(CLSID_PortMidi,0xb4c90a43L, 0x5791, 0x11d0, 0x86, 0xf9, 0x00, 0xa0, 0xc9,
0x11, 0xb5, 0x44);
-#define CLSID_PortTopology
-#define CLSID_PortWaveCyclic
-#define CLSID_PortWavePci
-
-/* first 2 are dmusicks.h */
-#define CLSID_MiniportDriverDMusUART
-#define CLSID_MiniportDriverDMusUARTCapture
-#define CLSID_MiniportDriverFmSynth
-#define CLSID_MiniportDriverFmSynthWithVol
-DEFINE_GUID(CLSID_MiniportDriverUart,0xb4c90ae1L, 0x5791, 0x11d0, 0x86, 0xf9, 0x00, 0xa0,
0xc9, 0x11, 0xb5, 0x44);
-#endif
-
+
+DEFINE_GUID(CLSID_MiniportDriverFmSynth, 0xb4c90ae0L, 0x5791, 0x11d0, 0x86, 0xf9, 0x00,
0xa0, 0xc9, 0x11, 0xb5, 0x44);
+DEFINE_GUID(CLSID_MiniportDriverFmSynthWithVol, 0xe5a3c139L, 0xf0f2, 0x11d1, 0x81, 0xaf,
0x00, 0x60, 0x08, 0x33, 0x16, 0xc1);
/* ===============================================================
Event Item Flags - TODO
@@ -400,6 +385,8 @@
#undef INTERFACE
#define INTERFACE IResourceList
+DEFINE_GUID(IID_IResourceList, 0x22C6AC60L, 0x851B, 0x11D0, 0x9A, 0x7F, 0x00, 0xAA, 0x00,
0x38, 0xAC, 0xFE);
+
DECLARE_INTERFACE_(IResourceList, IUnknown)
{
DEFINE_ABSTRACT_UNKNOWN()
@@ -788,6 +775,8 @@
/* ===============================================================
IRegistryKey Interface
*/
+
+DEFINE_GUID(IID_IRegistryKey, 0xE8DA4302l, 0xF304, 0x11D0, 0x95, 0x8B, 0x00, 0xC0, 0x4F,
0xB9, 0x25, 0xD3);
DECLARE_INTERFACE_(IRegistryKey, IUnknown)
{
@@ -1015,28 +1004,55 @@
STDMETHODIMP_(NTSTATUS) RegisterServiceGroup( \
IN PSERVICEGROUP ServiceGroup);
-
+#undef INTERFACE
/* ===============================================================
IPortWaveCyclic Interface
*/
-
-#if 0
-#define STATIC_IPortWaveCyclic \
- 0xb4c90a26L, 0x5791, 0x11d0, 0x86, 0xf9, 0x00, 0xa0, 0xc9, 0x11, 0xb5, 0x44
-DEFINE_GUIDSTRUCT("0xB4C90A26-5791-11d0-86f9-00a0c911b544",
IID_IPortWaveCyclic);
-#define IID_IPortWaveCyclic DEFINE_GUIDNAMED(IID_IPortWaveCyclic)
-#endif
DEFINE_GUID(IID_IPortWaveCyclic,
0xb4c90a26L, 0x5791, 0x11d0, 0x86, 0xf9, 0x00, 0xa0, 0xc9, 0x11, 0xb5, 0x44);
DEFINE_GUID(CLSID_PortWaveCyclic,
0xb4c90a2aL, 0x5791, 0x11d0, 0x86, 0xf9, 0x00, 0xa0, 0xc9, 0x11, 0xb5, 0x44);
+#define INTERFACE IPortWaveCyclic
+
DECLARE_INTERFACE_(IPortWaveCyclic, IPort)
{
- DEFINE_ABSTRACT_UNKNOWN()
- DEFINE_ABSTRACT_PORT()
+ STDMETHOD_(NTSTATUS, QueryInterface)(THIS_
+ REFIID InterfaceId,
+ PVOID* Interface
+ ) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+
+
+ STDMETHOD_(NTSTATUS,Init)(THIS_
+ IN PDEVICE_OBJECT DeviceObject,
+ IN PIRP Irp,
+ IN PUNKNOWN UnknownMiniport,
+ IN PUNKNOWN UnknownAdapter OPTIONAL,
+ IN PRESOURCELIST ResourceList
+ ) PURE;
+ STDMETHOD_(NTSTATUS,GetDeviceProperty)(THIS_
+ IN DEVICE_REGISTRY_PROPERTY DeviceProperty,
+ IN ULONG BufferLength,
+ OUT PVOID PropertyBuffer,
+ OUT PULONG ResultLength
+ ) PURE;
+ STDMETHOD_(NTSTATUS,NewRegistryKey)(THIS_
+ OUT PREGISTRYKEY * OutRegistryKey,
+ IN PUNKNOWN OuterUnknown,
+ IN ULONG RegistryKeyType,
+ IN ACCESS_MASK DesiredAccess,
+ IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
+ IN ULONG CreateOptions OPTIONAL,
+ OUT PULONG Disposition OPTIONAL
+ ) PURE;
+
+ STDMETHOD_(VOID, Notify)(THIS_
+ IN PSERVICEGROUP ServiceGroup) PURE;
+
STDMETHOD_(NTSTATUS, NewMasterDmaChannel)(THIS_
OUT PDMACHANNEL* DmaChannel,
@@ -1057,13 +1073,12 @@
IN BOOL DemandMode,
IN DMA_SPEED DmaSpeed) PURE;
- STDMETHOD_(VOID, Notify)(THIS_
- IN PSERVICEGROUP ServiceGroup) PURE;
-};
-
-/* TODO ... */
-
-
+
+};
+
+typedef IPortWaveCyclic *PPORTWAVECYCLIC;
+
+#undef INTERFACE
/* ===============================================================
IPortWavePci Interface
*/
@@ -1231,6 +1246,7 @@
#define IMP_IPortTopology IMP_IPort
+
/* ===============================================================
IMiniportTopology Interface
*/
@@ -1239,9 +1255,73 @@
IMiniportWaveCyclicStream Interface
*/
+DECLARE_INTERFACE_(IMiniportWaveCyclicStream,IUnknown)
+{
+ DEFINE_ABSTRACT_UNKNOWN() // For IUnknown
+
+ STDMETHOD_(NTSTATUS,SetFormat)(THIS_
+ IN PKSDATAFORMAT DataFormat)PURE;
+
+ STDMETHOD_(ULONG,SetNotificationFreq)(THIS_
+ IN ULONG Interval,
+ OUT PULONG FrameSize) PURE;
+
+ STDMETHOD_(NTSTATUS,SetState)(THIS_
+ IN KSSTATE State) PURE;
+
+ STDMETHOD_(NTSTATUS,GetPosition)( THIS_
+ OUT PULONG Position) PURE;
+
+ STDMETHOD_(NTSTATUS,NormalizePhysicalPosition)(THIS_
+ IN OUT PLONGLONG PhysicalPosition) PURE;
+
+ STDMETHOD_(void, Silence)( THIS_
+ IN PVOID Buffer,
+ IN ULONG ByteCount) PURE;
+};
+
+typedef IMiniportWaveCyclicStream *PMINIPORTWAVECYCLICSTREAM;
+
/* ===============================================================
IMiniportWaveCyclic Interface
*/
+#undef INTERFACE
+
+DEFINE_GUID(IID_IMiniportWaveCyclic,
+ 0xb4c90a27L, 0x5791, 0x11d0, 0x86, 0xf9, 0x00, 0xa0, 0xc9, 0x11, 0xb5, 0x44);
+
+#define INTERFACE IMiniportWaveCyclic
+
+DECLARE_INTERFACE_(IMiniportWaveCyclic, IMiniport)
+{
+ STDMETHOD_(NTSTATUS, QueryInterface)(THIS_
+ REFIID InterfaceId,
+ PVOID* Interface
+ ) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+
+
+ DEFINE_ABSTRACT_MINIPORT()
+
+ STDMETHOD_(NTSTATUS, Init)(THIS_
+ IN PUNKNOWN UnknownAdapter,
+ IN PRESOURCELIST ResourceList,
+ IN PPORTWAVECYCLIC Port) PURE;
+
+ STDMETHOD_(NTSTATUS, NewStream)(THIS_
+ OUT PMINIPORTWAVECYCLICSTREAM *Stream,
+ IN PUNKNOWN OuterUnknown OPTIONAL,
+ IN POOL_TYPE PoolType,
+ IN ULONG Pin,
+ IN BOOL Capture,
+ IN PKSDATAFORMAT DataFormat,
+ OUT PDMACHANNEL *DmaChannel,
+ OUT PSERVICEGROUP *ServiceGroup) PURE;
+};
+
+typedef IMiniportWaveCyclic *PMINIPORTWAVECYCLIC;
+#undef INTERFACE
/* ===============================================================
IMiniportWavePciStream Interface