Author: janderwald
Date: Thu Sep 10 11:52:40 2009
New Revision: 43023
URL:
http://svn.reactos.org/svn/reactos?rev=43023&view=rev
Log:
- A few header updates
Modified:
trunk/reactos/include/ddk/dmusicks.h
trunk/reactos/include/ddk/portcls.h
Modified: 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 [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/dmusicks.h [iso-8859-1] Thu Sep 10 11:52:40 2009
@@ -45,12 +45,7 @@
DECLARE_INTERFACE_(IMasterClock,IUnknown)
{
- STDMETHOD_(NTSTATUS, QueryInterface)(THIS_
- REFIID InterfaceId,
- PVOID* Interface
- ) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
+ DEFINE_ABSTRACT_UNKNOWN()
STDMETHOD_(NTSTATUS,GetTime)( THIS_
OUT REFERENCE_TIME * pTime
@@ -58,6 +53,11 @@
};
typedef IMasterClock *PMASTERCLOCK;
+
+#define IMP_IMasterClock \
+ STDMETHODIMP_(NTSTATUS) GetTime( \
+ OUT REFERENCE_TIME * pTime \
+ )
/* ===============================================================
IMXF Interface
@@ -69,30 +69,47 @@
struct IMXF;
typedef struct IMXF *PMXF;
+#define DEFINE_ABSTRACT_IMXF() \
+ STDMETHOD_(NTSTATUS,SetState)(THIS_ \
+ IN KSSTATE State \
+ ) PURE; \
+ STDMETHOD_(NTSTATUS,PutMessage) \
+ ( THIS_ \
+ IN PDMUS_KERNEL_EVENT pDMKEvt \
+ ) PURE; \
+ STDMETHOD_(NTSTATUS,ConnectOutput) \
+ ( THIS_ \
+ IN PMXF sinkMXF \
+ ) PURE; \
+ STDMETHOD_(NTSTATUS,DisconnectOutput) \
+ ( THIS_ \
+ IN PMXF sinkMXF \
+ ) PURE;
+
+#define IMP_IMXF \
+ STDMETHODIMP_(NTSTATUS) SetState \
+ ( \
+ IN KSSTATE State \
+ ); \
+ STDMETHODIMP_(NTSTATUS) PutMessage \
+ ( THIS_ \
+ IN PDMUS_KERNEL_EVENT pDMKEvt \
+ ); \
+ STDMETHODIMP_(NTSTATUS) ConnectOutput \
+ ( THIS_ \
+ IN PMXF sinkMXF \
+ ); \
+ STDMETHODIMP_(NTSTATUS) DisconnectOutput \
+ ( THIS_ \
+ IN PMXF sinkMXF \
+ )
+
+
DECLARE_INTERFACE_(IMXF,IUnknown)
{
- STDMETHOD_(NTSTATUS, QueryInterface)(THIS_
- REFIID InterfaceId,
- PVOID* Interface
- ) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- STDMETHOD_(NTSTATUS,SetState)(THIS_
- IN KSSTATE State
- ) PURE;
- STDMETHOD_(NTSTATUS,PutMessage)
- ( THIS_
- IN PDMUS_KERNEL_EVENT pDMKEvt
- ) PURE;
- STDMETHOD_(NTSTATUS,ConnectOutput)
- ( THIS_
- IN PMXF sinkMXF
- ) PURE;
- STDMETHOD_(NTSTATUS,DisconnectOutput)
- ( THIS_
- IN PMXF sinkMXF
- ) PURE;
+ DEFINE_ABSTRACT_UNKNOWN()
+
+ DEFINE_ABSTRACT_IMXF()
};
/* ===============================================================
@@ -105,30 +122,17 @@
struct IAllocatorMXF;
typedef struct IAllocatorMXF *PAllocatorMXF;
-DECLARE_INTERFACE_(IAllocatorMXF,IMXF)
-{
- STDMETHOD_(NTSTATUS, QueryInterface)(THIS_
- REFIID InterfaceId,
- PVOID* Interface
- ) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- STDMETHOD_(NTSTATUS,SetState)(THIS_
- IN KSSTATE State
- ) PURE;
- STDMETHOD_(NTSTATUS,PutMessage)
- ( THIS_
- IN PDMUS_KERNEL_EVENT pDMKEvt
- ) PURE;
- STDMETHOD_(NTSTATUS,ConnectOutput)
- ( THIS_
- IN PMXF sinkMXF
- ) PURE;
- STDMETHOD_(NTSTATUS,DisconnectOutput)
- ( THIS_
- IN PMXF sinkMXF
- ) PURE;
+#define STATIC_IID_IAllocatorMXF\
+ 0xa5f0d62c, 0xb30f, 0x11d2, 0xb7, 0xa3, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1
+DEFINE_GUIDSTRUCT("a5f0d62c-b30f-11d2-b7a3-0060083316c1", IID_IAllocatorMXF);
+#define IID_IAllocatorMXF DEFINE_GUIDNAMED(IID_IAllocatorMXF)
+
+
+DECLARE_INTERFACE_(IAllocatorMXF, IMXF)
+{
+ DEFINE_ABSTRACT_UNKNOWN()
+
+ DEFINE_ABSTRACT_IMXF()
STDMETHOD_(NTSTATUS,GetMessage)(THIS_
OUT PDMUS_KERNEL_EVENT * ppDMKEvt
@@ -145,6 +149,21 @@
) PURE;
};
+#define IMP_IAllocatorMXF \
+ IMP_IMXF; \
+ STDMETHODIMP_(NTSTATUS) GetMessage( \
+ OUT PDMUS_KERNEL_EVENT * ppDMKEvt \
+ ); \
+ \
+ STDMETHODIMP_(USHORT) GetBufferSize(void); \
+ \
+ STDMETHODIMP_(NTSTATUS) GetBuffer( \
+ OUT PBYTE * ppBuffer \
+ ); \
+ \
+ STDMETHODIMP_(NTSTATUS) PutBuffer( \
+ IN PBYTE pBuffer \
+ )
#undef INTERFACE
#define INTERFACE IPortDMus
@@ -154,35 +173,10 @@
DECLARE_INTERFACE_(IPortDMus, IPort)
{
- 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;
+ DEFINE_ABSTRACT_UNKNOWN()
+
+ DEFINE_ABSTRACT_PORT()
+
STDMETHOD_(void,Notify)(THIS_
IN PSERVICEGROUP ServiceGroup OPTIONAL
)PURE;
@@ -193,7 +187,15 @@
};
typedef IPortDMus *PPORTDMUS;
-
+#define IMP_IPortDMus \
+ IMP_IPort; \
+ STDMETHODIMP_(void) Notify( \
+ IN PSERVICEGROUP ServiceGroup OPTIONAL \
+ ); \
+ \
+ STDMETHODIMP_(void) RegisterServiceGroup( \
+ IN PSERVICEGROUP ServiceGroup \
+ )
#undef INTERFACE
#define INTERFACE IMiniportDMus
@@ -201,24 +203,10 @@
DEFINE_GUID(IID_IMiniportDMus, 0xc096df9d, 0xfb09, 0x11d1, 0x81, 0xb0, 0x00, 0x60, 0x08,
0x33, 0x16, 0xc1);
DECLARE_INTERFACE_(IMiniportDMus, IMiniport)
{
- STDMETHOD_(NTSTATUS, QueryInterface)(THIS_
- REFIID InterfaceId,
- PVOID* Interface
- ) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- STDMETHOD_(NTSTATUS,GetDescription)(THIS_
- OUT PPCFILTER_DESCRIPTOR * Description
- ) 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;
+ DEFINE_ABSTRACT_UNKNOWN()
+
+ DEFINE_ABSTRACT_MINIPORT()
+
STDMETHOD_(NTSTATUS,Init)(THIS_
IN PUNKNOWN UnknownAdapter,
@@ -246,9 +234,28 @@
typedef IMiniportDMus *PMINIPORTDMUS;
#undef INTERFACE
-#define STATIC_IID_IAllocatorMXF\
- 0xa5f0d62c, 0xb30f, 0x11d2, 0xb7, 0xa3, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1
-DEFINE_GUIDSTRUCT("a5f0d62c-b30f-11d2-b7a3-0060083316c1", IID_IAllocatorMXF);
-#define IID_IAllocatorMXF DEFINE_GUIDNAMED(IID_IAllocatorMXF)
+#define IMP_IMiniportDMus \
+ IMP_IMiniport; \
+ STDMETHODIMP_(NTSTATUS) Init( \
+ IN PUNKNOWN UnknownAdapter, \
+ IN PRESOURCELIST ResourceList, \
+ IN PPORTDMUS Port, \
+ OUT PSERVICEGROUP * ServiceGroup \
+ ); \
+ \
+ STDMETHODIMP_(void) Service(THIS); \
+ \
+ STDMETHODIMP_(NTSTATUS) NewStream( \
+ OUT PMXF * MXF, \
+ IN PUNKNOWN OuterUnknown, \
+ IN POOL_TYPE PoolType, \
+ IN ULONG PinID, \
+ IN DMUS_STREAM_TYPE StreamType, \
+ IN PKSDATAFORMAT DataFormat, \
+ OUT PSERVICEGROUP * ServiceGroup, \
+ IN PAllocatorMXF AllocatorMXF, \
+ IN PMASTERCLOCK MasterClock, \
+ OUT PULONGLONG SchedulePreFetch \
+ )
#endif
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 Sep 10 11:52:40 2009
@@ -665,6 +665,11 @@
typedef IUnregisterSubdevice *PUNREGISTERSUBDEVICE;
+#define IMP_IUnregisterSubdevice \
+ STDMETHODIMP_(NTSTATUS) UnregisterSubdevice(THIS_ \
+ IN PDEVICE_OBJECT DeviceObject, \
+ IN PUNKNOWN Unknown)
+
/* ===============================================================
IUnregisterPhysicalConnection Interface
*/
@@ -703,6 +708,29 @@
typedef IUnregisterPhysicalConnection *PUNREGISTERPHYSICALCONNECTION;
#endif
+#define IMP_IUnregisterPhysicalConnection \
+ STDMETHODIMP_(NTSTATUS) UnregisterPhysicalConnection( \
+ IN PDEVICE_OBJECT DeviceObject, \
+ IN PUNKNOWN FromUnknown, \
+ IN ULONG FromPin, \
+ IN PUNKNOWN ToUnknown, \
+ IN ULONG ToPin); \
+ \
+ STDMETHODIMP_(NTSTATUS) UnregisterPhysicalConnectionToExternal( \
+ IN PDEVICE_OBJECT DeviceObject, \
+ IN PUNKNOWN FromUnknown, \
+ IN ULONG FromPin, \
+ IN PUNICODE_STRING ToString, \
+ IN ULONG ToPin); \
+ \
+ STDMETHODIMP_(NTSTATUS) UnregisterPhysicalConnectionFromExternal( \
+ IN PDEVICE_OBJECT DeviceObject, \
+ IN PUNICODE_STRING FromString, \
+ IN ULONG FromPin, \
+ IN PUNKNOWN ToUnknown, \
+ IN ULONG ToPin)
+
+
/* ===============================================================
IDmaChannel Interface
*/
@@ -735,33 +763,33 @@
IN PVOID Source, \
IN ULONG ByteCount) PURE;
-#define IMP_IDmaChannel() \
- STDMETHODIMP_(NTSTATUS) AllocateBuffer( \
- IN ULONG BufferSize, \
- IN PPHYSICAL_ADDRESS PhysicalAddressConstraint OPTIONAL); \
-\
- STDMETHODIMP_(void) FreeBuffer(void); \
- STDMETHODIMP_(ULONG) TransferCount(void); \
- STDMETHODIMP_(ULONG) MaximumBufferSize(void); \
- STDMETHODIMP_(ULONG) AllocatedBufferSize(void); \
- STDMETHODIMP_(ULONG) BufferSize(void); \
-\
- STDMETHODIMP_(void) SetBufferSize)( \
- IN ULONG BufferSize); \
-\
- STDMETHODIMP_(PVOID) SystemAddress(void); \
- STDMETHODIMP_(PHYSICAL_ADDRESS) PhysicalAddress(void); \
- STDMETHODIMP_(PADAPTER_OBJECT) GetAdapterObject(void); \
-\
- STDMETHODIMP_(void) CopyTo( \
- IN PVOID Destination, \
- IN PVOID Source, \
- IN ULONG ByteCount); \
-\
- STDMETHODIMP_(void) CopyFrom( \
- IN PVOID Destination, \
- IN PVOID Source, \
- IN ULONG ByteCount);
+#define IMP_IDmaChannel \
+ STDMETHODIMP_(NTSTATUS) AllocateBuffer( \
+ IN ULONG BufferSize, \
+ IN PPHYSICAL_ADDRESS PhysicalAddressConstraint OPTIONAL); \
+ \
+ STDMETHODIMP_(void) FreeBuffer(void); \
+ STDMETHODIMP_(ULONG) TransferCount(void); \
+ STDMETHODIMP_(ULONG) MaximumBufferSize(void); \
+ STDMETHODIMP_(ULONG) AllocatedBufferSize(void); \
+ STDMETHODIMP_(ULONG) BufferSize(void); \
+ \
+ STDMETHODIMP_(void) SetBufferSize( \
+ IN ULONG BufferSize); \
+ \
+ STDMETHODIMP_(PVOID) SystemAddress(void); \
+ STDMETHODIMP_(PHYSICAL_ADDRESS) PhysicalAddress(void); \
+ STDMETHODIMP_(PADAPTER_OBJECT) GetAdapterObject(void); \
+ \
+ STDMETHODIMP_(void) CopyTo( \
+ IN PVOID Destination, \
+ IN PVOID Source, \
+ IN ULONG ByteCount); \
+ \
+ STDMETHODIMP_(void) CopyFrom( \
+ IN PVOID Destination, \
+ IN PVOID Source, \
+ IN ULONG ByteCount)
#undef INTERFACE
#define INTERFACE IDmaChannel
@@ -792,16 +820,17 @@
STDMETHOD_(NTSTATUS, WaitForTC)( THIS_ \
ULONG Timeout) PURE;
-#define IMP_IDmaChannelSlave \
- STDMETHODIMP_(NTSTATUS) Start( \
- IN ULONG MapSize, \
- IN BOOLEAN WriteToDevice); \
-\
- STDMETHODIMP_(NTSTATUS) Stop(void); \
- STDMETHODIMP_(ULONG) ReadCounter)(void); \
-\
- STDMETHODIMP_(NTSTATUS, WaitForTC)( \
- ULONG Timeout);
+#define IMP_IDmaChannelSlave \
+ IMP_IDmaChannel; \
+ STDMETHODIMP_(NTSTATUS) Start( \
+ IN ULONG MapSize, \
+ IN BOOLEAN WriteToDevice); \
+ \
+ STDMETHODIMP_(NTSTATUS) Stop(void); \
+ STDMETHODIMP_(ULONG) ReadCounter(void); \
+ \
+ STDMETHODIMP_(NTSTATUS) WaitForTC( \
+ ULONG Timeout)
#undef INTERFACE
#define INTERFACE IDmaChannelSlave
@@ -863,19 +892,19 @@
DEFINE_GUID(IID_IInterruptSync, 0x22C6AC63L, 0x851B, 0x11D0, 0x9A, 0x7F, 0x00, 0xAA,
0x00, 0x38, 0xAC, 0xFE);
-#define IMP_IInterruptSync \
- STDMETHODIMP_(NTSTATUS, CallSynchronizedRoutine)( \
- IN PINTERRUPTSYNCROUTINE Routine, \
- IN PVOID DynamicContext); \
-\
- STDMETHODIMP_(PKINTERRUPT, GetKInterrupt)(void); \
- STDMETHODIMP_(NTSTATUS, Connect)(void); \
- STDMETHODIMP_(void, Disconnect)(void); \
-\
- STDMETHODIMP_(NTSTATUS, RegisterServiceRoutine)( \
- IN PINTERRUPTSYNCROUTINE Routine, \
- IN PVOID DynamicContext, \
- IN BOOLEAN First);
+#define IMP_IInterruptSync \
+ STDMETHODIMP_(NTSTATUS) CallSynchronizedRoutine( \
+ IN PINTERRUPTSYNCROUTINE Routine, \
+ IN PVOID DynamicContext); \
+ \
+ STDMETHODIMP_(PKINTERRUPT) GetKInterrupt(void); \
+ STDMETHODIMP_(NTSTATUS) Connect(void); \
+ STDMETHODIMP_(void) Disconnect(void); \
+ \
+ STDMETHODIMP_(NTSTATUS) RegisterServiceRoutine( \
+ IN PINTERRUPTSYNCROUTINE Routine, \
+ IN PVOID DynamicContext, \
+ IN BOOLEAN First)
typedef IInterruptSync *PINTERRUPTSYNC;
@@ -1059,28 +1088,31 @@
IN ULONG CreateOptiona OPTIONAL, \
OUT PULONG Disposition OPTIONAL) PURE;
-#define IMP_IPort() \
- STDMETHODIMP_(NTSTATUS) Init( \
- IN PDEVICE_OBJECT DeviceObject, \
- IN PIRP Irp, \
- IN PUNKNOWN UnknownMiniport, \
- IN PUNKNOWN UnknownAdapter OPTIONAL, \
- IN PRESOURCELIST ResourceList); \
-\
- STDMETHODIMP_(NTSTATUS) GetDeviceProperty( \
- IN DEVICE_REGISTRY_PROPERTY DeviceProperty, \
- IN ULONG BufferLength, \
- OUT PVOID PropertyBuffer, \
- OUT PULONG ResultLength); \
-\
- STDMETHODIMP_(NTSTATUS) NewRegistryKey( \
- OUT PREGISTRYKEY* OutRegistryKey, \
- IN PUNKNOWN OuterUnknown OPTIONAL, \
- IN ULONG RegistryKeyType, \
- IN ACCESS_MASK DesiredAccess, \
- IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, \
- IN ULONG CreateOptiona OPTIONAL, \
- OUT PULONG Disposition OPTIONAL);
+#ifdef PC_IMPLEMENTATION
+#define IMP_IPort\
+ STDMETHODIMP_(NTSTATUS) Init\
+ ( IN PDEVICE_OBJECT DeviceObject,\
+ IN PIRP Irp,\
+ IN PUNKNOWN UnknownMiniport,\
+ IN PUNKNOWN UnknownAdapter OPTIONAL,\
+ IN PRESOURCELIST ResourceList\
+ );\
+ STDMETHODIMP_(NTSTATUS) GetDeviceProperty\
+ ( IN DEVICE_REGISTRY_PROPERTY DeviceProperty,\
+ IN ULONG BufferLength,\
+ OUT PVOID PropertyBuffer,\
+ OUT PULONG ResultLength\
+ );\
+ STDMETHODIMP_(NTSTATUS) NewRegistryKey\
+ ( OUT PREGISTRYKEY * OutRegistryKey,\
+ IN PUNKNOWN OuterUnknown OPTIONAL,\
+ IN ULONG RegistryKeyType,\
+ IN ACCESS_MASK DesiredAccess,\
+ IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,\
+ IN ULONG CreateOptions OPTIONAL,\
+ OUT PULONG Disposition OPTIONAL\
+ )
+#endif
#undef INTERFACE
#define INTERFACE IPort
@@ -1171,6 +1203,33 @@
};
typedef IPortWaveCyclic *PPORTWAVECYCLIC;
+
+#ifdef PC_IMPLEMENTATION
+#define IMP_IPortWaveCyclic \
+ IMP_IPort; \
+ STDMETHODIMP_(VOID) Notify( \
+ IN PSERVICEGROUP ServiceGroup); \
+ \
+ STDMETHODIMP_(NTSTATUS) NewSlaveDmaChannel( \
+ OUT PDMACHANNELSLAVE* DmaChannel, \
+ IN PUNKNOWN OuterUnknown, \
+ IN PRESOURCELIST ResourceList OPTIONAL, \
+ IN ULONG DmaIndex, \
+ IN ULONG MaximumLength, \
+ IN BOOL DemandMode, \
+ IN DMA_SPEED DmaSpeed); \
+ \
+ STDMETHODIMP_(NTSTATUS) NewMasterDmaChannel( \
+ OUT PDMACHANNEL* DmaChannel, \
+ IN PUNKNOWN OuterUnknown, \
+ IN PRESOURCELIST ResourceList OPTIONAL, \
+ IN ULONG MaximumLength, \
+ IN BOOL Dma32BitAddresses, \
+ IN BOOL Dma64BitAddresses, \
+ IN DMA_WIDTH DmaWidth, \
+ IN DMA_SPEED DmaSpeed)
+#endif
+
#undef INTERFACE
/* ===============================================================
@@ -1210,6 +1269,26 @@
typedef IPortWavePci *PPORTWAVEPCI;
#undef INTERFACE
+#ifdef PC_IMPLEMENTATION
+#define IMP_IPortWavePci \
+ IMP_IPort; \
+ STDMETHODIMP_(VOID) Notify( \
+ IN PSERVICEGROUP ServiceGroup); \
+ \
+ STDMETHODIMP_(NTSTATUS) NewMasterDmaChannel( \
+ OUT PDMACHANNEL* DmaChannel, \
+ IN PUNKNOWN OuterUnknown, \
+ IN POOL_TYPE PoolType, \
+ IN PRESOURCELIST ResourceList OPTIONAL, \
+ IN BOOLEAN ScatterGather, \
+ IN BOOLEAN Dma32BitAddresses, \
+ IN BOOLEAN Dma64BitAddresses, \
+ IN BOOLEAN IgnoreCount, \
+ IN DMA_WIDTH DmaWidth, \
+ IN DMA_SPEED DmaSpeed, \
+ IN ULONG MaximumLength, \
+ IN ULONG DmaPort);
+#endif
/* ===============================================================
IMiniPort Interface
@@ -1230,17 +1309,17 @@
OUT PVOID ResultantFormat OPTIONAL, \
OUT PULONG ResultantFormatLength) PURE;
-#define IMP_IMiniport \
- STDMETHODIMP_(NTSTATUS) GetDescription( \
- OUT PPCFILTER_DESCRIPTOR* Description); \
-\
- STDMETHODIMP_(NTSTATUS) DataRangeIntersection( \
- IN ULONG PinId, \
- IN PKSDATARANGE DataRange, \
- IN PKSDATARANGE MatchingDataRange, \
- IN ULONG OutputBufferLength, \
- OUT PVOID ResultantFormat OPTIONAL, \
- OUT PULONG ResultantFormatLength);
+#define IMP_IMiniport \
+ STDMETHODIMP_(NTSTATUS) GetDescription( \
+ OUT PPCFILTER_DESCRIPTOR* Description); \
+ \
+ STDMETHODIMP_(NTSTATUS) DataRangeIntersection( \
+ IN ULONG PinId, \
+ IN PKSDATARANGE DataRange, \
+ IN PKSDATARANGE MatchingDataRange, \
+ IN ULONG OutputBufferLength, \
+ OUT PVOID ResultantFormat OPTIONAL, \
+ OUT PULONG ResultantFormatLength)
DECLARE_INTERFACE_(IMiniport, IUnknown)
{
@@ -1523,6 +1602,20 @@
};
typedef IPortWavePciStream *PPORTWAVEPCISTREAM;
+
+#define IMP_IPortWavePciStream \
+ STDMETHODIMP_(NTSTATUS) GetMapping( \
+ IN PVOID Tag, \
+ OUT PPHYSICAL_ADDRESS PhysicalAddress, \
+ OUT PVOID * VirtualAddress, \
+ OUT PULONG ByteCount, \
+ OUT PULONG Flags); \
+ \
+ STDMETHODIMP_(NTSTATUS) ReleaseMapping( \
+ IN PVOID Tag); \
+ \
+ STDMETHODIMP_(NTSTATUS) TerminatePacket(THIS)
+
/* ===============================================================
IMiniportWavePciStream Interface
@@ -1668,6 +1761,10 @@
typedef IPortWaveRT *PPORTWAVERT;
+#ifdef PC_IMPLEMENTATION
+#define IMP_IPortWaveRT IMP_IPort
+#endif
+
/* ===============================================================
IPortWaveRTStream Interface
@@ -1940,6 +2037,18 @@
typedef IPortEvents *PPORTEVENTS;
+
+#define IMP_IPortEvents \
+ STDMETHODIMP_(void) AddEventToEventList( \
+ IN PKSEVENT_ENTRY EventEntry); \
+ \
+ STDMETHODIMP_(void) GenerateEventList( \
+ IN GUID* Set OPTIONAL, \
+ IN ULONG EventId, \
+ IN BOOL PinEvent, \
+ IN ULONG PinId, \
+ IN BOOL NodeEvent, \
+ IN ULONG NodeId)
/* ===============================================================
IDrmPort / IDrmPort2 Interfaces
@@ -1983,6 +2092,29 @@
typedef IDrmPort *PDRMPORT;
+#define IMP_IDrmPort \
+ STDMETHODIMP_(NTSTATUS) CreateContentMixed( \
+ IN PULONG paContentId, \
+ IN ULONG cContentId, \
+ OUT PULONG pMixedContentId); \
+ \
+ STDMETHODIMP_(NTSTATUS) DestroyContent( \
+ IN ULONG ContentId); \
+ \
+ STDMETHODIMP_(NTSTATUS) ForwardContentToFileObject( \
+ IN ULONG ContentId, \
+ IN PFILE_OBJECT FileObject); \
+ \
+ STDMETHODIMP_(NTSTATUS) ForwardContentToInterface( \
+ IN ULONG ContentId, \
+ IN PUNKNOWN pUnknown, \
+ IN ULONG NumMethods); \
+ \
+ STDMETHODIMP_(NTSTATUS) GetContentRights( \
+ IN ULONG ContentId, \
+ OUT PDRMRIGHTS DrmRights)
+
+
/* ===============================================================
IDrmPort2 Interface
*/
@@ -2011,6 +2143,19 @@
};
typedef IDrmPort2 *PDRMPORT2;
+
+#define IMP_IDrmPort2 \
+ IMP_IDrmPort; \
+ STDMETHODIMP_(NTSTATUS) AddContentHandlers( \
+ IN ULONG ContentId, \
+ IN PVOID * paHandlers, \
+ IN ULONG NumHandlers); \
+ \
+ STDMETHODIMP_(NTSTATUS) ForwardContentToDeviceObject( \
+ IN ULONG ContentId, \
+ IN PVOID Reserved, \
+ IN PCDRMFORWARD DrmForward)
+
/* ===============================================================
IPortClsVersion Interface