ReactOS  0.4.13-dev-455-g28ed234
ksiface.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  KSIOBJECT_BAG
 

Macros

#define DEFINE_ABSTRACT_UNKNOWN()
 
#define INTERFACE   IKsAllocator
 
#define INTERFACE   IKsClock
 
#define INTERFACE   IKsTransport
 
#define INTERFACE   IKsPin
 
#define INTERFACE   IKsQueue
 
#define INTERFACE   IKsFilter
 
#define INTERFACE   IKsFilterFactory
 
#define INTERFACE   IKsPowerNotify
 
#define INTERFACE   IKsDevice
 
#define INTERFACE   IKsProcessingObject
 

Typedefs

typedef struct KSIOBJECT_BAGPKSIOBJECT_BAG
 

Functions

 DECLARE_INTERFACE_ (IKsAllocator, IUnknown)
 
 DECLARE_INTERFACE_ (IKsClock, IUnknown)
 
 DECLARE_INTERFACE_ (IKsTransport, IUnknown)
 
 DECLARE_INTERFACE_ (IKsPin, IUnknown)
 
 DECLARE_INTERFACE_ (IKsQueue, IUnknown)
 
 DECLARE_INTERFACE_ (IKsFilter, IUnknown)
 
 DECLARE_INTERFACE_ (IKsFilterFactory, IUnknown)
 
 DECLARE_INTERFACE_ (IKsPowerNotify, IUnknown)
 
 DECLARE_INTERFACE_ (IKsDevice, IUnknown)
 
 DECLARE_INTERFACE_ (IKsProcessingObject, IUnknown)
 

Macro Definition Documentation

◆ DEFINE_ABSTRACT_UNKNOWN

#define DEFINE_ABSTRACT_UNKNOWN ( )
Value:
REFIID InterfaceId, \
PVOID* Interface)PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE;
_In_ BOOLEAN Release
Definition: classpnp.h:929
#define THIS
Definition: basetyps.h:66
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS QueryInterface(IN PDEVICE_OBJECT DeviceObject, IN CONST GUID InterfaceType, IN LONG Size, IN LONG Version, OUT PVOID Interface)
Definition: fdo.c:532
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
Definition: pci.h:359
#define PURE
Definition: basetyps.h:64
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
unsigned int ULONG
Definition: retypes.h:1
#define STDMETHOD_(t, m)
Definition: basetyps.h:63

Definition at line 5 of file ksiface.h.

◆ INTERFACE [1/10]

#define INTERFACE   IKsAllocator

Definition at line 317 of file ksiface.h.

◆ INTERFACE [2/10]

#define INTERFACE   IKsClock

Definition at line 317 of file ksiface.h.

◆ INTERFACE [3/10]

#define INTERFACE   IKsTransport

Definition at line 317 of file ksiface.h.

◆ INTERFACE [4/10]

#define INTERFACE   IKsPin

Definition at line 317 of file ksiface.h.

◆ INTERFACE [5/10]

#define INTERFACE   IKsQueue

Definition at line 317 of file ksiface.h.

◆ INTERFACE [6/10]

#define INTERFACE   IKsFilter

Definition at line 317 of file ksiface.h.

◆ INTERFACE [7/10]

#define INTERFACE   IKsFilterFactory

Definition at line 317 of file ksiface.h.

◆ INTERFACE [8/10]

#define INTERFACE   IKsPowerNotify

Definition at line 317 of file ksiface.h.

◆ INTERFACE [9/10]

#define INTERFACE   IKsDevice

Definition at line 317 of file ksiface.h.

◆ INTERFACE [10/10]

#define INTERFACE   IKsProcessingObject

Definition at line 317 of file ksiface.h.

Typedef Documentation

◆ PKSIOBJECT_BAG

Function Documentation

◆ DECLARE_INTERFACE_() [1/10]

DECLARE_INTERFACE_ ( IKsAllocator  ,
IUnknown   
)

Definition at line 30 of file ksiface.h.

31 {
33 
34  STDMETHOD_(NTSTATUS, DispatchDeviceIoControl)(THIS_
36  IN PIRP Irp) PURE;
37 
39 
40  STDMETHOD_(NTSTATUS, AllocateFrame)(THIS_
41  IN PVOID * OutFrame) PURE;
42 
43  STDMETHOD_(VOID, FreeFrame)(THIS_
44  IN PVOID OutFrame) PURE;
45 };
#define IN
Definition: typedefs.h:38
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
_In_ PIRP Irp
Definition: csq.h:116
LONG NTSTATUS
Definition: precomp.h:26
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
Definition: sacdrv.h:267
#define PURE
Definition: basetyps.h:64
#define STDMETHOD_(t, m)
Definition: basetyps.h:63

