mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
- Add missing guids, interfaces, structs to get CMIDriver compile
svn path=/trunk/; revision=39822
This commit is contained in:
parent
832f03d77d
commit
730cfa49a0
9 changed files with 590 additions and 36 deletions
|
@ -23,6 +23,7 @@ typedef struct
|
|||
BOOL DigitalOutputDisable;
|
||||
} DRMRIGHTS, *PDRMRIGHTS;
|
||||
|
||||
typedef const DRMRIGHTS *PCDRMRIGHTS;
|
||||
|
||||
/* ===============================================================
|
||||
Digital Rights Management Functions
|
||||
|
@ -76,4 +77,31 @@ DrmGetContentRights(
|
|||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
DEFINE_GUID(IID_IDrmAudioStream,
|
||||
0x1915c967, 0x3299, 0x48cb, 0xa3, 0xe4, 0x69, 0xfd, 0x1d, 0x1b, 0x30, 0x6e);
|
||||
|
||||
DECLARE_INTERFACE_(IDrmAudioStream, IUnknown)
|
||||
{
|
||||
STDMETHOD_(NTSTATUS, QueryInterface)(THIS_
|
||||
REFIID InterfaceId,
|
||||
PVOID* Interface
|
||||
) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
STDMETHOD_(NTSTATUS,SetContentId)(THIS_
|
||||
IN ULONG ContentId,
|
||||
IN PCDRMRIGHTS DrmRights) PURE;
|
||||
};
|
||||
|
||||
typedef IDrmAudioStream *PDRMAUDIOSTREAM;
|
||||
|
||||
#define IMP_IDrmAudioStream \
|
||||
STDMETHODIMP_(NTSTATUS) SetContentId \
|
||||
( IN ULONG ContentId, \
|
||||
IN PCDRMRIGHTS DrmRights \
|
||||
);
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -394,6 +394,19 @@ RtlStringCbCopyExA(OUT PCHAR Destination,
|
|||
return Status;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlStringCbPrintfW(
|
||||
LPWSTR pszDest,
|
||||
IN size_t cbDest,
|
||||
IN LPCWSTR pszFormat,
|
||||
...)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
|
|
@ -164,6 +164,7 @@ extern "C"
|
|||
/* HACK */
|
||||
/* typedef PVOID CM_RESOURCE_TYPE; */
|
||||
|
||||
#define _100NS_UNITS_PER_SECOND 10000000L
|
||||
#define PORT_CLASS_DEVICE_EXTENSION_SIZE ( 64 * sizeof(ULONG_PTR) )
|
||||
|
||||
|
||||
|
@ -236,43 +237,48 @@ enum
|
|||
|
||||
struct _PCPROPERTY_REQUEST;
|
||||
|
||||
typedef struct _PCPROPERTY_REQUEST PCPROPERTY_REQUEST, *PPCPROPERTY_REQUEST;
|
||||
|
||||
typedef NTSTATUS (*PCPFNPROPERTY_HANDLER)(
|
||||
IN struct _PCPROPERTY_REQUEST* PropertyRequest);
|
||||
IN PPCPROPERTY_REQUEST PropertyRequest);
|
||||
|
||||
typedef struct _PCPROPERTY_ITEM
|
||||
typedef struct
|
||||
{
|
||||
const GUID* Set;
|
||||
ULONG Id;
|
||||
ULONG Flags;
|
||||
PCPFNPROPERTY_HANDLER Handler;
|
||||
} PCPROPERTY_ITEM, *PPCPROPERTY_ITEM;
|
||||
|
||||
typedef struct _PCPROPERTY_REQUEST
|
||||
{
|
||||
PUNKNOWN MajorTarget;
|
||||
PUNKNOWN MinorTarget;
|
||||
ULONG Node;
|
||||
const PCPROPERTY_ITEM* PropertyItem;
|
||||
ULONG Verb;
|
||||
ULONG InstanceSize;
|
||||
PVOID Instance;
|
||||
ULONG ValueSize;
|
||||
PVOID Value;
|
||||
PIRP Irp;
|
||||
} PCPROPERTY_REQUEST, *PPCPROPERTY_REQUEST;
|
||||
|
||||
#define PCPROPERTY_ITEM_FLAG_DEFAULTVALUES KSPROPERTY_TYPE_DEFAULTVALUES
|
||||
const GUID * Set;
|
||||
ULONG Id;
|
||||
ULONG Flags;
|
||||
#define PCPROPERTY_ITEM_FLAG_GET KSPROPERTY_TYPE_GET
|
||||
#define PCPROPERTY_ITEM_FLAG_SET KSPROPERTY_TYPE_SET
|
||||
#define PCPROPERTY_ITEM_FLAG_BASICSUPPORT KSPROPERTY_TYPE_BASICSUPPORT
|
||||
#define PCPROPERTY_ITEM_FLAG_SERIALIZESIZE KSPROPERTY_TYPE_SERIALIZESIZE
|
||||
//not supported #define PCPROPERTY_ITEM_FLAG_RELATIONS KSPROPERTY_TYPE_RELATIONS
|
||||
#define PCPROPERTY_ITEM_FLAG_SERIALIZERAW KSPROPERTY_TYPE_SERIALIZERAW
|
||||
#define PCPROPERTY_ITEM_FLAG_UNSERIALIZERAW KSPROPERTY_TYPE_UNSERIALIZERAW
|
||||
#define PCPROPERTY_ITEM_FLAG_SERIALIZE ( PCPROPERTY_ITEM_FLAG_SERIALIZERAW \
|
||||
| PCPROPERTY_ITEM_FLAG_UNSERIALIZERAW \
|
||||
| PCPROPERTY_ITEM_FLAG_SERIALIZESIZE)
|
||||
#define PCPROPERTY_ITEM_FLAG_SERIALIZESIZE KSPROPERTY_TYPE_SERIALIZESIZE
|
||||
#define PCPROPERTY_ITEM_FLAG_SERIALIZE\
|
||||
(PCPROPERTY_ITEM_FLAG_SERIALIZERAW\
|
||||
|PCPROPERTY_ITEM_FLAG_UNSERIALIZERAW\
|
||||
|PCPROPERTY_ITEM_FLAG_SERIALIZESIZE\
|
||||
)
|
||||
#define PCPROPERTY_ITEM_FLAG_DEFAULTVALUES KSPROPERTY_TYPE_DEFAULTVALUES
|
||||
PCPFNPROPERTY_HANDLER Handler;
|
||||
}
|
||||
PCPROPERTY_ITEM, *PPCPROPERTY_ITEM;
|
||||
|
||||
|
||||
typedef struct _PCPROPERTY_REQUEST
|
||||
{
|
||||
PUNKNOWN MajorTarget;
|
||||
PUNKNOWN MinorTarget;
|
||||
ULONG Node;
|
||||
const PCPROPERTY_ITEM * PropertyItem;
|
||||
ULONG Verb;
|
||||
ULONG InstanceSize;
|
||||
PVOID Instance;
|
||||
ULONG ValueSize;
|
||||
PVOID Value;
|
||||
PIRP Irp;
|
||||
}PCPROPERTY_REQUEST, *PPCPROPERTY_REQUEST;
|
||||
|
||||
struct _PCEVENT_REQUEST;
|
||||
|
||||
typedef NTSTATUS (*PCPFNEVENT_HANDLER)(
|
||||
|
@ -381,6 +387,16 @@ typedef struct
|
|||
const GUID* Categories;
|
||||
} PCFILTER_DESCRIPTOR, *PPCFILTER_DESCRIPTOR;
|
||||
|
||||
#define DEFINE_PCAUTOMATION_TABLE_PROP(AutomationTable,PropertyTable)\
|
||||
const PCAUTOMATION_TABLE AutomationTable =\
|
||||
{\
|
||||
sizeof(PropertyTable[0]),\
|
||||
SIZEOF_ARRAY(PropertyTable),\
|
||||
(const PCPROPERTY_ITEM *) PropertyTable,\
|
||||
0,0,NULL,\
|
||||
0,0,NULL,\
|
||||
0\
|
||||
}
|
||||
|
||||
/* ===============================================================
|
||||
IResourceList Interface
|
||||
|
@ -1011,6 +1027,10 @@ typedef IMusicTechnology *PMUSICTECHNOLOGY;
|
|||
DEFINE_GUIDSTRUCT("0xB4C90A25-5791-11d0-86f9-00a0c911b544", IID_IPort);
|
||||
#define IID_IPort DEFINE_GUIDNAMED(IID_IPort)
|
||||
#endif
|
||||
|
||||
DEFINE_GUID(IID_IMiniport,
|
||||
0xb4c90a24L, 0x5791, 0x11d0, 0x86, 0xf9, 0x00, 0xa0, 0xc9, 0x11, 0xb5, 0x44);
|
||||
|
||||
DEFINE_GUID(IID_IPort,
|
||||
0xb4c90a25L, 0x5791, 0x11d0, 0x86, 0xf9, 0x00, 0xa0, 0xc9, 0x11, 0xb5, 0x44);
|
||||
|
||||
|
@ -1360,6 +1380,9 @@ typedef IMiniportTopology *PMINIPORTTOPOLOGY;
|
|||
#undef INTERFACE
|
||||
#define INTERFACE IMiniportWaveCyclicStream
|
||||
|
||||
DEFINE_GUID(IID_IMiniportWaveCyclicStream,
|
||||
0xb4c90a28L, 0x5791, 0x11d0, 0x86, 0xf9, 0x00, 0xa0, 0xc9, 0x11, 0xb5, 0x44);
|
||||
|
||||
DECLARE_INTERFACE_(IMiniportWaveCyclicStream,IUnknown)
|
||||
{
|
||||
DEFINE_ABSTRACT_UNKNOWN()
|
||||
|
@ -1387,6 +1410,29 @@ DECLARE_INTERFACE_(IMiniportWaveCyclicStream,IUnknown)
|
|||
|
||||
typedef IMiniportWaveCyclicStream *PMINIPORTWAVECYCLICSTREAM;
|
||||
|
||||
#define IMP_IMiniportWaveCyclicStream\
|
||||
STDMETHODIMP_(NTSTATUS) SetFormat\
|
||||
( IN PKSDATAFORMAT DataFormat\
|
||||
);\
|
||||
STDMETHODIMP_(ULONG) SetNotificationFreq\
|
||||
( IN ULONG Interval,\
|
||||
OUT PULONG FrameSize\
|
||||
);\
|
||||
STDMETHODIMP_(NTSTATUS) SetState\
|
||||
( IN KSSTATE State\
|
||||
);\
|
||||
STDMETHODIMP_(NTSTATUS) GetPosition\
|
||||
( OUT PULONG Position\
|
||||
);\
|
||||
STDMETHODIMP_(NTSTATUS) NormalizePhysicalPosition\
|
||||
( IN OUT PLONGLONG PhysicalPosition\
|
||||
);\
|
||||
STDMETHODIMP_(void) Silence\
|
||||
( IN PVOID Buffer,\
|
||||
IN ULONG ByteCount\
|
||||
)
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
IMiniportWaveCyclic Interface
|
||||
*/
|
||||
|
@ -1421,6 +1467,24 @@ DECLARE_INTERFACE_(IMiniportWaveCyclic, IMiniport)
|
|||
typedef IMiniportWaveCyclic *PMINIPORTWAVECYCLIC;
|
||||
#undef INTERFACE
|
||||
|
||||
#define IMP_IMiniportWaveCyclic\
|
||||
IMP_IMiniport;\
|
||||
STDMETHODIMP_(NTSTATUS) Init\
|
||||
( IN PUNKNOWN UnknownAdapter,\
|
||||
IN PRESOURCELIST ResourceList,\
|
||||
IN PPORTWAVECYCLIC Port\
|
||||
);\
|
||||
STDMETHODIMP_(NTSTATUS) NewStream\
|
||||
( OUT PMINIPORTWAVECYCLICSTREAM * Stream,\
|
||||
IN PUNKNOWN OuterUnknown OPTIONAL,\
|
||||
IN POOL_TYPE PoolType,\
|
||||
IN ULONG Pin,\
|
||||
IN BOOLEAN Capture,\
|
||||
IN PKSDATAFORMAT DataFormat,\
|
||||
OUT PDMACHANNEL * DmaChannel,\
|
||||
OUT PSERVICEGROUP * ServiceGroup\
|
||||
)
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
IPortWavePciStream Interface
|
||||
|
@ -1547,7 +1611,19 @@ DECLARE_INTERFACE_(IAdapterPowerManagement, IUnknown)
|
|||
IN PDEVICE_CAPABILITIES PowerDeviceCaps) PURE;
|
||||
};
|
||||
|
||||
#define IMP_IAdapterPowerManagement
|
||||
#define IMP_IAdapterPowerManagement \
|
||||
STDMETHODIMP_(void) PowerChangeState \
|
||||
( IN POWER_STATE NewState \
|
||||
); \
|
||||
STDMETHODIMP_(NTSTATUS) QueryPowerChangeState \
|
||||
( IN POWER_STATE NewStateQuery \
|
||||
); \
|
||||
STDMETHODIMP_(NTSTATUS) QueryDeviceCapabilities \
|
||||
( IN PDEVICE_CAPABILITIES PowerDeviceCaps \
|
||||
)
|
||||
|
||||
typedef IAdapterPowerManagement *PADAPTERPOWERMANAGEMENT;
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
IPowerNotify Interface
|
||||
|
|
|
@ -164,8 +164,8 @@ typedef struct CUnknown
|
|||
Custom "new" and "delete" C++ operators
|
||||
*/
|
||||
|
||||
#ifndef ALLOCATION_OPERATORS_DEFINED
|
||||
#define ALLOCATION_OPERATORS_DEFINED
|
||||
#ifndef _NEW_DELETE_OPERATORS_
|
||||
#define _NEW_DELETE_OPERATORS_
|
||||
|
||||
inline PVOID
|
||||
KCOM_New(
|
||||
|
|
|
@ -95,10 +95,15 @@ extern "C" {
|
|||
|
||||
#ifndef __IID_ALIGNED__
|
||||
#define __IID_ALIGNED__
|
||||
|
||||
#define IsEqualGUIDAligned(guid1, guid2) \
|
||||
( (*(PLONGLONG)(guid1) == *(PLONGLONG)(guid2)) && \
|
||||
(*((PLONGLONG)(guid1) + 1) == *((PLONGLONG)(guid2) + 1)) )
|
||||
#ifdef __cplusplus
|
||||
inline int IsEqualGUIDAligned(REFGUID guid1, REFGUID guid2)
|
||||
{
|
||||
return ((*(PLONGLONG)(&guid1) == *(PLONGLONG)(&guid2)) && (*((PLONGLONG)(&guid1) + 1) == *((PLONGLONG)(&guid2) + 1)));
|
||||
}
|
||||
#else
|
||||
#define IsEqualGUIDAligned(guid1, guid2) \
|
||||
((*(PLONGLONG)(guid1) == *(PLONGLONG)(guid2)) && (*((PLONGLONG)(guid1) + 1) == *((PLONGLONG)(guid2) + 1)))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
|
@ -109,6 +109,8 @@ typedef GUID FMTID,*LPFMTID;
|
|||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
#include <string.h>
|
||||
#if !defined _SYS_GUID_OPERATOR_EQ_ && !defined _NO_SYS_GUID_OPERATOR_EQ_
|
||||
#define _SYS_GUID_OPERATOR_EQ_
|
||||
inline bool operator==(const GUID& guidOne, const GUID& guidOther)
|
||||
{
|
||||
return !memcmp(&guidOne,&guidOther,sizeof(GUID));
|
||||
|
@ -118,5 +120,6 @@ inline bool operator!=(const GUID& guidOne, const GUID& guidOther)
|
|||
return !(guidOne == guidOther);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* _GUIDDEF_H_ */
|
||||
|
|
|
@ -56,6 +56,11 @@ extern "C" {
|
|||
#if defined(_NTDDK_)
|
||||
typedef PVOID PKSWORKER;
|
||||
#endif
|
||||
|
||||
#ifndef SIZEOF_ARRAY
|
||||
#define SIZEOF_ARRAY(a) (sizeof(a)/sizeof((a)[0]))
|
||||
#endif
|
||||
|
||||
/* ===============================================================
|
||||
GUID definition helpers
|
||||
*/
|
||||
|
@ -600,7 +605,11 @@ typedef enum
|
|||
Property Sets for audio drivers - TODO
|
||||
*/
|
||||
|
||||
#define KSPROPSETID_AC3
|
||||
#define STATIC_KSPROPTYPESETID_General \
|
||||
0x97E99BA0L, 0xBDEA, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
|
||||
DEFINE_GUIDSTRUCT("97E99BA0-BDEA-11CF-A5D6-28DB04C10000", KSPROPTYPESETID_General);
|
||||
#define KSPROPTYPESETID_General DEFINE_GUIDNAMED(KSPROPTYPESETID_General)
|
||||
|
||||
/*
|
||||
KSPROPERTY_AC3_ALTERNATE_AUDIO
|
||||
KSPROPERTY_AC3_BIT_STREAM_MODE
|
||||
|
@ -618,7 +627,6 @@ typedef enum
|
|||
KSPROPERTY_AEC_STATUS
|
||||
*/
|
||||
|
||||
#define KSPROPSETID_Audio
|
||||
/*
|
||||
KSPROPERTY_AUDIO_3D_INTERFACE
|
||||
KSPROPERTY_AUDIO_AGC
|
||||
|
@ -943,6 +951,12 @@ typedef PVOID KSDEVICE_HEADER,
|
|||
TODO ...
|
||||
*/
|
||||
|
||||
#define STATIC_KSDATAFORMAT_SPECIFIER_NONE\
|
||||
0x0F6417D6L, 0xC318, 0x11D0, 0xA4, 0x3F, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
|
||||
DEFINE_GUIDSTRUCT("0F6417D6-C318-11D0-A43F-00A0C9223196", KSDATAFORMAT_SPECIFIER_NONE);
|
||||
#define KSDATAFORMAT_SPECIFIER_NONE DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_NONE)
|
||||
|
||||
|
||||
/* ===============================================================
|
||||
KSMEMORY_TYPE_xxx
|
||||
|
||||
|
@ -1090,6 +1104,67 @@ typedef NTSTATUS (*PFNKSCONTEXT_DISPATCH)(
|
|||
IN PIRP Irp);
|
||||
#endif
|
||||
|
||||
#if defined(_NTDDK_) && !defined(__wtypes_h__)
|
||||
enum VARENUM {
|
||||
VT_EMPTY = 0,
|
||||
VT_NULL = 1,
|
||||
VT_I2 = 2,
|
||||
VT_I4 = 3,
|
||||
VT_R4 = 4,
|
||||
VT_R8 = 5,
|
||||
VT_CY = 6,
|
||||
VT_DATE = 7,
|
||||
VT_BSTR = 8,
|
||||
VT_DISPATCH = 9,
|
||||
VT_ERROR = 10,
|
||||
VT_BOOL = 11,
|
||||
VT_VARIANT = 12,
|
||||
VT_UNKNOWN = 13,
|
||||
VT_DECIMAL = 14,
|
||||
VT_I1 = 16,
|
||||
VT_UI1 = 17,
|
||||
VT_UI2 = 18,
|
||||
VT_UI4 = 19,
|
||||
VT_I8 = 20,
|
||||
VT_UI8 = 21,
|
||||
VT_INT = 22,
|
||||
VT_UINT = 23,
|
||||
VT_VOID = 24,
|
||||
VT_HRESULT = 25,
|
||||
VT_PTR = 26,
|
||||
VT_SAFEARRAY = 27,
|
||||
VT_CARRAY = 28,
|
||||
VT_USERDEFINED = 29,
|
||||
VT_LPSTR = 30,
|
||||
VT_LPWSTR = 31,
|
||||
VT_FILETIME = 64,
|
||||
VT_BLOB = 65,
|
||||
VT_STREAM = 66,
|
||||
VT_STORAGE = 67,
|
||||
VT_STREAMED_OBJECT = 68,
|
||||
VT_STORED_OBJECT = 69,
|
||||
VT_BLOB_OBJECT = 70,
|
||||
VT_CF = 71,
|
||||
VT_CLSID = 72,
|
||||
VT_VECTOR = 0x1000,
|
||||
VT_ARRAY = 0x2000,
|
||||
VT_BYREF = 0x4000,
|
||||
VT_RESERVED = 0x8000,
|
||||
VT_ILLEGAL = 0xffff,
|
||||
VT_ILLEGALMASKED = 0xfff,
|
||||
VT_TYPEMASK = 0xfff
|
||||
};
|
||||
#endif
|
||||
|
||||
#define STATIC_KSDATAFORMAT_TYPE_WILDCARD STATIC_GUID_NULL
|
||||
#define KSDATAFORMAT_TYPE_WILDCARD GUID_NULL
|
||||
|
||||
#define STATIC_KSDATAFORMAT_SUBTYPE_WILDCARD STATIC_GUID_NULL
|
||||
#define KSDATAFORMAT_SUBTYPE_WILDCARD GUID_NULL
|
||||
|
||||
#define STATIC_KSDATAFORMAT_SPECIFIER_WILDCARD STATIC_GUID_NULL
|
||||
#define KSDATAFORMAT_SPECIFIER_WILDCARD GUID_NULL
|
||||
|
||||
/* ===============================================================
|
||||
Framing
|
||||
*/
|
||||
|
@ -1204,6 +1279,22 @@ typedef struct
|
|||
|
||||
typedef struct
|
||||
{
|
||||
#if defined( _KS_NO_ANONYMOUS_STRUCTURES_ )
|
||||
struct _SIGNED {
|
||||
#else
|
||||
struct {
|
||||
#endif
|
||||
LONG SignedMinimum;
|
||||
LONG SignedMaximum;
|
||||
};
|
||||
#if defined( _KS_NO_ANONYMOUS_STRUCTURES_ )
|
||||
struct _UNSIGNED {
|
||||
#else
|
||||
struct {
|
||||
#endif
|
||||
ULONG UnsignedMinimum;
|
||||
ULONG UnsignedMaximum;
|
||||
};
|
||||
} KSPROPERTY_BOUNDS_LONG, *PKSPROPERTY_BOUNDS_LONG;
|
||||
|
||||
typedef struct
|
||||
|
@ -1212,6 +1303,11 @@ typedef struct
|
|||
|
||||
typedef struct
|
||||
{
|
||||
ULONG AccessFlags;
|
||||
ULONG DescriptionSize;
|
||||
KSIDENTIFIER PropTypeSet;
|
||||
ULONG MembersListCount;
|
||||
ULONG Reserved;
|
||||
} KSPROPERTY_DESCRIPTION, *PKSPROPERTY_DESCRIPTION;
|
||||
|
||||
typedef struct
|
||||
|
@ -1303,6 +1399,9 @@ typedef struct
|
|||
|
||||
typedef struct
|
||||
{
|
||||
ULONG SteppingDelta;
|
||||
ULONG Reserved;
|
||||
KSPROPERTY_BOUNDS_LONG Bounds;
|
||||
} KSPROPERTY_STEPPING_LONG, *PKSPROPERTY_STEPPING_LONG;
|
||||
|
||||
typedef struct
|
||||
|
@ -3062,6 +3161,14 @@ KsDeviceGetFirstChildFilterFactory(
|
|||
|
||||
#if defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__)
|
||||
|
||||
KSDDKAPI
|
||||
PUNKNOWN
|
||||
NTAPI
|
||||
KsGetOuterUnknown(
|
||||
IN PVOID Object
|
||||
);
|
||||
|
||||
|
||||
PUNKNOWN
|
||||
NTAPI
|
||||
KsDeviceGetOuterUnknown(
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
KS CATEGORIES
|
||||
*/
|
||||
|
||||
#define EXTRACT_WAVEFORMATEX_ID(Guid)\
|
||||
(USHORT)((Guid)->Data1)
|
||||
|
||||
/* Audio device (as presented by sysaudio) */
|
||||
|
||||
|
@ -113,6 +115,176 @@ DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE", KSCATEGORY_AUDIO_SPLIT
|
|||
#define STATIC_KSCATEGORY_DRM_DESCRAMBLE STATIC_KSNODETYPE_DRM_DESCRAMBLE
|
||||
#define KSCATEGORY_DRM_DESCRAMBLE KSNODETYPE_DRM_DESCRAMBLE
|
||||
|
||||
/*
|
||||
Nodes
|
||||
*/
|
||||
|
||||
#define STATIC_KSNODETYPE_ADC\
|
||||
0x4D837FE0L, 0xC555, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
|
||||
DEFINE_GUIDSTRUCT("4D837FE0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_ADC);
|
||||
#define KSNODETYPE_ADC DEFINE_GUIDNAMED(KSNODETYPE_ADC)
|
||||
|
||||
#define STATIC_KSNODETYPE_3D_EFFECTS\
|
||||
0x55515860L, 0xC559, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
|
||||
DEFINE_GUIDSTRUCT("55515860-C559-11D0-8A2B-00A0C9255AC1", KSNODETYPE_3D_EFFECTS);
|
||||
#define KSNODETYPE_3D_EFFECTS DEFINE_GUIDNAMED(KSNODETYPE_3D_EFFECTS)
|
||||
|
||||
#define STATIC_KSNODETYPE_SUPERMIX\
|
||||
0xE573ADC0L, 0xC555, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
|
||||
DEFINE_GUIDSTRUCT("E573ADC0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SUPERMIX);
|
||||
#define KSNODETYPE_SUPERMIX DEFINE_GUIDNAMED(KSNODETYPE_SUPERMIX)
|
||||
|
||||
#define STATIC_KSNODETYPE_SRC\
|
||||
0x9DB7B9E0L, 0xC555, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
|
||||
DEFINE_GUIDSTRUCT("9DB7B9E0-C555-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SRC);
|
||||
#define KSNODETYPE_SRC DEFINE_GUIDNAMED(KSNODETYPE_SRC)
|
||||
|
||||
#define STATIC_KSNODETYPE_DAC\
|
||||
0x507AE360L, 0xC554, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
|
||||
DEFINE_GUIDSTRUCT("507AE360-C554-11D0-8A2B-00A0C9255AC1", KSNODETYPE_DAC);
|
||||
#define KSNODETYPE_DAC DEFINE_GUIDNAMED(KSNODETYPE_DAC)
|
||||
|
||||
#define STATIC_KSNODETYPE_SPDIF_INTERFACE\
|
||||
DEFINE_USB_TERMINAL_GUID(0x0605)
|
||||
DEFINE_GUIDSTRUCT("DFF21FE5-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SPDIF_INTERFACE);
|
||||
#define KSNODETYPE_SPDIF_INTERFACE DEFINE_GUIDNAMED(KSNODETYPE_SPDIF_INTERFACE)
|
||||
|
||||
#define STATIC_KSNODETYPE_MICROPHONE\
|
||||
DEFINE_USB_TERMINAL_GUID(0x0201)
|
||||
DEFINE_GUIDSTRUCT("DFF21BE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_MICROPHONE);
|
||||
#define KSNODETYPE_MICROPHONE DEFINE_GUIDNAMED(KSNODETYPE_MICROPHONE)
|
||||
|
||||
#define STATIC_KSNODETYPE_CD_PLAYER\
|
||||
DEFINE_USB_TERMINAL_GUID(0x0703)
|
||||
DEFINE_GUIDSTRUCT("DFF220E3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_CD_PLAYER);
|
||||
#define KSNODETYPE_CD_PLAYER DEFINE_GUIDNAMED(KSNODETYPE_CD_PLAYER)
|
||||
|
||||
#define STATIC_KSNODETYPE_LINE_CONNECTOR\
|
||||
DEFINE_USB_TERMINAL_GUID(0x0603)
|
||||
DEFINE_GUIDSTRUCT("DFF21FE3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_LINE_CONNECTOR);
|
||||
#define KSNODETYPE_LINE_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_LINE_CONNECTOR)
|
||||
|
||||
#define STATIC_KSNODETYPE_ANALOG_CONNECTOR\
|
||||
DEFINE_USB_TERMINAL_GUID(0x601)
|
||||
DEFINE_GUIDSTRUCT("DFF21FE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_ANALOG_CONNECTOR);
|
||||
#define KSNODETYPE_ANALOG_CONNECTOR DEFINE_GUIDNAMED(KSNODETYPE_ANALOG_CONNECTOR)
|
||||
|
||||
#define STATIC_KSNODETYPE_SPEAKER\
|
||||
DEFINE_USB_TERMINAL_GUID(0x0301)
|
||||
DEFINE_GUIDSTRUCT("DFF21CE1-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SPEAKER);
|
||||
#define KSNODETYPE_SPEAKER DEFINE_GUIDNAMED(KSNODETYPE_SPEAKER)
|
||||
|
||||
#define STATIC_KSAUDFNAME_RECORDING_CONTROL\
|
||||
0x185FEDFAL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDFA-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_RECORDING_CONTROL);
|
||||
#define KSAUDFNAME_RECORDING_CONTROL DEFINE_GUIDNAMED(KSAUDFNAME_RECORDING_CONTROL)
|
||||
|
||||
#define STATIC_KSNODETYPE_VOLUME\
|
||||
0x3A5ACC00L, 0xC557, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
|
||||
DEFINE_GUIDSTRUCT("3A5ACC00-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_VOLUME);
|
||||
#define KSNODETYPE_VOLUME DEFINE_GUIDNAMED(KSNODETYPE_VOLUME)
|
||||
|
||||
#define STATIC_KSAUDFNAME_WAVE_VOLUME\
|
||||
0x185FEDE5L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDE5-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_WAVE_VOLUME);
|
||||
#define KSAUDFNAME_WAVE_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_VOLUME)
|
||||
|
||||
#define STATIC_KSNODETYPE_MUTE\
|
||||
0x02B223C0L, 0xC557, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
|
||||
DEFINE_GUIDSTRUCT("02B223C0-C557-11D0-8A2B-00A0C9255AC1", KSNODETYPE_MUTE);
|
||||
#define KSNODETYPE_MUTE DEFINE_GUIDNAMED(KSNODETYPE_MUTE)
|
||||
|
||||
#define STATIC_KSAUDFNAME_WAVE_MUTE\
|
||||
0x185FEDE6L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDE6-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_WAVE_MUTE);
|
||||
#define KSAUDFNAME_WAVE_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_WAVE_MUTE)
|
||||
|
||||
#define STATIC_KSAUDFNAME_MIC_VOLUME\
|
||||
0x185FEDEDL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDED-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_VOLUME);
|
||||
#define KSAUDFNAME_MIC_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIC_VOLUME)
|
||||
|
||||
#define STATIC_KSNODETYPE_SUM\
|
||||
0xDA441A60L, 0xC556, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
|
||||
DEFINE_GUIDSTRUCT("DA441A60-C556-11D0-8A2B-00A0C9255AC1", KSNODETYPE_SUM);
|
||||
#define KSNODETYPE_SUM DEFINE_GUIDNAMED(KSNODETYPE_SUM)
|
||||
|
||||
#define STATIC_KSAUDFNAME_MASTER_VOLUME\
|
||||
0x185FEDE3L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDE3-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MASTER_VOLUME);
|
||||
#define KSAUDFNAME_MASTER_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MASTER_VOLUME)
|
||||
|
||||
#define STATIC_KSAUDFNAME_CD_VOLUME\
|
||||
0x185FEDE9L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDE9-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_CD_VOLUME);
|
||||
#define KSAUDFNAME_CD_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_CD_VOLUME)
|
||||
|
||||
#define STATIC_KSAUDFNAME_RECORDING_SOURCE\
|
||||
0x185FEDEFL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDEF-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_RECORDING_SOURCE);
|
||||
#define KSAUDFNAME_RECORDING_SOURCE DEFINE_GUIDNAMED(KSAUDFNAME_RECORDING_SOURCE)
|
||||
|
||||
#define STATIC_KSAUDFNAME_LINE_IN_VOLUME\
|
||||
0x185FEDF4L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDF4-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_LINE_IN_VOLUME);
|
||||
#define KSAUDFNAME_LINE_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_LINE_IN_VOLUME)
|
||||
|
||||
#define STATIC_KSAUDFNAME_AUX_VOLUME\
|
||||
0x185FEDFCL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDFC-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_AUX_VOLUME);
|
||||
#define KSAUDFNAME_AUX_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_AUX_VOLUME)
|
||||
|
||||
#define STATIC_KSAUDFNAME_MIC_IN_VOLUME\
|
||||
0x185FEDF5L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDF5-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_IN_VOLUME);
|
||||
#define KSAUDFNAME_MIC_IN_VOLUME DEFINE_GUIDNAMED(KSAUDFNAME_MIC_IN_VOLUME)
|
||||
|
||||
#define STATIC_KSNODETYPE_LOUDNESS\
|
||||
0x41887440L, 0xC558, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
|
||||
DEFINE_GUIDSTRUCT("41887440-C558-11D0-8A2B-00A0C9255AC1", KSNODETYPE_LOUDNESS);
|
||||
#define KSNODETYPE_LOUDNESS DEFINE_GUIDNAMED(KSNODETYPE_LOUDNESS)
|
||||
|
||||
#define STATIC_KSAUDFNAME_MICROPHONE_BOOST\
|
||||
0x2bc31d6aL, 0x96e3, 0x11d2, 0xac, 0x4c, 0x0, 0xc0, 0x4f, 0x8e, 0xfb, 0x68
|
||||
DEFINE_GUIDSTRUCT("2BC31D6A-96E3-11d2-AC4C-00C04F8EFB68", KSAUDFNAME_MICROPHONE_BOOST);
|
||||
#define KSAUDFNAME_MICROPHONE_BOOST DEFINE_GUIDNAMED(KSAUDFNAME_MICROPHONE_BOOST)
|
||||
|
||||
#define STATIC_KSAUDFNAME_CD_MUTE\
|
||||
0x185FEDEAL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDEA-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_CD_MUTE);
|
||||
#define KSAUDFNAME_CD_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_CD_MUTE)
|
||||
|
||||
#define STATIC_KSAUDFNAME_LINE_MUTE\
|
||||
0x185FEDECL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDEC-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_LINE_MUTE);
|
||||
#define KSAUDFNAME_LINE_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_LINE_MUTE)
|
||||
|
||||
#define STATIC_KSAUDFNAME_MIC_MUTE\
|
||||
0x185FEDEEL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDEE-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIC_MUTE);
|
||||
#define KSAUDFNAME_MIC_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MIC_MUTE)
|
||||
|
||||
#define STATIC_KSAUDFNAME_AUX_MUTE\
|
||||
0x185FEDFDL, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDFD-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_AUX_MUTE);
|
||||
#define KSAUDFNAME_AUX_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_AUX_MUTE)
|
||||
|
||||
#define STATIC_KSAUDFNAME_VOLUME_CONTROL\
|
||||
0x185FEDF7L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDF7-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_VOLUME_CONTROL);
|
||||
#define KSAUDFNAME_VOLUME_CONTROL DEFINE_GUIDNAMED(KSAUDFNAME_VOLUME_CONTROL)
|
||||
|
||||
#define STATIC_KSNODETYPE_MUX\
|
||||
0x2CEAF780L, 0xC556, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
|
||||
DEFINE_GUIDSTRUCT("2CEAF780-C556-11D0-8A2B-00A0C9255AC1", KSNODETYPE_MUX);
|
||||
#define KSNODETYPE_MUX DEFINE_GUIDNAMED(KSNODETYPE_MUX)
|
||||
|
||||
#define STATIC_KSAUDFNAME_MASTER_MUTE\
|
||||
0x185FEDE4L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3
|
||||
DEFINE_GUIDSTRUCT("185FEDE4-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MASTER_MUTE);
|
||||
#define KSAUDFNAME_MASTER_MUTE DEFINE_GUIDNAMED(KSAUDFNAME_MASTER_MUTE)
|
||||
|
||||
|
||||
/*
|
||||
Pins
|
||||
*/
|
||||
|
@ -133,6 +305,17 @@ typedef struct {
|
|||
WAVEFORMATEX WaveFormatEx;
|
||||
} KSDATAFORMAT_WAVEFORMATEX, *PKSDATAFORMAT_WAVEFORMATEX;
|
||||
|
||||
typedef struct {
|
||||
ULONG Flags;
|
||||
ULONG Control;
|
||||
WAVEFORMATEX WaveFormatEx;
|
||||
} KSDSOUND_BUFFERDESC, *PKSDSOUND_BUFFERDESC;
|
||||
|
||||
typedef struct {
|
||||
KSDATAFORMAT DataFormat;
|
||||
KSDSOUND_BUFFERDESC BufferDesc;
|
||||
} KSDATAFORMAT_DSOUND, *PKSDATAFORMAT_DSOUND;
|
||||
|
||||
//#endif
|
||||
|
||||
typedef struct {
|
||||
|
@ -144,6 +327,22 @@ typedef struct {
|
|||
ULONG MaximumSampleFrequency;
|
||||
} KSDATARANGE_AUDIO, *PKSDATARANGE_AUDIO;
|
||||
|
||||
#if !defined( DEFINE_WAVEFORMATEX_GUID )
|
||||
#define DEFINE_WAVEFORMATEX_GUID(x) (USHORT)(x), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
|
||||
#endif
|
||||
|
||||
#define STATIC_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX\
|
||||
0x00000000L, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
|
||||
DEFINE_GUIDSTRUCT("00000000-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_WAVEFORMATEX);
|
||||
#define KSDATAFORMAT_SUBTYPE_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_WAVEFORMATEX)
|
||||
|
||||
|
||||
#define INIT_WAVEFORMATEX_GUID(Guid, x) \
|
||||
{ \
|
||||
*(Guid) = KSDATAFORMAT_SUBTYPE_WAVEFORMATEX; \
|
||||
(Guid)->Data1 = (USHORT)(x); \
|
||||
}
|
||||
|
||||
// 'vids'
|
||||
#define STATIC_KSDATAFORMAT_TYPE_VIDEO \
|
||||
0x73646976L, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
|
||||
|
@ -156,7 +355,15 @@ DEFINE_GUIDSTRUCT("73646976-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_VIDE
|
|||
DEFINE_GUIDSTRUCT("73647561-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_AUDIO);
|
||||
#define KSDATAFORMAT_TYPE_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_AUDIO)
|
||||
|
||||
#define STATIC_KSDATAFORMAT_SPECIFIER_DSOUND\
|
||||
0x518590a2L, 0xa184, 0x11d0, 0x85, 0x22, 0x00, 0xc0, 0x4f, 0xd9, 0xba, 0xf3
|
||||
DEFINE_GUIDSTRUCT("518590a2-a184-11d0-8522-00c04fd9baf3", KSDATAFORMAT_SPECIFIER_DSOUND);
|
||||
#define KSDATAFORMAT_SPECIFIER_DSOUND DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_DSOUND)
|
||||
|
||||
#define STATIC_KSDATAFORMAT_SUBTYPE_ANALOG\
|
||||
0x6dba3190L, 0x67bd, 0x11cf, 0xa0, 0xf7, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4
|
||||
DEFINE_GUIDSTRUCT("6dba3190-67bd-11cf-a0f7-0020afd156e4", KSDATAFORMAT_SUBTYPE_ANALOG);
|
||||
#define KSDATAFORMAT_SUBTYPE_ANALOG DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ANALOG)
|
||||
|
||||
|
||||
// 'txts'
|
||||
|
@ -192,6 +399,88 @@ DEFINE_GUIDSTRUCT("00000001-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_P
|
|||
DEFINE_GUIDSTRUCT("05589f81-c356-11ce-bf01-00aa0055595a", KSDATAFORMAT_SPECIFIER_WAVEFORMATEX);
|
||||
#define KSDATAFORMAT_SPECIFIER_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX)
|
||||
|
||||
#define STATIC_KSDATAFORMAT_SUBTYPE_AC3_AUDIO\
|
||||
0xe06d802cL, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea
|
||||
DEFINE_GUIDSTRUCT("e06d802c-db46-11cf-b4d1-00805f6cbbea", KSDATAFORMAT_SUBTYPE_AC3_AUDIO);
|
||||
#define KSDATAFORMAT_SUBTYPE_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_AC3_AUDIO)
|
||||
|
||||
#define STATIC_KSDATAFORMAT_SPECIFIER_AC3_AUDIO\
|
||||
0xe06d80e4L, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea
|
||||
DEFINE_GUIDSTRUCT("e06d80e4-db46-11cf-b4d1-00805f6cbbea", KSDATAFORMAT_SPECIFIER_AC3_AUDIO);
|
||||
#define KSDATAFORMAT_SPECIFIER_AC3_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_AC3_AUDIO)
|
||||
|
||||
#define STATIC_KSPROPSETID_AC3\
|
||||
0xBFABE720L, 0x6E1F, 0x11D0, 0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00
|
||||
DEFINE_GUIDSTRUCT("BFABE720-6E1F-11D0-BCF2-444553540000", KSPROPSETID_AC3);
|
||||
#define KSPROPSETID_AC3 DEFINE_GUIDNAMED(KSPROPSETID_AC3)
|
||||
|
||||
#define STATIC_KSPROPSETID_Audio\
|
||||
0x45FFAAA0L, 0x6E1B, 0x11D0, 0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00
|
||||
DEFINE_GUIDSTRUCT("45FFAAA0-6E1B-11D0-BCF2-444553540000", KSPROPSETID_Audio);
|
||||
#define KSPROPSETID_Audio DEFINE_GUIDNAMED(KSPROPSETID_Audio)
|
||||
|
||||
typedef enum {
|
||||
KSPROPERTY_AUDIO_LATENCY = 1,
|
||||
KSPROPERTY_AUDIO_COPY_PROTECTION,
|
||||
KSPROPERTY_AUDIO_CHANNEL_CONFIG,
|
||||
KSPROPERTY_AUDIO_VOLUMELEVEL,
|
||||
KSPROPERTY_AUDIO_POSITION,
|
||||
KSPROPERTY_AUDIO_DYNAMIC_RANGE,
|
||||
KSPROPERTY_AUDIO_QUALITY,
|
||||
KSPROPERTY_AUDIO_SAMPLING_RATE,
|
||||
KSPROPERTY_AUDIO_DYNAMIC_SAMPLING_RATE,
|
||||
KSPROPERTY_AUDIO_MIX_LEVEL_TABLE,
|
||||
KSPROPERTY_AUDIO_MIX_LEVEL_CAPS,
|
||||
KSPROPERTY_AUDIO_MUX_SOURCE,
|
||||
KSPROPERTY_AUDIO_MUTE,
|
||||
KSPROPERTY_AUDIO_BASS,
|
||||
KSPROPERTY_AUDIO_MID,
|
||||
KSPROPERTY_AUDIO_TREBLE,
|
||||
KSPROPERTY_AUDIO_BASS_BOOST,
|
||||
KSPROPERTY_AUDIO_EQ_LEVEL,
|
||||
KSPROPERTY_AUDIO_NUM_EQ_BANDS,
|
||||
KSPROPERTY_AUDIO_EQ_BANDS,
|
||||
KSPROPERTY_AUDIO_AGC,
|
||||
KSPROPERTY_AUDIO_DELAY,
|
||||
KSPROPERTY_AUDIO_LOUDNESS,
|
||||
KSPROPERTY_AUDIO_WIDE_MODE,
|
||||
KSPROPERTY_AUDIO_WIDENESS,
|
||||
KSPROPERTY_AUDIO_REVERB_LEVEL,
|
||||
KSPROPERTY_AUDIO_CHORUS_LEVEL,
|
||||
KSPROPERTY_AUDIO_DEV_SPECIFIC,
|
||||
KSPROPERTY_AUDIO_DEMUX_DEST,
|
||||
KSPROPERTY_AUDIO_STEREO_ENHANCE,
|
||||
KSPROPERTY_AUDIO_MANUFACTURE_GUID,
|
||||
KSPROPERTY_AUDIO_PRODUCT_GUID,
|
||||
KSPROPERTY_AUDIO_CPU_RESOURCES,
|
||||
KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY,
|
||||
KSPROPERTY_AUDIO_SURROUND_ENCODE,
|
||||
KSPROPERTY_AUDIO_3D_INTERFACE
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
, KSPROPERTY_AUDIO_PEAKMETER
|
||||
, KSPROPERTY_AUDIO_ALGORITHM_INSTANCE
|
||||
, KSPROPERTY_AUDIO_FILTER_STATE
|
||||
, KSPROPERTY_AUDIO_PREFERRED_STATUS
|
||||
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
||||
, KSPROPERTY_AUDIO_PEQ_MAX_BANDS
|
||||
, KSPROPERTY_AUDIO_PEQ_NUM_BANDS
|
||||
, KSPROPERTY_AUDIO_PEQ_BAND_CENTER_FREQ
|
||||
, KSPROPERTY_AUDIO_PEQ_BAND_Q_FACTOR
|
||||
, KSPROPERTY_AUDIO_PEQ_BAND_LEVEL
|
||||
, KSPROPERTY_AUDIO_CHORUS_MODULATION_RATE
|
||||
, KSPROPERTY_AUDIO_CHORUS_MODULATION_DEPTH
|
||||
, KSPROPERTY_AUDIO_REVERB_TIME
|
||||
, KSPROPERTY_AUDIO_REVERB_DELAY_FEEDBACK
|
||||
, KSPROPERTY_AUDIO_POSITIONEX
|
||||
, KSPROPERTY_AUDIO_MIC_ARRAY_GEOMETRY
|
||||
#endif
|
||||
|
||||
} KSPROPERTY_AUDIO;
|
||||
|
||||
|
||||
/*
|
||||
SysAudio Properties
|
||||
*/
|
||||
|
@ -232,4 +521,36 @@ typedef enum {
|
|||
} KSPROPERTY_SYSAUDIO_PIN;
|
||||
|
||||
|
||||
#define KSAUDIO_CPU_RESOURCES_NOT_HOST_CPU 0x00000000
|
||||
#define KSAUDIO_CPU_RESOURCES_HOST_CPU 0x7FFFFFFF
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
#define KSAUDIO_SPEAKER_DIRECTOUT 0
|
||||
#endif
|
||||
#define KSAUDIO_SPEAKER_MONO (SPEAKER_FRONT_CENTER)
|
||||
#define KSAUDIO_SPEAKER_STEREO (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT)
|
||||
#define KSAUDIO_SPEAKER_QUAD (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
|
||||
SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
|
||||
#define KSAUDIO_SPEAKER_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
|
||||
SPEAKER_FRONT_CENTER | SPEAKER_BACK_CENTER)
|
||||
#define KSAUDIO_SPEAKER_5POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
|
||||
SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
|
||||
SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
|
||||
#define KSAUDIO_SPEAKER_7POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
|
||||
SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
|
||||
SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | \
|
||||
SPEAKER_FRONT_LEFT_OF_CENTER | SPEAKER_FRONT_RIGHT_OF_CENTER)
|
||||
|
||||
#if ( (NTDDI_VERSION >= NTDDI_WINXPSP2) && (NTDDI_VERSION < NTDDI_WS03) ) || (NTDDI_VERSION >= NTDDI_WS03SP1)
|
||||
|
||||
#define KSAUDIO_SPEAKER_5POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
|
||||
SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
|
||||
SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT)
|
||||
#define KSAUDIO_SPEAKER_7POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | \
|
||||
SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \
|
||||
SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | \
|
||||
SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT)
|
||||
#define KSAUDIO_SPEAKER_5POINT1_BACK KSAUDIO_SPEAKER_5POINT1
|
||||
#define KSAUDIO_SPEAKER_7POINT1_WIDE KSAUDIO_SPEAKER_7POINT1
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -117,6 +117,7 @@ typedef const struct _WAVEFORMATEX *LPCWAVEFORMATEX;
|
|||
#define WAVE_FORMAT_G721_ADPCM 0x0040 /* Antex Electronics Corporation */
|
||||
#define WAVE_FORMAT_MPEG 0x0050 /* Microsoft Corporation */
|
||||
#define WAVE_FORMAT_MPEGLAYER3 0x0055
|
||||
#define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092 /* Sonic Foundry */
|
||||
#define WAVE_FORMAT_CREATIVE_ADPCM 0x0200 /* Creative Labs, Inc */
|
||||
#define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202 /* Creative Labs, Inc */
|
||||
#define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203 /* Creative Labs, Inc */
|
||||
|
|
Loading…
Reference in a new issue