ReactOS 0.4.15-dev-7942-gd23573b
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, \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE;
LONG NTSTATUS
Definition: precomp.h:26
#define PURE
Definition: basetyps.h:64
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
_In_ BOOLEAN Release
Definition: cdrom.h:920
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465

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 THIS_
Definition: basetyps.h:65
_In_ PIRP Irp
Definition: csq.h:116
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5
@ Close
Definition: sacdrv.h:268
#define IN
Definition: typedefs.h:39
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055

◆ DECLARE_INTERFACE_() [2/10]

DECLARE_INTERFACE_ ( IKsClock  ,
IUnknown   
)

Definition at line 56 of file ksiface.h.

57{
59};

◆ DECLARE_INTERFACE_() [3/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};
Definition: Mutex.h:16
BOOL WINAPI SHIM_OBJ_NAME() Notify(DWORD fdwReason, PVOID ptr)
IN PDCB IN VBO IN ULONG IN BOOLEAN Pin
Definition: fatprocs.h:427
@ Unknown
Definition: i8042prt.h:114
KSSTATE
Definition: ks.h:1214
base of all file and directory entries
Definition: entries.h:83
uint32_t * PULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Out_ PULONG NumberOfMapRegisters
Definition: halfuncs.h:209
_In_ PDEVICE_OBJECT _In_ ULONG _In_ PDRIVER_CONTROL ExecutionRoutine
Definition: iofuncs.h:1399
DRIVER_CONTROL * PDRIVER_CONTROL
Definition: iotypes.h:215

◆ DECLARE_INTERFACE_() [4/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,
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,
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,
206
207 STDMETHOD_(PKSPROCESSPIN_INDEXENTRY, GetProcessDispatch)(THIS);
208};
@ Create
Definition: registry.c:563
unsigned int BOOL
Definition: ntddk_ex.h:94
@ ResetState
Definition: hdaudio.h:83
KSRESET
Definition: ks.h:1226
struct _KSPROCESSPIN_INDEXENTRY * PKSPROCESSPIN_INDEXENTRY
Definition: ks.h:3028
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
Definition: typedefs.h:120
#define OUT
Definition: typedefs.h:40
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
Definition: wdfdevice.h:2225

◆ DECLARE_INTERFACE_() [5/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,
232 IN ULONG CreateItemFlags,
233 IN PFNKSFILTERFACTORYPOWER SleepCallback OPTIONAL,
234 IN PFNKSFILTERFACTORYPOWER WakeCallback OPTIONAL,
235 OUT PKSFILTERFACTORY *FilterFactory OPTIONAL)PURE;
236};
unsigned char BOOLEAN
__in WDFDEVICE __in CONST GUID __in_opt PCUNICODE_STRING RefString
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
uint16_t * PWSTR
Definition: typedefs.h:56
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Definition: wdfresource.h:342
_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:191
static void Initialize()
Definition: xlate.c:212
#define const
Definition: zconf.h:233

◆ DECLARE_INTERFACE_() [6/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};
DataFlow
KSPIN_DATAFLOW
Definition: ks.h:1248
_In_ PKSPIN_CONNECT Connect
Definition: ks.h:4536

◆ DECLARE_INTERFACE_() [7/10]

DECLARE_INTERFACE_ ( IKsPowerNotify  ,
IUnknown   
)

Definition at line 247 of file ksiface.h.

248{
250
253
255};
static VOID Wake(_In_ UCHAR Csn)
Definition: hardware.c:149
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
Definition: synch.c:790

◆ DECLARE_INTERFACE_() [8/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};
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
_In_ SYSTEM_POWER_STATE _In_ ULONG _In_ BOOLEAN Asynchronous
Definition: ntpoapi.h:305

◆ DECLARE_INTERFACE_() [9/10]

DECLARE_INTERFACE_ ( IKsQueue  ,
IUnknown   
)

Definition at line 147 of file ksiface.h.

148{
150
151};

◆ DECLARE_INTERFACE_() [10/10]

DECLARE_INTERFACE_ ( IKsTransport  ,
IUnknown   
)

Definition at line 69 of file ksiface.h.

70{
72};