ReactOS 0.4.15-dev-8093-g3285f69
interfaces.hpp File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SYMBOLICLINK_ENTRY
 
struct  PHYSICAL_CONNECTION_ENTRY
 
struct  PIN_INSTANCE_INFO
 
struct  KSPIN_FACTORY
 
struct  SUBDEVICE_DESCRIPTOR
 

Macros

#define IMP_IIrpTarget
 
#define DEFINE_ABSTRACT_IRPTARGET()
 
#define INTERFACE   IIrpTarget
 
#define INTERFACE   ISubdevice
 
#define DEFINE_ABSTRACT_ISUBDEVICE()
 
#define IMP_ISubdevice
 
#define INTERFACE   IIrpQueue
 
#define IMP_IIrpQueue
 
#define INTERFACE   IKsWorkSink
 
#define INTERFACE   IIrpStreamNotify
 
#define INTERFACE   IKsShellTransport
 
#define DEFINE_ABSTRACT_IKSSHELLTRANSPORT()
 
#define DEFINE_ABSTRACT_IRPSTREAM()
 
#define INTERFACE   IIrpStream
 
#define INTERFACE   IIrpStreamPhysical
 
#define INTERFACE   IIrpStreamVirtual
 
#define INTERFACE   IPortFilterWavePci
 
#define IMP_IPortFilterPci
 
#define INTERFACE   IPortPinWavePci
 
#define IMP_IPortPinWavePci
 
#define INTERFACE   IPortFilterWaveRT
 
#define IMP_IPortFilterWaveRT
 
#define INTERFACE   IPortPinWaveRT
 
#define IMP_IPortPinWaveRT
 
#define INTERFACE   IPortFilterWaveCyclic
 
#define IMP_IPortFilterWaveCyclic
 
#define INTERFACE   IPortPinWaveCyclic
 
#define IMP_IPortPinWaveCyclic
 
#define INTERFACE   IPortFilterDMus
 
#define IMP_IPortFilterDMus
 
#define INTERFACE   IPortPinDMus
 
#define IMP_IPortPinDMus
 
#define IMP_IDmaChannelEx
 
#define IMP_IDmaChannelSlaveEx
 
#define IMP_IDmaChannelInit
 
#define DEFINE_ABSTRACT_DMACHANNEL_EX()
 
#define INTERFACE   IDmaChannelInit
 
#define INTERFACE   IPortFilterTopology
 
#define IMP_IPortFilterTopology
 
#define INTERFACE   IPortWaveRTStreamInit
 
#define IMP_IPortWaveRTStreamInit
 
#define IMP_IPortClsVersion    STDMETHODIMP_(DWORD) GetVersion(void);
 

Typedefs

typedef IIrpTarget * PIRPTARGET
 
typedef struct SYMBOLICLINK_ENTRYPSYMBOLICLINK_ENTRY
 
typedef struct PHYSICAL_CONNECTION_ENTRYPPHYSICAL_CONNECTION_ENTRY
 
typedef struct PIN_INSTANCE_INFOPPIN_INSTANCE_INFO
 
typedef struct SUBDEVICE_DESCRIPTORPSUBDEVICE_DESCRIPTOR
 
typedef ISubdevice * PSUBDEVICE
 
typedef IPortFilterWavePci * PPORTFILTERWAVEPCI
 
typedef IPortPinWavePci * PPORTPINWAVEPCI
 
typedef IPortWaveRT * PPORTWAVERT
 
typedef IPortFilterWaveRT * PPORTFILTERWAVERT
 
typedef IPortPinWaveRT * PPORTPINWAVERT
 
typedef IPortFilterWaveCyclic * PPORTFILTERWAVECYCLIC
 
typedef IPortPinWaveCyclic * PPORTPINWAVECYCLIC
 
typedef IPortFilterDMus * PPORTFILTERDMUS
 
typedef IPortPinDMus * PPORTPINDMUS
 
typedef IPortFilterTopology * PPORTFILTERTOPOLOGY
 

