Home | History | Annotate | Download | only in include
      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