source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dmksctrl.h@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 2.9 KB
Line 
1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 *
5 * dmksctrl.h
6 *
7 * Contributors:
8 * Created by Johannes Anderwald
9 * Reworked by Kai Tietz
10 *
11 */
12
13#ifndef _DMKSCTRL_
14#define _DMKSCTRL_
15
16#include <winapifamily.h>
17
18#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
19
20#include <pshpack8.h>
21#include <objbase.h>
22
23#ifndef _NTRTL_
24#ifndef DEFINE_GUIDEX
25#define DEFINE_GUIDEX(name) EXTERN_C const CDECL GUID name
26#endif
27
28#ifndef STATICGUIDOF
29#define STATICGUIDOF(guid) STATIC_##guid
30#endif
31#endif
32
33#ifndef STATIC_IID_IKsControl
34#define STATIC_IID_IKsControl 0x28f54685, 0x06fd, 0x11d2, 0xb2, 0x7a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96
35#endif
36
37#ifndef _KS_
38#define _KS_
39
40typedef struct {
41 __C89_NAMELESS union {
42 __C89_NAMELESS struct {
43 GUID Set;
44 ULONG Id;
45 ULONG Flags;
46 };
47 LONGLONG Alignment;
48 };
49} KSIDENTIFIER,*PKSIDENTIFIER;
50
51typedef KSIDENTIFIER KSPROPERTY,*PKSPROPERTY, KSMETHOD,*PKSMETHOD, KSEVENT,*PKSEVENT;
52
53#define KSMETHOD_TYPE_NONE 0x0
54#define KSMETHOD_TYPE_READ 0x1
55#define KSMETHOD_TYPE_SEND 0x1
56#define KSMETHOD_TYPE_WRITE 0x2
57#define KSMETHOD_TYPE_MODIFY 0x3
58#define KSMETHOD_TYPE_SOURCE 0x4
59#define KSMETHOD_TYPE_SETSUPPORT 0x100
60#define KSMETHOD_TYPE_BASICSUPPORT 0x200
61
62#define KSPROPERTY_TYPE_GET 0x1
63#define KSPROPERTY_TYPE_SET 0x2
64#define KSPROPERTY_TYPE_SETSUPPORT 0x100
65#define KSPROPERTY_TYPE_BASICSUPPORT 0x200
66#define KSPROPERTY_TYPE_RELATIONS 0x400
67#define KSPROPERTY_TYPE_SERIALIZESET 0x800
68#define KSPROPERTY_TYPE_UNSERIALIZESET 0x1000
69#define KSPROPERTY_TYPE_SERIALIZERAW 0x2000
70#define KSPROPERTY_TYPE_UNSERIALIZERAW 0x4000
71#define KSPROPERTY_TYPE_SERIALIZESIZE 0x8000
72#define KSPROPERTY_TYPE_DEFAULTVALUES 0x10000
73#define KSPROPERTY_TYPE_TOPOLOGY 0x10000000
74#endif
75
76#ifndef _IKsControl_
77#define _IKsControl_
78
79#ifdef DECLARE_INTERFACE_
80#undef INTERFACE
81#define INTERFACE IKsControl
82
83DECLARE_INTERFACE_ (IKsControl, IUnknown) {
84#ifndef __cplusplus
85 STDMETHOD (QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
86 STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
87 STDMETHOD_ (ULONG, Release) (THIS) PURE;
88#endif
89 STDMETHOD (KsProperty) (THIS_ PKSPROPERTY Property, ULONG PropertyLength, LPVOID PropertyData, ULONG DataLength, ULONG *BytesReturned) PURE;
90 STDMETHOD (KsMethod) (THIS_ PKSMETHOD Method, ULONG MethodLength, LPVOID MethodData, ULONG DataLength, ULONG *BytesReturned) PURE;
91 STDMETHOD (KsEvent) (THIS_ PKSEVENT Event, ULONG EventLength, LPVOID EventData, ULONG DataLength, ULONG *BytesReturned) PURE;
92};
93#endif
94#endif
95
96#include <poppack.h>
97
98DEFINE_GUID (IID_IKsControl, 0x28f54685, 0x06fd, 0x11d2, 0xb2, 0x7a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96);
99#ifndef _KSMEDIA_
100DEFINE_GUID (KSDATAFORMAT_SUBTYPE_MIDI, 0x1d262760, 0xe957, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00);
101DEFINE_GUID (KSDATAFORMAT_SUBTYPE_DIRECTMUSIC, 0x1a82f8bc, 0x3f8b, 0x11d2, 0xb7, 0x74, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1);
102#endif
103
104#endif
105#endif
Note: See TracBrowser for help on using the repository browser.