mirror of
https://github.com/reactos/reactos.git
synced 2025-01-03 21:09:19 +00:00
- Include mmreg.h for portcls.h
- Add KsDefaultForwardIrp prototype - Fix KSPROPSETID_Connection - Fix KSOBJECT_CREATE_ITEM struct - Add KSDATAFORMAT_WAVEFORMATEX - Add KSDATAFORMAT_SUBTYPE_PCM, KSDATAFORMAT_SPECIFIER_WAVEFORMATEX - Add WAVE_FORMAT_PCM define svn path=/trunk/; revision=39106
This commit is contained in:
parent
967d764b06
commit
44ff72e130
4 changed files with 78 additions and 18 deletions
|
@ -134,6 +134,10 @@ extern "C"
|
||||||
|
|
||||||
#include <windef.h>
|
#include <windef.h>
|
||||||
|
|
||||||
|
#define NOBITMAP
|
||||||
|
#include <mmreg.h>
|
||||||
|
#undef NOBITMAP
|
||||||
|
|
||||||
#include <ks.h>
|
#include <ks.h>
|
||||||
#include <ksmedia.h>
|
#include <ksmedia.h>
|
||||||
#include <punknown.h>
|
#include <punknown.h>
|
||||||
|
@ -793,9 +797,9 @@ DEFINE_GUID(IID_IDmaChannelSlave, 0x22C6AC62L, 0x851B, 0x11D0, 0x9A, 0x7F, 0x00,
|
||||||
|
|
||||||
DECLARE_INTERFACE_(IDmaChannelSlave, IDmaChannel)
|
DECLARE_INTERFACE_(IDmaChannelSlave, IDmaChannel)
|
||||||
{
|
{
|
||||||
DEFINE_ABSTRACT_UNKNOWN();
|
DEFINE_ABSTRACT_UNKNOWN()
|
||||||
DEFINE_ABSTRACT_DMACHANNEL();
|
DEFINE_ABSTRACT_DMACHANNEL()
|
||||||
DEFINE_ABSTRACT_DMACHANNELSLAVE();
|
DEFINE_ABSTRACT_DMACHANNELSLAVE()
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef IDmaChannelSlave *PDMACHANNELSLAVE;
|
typedef IDmaChannelSlave *PDMACHANNELSLAVE;
|
||||||
|
@ -1183,6 +1187,8 @@ DECLARE_INTERFACE_(IPortWavePci, IPort)
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef IPortWavePci *PPORTWAVEPCI;
|
typedef IPortWavePci *PPORTWAVEPCI;
|
||||||
|
#undef INTERFACE
|
||||||
|
|
||||||
|
|
||||||
/* ===============================================================
|
/* ===============================================================
|
||||||
IMiniPort Interface
|
IMiniPort Interface
|
||||||
|
@ -1227,21 +1233,44 @@ typedef IMiniport *PMINIPORT;
|
||||||
/* ===============================================================
|
/* ===============================================================
|
||||||
IMiniportMidiStream Interface
|
IMiniportMidiStream Interface
|
||||||
*/
|
*/
|
||||||
|
#undef INTERFACE
|
||||||
|
#define INTERFACE IMiniportMidiStream
|
||||||
|
|
||||||
DECLARE_INTERFACE_(IMiniportMidiStream, IUnknown)
|
DECLARE_INTERFACE_(IMiniportMidiStream, IUnknown)
|
||||||
{
|
{
|
||||||
/* TODO - Read, SetFormat, SetState, Write */
|
DEFINE_ABSTRACT_UNKNOWN()
|
||||||
|
|
||||||
|
STDMETHOD_(NTSTATUS,SetFormat)(THIS_
|
||||||
|
IN PKSDATAFORMAT DataFormat)PURE;
|
||||||
|
|
||||||
|
STDMETHOD_(NTSTATUS,SetState)(THIS_
|
||||||
|
IN KSSTATE State)PURE;
|
||||||
|
|
||||||
|
STDMETHOD_(NTSTATUS,Read)(THIS_
|
||||||
|
IN PVOID BufferAddress,
|
||||||
|
IN ULONG BufferLength,
|
||||||
|
OUT PULONG BytesRead)PURE;
|
||||||
|
|
||||||
|
STDMETHOD_(NTSTATUS,Write)(THIS_
|
||||||
|
IN PVOID BufferAddress,
|
||||||
|
IN ULONG BytesToWrite,
|
||||||
|
OUT PULONG BytesWritten)PURE;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef IMiniportMidiStream* PMINIPORTMIDISTREAM;
|
typedef IMiniportMidiStream* PMINIPORTMIDISTREAM;
|
||||||
|
#undef INTERFACE
|
||||||
|
|
||||||
/* ===============================================================
|
/* ===============================================================
|
||||||
IMiniportMidi Interface
|
IMiniportMidi Interface
|
||||||
*/
|
*/
|
||||||
|
#undef INTERFACE
|
||||||
|
#define INTERFACE IMiniportMidi
|
||||||
|
|
||||||
DECLARE_INTERFACE_(IMiniportMidi, IMiniport)
|
DECLARE_INTERFACE_(IMiniportMidi, IMiniport)
|
||||||
{
|
{
|
||||||
|
DEFINE_ABSTRACT_UNKNOWN()
|
||||||
|
DEFINE_ABSTRACT_MINIPORT()
|
||||||
|
|
||||||
STDMETHOD_(NTSTATUS, Init)(THIS_
|
STDMETHOD_(NTSTATUS, Init)(THIS_
|
||||||
IN PUNKNOWN UnknownAdapter,
|
IN PUNKNOWN UnknownAdapter,
|
||||||
IN PRESOURCELIST ResourceList,
|
IN PRESOURCELIST ResourceList,
|
||||||
|
@ -1260,8 +1289,8 @@ DECLARE_INTERFACE_(IMiniportMidi, IMiniport)
|
||||||
STDMETHOD_(void, Service)(THIS) PURE;
|
STDMETHOD_(void, Service)(THIS) PURE;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* TODO ... */
|
typedef IMiniportMidi *PMINIPORTMIDI;
|
||||||
|
#undef INTERFACE
|
||||||
|
|
||||||
/* ===============================================================
|
/* ===============================================================
|
||||||
IMiniportDriverUart Interface
|
IMiniportDriverUart Interface
|
||||||
|
@ -1330,7 +1359,7 @@ typedef IMiniportTopology *PMINIPORTTOPOLOGY;
|
||||||
|
|
||||||
DECLARE_INTERFACE_(IMiniportWaveCyclicStream,IUnknown)
|
DECLARE_INTERFACE_(IMiniportWaveCyclicStream,IUnknown)
|
||||||
{
|
{
|
||||||
DEFINE_ABSTRACT_UNKNOWN() // For IUnknown
|
DEFINE_ABSTRACT_UNKNOWN()
|
||||||
|
|
||||||
STDMETHOD_(NTSTATUS,SetFormat)(THIS_
|
STDMETHOD_(NTSTATUS,SetFormat)(THIS_
|
||||||
IN PKSDATAFORMAT DataFormat)PURE;
|
IN PKSDATAFORMAT DataFormat)PURE;
|
||||||
|
@ -1367,14 +1396,7 @@ DEFINE_GUID(IID_IMiniportWaveCyclic,
|
||||||
|
|
||||||
DECLARE_INTERFACE_(IMiniportWaveCyclic, IMiniport)
|
DECLARE_INTERFACE_(IMiniportWaveCyclic, IMiniport)
|
||||||
{
|
{
|
||||||
STDMETHOD_(NTSTATUS, QueryInterface)(THIS_
|
DEFINE_ABSTRACT_UNKNOWN()
|
||||||
REFIID InterfaceId,
|
|
||||||
PVOID* Interface
|
|
||||||
) PURE;
|
|
||||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
|
||||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE_ABSTRACT_MINIPORT()
|
DEFINE_ABSTRACT_MINIPORT()
|
||||||
|
|
||||||
STDMETHOD_(NTSTATUS, Init)(THIS_
|
STDMETHOD_(NTSTATUS, Init)(THIS_
|
||||||
|
|
|
@ -344,8 +344,11 @@ typedef enum
|
||||||
Connection Properties/Methods/Events
|
Connection Properties/Methods/Events
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define KSPROPSETID_Connection \
|
#define STATIC_KSPROPSETID_Connection \
|
||||||
0x1D58C920L, 0xAC9B, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
|
0x1D58C920L, 0xAC9B, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}
|
||||||
|
DEFINE_GUIDSTRUCT("1D58C920-AC9B-11CF-A5D6-28DB04C10000", KSPROPSETID_Connection);
|
||||||
|
#define KSPROPSETID_Connection DEFINE_GUIDNAMED(KSPROPSETID_Connection)
|
||||||
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
@ -1308,6 +1311,11 @@ typedef struct
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
PDRIVER_DISPATCH Create;
|
||||||
|
PVOID Context;
|
||||||
|
UNICODE_STRING ObjectClass;
|
||||||
|
PSECURITY_DESCRIPTOR SecurityDescriptor;
|
||||||
|
ULONG Flags;
|
||||||
} KSOBJECT_CREATE_ITEM, *PKSOBJECT_CREATE_ITEM;
|
} KSOBJECT_CREATE_ITEM, *PKSOBJECT_CREATE_ITEM;
|
||||||
|
|
||||||
typedef VOID (*PFNKSITEMFREECALLBACK)(
|
typedef VOID (*PFNKSITEMFREECALLBACK)(
|
||||||
|
@ -2349,6 +2357,11 @@ KSDDKAPI NTSTATUS NTAPI
|
||||||
IN KPROCESSOR_MODE RequestorMode);
|
IN KPROCESSOR_MODE RequestorMode);
|
||||||
|
|
||||||
|
|
||||||
|
KSDDKAPI NTSTATUS NTAPI
|
||||||
|
KsDefaultForwardIrp(
|
||||||
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
|
IN PIRP Irp);
|
||||||
|
|
||||||
/* ===============================================================
|
/* ===============================================================
|
||||||
Worker Management Functions
|
Worker Management Functions
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -127,6 +127,14 @@ DEFINE_GUIDSTRUCT("47A4FA20-A251-11D1-A050-0000F8004788", KSCATEGORY_WDMAUD_USE_
|
||||||
Formats
|
Formats
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
//#if defined(_INC_MMREG)
|
||||||
|
typedef struct {
|
||||||
|
KSDATAFORMAT DataFormat;
|
||||||
|
WAVEFORMATEX WaveFormatEx;
|
||||||
|
} KSDATAFORMAT_WAVEFORMATEX, *PKSDATAFORMAT_WAVEFORMATEX;
|
||||||
|
|
||||||
|
//#endif
|
||||||
|
|
||||||
// 'vids'
|
// 'vids'
|
||||||
#define STATIC_KSDATAFORMAT_TYPE_VIDEO \
|
#define STATIC_KSDATAFORMAT_TYPE_VIDEO \
|
||||||
0x73646976L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
|
0x73646976L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
|
||||||
|
@ -139,6 +147,9 @@ DEFINE_GUIDSTRUCT("73646976-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_VIDE
|
||||||
DEFINE_GUIDSTRUCT("73647561-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_AUDIO);
|
DEFINE_GUIDSTRUCT("73647561-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_AUDIO);
|
||||||
#define KSDATAFORMAT_TYPE_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_AUDIO)
|
#define KSDATAFORMAT_TYPE_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_AUDIO)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 'txts'
|
// 'txts'
|
||||||
#define STATIC_KSDATAFORMAT_TYPE_TEXT \
|
#define STATIC_KSDATAFORMAT_TYPE_TEXT \
|
||||||
0x73747874L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
|
0x73747874L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
|
||||||
|
@ -161,6 +172,16 @@ DEFINE_GUIDSTRUCT("7364696D-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_MIDI
|
||||||
DEFINE_GUIDSTRUCT("1D262760-E957-11CF-A5D6-28DB04C10000", KSDATAFORMAT_SUBTYPE_MIDI);
|
DEFINE_GUIDSTRUCT("1D262760-E957-11CF-A5D6-28DB04C10000", KSDATAFORMAT_SUBTYPE_MIDI);
|
||||||
#define KSDATAFORMAT_SUBTYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI)
|
#define KSDATAFORMAT_SUBTYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI)
|
||||||
|
|
||||||
|
#define STATIC_KSDATAFORMAT_SUBTYPE_PCM\
|
||||||
|
0x00000001L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
|
||||||
|
DEFINE_GUIDSTRUCT("00000001-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_PCM);
|
||||||
|
#define KSDATAFORMAT_SUBTYPE_PCM DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_PCM)
|
||||||
|
|
||||||
|
|
||||||
|
#define STATIC_KSDATAFORMAT_SPECIFIER_WAVEFORMATEX\
|
||||||
|
0x05589f81L, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a
|
||||||
|
DEFINE_GUIDSTRUCT("05589f81-c356-11ce-bf01-00aa0055595a", KSDATAFORMAT_SPECIFIER_WAVEFORMATEX);
|
||||||
|
#define KSDATAFORMAT_SPECIFIER_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SysAudio Properties
|
SysAudio Properties
|
||||||
|
|
|
@ -78,6 +78,10 @@ typedef struct _WAVEFORMATEX {
|
||||||
} WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX;
|
} WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX;
|
||||||
#endif /* _WAVEFORMATEX_ */
|
#endif /* _WAVEFORMATEX_ */
|
||||||
|
|
||||||
|
#ifndef WAVE_FORMAT_PCM
|
||||||
|
#define WAVE_FORMAT_PCM 0x0001
|
||||||
|
#endif
|
||||||
|
|
||||||
/* WAVE form wFormatTag IDs */
|
/* WAVE form wFormatTag IDs */
|
||||||
#define WAVE_FORMAT_UNKNOWN 0x0000 /* Microsoft Corporation */
|
#define WAVE_FORMAT_UNKNOWN 0x0000 /* Microsoft Corporation */
|
||||||
#define WAVE_FORMAT_ADPCM 0x0002 /* Microsoft Corporation */
|
#define WAVE_FORMAT_ADPCM 0x0002 /* Microsoft Corporation */
|
||||||
|
|
Loading…
Reference in a new issue