ReactOS  0.4.13-dev-259-g5ca9c9c
private.hpp
Go to the documentation of this file.
1 /*
2  PortCls FDO Extension
3 
4  by Andrew Greenwood
5 */
6 
7 #ifndef PORTCLS_PRIVATE_H
8 #define PORTCLS_PRIVATE_H
9 
10 #include <stdio.h>
11 
12 //#define _KS_NO_ANONYMOUS_STRUCTURES_
13 #define PC_IMPLEMENTATION
14 #define COM_STDMETHOD_CAN_THROW
15 #define PC_NO_IMPORTS
16 
17 #include <ntddk.h>
18 #include <portcls.h>
19 #include <dmusicks.h>
20 #include <kcom.h>
21 
22 #include "interfaces.hpp"
23 
24 #define TAG_PORTCLASS 'SLCP'
25 
26 #define PC_ASSERT(exp) \
27  (VOID)((!(exp)) ? \
28  RtlAssert((PVOID) #exp, (PVOID)__FILE__, __LINE__, NULL ), FALSE : TRUE)
29 
30 #define PC_ASSERT_IRQL(x) PC_ASSERT(KeGetCurrentIrql() <= (x))
31 #define PC_ASSERT_IRQL_EQUAL(x) PC_ASSERT(KeGetCurrentIrql()==(x))
32 
33 extern
34 "C"
36 NTAPI
39  IN PIRP Irp);
40 
41 extern
42 "C"
44 NTAPI
47  IN PIRP Irp);
48 
49 extern
50 "C"
52 NTAPI
55  IN PIRP Irp);
56 
57 extern
58 "C"
60 NTAPI
63  IN PIRP Irp);
64 
67  OUT PMINIPORT* OutMiniport,
68  IN REFCLSID ClassId);
69 
72  OUT PMINIPORT* OutMiniport,
73  IN REFCLSID ClassId);
74 
77  OUT PPORT* OutPort);
78 
81  OUT PPORT* OutPort);
82 
85  OUT PPORT* OutPort);
86 
89  OUT PPORT* OutPort);
90 
93  OUT PDRMPORT2 *OutPort);
94 
97  OUT PPORTCLSVERSION * OutVersion);
98 
101  OUT IPortFilterWaveCyclic ** OutFilter);
102 
103 NTSTATUS
105  OUT IPortPinWaveCyclic ** OutPin);
106 
107 NTSTATUS
109  OUT IPortFilterWavePci ** OutFilter);
110 
111 NTSTATUS
113  OUT IPortPinWavePci ** OutPin);
114 
117  IPortWavePci* iface);
118 
121  IPortWavePci* iface);
122 
126 
127 
128 NTSTATUS
130  OUT PPORTFILTERDMUS * OutFilter);
131 
132 
133 NTSTATUS
135  OUT PPORTPINDMUS * OutPin);
136 
137 VOID
139  IN IPortDMus * iface,
140  IN PMINIPORTDMUS * Miniport,
141  IN PMINIPORTMIDI * MidiMiniport);
142 
143 #if (NTDDI_VERSION >= NTDDI_VISTA)
144 
145 NTSTATUS
147  OUT IPortFilterWaveRT ** OutFilter);
148 
149 NTSTATUS
151  OUT IPortPinWaveRT ** OutPin);
152 
155  IN IPortWaveRT* iface);
156 
159  IPortWaveRT* iface);
160 
161 
162 NTSTATUS
164  PPORTWAVERTSTREAM *OutStream);
165 
166 NTSTATUS
168  OUT PPORT* OutPort);
169 
170 
171 #endif
172 
173 NTSTATUS
175  OUT IPortFilterTopology ** OutFilter);
176 
180 
181 NTSTATUS
182 NTAPI
184  IN PIRP Irp,
185  IN IIrpTarget * Target,
186  IN ULONG ObjectCreateItemCount,
187  IN PKSOBJECT_CREATE_ITEM ObjectCreateItem);
188 
191  IN IPortWaveCyclic* iface);
192 
193 PVOID
197  IN ULONG Tag);
198 
199 VOID
200 FreeItem(
201  IN PVOID Item,
202  IN ULONG Tag);
203 
204 NTSTATUS
205 NTAPI
207  IN IIrpQueue **Queue);
208 
209 NTSTATUS
210 NTAPI
212  IN PIRP Irp,
214  IN OUT PVOID Data);
215 
216 NTSTATUS
217 NTAPI
219  IN PIRP Irp,
221  IN OUT PVOID Data);
222 
223 extern
224 "C"
225 NTSTATUS
226 NTAPI
230  IN BOOLEAN Dma32BitAddresses,
231  IN BOOLEAN IgnoreCount,
233  IN DMA_WIDTH DmaWidth,
234  IN DMA_SPEED DmaSpeed,
236  IN ULONG DmaPort,
238 
239 extern
240 "C"
241 NTSTATUS
242 NTAPI
245  IN ULONG DmaIndex,
246  IN BOOLEAN DemandMode,
247  IN BOOLEAN AutoInitialize,
248  IN DMA_SPEED DmaSpeed,
250  IN ULONG DmaPort,
252 
253 extern
254 "C"
255 NTSTATUS
256 NTAPI
258  OUT SUBDEVICE_DESCRIPTOR ** OutSubdeviceDescriptor,
259  IN ULONG InterfaceCount,
261  IN ULONG IdentifierCount,
262  IN KSIDENTIFIER *Identifier,
263  IN ULONG FilterPropertiesCount,
264  IN KSPROPERTY_SET * FilterProperties,
265  IN ULONG Unknown1,
266  IN ULONG Unknown2,
267  IN ULONG PinPropertiesCount,
268  IN KSPROPERTY_SET * PinProperties,
269  IN ULONG EventSetCount,
270  IN KSEVENT_SET * EventSet,
271  IN PPCFILTER_DESCRIPTOR FilterDescription);
272 
273 extern
274 "C"
275 NTSTATUS
276 NTAPI
278  IN PIRP Irp,
281 
282 NTSTATUS
283 NTAPI
286  IN PIRP Irp);
287 
290  IPortWaveCyclic* iface);
291 
292 VOID
293 NTAPI
296  IN PVOID Context);
297 
298 NTSTATUS
299 NTAPI
301  OUT PUNREGISTERSUBDEVICE *OutDevice);
302 
303 NTSTATUS
304 NTAPI
306  OUT PUNREGISTERPHYSICALCONNECTION *OutConnection);
307 
308 NTSTATUS
309 NTAPI
311  IN PIRP Irp,
312  IN ULONG PropertySetCount,
313  IN PKSPROPERTY_SET PropertySet,
315 
316 NTSTATUS
317 NTAPI
319  IN PIRP Irp,
321 
322 NTSTATUS
323 NTAPI
325  IN PIRP Irp,
327 
328 IIrpTarget *
329 NTAPI
331  PIRP Irp);
332 
333 #define DEFINE_KSPROPERTY_CONNECTIONSET(PinSet,\
334  PropStateHandler, PropDataFormatHandler, PropAllocatorFraming)\
335 DEFINE_KSPROPERTY_TABLE(PinSet) {\
336  DEFINE_KSPROPERTY_ITEM_CONNECTION_STATE(PropStateHandler, PropStateHandler),\
337  DEFINE_KSPROPERTY_ITEM_CONNECTION_DATAFORMAT(PropDataFormatHandler, PropDataFormatHandler),\
338  DEFINE_KSPROPERTY_ITEM_CONNECTION_ALLOCATORFRAMING(PropAllocatorFraming)\
339 }
340 
341 #define DEFINE_KSPROPERTY_ITEM_AUDIO_POSITION(GetHandler, SetHandler)\
342  DEFINE_KSPROPERTY_ITEM(\
343  KSPROPERTY_AUDIO_POSITION,\
344  (GetHandler),\
345  sizeof(KSPROPERTY),\
346  sizeof(KSAUDIO_POSITION),\
347  (SetHandler),\
348  NULL, 0, NULL, NULL, 0)
349 
350 #define DEFINE_KSPROPERTY_AUDIOSET(PinSet,\
351  PropPositionHandler)\
352 DEFINE_KSPROPERTY_TABLE(PinSet) {\
353  DEFINE_KSPROPERTY_ITEM_AUDIO_POSITION(PropPositionHandler, PropPositionHandler)\
354 }
355 
356 
357 #define DEFINE_KSPROPERTY_ITEM_DRMAUDIOSTREAM_CONTENTID(SetHandler)\
358  DEFINE_KSPROPERTY_ITEM(\
359  KSPROPERTY_DRMAUDIOSTREAM_CONTENTID,\
360  NULL,\
361  sizeof(KSPROPERTY),\
362  sizeof(ULONG),\
363  (SetHandler),\
364  NULL, 0, NULL, NULL, 0)
365 
366 #define DEFINE_KSPROPERTY_DRMSET(PinSet,\
367  PropPositionHandler)\
368 DEFINE_KSPROPERTY_TABLE(PinSet) {\
369  DEFINE_KSPROPERTY_ITEM_DRMAUDIOSTREAM_CONTENTID(PropPositionHandler)\
370 }
371 
372 #define DEFINE_KSPROPERTY_PINPROPOSEDATAFORMAT(PinSet,\
373  PropGeneral, PropInstances, PropIntersection)\
374 DEFINE_KSPROPERTY_TABLE(PinSet) {\
375  DEFINE_KSPROPERTY_ITEM_PIN_CINSTANCES(PropInstances),\
376  DEFINE_KSPROPERTY_ITEM_PIN_CTYPES(PropGeneral),\
377  DEFINE_KSPROPERTY_ITEM_PIN_DATAFLOW(PropGeneral),\
378  DEFINE_KSPROPERTY_ITEM_PIN_DATARANGES(PropGeneral),\
379  DEFINE_KSPROPERTY_ITEM_PIN_DATAINTERSECTION(PropIntersection),\
380  DEFINE_KSPROPERTY_ITEM_PIN_INTERFACES(PropGeneral),\
381  DEFINE_KSPROPERTY_ITEM_PIN_MEDIUMS(PropGeneral),\
382  DEFINE_KSPROPERTY_ITEM_PIN_COMMUNICATION(PropGeneral),\
383  DEFINE_KSPROPERTY_ITEM_PIN_GLOBALCINSTANCES(PropGeneral),\
384  DEFINE_KSPROPERTY_ITEM_PIN_NECESSARYINSTANCES(PropGeneral),\
385  DEFINE_KSPROPERTY_ITEM_PIN_PHYSICALCONNECTION(PropGeneral),\
386  DEFINE_KSPROPERTY_ITEM_PIN_CATEGORY(PropGeneral),\
387  DEFINE_KSPROPERTY_ITEM_PIN_NAME(PropGeneral),\
388  DEFINE_KSPROPERTY_ITEM_PIN_CONSTRAINEDDATARANGES(PropGeneral),\
389  DEFINE_KSPROPERTY_ITEM_PIN_PROPOSEDATAFORMAT(PropGeneral)\
390 }
391 
392 typedef struct
393 {
399  IAdapterPowerManagement * AdapterPowerManagement;
401  KSOBJECT_CREATE_ITEM * CreateItems;
402 
403  IResourceList* resources;
404 
407 
410 
412 
413 
414 typedef struct
415 {
420 
421 typedef struct
422 {
427 
428 typedef struct
429 {
431  IIrpTarget * Target;
432  PKSOBJECT_CREATE_ITEM CreateItem;
434 
435 #endif /* PORTCLS_PRIVATE_H */
PDEVICE_OBJECT PrevDeviceObject
Definition: private.hpp:396
IPortWaveRTStream * PPORTWAVERTSTREAM
Definition: portcls.h:1791
NTSTATUS NewPortFilterWaveRT(OUT IPortFilterWaveRT **OutFilter)
PDEVICE_OBJECT GetDeviceObjectFromPortWaveRT(IPortWaveRT *iface)
NTSTATUS NTAPI PinPropertyHandler(IN PIRP Irp, IN PKSIDENTIFIER Request, IN OUT PVOID Data)
CPPORT Port[4]
Definition: headless.c:34
_Must_inspect_result_ typedef _In_ PVOID Unused
Definition: iotypes.h:1128
#define IN
Definition: typedefs.h:38
NTSTATUS NTAPI PortClsSysControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: irp.cpp:391
NTSTATUS NTAPI PcHandlePropertyWithTable(IN PIRP Irp, IN ULONG PropertySetCount, IN PKSPROPERTY_SET PropertySet, IN PSUBDEVICE_DESCRIPTOR Descriptor)
Definition: undoc.cpp:81
IPortFilterDMus * PPORTFILTERDMUS
Definition: interfaces.hpp:838
NTSTATUS NewPortFilterWavePci(OUT IPortFilterWavePci **OutFilter)
PVOID Context
Definition: private.hpp:425
NTSTATUS NewPortDMus(OUT PPORT *OutPort)
Definition: port_dmus.cpp:510
struct TIMER_CONTEXT * PTIMER_CONTEXT
_In_ PKSPIN_CONNECT Connect
Definition: ks.h:4565
IPortTopology * PPORTTOPOLOGY
Definition: portcls.h:1403
IMiniportTopology * PMINIPORTTOPOLOGY
Definition: portcls.h:1431
NTSTATUS NewPortFilterDMus(OUT PPORTFILTERDMUS *OutFilter)
NTSTATUS NewMiniportDMusUART(OUT PMINIPORT *OutMiniport, IN REFCLSID ClassId)
struct PCLASS_DEVICE_EXTENSION * PPCLASS_DEVICE_EXTENSION
_In_ PIRP Irp
Definition: csq.h:116
IPortPinDMus * PPORTPINDMUS
Definition: interfaces.hpp:884
#define REFCLSID
Definition: guiddef.h:112
PDEVICE_OBJECT GetDeviceObject(IPortWaveCyclic *iface)
PIO_TIMER_ROUTINE pTimerRoutine
Definition: private.hpp:424
LONG NTSTATUS
Definition: precomp.h:26
IResourceList * resources
Definition: private.hpp:403
NTSTATUS NewPortPinWaveCyclic(OUT IPortPinWaveCyclic **OutPin)
static GUID InterfaceGuids[3]
Definition: port_dmus.cpp:64
enum _DMA_WIDTH DMA_WIDTH
VOID FreeItem(IN PVOID Item, IN ULONG Tag)
Definition: pool.cpp:32
NTSTATUS NewPortWaveRTStream(PPORTWAVERTSTREAM *OutStream)
IUnregisterSubdevice * PUNREGISTERSUBDEVICE
Definition: portcls.h:633
PCPFNSTARTDEVICE StartDevice
Definition: private.hpp:397
const MUI_LANGUAGE_RESOURCE ResourceList[]
Definition: muilanguages.h:414
NTSTATUS NewPortPinWaveRT(OUT IPortPinWaveRT **OutPin)
Definition: pin_wavert.cpp:686
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
VOID GetDMusMiniport(IN IPortDMus *iface, IN PMINIPORTDMUS *Miniport, IN PMINIPORTMIDI *MidiMiniport)
Definition: port_dmus.cpp:533
IMiniportWaveRT * PMINIPORTWAVERT
Definition: portcls.h:1927
uint32_t ULONG_PTR
Definition: typedefs.h:63
struct _CLASS_DEVICE_EXTENSION * PCLASS_DEVICE_EXTENSION
NTSTATUS NTAPI PcCreateItemDispatch(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
_In_ NDIS_HANDLE _In_ PNDIS_REQUEST Request
Definition: ndis.h:5173
IIrpTarget * Target
Definition: private.hpp:431
DEVICE_POWER_STATE DevicePowerState
Definition: private.hpp:408
PDEVICE_OBJECT GetDeviceObjectFromPortWavePci(IPortWavePci *iface)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
NTSTATUS NTAPI NewDispatchObject(IN PIRP Irp, IN IIrpTarget *Target, IN ULONG ObjectCreateItemCount, IN PKSOBJECT_CREATE_ITEM ObjectCreateItem)
Definition: dispatcher.cpp:242
NTSTATUS NewPortWaveCyclic(OUT PPORT *OutPort)
NTSTATUS NTAPI PcHandleDisableEventWithTable(IN PIRP Irp, IN PSUBDEVICE_DESCRIPTOR Descriptor)
Definition: undoc.cpp:67
PMINIPORTWAVECYCLIC GetWaveCyclicMiniport(IN IPortWaveCyclic *iface)
NTSTATUS NTAPI PcDmaSlaveDescription(IN PRESOURCELIST ResourceList OPTIONAL, IN ULONG DmaIndex, IN BOOLEAN DemandMode, IN BOOLEAN AutoInitialize, IN DMA_SPEED DmaSpeed, IN ULONG MaximumLength, IN ULONG DmaPort, OUT PDEVICE_DESCRIPTION DeviceDescription)
Definition: api.cpp:244
NTSTATUS NTAPI PortClsPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: irp.cpp:209
PMINIPORTTOPOLOGY GetTopologyMiniport(PPORTTOPOLOGY Port)
_In_ BOOLEAN Dma64BitAddresses
Definition: ndis.h:4652
IPort * PPORT
Definition: portcls.h:1093
unsigned char BOOLEAN
NTSTATUS NTAPI PcCreateSubdeviceDescriptor(OUT SUBDEVICE_DESCRIPTOR **OutSubdeviceDescriptor, IN ULONG InterfaceCount, IN GUID *InterfaceGuids, IN ULONG IdentifierCount, IN KSIDENTIFIER *Identifier, IN ULONG FilterPropertiesCount, IN KSPROPERTY_SET *FilterProperties, IN ULONG Unknown1, IN ULONG Unknown2, IN ULONG PinPropertiesCount, IN KSPROPERTY_SET *PinProperties, IN ULONG EventSetCount, IN KSEVENT_SET *EventSet, IN PPCFILTER_DESCRIPTOR FilterDescription)
Definition: undoc.cpp:730
KSPIN_LOCK TimerListLock
Definition: private.hpp:406
IMiniportWavePci * PMINIPORTWAVEPCI
Definition: portcls.h:1660
NTSTATUS NTAPI NewIUnregisterPhysicalConnection(OUT PUNREGISTERPHYSICALCONNECTION *OutConnection)
Definition: connection.cpp:148
IUnregisterPhysicalConnection * PUNREGISTERPHYSICALCONNECTION
Definition: portcls.h:675
NTSTATUS(NTAPI * PCPFNSTARTDEVICE)(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PRESOURCELIST ResourceList)
Definition: portcls.h:2231
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
_Must_inspect_result_ _In_ PDEVICE_DESCRIPTION DeviceDescription
Definition: iofuncs.h:1015
struct DISPATCH_CONTEXT * PDISPATCH_CONTEXT
KSDEVICE_HEADER KsDeviceHeader
Definition: private.hpp:394
NTSTATUS NTAPI PortClsPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: irp.cpp:41
IDrmPort2 * PDRMPORT2
Definition: portcls.h:2172
INT POOL_TYPE
Definition: typedefs.h:76
PDEVICE_OBJECT PhysicalDeviceObject
Definition: private.hpp:395
NTSTATUS NewPortWaveRT(OUT PPORT *OutPort)
NTSTATUS NTAPI TopologyPropertyHandler(IN PIRP Irp, IN PKSIDENTIFIER Request, IN OUT PVOID Data)
_Must_inspect_result_ typedef _In_ ULONG _In_ BOOLEAN Target
Definition: iotypes.h:1067
PDEVICE_OBJECT GetDeviceObjectFromWaveCyclic(IPortWavePci *iface)
NTSTATUS NewPortWavePci(OUT PPORT *OutPort)
NTSTATUS NTAPI NewIUnregisterSubdevice(OUT PUNREGISTERSUBDEVICE *OutDevice)
Definition: unregister.cpp:143
NTSTATUS NewIDrmPort(OUT PDRMPORT2 *OutPort)
Definition: drm_port.cpp:145
Definition: typedefs.h:117
PIO_WORKITEM WorkItem
Definition: private.hpp:417
NTSTATUS NTAPI NewIrpQueue(IN IIrpQueue **Queue)
Definition: irpstream.cpp:808
enum _DMA_SPEED DMA_SPEED
IResourceList * PRESOURCELIST
Definition: portcls.h:442
PMINIPORTWAVEPCI GetWavePciMiniport(PPORTWAVEPCI Port)
KSOBJECT_CREATE_ITEM * CreateItems
Definition: private.hpp:401
UnicodeString MaximumLength
Definition: rtlfuncs.h:2982
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
ULONG_PTR SIZE_T
Definition: typedefs.h:78
NTSTATUS NewPortTopology(OUT PPORT *OutPort)
IMiniportWaveCyclic * PMINIPORTWAVECYCLIC
Definition: portcls.h:1524
IAdapterPowerManagement * AdapterPowerManagement
Definition: private.hpp:399
PVOID AllocateItem(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes, IN ULONG Tag)
Definition: pool.cpp:18
NTSTATUS NTAPI PcValidateConnectRequest(IN PIRP Irp, IN KSPIN_FACTORY *Descriptor, OUT PKSPIN_CONNECT *Connect)
Definition: undoc.cpp:998
NTSTATUS NewPortClsVersion(OUT PPORTCLSVERSION *OutVersion)
Definition: version.cpp:93
IMiniportDMus * PMINIPORTDMUS
Definition: dmusicks.h:209
IPortWavePci * PPORTWAVEPCI
Definition: portcls.h:1236
NTSTATUS NTAPI PortClsCreate(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: irp.cpp:29
IIrpTarget *NTAPI KsoGetIrpTargetFromIrp(PIRP Irp)
Definition: undoc.cpp:40
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
IMiniportMidi * PMINIPORTMIDI
Definition: portcls.h:1366
NTSTATUS NewPortFilterTopology(OUT IPortFilterTopology **OutFilter)
_In_ struct _IRP _In_ struct _SCATTER_GATHER_LIST * ScatterGather
Definition: iotypes.h:2258
VOID NTAPI PcIoTimerRoutine(IN PDEVICE_OBJECT DeviceObject, IN PVOID Context)
Definition: api.cpp:49
NTSTATUS NTAPI PcDmaMasterDescription(IN PRESOURCELIST ResourceList OPTIONAL, IN BOOLEAN ScatterGather, IN BOOLEAN Dma32BitAddresses, IN BOOLEAN IgnoreCount, IN BOOLEAN Dma64BitAddresses, IN DMA_WIDTH DmaWidth, IN DMA_SPEED DmaSpeed, IN ULONG MaximumLength, IN ULONG DmaPort, OUT PDEVICE_DESCRIPTION DeviceDescription)
Definition: api.cpp:213
NTSTATUS NewMiniportFmSynth(OUT PMINIPORT *OutMiniport, IN REFCLSID ClassId)
IN ULONG IN ULONG Tag
Definition: evtlib.h:159
LIST_ENTRY Entry
Definition: private.hpp:423
SYSTEM_POWER_STATE SystemPowerState
Definition: private.hpp:409
#define OUT
Definition: typedefs.h:39
NTSTATUS NewPortPinDMus(OUT PPORTPINDMUS *OutPin)
struct CLOSESTREAM_CONTEXT * PCLOSESTREAM_CONTEXT
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:997
IO_TIMER_ROUTINE * PIO_TIMER_ROUTINE
Definition: iotypes.h:2507
unsigned int ULONG
Definition: retypes.h:1
KSOBJECT_HEADER ObjectHeader
Definition: private.hpp:430
NTSTATUS NewPortPinWavePci(OUT IPortPinWavePci **OutPin)
PMINIPORTWAVERT GetWaveRTMiniport(IN IPortWaveRT *iface)
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE _In_ SIZE_T _In_ POOL_TYPE PoolType
Definition: fltkernel.h:1444
NTSTATUS NewPortFilterWaveCyclic(OUT IPortFilterWaveCyclic **OutFilter)
PKSOBJECT_CREATE_ITEM CreateItem
Definition: private.hpp:432
NTSTATUS NTAPI PcHandleEnableEventWithTable(IN PIRP Irp, IN PSUBDEVICE_DESCRIPTOR Descriptor)
Definition: undoc.cpp:54
_In_ PSTORAGE_PROPERTY_ID _Outptr_ PSTORAGE_DESCRIPTOR_HEADER * Descriptor
Definition: classpnp.h:966
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
IPortClsVersion * PPORTCLSVERSION
Definition: portcls.h:2209