Functions

 DEFINE_GUID (IID_IIrpTarget, 0xB4C90A60, 0x5791, 0x11D0, 0xF9, 0x86, 0x00, 0xA0, 0xC9, 0x11, 0xB5, 0x44)
 
 DEFINE_GUID (IID_ISubdevice, 0xB4C90A61, 0x5791, 0x11D0, 0xF9, 0x86, 0x00, 0xA0, 0xC9, 0x11, 0xB5, 0x44)
 
 DEFINE_GUID (IID_IIrpTargetFactory, 0xB4C90A62, 0x5791, 0x11D0, 0xF9, 0x86, 0x00, 0xA0, 0xC9, 0x11, 0xB5, 0x44)
 
 DECLARE_INTERFACE_ (IIrpTarget, IUnknown)
 
 DECLARE_INTERFACE_ (ISubdevice, IUnknown)
 
 DECLARE_INTERFACE_ (IIrpQueue, IUnknown)
 
 DECLARE_INTERFACE_ (IKsWorkSink, IUnknown)
 
 DECLARE_INTERFACE_ (IIrpStreamNotify, IUnknown)
 
 DECLARE_INTERFACE_ (IKsShellTransport, IUnknown)
 
 DECLARE_INTERFACE_ (IIrpStream, IUnknown)
 
 DECLARE_INTERFACE_ (IIrpStreamPhysical, IIrpStream)
 
 DECLARE_INTERFACE_ (IIrpStreamVirtual, IIrpStream)
 
 DECLARE_INTERFACE_ (IPortFilterWavePci, IIrpTarget)
 
 DECLARE_INTERFACE_ (IPortPinWavePci, IIrpTarget)
 
 DECLARE_INTERFACE_ (IPortFilterWaveRT, IIrpTarget)
 
 DECLARE_INTERFACE_ (IPortPinWaveRT, IIrpTarget)
 
 DECLARE_INTERFACE_ (IPortFilterWaveCyclic, IIrpTarget)
 
 DECLARE_INTERFACE_ (IPortPinWaveCyclic, IIrpTarget)
 
 DECLARE_INTERFACE_ (IPortFilterDMus, IUnknown)
 
 DECLARE_INTERFACE_ (IPortPinDMus, IIrpTarget)
 
 DECLARE_INTERFACE_ (IDmaChannelInit, IUnknown)
 
 DECLARE_INTERFACE_ (IPortFilterTopology, IIrpTarget)
 
 DECLARE_INTERFACE_ (IPortWaveRTStreamInit, IUnknown)
 

Macro Definition Documentation

◆ DEFINE_ABSTRACT_DMACHANNEL_EX

