/[cvs]/api/include/dmksctrl.h
ViewVC logotype

Annotation of /api/include/dmksctrl.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (hide annotations) (vendor branch)
Sun Jul 1 20:47:59 2001 UTC (23 years, 5 months ago) by bearsoft
Branch: lazy, MAIN
CVS Tags: start, HEAD
Changes since 1.1: +0 -0 lines
File MIME type: text/plain
First import

1 bearsoft 1.1 /************************************************************************
2     * *
3     * dmksctrl.h -- Definition of IKsControl *
4     * *
5     * Copyright (c) 1998-1999 Microsoft Corporation
6     * *
7     * *
8     * This header file contains the definition of IKsControl, which *
9     * duplicates definitions from ks.h and ksproxy.h. Your code should *
10     * include ks.h and ksproxy.h directly if you have them (they are *
11     * provided in the Windows 98 DDK and will be in the Windows NT 5 *
12     * SDK). *
13     * *
14     ************************************************************************/
15    
16     #ifndef _DMKSCTRL_
17     #define _DMKSCTRL_
18    
19     #if _MSC_VER >= 1200
20     #pragma warning(push)
21     #endif
22     #pragma warning(disable:4201) /* Disable warnings on anonymous unions */
23    
24     #include <pshpack8.h>
25    
26     #include <objbase.h>
27    
28     #if !defined(_NTRTL_)
29     #ifndef DEFINE_GUIDEX
30     #define DEFINE_GUIDEX(name) EXTERN_C const CDECL GUID name
31     #endif /* !defined(DEFINE_GUIDEX) */
32    
33     #ifndef STATICGUIDOF
34     #define STATICGUIDOF(guid) STATIC_##guid
35     #endif /* !defined(STATICGUIDOF) */
36     #endif /* !defined(_NTRTL_) */
37    
38     #ifndef STATIC_IID_IKsControl
39     #define STATIC_IID_IKsControl\
40     0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
41     #endif /* STATIC_IID_IKsControl */
42    
43     /*
44     * Warning: This will prevent the rest of ks.h from being pulled in if ks.h is
45     * included after dmksctrl.h. Make sure you do not include both headers in
46     * the same source file.
47     */
48     #ifndef _KS_
49     #define _KS_
50    
51     #if (defined(_MSC_EXTENSIONS) || defined(__cplusplus)) && !defined(CINTERFACE)
52     typedef struct {
53     union {
54     struct {
55     GUID Set;
56     ULONG Id;
57     ULONG Flags;
58     };
59     LONGLONG Alignment;
60     };
61     } KSIDENTIFIER, *PKSIDENTIFIER;
62     #else
63     typedef struct {
64     union {
65     struct {
66     GUID Set;
67     ULONG Id;
68     ULONG Flags;
69     } Data;
70     LONGLONG Alignment;
71     };
72     } KSIDENTIFIER, *PKSIDENTIFIER;
73     #endif
74    
75     typedef KSIDENTIFIER KSPROPERTY, *PKSPROPERTY, KSMETHOD, *PKSMETHOD, KSEVENT, *PKSEVENT;
76    
77     #define KSMETHOD_TYPE_NONE 0x00000000
78     #define KSMETHOD_TYPE_READ 0x00000001
79     #define KSMETHOD_TYPE_WRITE 0x00000002
80     #define KSMETHOD_TYPE_MODIFY 0x00000003
81     #define KSMETHOD_TYPE_SOURCE 0x00000004
82    
83     #define KSMETHOD_TYPE_SEND 0x00000001
84     #define KSMETHOD_TYPE_SETSUPPORT 0x00000100
85     #define KSMETHOD_TYPE_BASICSUPPORT 0x00000200
86    
87     #define KSPROPERTY_TYPE_GET 0x00000001
88     #define KSPROPERTY_TYPE_SET 0x00000002
89     #define KSPROPERTY_TYPE_SETSUPPORT 0x00000100
90     #define KSPROPERTY_TYPE_BASICSUPPORT 0x00000200
91     #define KSPROPERTY_TYPE_RELATIONS 0x00000400
92     #define KSPROPERTY_TYPE_SERIALIZESET 0x00000800
93     #define KSPROPERTY_TYPE_UNSERIALIZESET 0x00001000
94     #define KSPROPERTY_TYPE_SERIALIZERAW 0x00002000
95     #define KSPROPERTY_TYPE_UNSERIALIZERAW 0x00004000
96     #define KSPROPERTY_TYPE_SERIALIZESIZE 0x00008000
97     #define KSPROPERTY_TYPE_DEFAULTVALUES 0x00010000
98    
99     #define KSPROPERTY_TYPE_TOPOLOGY 0x10000000
100     #endif /* _KS_ */
101    
102     #ifndef _IKsControl_
103     #define _IKsControl_
104    
105     #ifdef DECLARE_INTERFACE_
106    
107    
108     #undef INTERFACE
109     #define INTERFACE IKsControl
110     DECLARE_INTERFACE_(IKsControl, IUnknown)
111     {
112     /* IUnknown */
113     STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
114     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
115     STDMETHOD_(ULONG,Release) (THIS) PURE;
116    
117     /*IKsControl*/
118     STDMETHOD(KsProperty)(
119     THIS_
120     IN PKSPROPERTY Property,
121     IN ULONG PropertyLength,
122     IN OUT LPVOID PropertyData,
123     IN ULONG DataLength,
124     OUT ULONG* BytesReturned
125     ) PURE;
126     STDMETHOD(KsMethod)(
127     THIS_
128     IN PKSMETHOD Method,
129     IN ULONG MethodLength,
130     IN OUT LPVOID MethodData,
131     IN ULONG DataLength,
132     OUT ULONG* BytesReturned
133     ) PURE;
134     STDMETHOD(KsEvent)(
135     THIS_
136     IN PKSEVENT Event OPTIONAL,
137     IN ULONG EventLength,
138     IN OUT LPVOID EventData,
139     IN ULONG DataLength,
140     OUT ULONG* BytesReturned
141     ) PURE;
142     };
143    
144     #endif /* DECLARE_INTERFACE_ */
145     #endif /* _IKsControl_ */
146    
147     #include <poppack.h>
148    
149     DEFINE_GUID(IID_IKsControl, 0x28F54685, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96);
150    
151     /* These formats are in ksmedia.h
152     */
153     #ifndef _KSMEDIA_
154    
155     DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MIDI, 0x1D262760L, 0xE957, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00);
156     DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DIRECTMUSIC, 0x1a82f8bc, 0x3f8b, 0x11d2, 0xb7, 0x74, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1);
157    
158     #endif
159    
160     #if _MSC_VER >= 1200
161     #pragma warning(pop)
162     #endif
163    
164     #endif /* _DMKSCTRL */
165    
166    
167    

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26