0420d1baa45c23b767b56b181bc6bfa745c36a89
[reactos.git] / include / psdk / dmksctrl.h
1 /*
2 * dmksctrl.h
3 *
4 * Contributors:
5 * Created by Johannes Anderwald
6 *
7 * THIS SOFTWARE IS NOT COPYRIGHTED
8 *
9 * This source code is offered for use in the public domain. You may
10 * use, modify or distribute it freely.
11 *
12 * This code is distributed in the hope that it will be useful but
13 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
14 * DISCLAIMED. This includes but is not limited to warranties of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 *
17 */
18
19 #ifndef _IKsControl_
20 #define _IKsControl_
21
22 #undef INTERFACE
23 #define INTERFACE IKsControl
24 DECLARE_INTERFACE_(IKsControl, IUnknown)
25 {
26 /* IUnknown */
27 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
28 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
29 STDMETHOD_(ULONG,Release) (THIS) PURE;
30
31 /*IKsControl*/
32 STDMETHOD(KsProperty)(
33 THIS_
34 IN PKSPROPERTY Property,
35 IN ULONG PropertyLength,
36 IN OUT LPVOID PropertyData,
37 IN ULONG DataLength,
38 OUT ULONG* BytesReturned
39 ) PURE;
40 STDMETHOD(KsMethod)(
41 THIS_
42 IN PKSMETHOD Method,
43 IN ULONG MethodLength,
44 IN OUT LPVOID MethodData,
45 IN ULONG DataLength,
46 OUT ULONG* BytesReturned
47 ) PURE;
48 STDMETHOD(KsEvent)(
49 THIS_
50 IN PKSEVENT Event OPTIONAL,
51 IN ULONG EventLength,
52 IN OUT LPVOID EventData,
53 IN ULONG DataLength,
54 OUT ULONG* BytesReturned
55 ) PURE;
56 };
57
58 #endif