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 PKSPROPERTY Property, 35 ULONG PropertyLength, 36 LPVOID PropertyData, 37 ULONG DataLength, 38 ULONG* BytesReturned 39 ) PURE; 40 STDMETHOD(KsMethod)( 41 THIS_ 42 PKSMETHOD Method, 43 ULONG MethodLength, 44 LPVOID MethodData, 45 ULONG DataLength, 46 ULONG* BytesReturned 47 ) PURE; 48 STDMETHOD(KsEvent)( 49 THIS_ 50 PKSEVENT Event, 51 ULONG EventLength, 52 LPVOID EventData, 53 ULONG DataLength, 54 ULONG* BytesReturned 55 ) PURE; 56 }; 57 58 #endif /* _IKsControl_ */ 59 60