◆ DECLARE_INTERFACE_() [2/10]

DECLARE_INTERFACE_ ( IKsClock  ,
IUnknown   
)

Definition at line 56 of file ksiface.h.

57 {
59 };
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5

◆ DECLARE_INTERFACE_() [3/10]

DECLARE_INTERFACE_ ( IKsTransport  ,
IUnknown   
)

Definition at line 69 of file ksiface.h.

70 {
72 };
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5

◆ DECLARE_INTERFACE_() [4/10]

DECLARE_INTERFACE_ ( IKsPin  ,
IUnknown   
)

Definition at line 85 of file ksiface.h.

86 {
88 
89  STDMETHOD_(NTSTATUS, TransferKsIrp)(THIS_
90  IN PIRP Irp,
91  IN IKsTransport **OutTransport) PURE;
92 
93  STDMETHOD_(VOID, DiscardKsIrp)(THIS_
94  IN PIRP Irp,
95  IN IKsTransport * *OutTransport) PURE;
96 
98  IN IKsTransport * TransportIn,
99  OUT IKsTransport ** OutTransportIn,
100  OUT IKsTransport * *OutTransportOut,
102 
103  STDMETHOD_(NTSTATUS, SetDeviceState)(THIS_
104  IN KSSTATE OldState,
105  IN KSSTATE NewState,
106  IN IKsTransport * *OutTransport) PURE;
107 
108  STDMETHOD_(VOID, SetResetState)(THIS_
110  OUT IKsTransport * * OutTransportOut) PURE;
111 
112  STDMETHOD_(NTSTATUS, GetTransportConfig)(THIS_
113  IN struct KSPTRANSPORTCONFIG * TransportConfig,
114  OUT IKsTransport ** OutTransportIn,
115  OUT IKsTransport ** OutTransportOut) PURE;
116 
117  STDMETHOD_(NTSTATUS, SetTransportConfig)(THIS_
118  IN struct KSPTRANSPORTCONFIG const * TransportConfig,
119  OUT IKsTransport ** OutTransportIn,
120  OUT IKsTransport ** OutTransportOut) PURE;
121 
122  STDMETHOD_(NTSTATUS, ResetTransportConfig)(THIS_
123  OUT IKsTransport ** OutTransportIn,
124  OUT IKsTransport ** OutTransportOut) PURE;
125 
126  STDMETHOD_(PKSPIN, GetStruct)(THIS) PURE;
127  STDMETHOD_(PKSPROCESSPIN, GetProcessPin)(THIS) PURE;
128  STDMETHOD_(NTSTATUS, AttemptBypass)(THIS) PURE;
129  STDMETHOD_(NTSTATUS, AttemptUnbypass)(THIS) PURE;
130 
131  STDMETHOD_(VOID, GenerateConnectionEvents)(THIS_
132  IN ULONG EventMask) PURE;
133 
134  STDMETHOD_(NTSTATUS, ClientSetDeviceState)(THIS_
135  IN KSSTATE StateIn,
136  IN KSSTATE StateOut) PURE;
137 };
#define IN
Definition: typedefs.h:38
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5
#define THIS_
Definition: basetyps.h:65
_In_ PKSPIN_CONNECT Connect
Definition: ks.h:4565
#define THIS
Definition: basetyps.h:66
_In_ PIRP Irp
Definition: csq.h:116
LONG NTSTATUS
Definition: precomp.h:26
KSPIN_DATAFLOW
Definition: ks.h:1278
KSSTATE
Definition: ks.h:1244
#define PURE
Definition: basetyps.h:64
#define OUT
Definition: typedefs.h:39
unsigned int ULONG
Definition: retypes.h:1
#define const
Definition: zconf.h:230
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
DataFlow
KSRESET
Definition: ks.h:1256

◆ DECLARE_INTERFACE_() [5/10]

DECLARE_INTERFACE_ ( IKsQueue  ,
IUnknown   
)

Definition at line 147 of file ksiface.h.

148 {
150 
151 };
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5

◆ DECLARE_INTERFACE_() [6/10]

DECLARE_INTERFACE_ ( IKsFilter  ,
IUnknown   
)