#define DEFINE_ABSTRACT_DMACHANNEL_EX ( )
Value:
STDMETHOD_(NTSTATUS, AllocateBuffer)( THIS_ \
IN PPHYSICAL_ADDRESS PhysicalAddressConstraint OPTIONAL) PURE; \
\
STDMETHOD_(void, FreeBuffer)( THIS ) PURE; \
STDMETHOD_(ULONG, TransferCount)( THIS ) PURE; \
STDMETHOD_(ULONG, MaximumBufferSize)( THIS ) PURE; \
STDMETHOD_(ULONG, AllocatedBufferSize)( THIS ) PURE; \
STDMETHOD_(ULONG, BufferSize)( THIS ) PURE; \
\
STDMETHOD_(void, SetBufferSize)( THIS_ \
\
STDMETHOD_(PVOID, SystemAddress)( THIS ) PURE; \
STDMETHOD_(PHYSICAL_ADDRESS, PhysicalAddress)( THIS_ \
STDMETHOD_(PADAPTER_OBJECT, GetAdapterObject)( THIS ) PURE; \
\
STDMETHOD_(void, CopyTo)( THIS_ \
\
STDMETHOD_(void, CopyFrom)( THIS_ \
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
#define BufferSize
Definition: mmc.h:75
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
Definition: rtlfuncs.h:3004
static WCHAR Address[46]
Definition: ping.c:68
#define OPTIONAL
Definition: typedefs.h:41
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
Definition: iotypes.h:1098
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _In_ LARGE_INTEGER ByteCount
Definition: iotypes.h:1099

Definition at line 1005 of file interfaces.hpp.

◆ DEFINE_ABSTRACT_IKSSHELLTRANSPORT

#define DEFINE_ABSTRACT_IKSSHELLTRANSPORT ( )
Value:
STDMETHOD_(NTSTATUS, TransferKsIrp)(THIS_ \
IN PIRP Irp, \
OUT IKsShellTransport ** Transport) PURE; \
\
STDMETHOD_(NTSTATUS, Connect)(THIS_ \
IN IKsShellTransport * StartTransport, \
OUT IKsShellTransport ** EndTransport, \
\
STDMETHOD_(NTSTATUS, SetDeviceState)(THIS_ \
IN KSSTATE State1, \
IN KSSTATE State2, \
OUT IKsShellTransport ** EndTransport)PURE; \
\
STDMETHOD_(NTSTATUS, SetResetState)(THIS_ \
IN KSRESET State1, \
OUT IKsShellTransport ** EndTransport)PURE;
_In_ PIRP Irp
Definition: csq.h:116
DataFlow
KSRESET
Definition: ks.h:1226
KSSTATE
Definition: ks.h:1214
KSPIN_DATAFLOW
Definition: ks.h:1248
_In_ PKSPIN_CONNECT Connect
Definition: ks.h:4536
#define OUT
Definition: typedefs.h:40

Definition at line 446 of file interfaces.hpp.

◆ DEFINE_ABSTRACT_IRPSTREAM

#define DEFINE_ABSTRACT_IRPSTREAM ( )

Definition at line 480 of file interfaces.hpp.

◆ DEFINE_ABSTRACT_IRPTARGET

#define DEFINE_ABSTRACT_IRPTARGET ( )

Definition at line 83 of file interfaces.hpp.

◆ DEFINE_ABSTRACT_ISUBDEVICE

#define DEFINE_ABSTRACT_ISUBDEVICE ( )

Definition at line 230 of file interfaces.hpp.

◆ IMP_IDmaChannelEx

#define IMP_IDmaChannelEx
Value:
STDMETHODIMP_(NTSTATUS) AllocateBuffer( \
IN PPHYSICAL_ADDRESS PhysicalAddressConstraint OPTIONAL); \
\
STDMETHODIMP_(void) FreeBuffer(void); \
STDMETHODIMP_(ULONG) TransferCount(void); \
STDMETHODIMP_(ULONG) MaximumBufferSize(void); \
STDMETHODIMP_(ULONG) AllocatedBufferSize(void); \
STDMETHODIMP_(ULONG) BufferSize(void); \
\
STDMETHODIMP_(void) SetBufferSize( \
\
STDMETHODIMP_(PVOID) SystemAddress(void); \
IN PPHYSICAL_ADDRESS PhysicalAddressConstraint OPTIONAL); \
STDMETHODIMP_(PADAPTER_OBJECT) GetAdapterObject(void); \
\
STDMETHODIMP_(void) CopyTo( \
\
STDMETHODIMP_(void) CopyFrom( \
#define STDMETHODIMP_(t)
Definition: basetyps.h:44
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68

Definition at line 922 of file interfaces.hpp.

◆ IMP_IDmaChannelInit

#define IMP_IDmaChannelInit
Value:
STDMETHODIMP_(NTSTATUS) Init( \
#define IMP_IDmaChannelSlaveEx
Definition: interfaces.hpp:956
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING DeviceDescription
Definition: wdfpdo.h:432

Definition at line 968 of file interfaces.hpp.

◆ IMP_IDmaChannelSlaveEx

#define IMP_IDmaChannelSlaveEx
Value:
STDMETHODIMP_(NTSTATUS) Start( \
IN ULONG MapSize, \
\
STDMETHODIMP_(NTSTATUS) Stop(void); \
STDMETHODIMP_(ULONG) ReadCounter(void); \
\
STDMETHODIMP_(NTSTATUS) WaitForTC( \
unsigned char BOOLEAN
#define IMP_IDmaChannelEx
Definition: interfaces.hpp:922
_In_ PSCSI_REQUEST_BLOCK _In_opt_ PVOID _In_ ULONG _In_ BOOLEAN WriteToDevice
Definition: cdrom.h:992
_In_opt_ PVOID _Out_ BOOLEAN * Stop
Definition: ldrtypes.h:241
static ULONG Timeout
Definition: ping.c:61
@ Start
Definition: partlist.h:33

Definition at line 956 of file interfaces.hpp.

◆ IMP_IIrpQueue

#define IMP_IIrpQueue

Definition at line 362 of file interfaces.hpp.

◆ IMP_IIrpTarget

#define IMP_IIrpTarget

Definition at line 14 of file interfaces.hpp.

◆ IMP_IPortClsVersion

#define IMP_IPortClsVersion    STDMETHODIMP_(DWORD) GetVersion(void);

Definition at line 1181 of file interfaces.hpp.

◆ IMP_IPortFilterDMus

#define IMP_IPortFilterDMus
Value:
STDMETHODIMP_(NTSTATUS) Init(THIS_ \
STDMETHODIMP_(NTSTATUS) FreePin(THIS_ \
IN struct IPortPinDMus* Pin); \
STDMETHODIMP_(VOID) NotifyPins(THIS)
#define IMP_IIrpTarget
Definition: interfaces.hpp:14
#define THIS_
Definition: basetyps.h:65
IPortDMus * PPORTDMUS
Definition: dmusicks.h:168
IN PDCB IN VBO IN ULONG IN BOOLEAN Pin
Definition: fatprocs.h:427
CPPORT Port[4]
Definition: headless.c:35

Definition at line 841 of file interfaces.hpp.

◆ IMP_IPortFilterPci

#define IMP_IPortFilterPci
Value:
STDMETHODIMP_(NTSTATUS) Init(THIS_ \
STDMETHODIMP_(NTSTATUS) FreePin(THIS_ \
IN struct IPortPinWavePci* Pin)
IPortWavePci * PPORTWAVEPCI
Definition: portcls.h:1248

Definition at line 620 of file interfaces.hpp.

◆ IMP_IPortFilterTopology

#define IMP_IPortFilterTopology
Value:
STDMETHODIMP_(NTSTATUS) Init(THIS_ \
IPortTopology * PPORTTOPOLOGY
Definition: portcls.h:1415

Definition at line 1071 of file interfaces.hpp.

◆ IMP_IPortFilterWaveCyclic

#define IMP_IPortFilterWaveCyclic
Value:
STDMETHODIMP_(NTSTATUS) Init(THIS_ \
STDMETHODIMP_(NTSTATUS) FreePin(THIS_ \
IN struct IPortPinWaveCyclic* Pin)
IPortWaveCyclic * PPORTWAVECYCLIC
Definition: portcls.h:1184

Definition at line 763 of file interfaces.hpp.

◆ IMP_IPortFilterWaveRT

#define IMP_IPortFilterWaveRT
Value:
STDMETHODIMP_(NTSTATUS) Init(THIS_ \
IPortWaveRT * PPORTWAVERT
Definition: interfaces.hpp:681

Definition at line 696 of file interfaces.hpp.

◆ IMP_IPortPinDMus

#define IMP_IPortPinDMus
Value:
STDMETHODIMP_(NTSTATUS) Init(THIS_ \
IN KSPIN_CONNECT * ConnectDetails, \
IN KSPIN_DESCRIPTOR * PinDescriptor, \
STDMETHODIMP_(VOID) Notify(THIS)
IPortFilterDMus * PPORTFILTERDMUS
Definition: interfaces.hpp:839
BOOL WINAPI SHIM_OBJ_NAME() Notify(DWORD fdwReason, PVOID ptr)
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801

Definition at line 873 of file interfaces.hpp.

◆ IMP_IPortPinWaveCyclic

#define IMP_IPortPinWaveCyclic
Value:
STDMETHODIMP_(NTSTATUS) Init(THIS_ \
IN KSPIN_CONNECT * ConnectDetails, \
IN KSPIN_DESCRIPTOR * PinDescriptor); \
STDMETHODIMP_(ULONG) GetCompletedPosition(THIS); \
STDMETHODIMP_(ULONG) GetCycleCount(THIS); \
STDMETHODIMP_(ULONG) GetDeviceBufferSize(THIS); \
STDMETHODIMP_(PVOID) GetIrpStream(THIS); \
STDMETHODIMP_(PMINIPORT) GetMiniport(THIS)
IPortFilterWaveCyclic * PPORTFILTERWAVECYCLIC
Definition: interfaces.hpp:761

Definition at line 800 of file interfaces.hpp.

◆ IMP_IPortPinWavePci

#define IMP_IPortPinWavePci
Value:
STDMETHODIMP_(NTSTATUS) Init(THIS_ \
IN KSPIN_CONNECT * ConnectDetails, \
IN KSPIN_DESCRIPTOR * PinDescriptor, \
\
STDMETHODIMP_(PVOID) GetIrpStream(); \
STDMETHODIMP_(PMINIPORT) GetMiniport(THIS)
IPortFilterWavePci * PPORTFILTERWAVEPCI
Definition: interfaces.hpp:618

Definition at line 653 of file interfaces.hpp.

◆ IMP_IPortPinWaveRT

#define IMP_IPortPinWaveRT
Value:
STDMETHODIMP_(NTSTATUS) Init(THIS_ \
IN KSPIN_CONNECT * ConnectDetails, \
IN KSPIN_DESCRIPTOR * PinDescriptor, \
IPortFilterWaveRT * PPORTFILTERWAVERT
Definition: interfaces.hpp:694

Definition at line 726 of file interfaces.hpp.

◆ IMP_IPortWaveRTStreamInit

#define IMP_IPortWaveRTStreamInit

Definition at line 1136 of file interfaces.hpp.

◆ IMP_ISubdevice

#define IMP_ISubdevice

Definition at line 266 of file interfaces.hpp.

◆ INTERFACE [1/20]

#define INTERFACE   IIrpTarget

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [2/20]

#define INTERFACE   ISubdevice

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [3/20]

#define INTERFACE   IIrpQueue

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [4/20]

#define INTERFACE   IKsWorkSink

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [5/20]

#define INTERFACE   IIrpStreamNotify

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [6/20]

#define INTERFACE   IKsShellTransport

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [7/20]

#define INTERFACE   IIrpStream

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [8/20]

#define INTERFACE   IIrpStreamPhysical

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [9/20]

#define INTERFACE   IIrpStreamVirtual

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [10/20]

#define INTERFACE   IPortFilterWavePci

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [11/20]

#define INTERFACE   IPortPinWavePci

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [12/20]

#define INTERFACE   IPortFilterWaveRT

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [13/20]

#define INTERFACE   IPortPinWaveRT

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [14/20]

#define INTERFACE   IPortFilterWaveCyclic

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [15/20]

#define INTERFACE   IPortPinWaveCyclic

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [16/20]

#define INTERFACE   IPortFilterDMus

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [17/20]

#define INTERFACE   IPortPinDMus

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [18/20]

#define INTERFACE   IDmaChannelInit

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [19/20]

#define INTERFACE   IPortFilterTopology

Definition at line 1084 of file interfaces.hpp.

◆ INTERFACE [20/20]

#define INTERFACE   IPortWaveRTStreamInit

Definition at line 1084 of file interfaces.hpp.

Typedef Documentation

◆ PIRPTARGET

typedef IIrpTarget* PIRPTARGET

Definition at line 164 of file interfaces.hpp.

◆ PPHYSICAL_CONNECTION_ENTRY

◆ PPIN_INSTANCE_INFO

◆ PPORTFILTERDMUS

typedef IPortFilterDMus* PPORTFILTERDMUS

Definition at line 839 of file interfaces.hpp.

◆ PPORTFILTERTOPOLOGY

typedef IPortFilterTopology* PPORTFILTERTOPOLOGY

Definition at line 1069 of file interfaces.hpp.

◆ PPORTFILTERWAVECYCLIC

typedef IPortFilterWaveCyclic* PPORTFILTERWAVECYCLIC

Definition at line 761 of file interfaces.hpp.

◆ PPORTFILTERWAVEPCI

typedef IPortFilterWavePci* PPORTFILTERWAVEPCI

Definition at line 618 of file interfaces.hpp.

◆ PPORTFILTERWAVERT

typedef IPortFilterWaveRT* PPORTFILTERWAVERT

Definition at line 694 of file interfaces.hpp.

◆ PPORTPINDMUS

typedef IPortPinDMus* PPORTPINDMUS

Definition at line 883 of file interfaces.hpp.

◆ PPORTPINWAVECYCLIC

typedef IPortPinWaveCyclic* PPORTPINWAVECYCLIC

Definition at line 798 of file interfaces.hpp.

◆ PPORTPINWAVEPCI

typedef IPortPinWavePci* PPORTPINWAVEPCI

Definition at line 667 of file interfaces.hpp.

◆ PPORTPINWAVERT

typedef IPortPinWaveRT* PPORTPINWAVERT

Definition at line 724 of file interfaces.hpp.

◆ PPORTWAVERT

typedef IPortWaveRT* PPORTWAVERT

Definition at line 681 of file interfaces.hpp.

◆ PSUBDEVICE

typedef ISubdevice* PSUBDEVICE

Definition at line 307 of file interfaces.hpp.

◆ PSUBDEVICE_DESCRIPTOR

◆ PSYMBOLICLINK_ENTRY

Function Documentation

◆ DECLARE_INTERFACE_() [1/20]

DECLARE_INTERFACE_ ( IDmaChannelInit  ,
IUnknown   
)

Definition at line 1038 of file interfaces.hpp.

1039{
1043
1047};
#define DEFINE_ABSTRACT_DMACHANNEL_EX()
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5
#define DEFINE_ABSTRACT_DMACHANNELSLAVE()
Definition: portcls.h:791

◆ DECLARE_INTERFACE_() [2/20]

DECLARE_INTERFACE_ ( IIrpQueue  ,
IUnknown   
)

Definition at line 317 of file interfaces.hpp.

318{
320
322 IN PKSPIN_CONNECT ConnectDetails,
323 IN PKSPIN_DESCRIPTOR Descriptor,
324 IN ULONG FrameSize,
326 IN ULONG TagSupportEnabled) PURE;
327
328 STDMETHOD_(NTSTATUS, AddMapping)(THIS_
329 IN PIRP Irp,
331
332 STDMETHOD_(NTSTATUS, GetMapping)(THIS_
333 OUT PUCHAR * Buffer,
335
336 STDMETHOD_(VOID, UpdateMapping)(THIS_
338
339 STDMETHOD_(ULONG, NumData)(THIS) PURE;
340
341 STDMETHOD_(BOOL, CancelBuffers)(THIS) PURE;
342
343 STDMETHOD_(NTSTATUS, GetMappingWithTag)(THIS_
344 IN PVOID Tag,
349
350 STDMETHOD_(NTSTATUS, ReleaseMappingWithTag)(THIS_
351 IN PVOID Tag) PURE;
352
353 STDMETHOD_(ULONG, GetCurrentIrpOffset)(THIS) PURE;
354
355 STDMETHOD_(BOOLEAN, GetAcquiredTagRange)(THIS_
356 IN PVOID * FirstTag,
357 IN PVOID * LastTag) PURE;
358
359};
Definition: bufpool.h:45
unsigned int BOOL
Definition: ntddk_ex.h:94
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char * PUCHAR
Definition: typedefs.h:53
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4065
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
Definition: wdfiotarget.h:960
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Definition: wdfresource.h:342
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170

◆ DECLARE_INTERFACE_() [3/20]

DECLARE_INTERFACE_ ( IIrpStream  ,
IUnknown   
)

Definition at line 535 of file interfaces.hpp.

536{
538
540};
#define DEFINE_ABSTRACT_IRPSTREAM()
Definition: interfaces.hpp:480

◆ DECLARE_INTERFACE_() [4/20]

DECLARE_INTERFACE_ ( IIrpStreamNotify  ,
IUnknown   
)

Definition at line 426 of file interfaces.hpp.

427{
429
430 STDMETHOD_(NTSTATUS, IrpSubmitted)(THIS_
431 IN PIRP Irp,
433
435 OUT struct IRPSTREAMPOSITION * Position)PURE;
436};
DWORD GetPosition(DWORD private_handle, PMMTIME time, DWORD time_size)
#define WAIT
Definition: listbox.c:36
static COORD Position
Definition: mouse.c:34

◆ DECLARE_INTERFACE_() [5/20]

DECLARE_INTERFACE_ ( IIrpStreamPhysical  ,
IIrpStream   
)

Definition at line 550 of file interfaces.hpp.

◆ DECLARE_INTERFACE_() [6/20]

DECLARE_INTERFACE_ ( IIrpStreamVirtual  ,
IIrpStream   
)

Definition at line 572 of file interfaces.hpp.

573{
575
577
578 STDMETHOD_(NTSTATUS, GetLockedRegion)(THIS_
579 OUT PULONG OutSize,
581
584 OUT ULONG Size,
587
589 IN ULONG Unknown1,
591
592 STDMETHOD_(ULONG, GetIrpStreamPositionLock)(THIS);
593};
VOID Copy(PVOID Src, PVOID Dst, ULONG NumBytes)
Definition: mmixer.c:126
pRequest Complete(RequestStatus)
_In_ UCHAR _In_ ULONG _Out_ PUCHAR _Outptr_result_bytebuffer_ OutBufferLength PVOID * OutBuffer
Definition: scsi.h:4071
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_In_ WDFDPC _In_ BOOLEAN Wait
Definition: wdfdpc.h:170
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:409

◆ DECLARE_INTERFACE_() [7/20]

DECLARE_INTERFACE_ ( IIrpTarget  ,
IUnknown   
)

Definition at line 157 of file interfaces.hpp.

158{
160
162};
#define DEFINE_ABSTRACT_IRPTARGET()
Definition: interfaces.hpp:83

◆ DECLARE_INTERFACE_() [8/20]

DECLARE_INTERFACE_ ( IKsShellTransport  ,
IUnknown   
)

Definition at line 466 of file interfaces.hpp.

467{
469
471};
#define DEFINE_ABSTRACT_IKSSHELLTRANSPORT()
Definition: interfaces.hpp:446

◆ DECLARE_INTERFACE_() [9/20]

DECLARE_INTERFACE_ ( IKsWorkSink  ,
IUnknown   
)

Definition at line 410 of file interfaces.hpp.

411{
413
414 STDMETHOD_(NTSTATUS, Work)(THIS);
415};

◆ DECLARE_INTERFACE_() [10/20]

DECLARE_INTERFACE_ ( IPortFilterDMus  ,
IUnknown   
)

Definition at line 824 of file interfaces.hpp.

825{
827
829
832
833 STDMETHOD_(NTSTATUS, FreePin)(THIS_
834 IN struct IPortPinDMus* Pin)PURE;
835
836 STDMETHOD_(VOID, NotifyPins)(THIS) PURE;
837};

◆ DECLARE_INTERFACE_() [11/20]

DECLARE_INTERFACE_ ( IPortFilterTopology  ,
IIrpTarget   
)

Definition at line 1059 of file interfaces.hpp.

◆ DECLARE_INTERFACE_() [12/20]

DECLARE_INTERFACE_ ( IPortFilterWaveCyclic  ,
IIrpTarget   
)

Definition at line 748 of file interfaces.hpp.

749{
751
753
756
757 STDMETHOD_(NTSTATUS, FreePin)(THIS_
758 IN struct IPortPinWaveCyclic* Pin)PURE;
759};

◆ DECLARE_INTERFACE_() [13/20]

DECLARE_INTERFACE_ ( IPortFilterWavePci  ,
IIrpTarget   
)

Definition at line 605 of file interfaces.hpp.

606{
608
610
613
614 STDMETHOD_(NTSTATUS, FreePin)(THIS_
615 IN struct IPortPinWavePci* Pin)PURE;
616};

◆ DECLARE_INTERFACE_() [14/20]

DECLARE_INTERFACE_ ( IPortFilterWaveRT  ,
IIrpTarget   
)

Definition at line 684 of file interfaces.hpp.

◆ DECLARE_INTERFACE_() [15/20]

DECLARE_INTERFACE_ ( IPortPinDMus  ,
IIrpTarget   
)

Definition at line 857 of file interfaces.hpp.

858{
860
862
866 IN KSPIN_CONNECT * ConnectDetails,
867 IN KSPIN_DESCRIPTOR * PinDescriptor,
869
871};

◆ DECLARE_INTERFACE_() [16/20]

DECLARE_INTERFACE_ ( IPortPinWaveCyclic  ,
IIrpTarget   
)

Definition at line 779 of file interfaces.hpp.

780{
782
784
788 IN KSPIN_CONNECT * ConnectDetails,
789 IN KSPIN_DESCRIPTOR * PinDescriptor) PURE;
790
791 STDMETHOD_(ULONG, GetCompletedPosition)(THIS) PURE;
792 STDMETHOD_(ULONG, GetCycleCount)(THIS) PURE;
793 STDMETHOD_(ULONG, GetDeviceBufferSize)(THIS) PURE;
794 STDMETHOD_(PVOID, GetIrpStream)(THIS) PURE;
795 STDMETHOD_(PMINIPORT, GetMiniport)(THIS) PURE;
796};

◆ DECLARE_INTERFACE_() [17/20]

DECLARE_INTERFACE_ ( IPortPinWavePci  ,
IIrpTarget   
)

Definition at line 636 of file interfaces.hpp.

637{
639
641
645 IN KSPIN_CONNECT * ConnectDetails,
646 IN KSPIN_DESCRIPTOR * PinDescriptor,
648
649 STDMETHOD_(PVOID, GetIrpStream)(THIS) PURE;
650 STDMETHOD_(PMINIPORT, GetMiniport)(THIS) PURE;
651};

◆ DECLARE_INTERFACE_() [18/20]

DECLARE_INTERFACE_ ( IPortPinWaveRT  ,
IIrpTarget   
)

Definition at line 710 of file interfaces.hpp.

711{
713
715
719 IN KSPIN_CONNECT * ConnectDetails,
720 IN KSPIN_DESCRIPTOR * PinDescriptor,
722};

◆ DECLARE_INTERFACE_() [19/20]

DECLARE_INTERFACE_ ( IPortWaveRTStreamInit  ,
IUnknown   
)

Definition at line 1087 of file interfaces.hpp.

1088{
1090
1091 STDMETHOD_(PMDL, AllocatePagesForMdl)
1092 ( THIS_
1095 ) PURE;
1096
1097 STDMETHOD_(PMDL, AllocateContiguousPagesForMdl)
1098 ( THIS_
1099 IN PHYSICAL_ADDRESS LowAddress,
1102 ) PURE;
1103
1104 STDMETHOD_(PVOID, MapAllocatedPages)
1105 ( THIS_
1108 ) PURE;
1109
1110 STDMETHOD_(VOID, UnmapAllocatedPages)
1111 ( THIS_
1114 ) PURE;
1115
1116 STDMETHOD_(VOID, FreePagesFromMdl)
1117 ( THIS_
1119 ) PURE;
1120
1121 STDMETHOD_(ULONG, GetPhysicalPagesCount)
1122 ( THIS_
1124 ) PURE;
1125
1126 STDMETHOD_(PHYSICAL_ADDRESS, GetPhysicalPageAddress)
1127 ( THIS_
1130 IN ULONG Index
1131 ) PURE;
1132};
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
ULONG_PTR SIZE_T
Definition: typedefs.h:80
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ PHYSICAL_ADDRESS HighAddress
Definition: mmfuncs.h:226
_Inout_ PMDL MemoryDescriptorList
Definition: mmfuncs.h:405
_Must_inspect_result_ _In_ PHYSICAL_ADDRESS _In_ PHYSICAL_ADDRESS _In_opt_ PHYSICAL_ADDRESS _In_ MEMORY_CACHING_TYPE CacheType
Definition: mmfuncs.h:217
_Must_inspect_result_ _In_ PHYSICAL_ADDRESS _In_ PHYSICAL_ADDRESS _In_ SIZE_T TotalBytes
Definition: mmfuncs.h:228
enum _MEMORY_CACHING_TYPE MEMORY_CACHING_TYPE

◆ DECLARE_INTERFACE_() [20/20]

DECLARE_INTERFACE_ ( ISubdevice  ,
IUnknown   
)

Definition at line 301 of file interfaces.hpp.

302{
305};
#define DEFINE_ABSTRACT_ISUBDEVICE()
Definition: interfaces.hpp:230

◆ DEFINE_GUID() [1/3]

DEFINE_GUID ( IID_IIrpTarget  ,
0xB4C90A60  ,
0x5791  ,
0x11D0  ,
0xF9  ,
0x86  ,
0x00  ,
0xA0  ,
0xC9  ,
0x11  ,
0xB5  ,
0x44   
)

◆ DEFINE_GUID() [2/3]

DEFINE_GUID ( IID_IIrpTargetFactory  ,
0xB4C90A62  ,
0x5791  ,
0x11D0  ,
0xF9  ,
0x86  ,
0x00  ,
0xA0  ,
0xC9  ,
0x11  ,
0xB5  ,
0x44   
)

◆ DEFINE_GUID() [3/3]

DEFINE_GUID ( IID_ISubdevice  ,
0xB4C90A61  ,
0x5791  ,
0x11D0  ,
0xF9  ,
0x86  ,
0x00  ,
0xA0  ,
0xC9  ,
0x11  ,
0xB5  ,
0x44   
)