Reactos
at master 115 lines 3.6 kB view raw
1 2 3ifndef _DMKSCTRL_ 4#define _DMKSCTRL_ 5 6#if _MSC_VER >= 1200 7#pragma warning(push) 8#endif 9 10#include <pshpack8.h> 11#include <objbase.h> 12 13DEFINE_GUID(IID_IKsControl, 0x28F54685, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96); 14#ifndef _KSMEDIA_ 15DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MIDI, 0x1D262760, 0xE957, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00); 16DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DIRECTMUSIC, 0x1A82F8BC, 0x3F8B, 0x11D2, 0xB7, 0x74, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1); 17#endif 18 19#ifndef STATIC_IID_IKsControl 20 #define STATIC_IID_IKsControl 0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 21#endif 22 23#if !defined(_NTRTL_) 24 #ifndef STATICGUIDOF 25 #define STATICGUIDOF(guid) STATIC_##guid 26 #endif 27 #ifndef DEFINE_GUIDEX 28 #define DEFINE_GUIDEX(name) EXTERN_C const CDECL GUID name 29 #endif 30#endif 31 32#ifndef _KS_ 33#define _KS_ 34#define KSMETHOD_TYPE_NONE 0x00000000 35#define KSMETHOD_TYPE_READ 0x00000001 36#define KSMETHOD_TYPE_WRITE 0x00000002 37#define KSMETHOD_TYPE_MODIFY 0x00000003 38#define KSMETHOD_TYPE_SOURCE 0x00000004 39#define KSMETHOD_TYPE_SEND 0x00000001 40#define KSMETHOD_TYPE_SETSUPPORT 0x00000100 41#define KSMETHOD_TYPE_BASICSUPPORT 0x00000200 42#define KSPROPERTY_TYPE_GET 0x00000001 43#define KSPROPERTY_TYPE_SET 0x00000002 44#define KSPROPERTY_TYPE_SETSUPPORT 0x00000100 45#define KSPROPERTY_TYPE_BASICSUPPORT 0x00000200 46#define KSPROPERTY_TYPE_RELATIONS 0x00000400 47#define KSPROPERTY_TYPE_SERIALIZESET 0x00000800 48#define KSPROPERTY_TYPE_UNSERIALIZESET 0x00001000 49#define KSPROPERTY_TYPE_SERIALIZERAW 0x00002000 50#define KSPROPERTY_TYPE_UNSERIALIZERAW 0x00004000 51#define KSPROPERTY_TYPE_SERIALIZESIZE 0x00008000 52#define KSPROPERTY_TYPE_DEFAULTVALUES 0x00010000 53#define KSPROPERTY_TYPE_TOPOLOGY 0x10000000 54 55#if (defined(_MSC_EXTENSIONS) || defined(__cplusplus)) && !defined(CINTERFACE) 56typedef struct 57{ 58 union 59 { 60 struct 61 { 62 GUID Set; 63 ULONG Id; 64 ULONG Flags; 65 }; 66 LONGLONG Alignment; 67 }; 68} KSIDENTIFIER, *PKSIDENTIFIER,KSPROPERTY, *PKSPROPERTY, KSMETHOD, *PKSMETHOD, KSEVENT, *PKSEVENT; 69#else 70typedef struct 71{ 72 union 73 { 74 struct 75 { 76 GUID Set; 77 ULONG Id; 78 ULONG Flags; 79 } Data; 80 LONGLONG Alignment; 81 }; 82} KSIDENTIFIER, *PKSIDENTIFIER,KSPROPERTY, *PKSPROPERTY, KSMETHOD, *PKSMETHOD, KSEVENT, *PKSEVENT; 83#endif 84#endif 85 86#ifndef _IKsControl_ 87#define _IKsControl_ 88 89#ifdef DECLARE_INTERFACE_ 90 91 92#undef INTERFACE 93#define INTERFACE IKsControl 94DECLARE_INTERFACE_(IKsControl, IUnknown) 95{ 96 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE; 97 STDMETHOD_(ULONG,AddRef) (THIS) PURE; 98 STDMETHOD_(ULONG,Release) (THIS) PURE; 99 STDMETHOD(KsProperty)(THIS_ IN PKSPROPERTY Property, IN ULONG PropertyLength, IN OUT LPVOID PropertyData, 100 IN ULONG DataLength, OUT ULONG* BytesReturned) PURE; 101 STDMETHOD(KsMethod)(THIS_ IN PKSMETHOD Method, IN ULONG MethodLength, IN OUT LPVOID MethodData, 102 IN ULONG DataLength, OUT ULONG* BytesReturned) PURE; 103 STDMETHOD(KsEvent)(THIS_ IN PKSEVENT Event OPTIONAL, IN ULONG EventLength, IN OUT LPVOID EventData, 104 IN ULONG DataLength, OUT ULONG* BytesReturned) PURE; 105}; 106#endif 107#endif 108 109#include <poppack.h> 110 111#if _MSC_VER >= 1200 112#pragma warning(pop) 113#endif 114 115#endif