Definition at line 164 of file ksiface.h.

165 {
167 
168  STDMETHOD_(PKSFILTER, GetStruct)(THIS) PURE;
169 
170  STDMETHOD_(BOOL, DoAllNecessaryPinsExist)(THIS) PURE;
171 
172  STDMETHOD_(NTSTATUS, CreateNode)(THIS_
173  IN PIRP Irp,
174  IN IKsPin * Pin,
175  IN PLIST_ENTRY ListEntry) PURE;
176 
177  STDMETHOD_(NTSTATUS, BindProcessPinsToPipeSection)(THIS_
178  IN struct KSPROCESSPIPESECTION *Section,
179  IN PVOID Create,
180  IN PKSPIN KsPin,
181  OUT IKsPin **Pin,
182  OUT PKSGATE *OutGate) PURE;
183 
184  STDMETHOD_(NTSTATUS, UnbindProcessPinsFromPipeSection)(THIS_
185  IN struct KSPROCESSPIPESECTION *Section) PURE;
186 
187  STDMETHOD_(NTSTATUS, AddProcessPin)(THIS_
188  IN PKSPROCESSPIN ProcessPin) PURE;
189 
190  STDMETHOD_(NTSTATUS, RemoveProcessPin)(THIS_
191  IN PKSPROCESSPIN ProcessPin) PURE;
192 
193  STDMETHOD_(BOOL, ReprepareProcessPipeSection)(THIS_
194  IN struct KSPROCESSPIPESECTION *PipeSection,
195  IN PULONG Data) PURE;
196 
197  STDMETHOD_(VOID, DeliverResetState)(THIS_
198  IN struct KSPROCESSPIPESECTION *PipeSection,
200 
201  STDMETHOD_(BOOL, IsFrameHolding)(THIS);
202 
203  STDMETHOD_(VOID, RegisterForCopyCallbacks)(THIS_
204  IKsQueue * Queue,
205  IN BOOL Enable) PURE;
206 
207  STDMETHOD_(PKSPROCESSPIN_INDEXENTRY, GetProcessDispatch)(THIS);
208 };
#define IN
Definition: typedefs.h:38
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
_In_ PIRP Irp
Definition: csq.h:116
_In_ BOOLEAN Create
Definition: pstypes.h:511
LONG NTSTATUS
Definition: precomp.h:26
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:140
unsigned int BOOL
Definition: ntddk_ex.h:94
IN PDCB IN VBO IN ULONG IN BOOLEAN Pin
Definition: fatprocs.h:415
Definition: typedefs.h:117
unsigned int * PULONG
Definition: retypes.h:1
#define PURE
Definition: basetyps.h:64
struct _KSPROCESSPIN_INDEXENTRY * PKSPROCESSPIN_INDEXENTRY
Definition: ks.h:3057
#define OUT
Definition: typedefs.h:39
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
KSRESET
Definition: ks.h:1256

◆ DECLARE_INTERFACE_() [7/10]

DECLARE_INTERFACE_ ( IKsFilterFactory  ,
IUnknown   
)

Definition at line 218 of file ksiface.h.

219 {
221 
222  STDMETHOD_(KSFILTERFACTORY*, GetStruct)(THIS) PURE;
223 
224  STDMETHOD_(NTSTATUS, SetDeviceClassesState)(THIS_
226 
229  IN const KSFILTER_DESCRIPTOR *Descriptor,
230  IN PWSTR RefString OPTIONAL,
232  IN ULONG CreateItemFlags,
233  IN PFNKSFILTERFACTORYPOWER SleepCallback OPTIONAL,
234  IN PFNKSFILTERFACTORYPOWER WakeCallback OPTIONAL,
235  OUT PKSFILTERFACTORY *FilterFactory OPTIONAL)PURE;
236 };
#define IN
Definition: typedefs.h:38
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
Definition: wsk.h:182
uint16_t * PWSTR
Definition: typedefs.h:54
LONG NTSTATUS
Definition: precomp.h:26
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:140
unsigned char BOOLEAN
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
BOOL Initialize(HINSTANCE hInstance)
Definition: msconfig.c:341
#define PURE
Definition: basetyps.h:64
#define OUT
Definition: typedefs.h:39
unsigned int ULONG
Definition: retypes.h:1
#define const
Definition: zconf.h:230
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
_In_ PSTORAGE_PROPERTY_ID _Outptr_ PSTORAGE_DESCRIPTOR_HEADER * Descriptor
Definition: classpnp.h:966
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68

◆ DECLARE_INTERFACE_() [8/10]

DECLARE_INTERFACE_ ( IKsPowerNotify  ,
IUnknown   
)

Definition at line 247 of file ksiface.h.

248 {
250 
253 
255 };
#define IN
Definition: typedefs.h:38
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
Definition: synch.c:736
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
static VOID Wake(USHORT Csn)
Definition: hardware.c:100
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
#define PURE
Definition: basetyps.h:64
#define STDMETHOD_(t, m)
Definition: basetyps.h:63

◆ DECLARE_INTERFACE_() [9/10]

DECLARE_INTERFACE_ ( IKsDevice  ,
IUnknown   
)

Definition at line 268 of file ksiface.h.

269 {
271 
272  STDMETHOD_(KSDEVICE*,GetStruct)(THIS) PURE;
273 
274  STDMETHOD_(NTSTATUS, InitializeObjectBag)(THIS_
275  IN PKSIOBJECT_BAG Bag,
277 
278  STDMETHOD_(NTSTATUS,AcquireDevice)(THIS) PURE;
279  STDMETHOD_(NTSTATUS,ReleaseDevice)(THIS) PURE;
280 
281  STDMETHOD_(NTSTATUS, GetAdapterObject)(THIS_
283  IN PULONG MaxMappingsByteCount,
284  IN PULONG MappingTableStride) PURE;
285 
286  STDMETHOD_(NTSTATUS, AddPowerEntry)(THIS_
287  IN struct KSPOWER_ENTRY * Entry,
288  IN IKsPowerNotify* Notify)PURE;
289 
290  STDMETHOD_(NTSTATUS, RemovePowerEntry)(THIS_
291  IN struct KSPOWER_ENTRY * Entry)PURE;
292 
293  STDMETHOD_(NTSTATUS, PinStateChange)(THIS_
294  IN KSPIN Pin,
295  IN PIRP Irp,
296  IN KSSTATE OldState,
297  IN KSSTATE NewState)PURE;
298 
299  STDMETHOD_(NTSTATUS, ArbitrateAdapterChannel)(THIS_
303 
304  STDMETHOD_(NTSTATUS, CheckIoCapability)(THIS_
306 };
BOOL WINAPI SHIM_OBJ_NAME() Notify(DWORD fdwReason, PVOID ptr)
#define IN
Definition: typedefs.h:38
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5
#define THIS_
Definition: basetyps.h:65
_Out_ PULONG NumberOfMapRegisters
Definition: halfuncs.h:209
#define THIS
Definition: basetyps.h:66
_In_ PIRP Irp
Definition: csq.h:116
LONG NTSTATUS
Definition: precomp.h:26
Definition: Mutex.h:15
IN PDCB IN VBO IN ULONG IN BOOLEAN Pin
Definition: fatprocs.h:415
static IUnknown Object
Definition: main.c:512
KSSTATE
Definition: ks.h:1244
unsigned int * PULONG
Definition: retypes.h:1
#define PURE
Definition: basetyps.h:64
_In_ PDEVICE_OBJECT _In_ ULONG _In_ PDRIVER_CONTROL ExecutionRoutine
Definition: iofuncs.h:1393
unsigned int ULONG
Definition: retypes.h:1
DRIVER_CONTROL * PDRIVER_CONTROL
Definition: iotypes.h:192
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
base of all file and directory entries
Definition: entries.h:82

◆ DECLARE_INTERFACE_() [10/10]

DECLARE_INTERFACE_ ( IKsProcessingObject  ,
IUnknown   
)

Definition at line 319 of file ksiface.h.

320 {
322 
323  STDMETHOD_(VOID, ProcessingObjectWork)(THIS) PURE;
324 
325  STDMETHOD_(PKSGATE, GetAndGate)(THIS) PURE;
326 
329 
330  STDMETHOD_(VOID, Reset)(THIS) PURE;
331 
332  STDMETHOD_(VOID, TriggerNotification)(THIS) PURE;
333 
334 };
#define IN
Definition: typedefs.h:38
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
_In_ SYSTEM_POWER_STATE _In_ ULONG _In_ BOOLEAN Asynchronous
Definition: ntpoapi.h:303
unsigned char BOOLEAN
#define PURE
Definition: basetyps.h:64
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
#define STDMETHOD_(t, m)
Definition: basetyps.h:63