ReactOS  0.4.15-dev-499-g1f31905
ksfunc.h
Go to the documentation of this file.
1 #pragma once
2 
3 #define TAG_KSDEVICE 'DESK'
4 #define TAG_KSOBJECT_TAG 'HOSK'
5 
6 VOID
8  PIRP Irp,
10 
11 
12 
14 NTAPI
16  IN HANDLE ParentHandle,
18  PVOID CreateParameters,
19  UINT CreateParametersSize,
22 
24 NTAPI
27  IN const KSFILTER_DESCRIPTOR *Descriptor,
28  IN PWSTR RefString OPTIONAL,
30  IN ULONG CreateItemFlags,
31  IN PFNKSFILTERFACTORYPOWER SleepCallback OPTIONAL,
32  IN PFNKSFILTERFACTORYPOWER WakeCallback OPTIONAL,
33  OUT PKSFILTERFACTORY *FilterFactory OPTIONAL);
34 
36 NTAPI
39  IN PIRP Irp);
40 
42 NTAPI
45  IN PIRP Irp);
46 
48 NTAPI
51  IN PIRP Irp);
52 
54 NTAPI
57  IN PIRP Irp,
58  IN IKsFilterFactory *iface);
59 
62  IN PLIST_ENTRY ListHead,
63  IN BOOL Enable);
64 
67  IN PLIST_ENTRY ListHead);
68 
72  IN ULONG CategoriesCount,
73  IN GUID const*Categories,
76 
80  IN PIRP Irp);
81 
82 PVOID
86 
87 VOID
88 FreeItem(
89  IN PVOID Item);
90 
93 NTAPI
95  IN PIRP Irp,
97  IN OUT PVOID Data,
98  IN ULONG DescriptorsCount,
99  IN const KSPIN_DESCRIPTOR* Descriptors,
100  IN ULONG DescriptorSize);
101 
102 
103 NTSTATUS
105  PLIST_ENTRY ListHead,
107  OUT PCREATE_ITEM_ENTRY *OutCreateItem);
108 
109 NTSTATUS
111  IN PIRP Irp,
112  IN LPWSTR ObjectClass,
113  IN OUT PULONG Size,
114  OUT PVOID * Result);
115 
116 NTSTATUS
119  IN PIRP Irp,
120  IN PKSDEVICE KsDevice,
121  IN IKsFilterFactory * FilterFactory,
122  IN IKsFilter* Filter,
124  IN KSPIN_DESCRIPTOR_EX* Descriptor);
125 
126 NTSTATUS
128  OUT PLIST_ENTRY ListHead,
129  IN ULONG ItemsCount,
130  IN PKSOBJECT_CREATE_ITEM ItemsList);
131 
132 VOID
134  IN PLIST_ENTRY ListHead);
135 
136 NTSTATUS
138  IN PIRP Irp,
139  IN ULONG PropertySetsCount,
140  IN const KSPROPERTY_SET* PropertySet,
141  IN PFNKSALLOCATOR Allocator OPTIONAL,
142  IN ULONG PropertyItemSize OPTIONAL);
143 
144 NTSTATUS
145 NTAPI
148  IN PIRP Irp);
149 
150 NTSTATUS
152  IN PKSIDEVICE_HEADER DeviceHeader,
153  IN BOOLEAN NewState);
154 
155 NTSTATUS
156 NTAPI
158  IN PIRP Irp,
159  IN ULONG MethodSetsCount,
160  IN const KSMETHOD_SET *MethodSet,
161  IN PFNKSALLOCATOR Allocator OPTIONAL,
162  IN ULONG MethodItemSize OPTIONAL);
163 
164 VOID
166  PKSFILTER Filter,
167  PKSPIN Pin);
168 
169 VOID
171  PKSFILTER Filter,
172  PKSPIN Pin);
173 
174 NTSTATUS
176  IN PIRP Irp,
177  IN ULONG EventSetsCount,
178  IN const KSEVENT_SET* EventSet,
179  IN OUT PLIST_ENTRY EventsList OPTIONAL,
180  IN KSEVENTS_LOCKTYPE EventsFlags OPTIONAL,
181  IN PVOID EventsLock OPTIONAL,
182  IN PFNKSALLOCATOR Allocator OPTIONAL,
183  IN ULONG EventItemSize OPTIONAL);
184 
185 NTSTATUS
187  IN PIRP Irp,
188  IN ULONG DescriptorsCount,
189  IN PVOID Descriptors,
190  IN ULONG DescriptorSize,
192 
193 NTSTATUS
195  IN LPGUID Category,
196  PKEY_VALUE_PARTIAL_INFORMATION *OutInformation);
197 
NTSTATUS KspEnableEvent(IN PIRP Irp, IN ULONG EventSetsCount, IN const KSEVENT_SET *EventSet, IN OUT PLIST_ENTRY EventsList OPTIONAL, IN KSEVENTS_LOCKTYPE EventsFlags OPTIONAL, IN PVOID EventsLock OPTIONAL, IN PFNKSALLOCATOR Allocator OPTIONAL, IN ULONG EventItemSize OPTIONAL)
Definition: event.c:87
ObjectType
Definition: metafile.c:80
#define IN
Definition: typedefs.h:39
NTSTATUS KspFreeDeviceInterfaces(IN PLIST_ENTRY ListHead)
_In_opt_ PDEVICE_OBJECT _In_ ULONG _Outptr_result_nullonfailure_ _At_ * SymbolicLinkList(return==0, __drv_allocatesMem(Mem))) PZZWSTR *SymbolicLinkList
NTSTATUS KspPropertyHandler(IN PIRP Irp, IN ULONG PropertySetsCount, IN const KSPROPERTY_SET *PropertySet, IN PFNKSALLOCATOR Allocator OPTIONAL, IN ULONG PropertyItemSize OPTIONAL)
Definition: property.c:138
NTSTATUS KspSetFilterFactoriesState(IN PKSIDEVICE_HEADER DeviceHeader, IN BOOLEAN NewState)
_In_ PKSPIN_CONNECT Connect
Definition: ks.h:4536
NTSTATUS NTAPI KspCreateObjectType(IN HANDLE ParentHandle, IN LPWSTR ObjectType, PVOID CreateParameters, UINT CreateParametersSize, IN ACCESS_MASK DesiredAccess, OUT PHANDLE NodeHandle)
Definition: topology.c:16
_In_ PIRP Irp
Definition: csq.h:116
_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:55
PVOID AllocateItem(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes)
Definition: misc.c:30
LONG NTSTATUS
Definition: precomp.h:26
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:140
NTSTATUS NTAPI IKsFilterFactory_Create(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: filterfactory.c:42
static WCHAR String[]
Definition: stringtable.c:55
_In_ PKSNODE_CREATE _In_ ACCESS_MASK _Out_ PHANDLE NodeHandle
Definition: ks.h:4546
PDEVICE_OBJECT PhysicalDeviceObject
Definition: btrfs_drv.h:1155
NTSTATUS NTAPI KspMethodHandlerWithAllocator(IN PIRP Irp, IN ULONG MethodSetsCount, IN const KSMETHOD_SET *MethodSet, IN PFNKSALLOCATOR Allocator OPTIONAL, IN ULONG MethodItemSize OPTIONAL)
Definition: methods.c:99
NTSTATUS NTAPI IKsDevice_Pnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: device.c:406
#define KSDDKAPI
Definition: ks.h:40
NTSTATUS KspCopyCreateRequest(IN PIRP Irp, IN LPWSTR ObjectClass, IN OUT PULONG Size, OUT PVOID *Result)
Definition: misc.c:101
NTSTATUS KspRegisterDeviceInterfaces(IN PDEVICE_OBJECT PhysicalDeviceObject, IN ULONG CategoriesCount, IN GUID const *Categories, IN PUNICODE_STRING ReferenceString, OUT PLIST_ENTRY SymbolicLinkList)
Definition: kstypes.h:45
VOID FreeItem(IN PVOID Item)
Definition: misc.c:43
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
unsigned int BOOL
Definition: ntddk_ex.h:94
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1802
const GUID Categories[]
Definition: splitter.c:208
VOID CompleteRequest(PIRP Irp, CCHAR PriorityBoost)
Definition: misc.c:17
_In_ CONST GUID _In_opt_ PUNICODE_STRING ReferenceString
Definition: iofuncs.h:1134
_In_ CCHAR PriorityBoost
Definition: iofuncs.h:763
NTSTATUS KspSetDeviceInterfacesState(IN PLIST_ENTRY ListHead, IN BOOL Enable)
unsigned char BOOLEAN
_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:426
KSEVENTS_LOCKTYPE
Definition: ks.h:1231
NTSTATUS NTAPI KspCreateFilter(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN IKsFilterFactory *iface)
Definition: filter.c:1636
NTSTATUS KspValidateConnectRequest(IN PIRP Irp, IN ULONG DescriptorsCount, IN PVOID Descriptors, IN ULONG DescriptorSize, OUT PKSPIN_CONNECT *Connect)
Definition: connectivity.c:60
VOID IKsFilter_AddPin(PKSFILTER Filter, PKSPIN Pin)
Definition: filter.c:1337
VOID IKsFilter_RemovePin(PKSFILTER Filter, PKSPIN Pin)
Definition: filter.c:1378
IN PDCB IN VBO IN ULONG IN BOOLEAN Pin
Definition: fatprocs.h:424
char CCHAR
Definition: typedefs.h:51
INT POOL_TYPE
Definition: typedefs.h:77
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
Definition: typedefs.h:118
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
NTSTATUS KspReadMediaCategory(IN LPGUID Category, PKEY_VALUE_PARTIAL_INFORMATION *OutInformation)
Definition: connectivity.c:232
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1569
ULONG_PTR SIZE_T
Definition: typedefs.h:79
NTSTATUS KspAddCreateItemToList(OUT PLIST_ENTRY ListHead, IN ULONG ItemsCount, IN PKSOBJECT_CREATE_ITEM ItemsList)
Definition: api.c:458
NTSTATUS NTAPI IKsDevice_Power(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: device.c:574
NTSTATUS KspCreatePin(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PKSDEVICE KsDevice, IN IKsFilterFactory *FilterFactory, IN IKsFilter *Filter, IN PKSPIN_CONNECT Connect, IN KSPIN_DESCRIPTOR_EX *Descriptor)
Definition: pin.c:2283
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB _In_ PDCB _In_ PDIRENT _In_ ULONG _In_ ULONG _In_ PUNICODE_STRING _In_ PACCESS_MASK DesiredAccess
Definition: create.c:4137
unsigned int * PULONG
Definition: retypes.h:1
unsigned int UINT
Definition: ndis.h:50
KSDDKAPI NTSTATUS NTAPI KspPinPropertyHandler(IN PIRP Irp, IN PKSPROPERTY Property, IN OUT PVOID Data, IN ULONG DescriptorsCount, IN const KSPIN_DESCRIPTOR *Descriptors, IN ULONG DescriptorSize)
Definition: connectivity.c:324
NTSTATUS NTAPI IKsDevice_Create(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: device.c:591
#define OUT
Definition: typedefs.h:40
NTSTATUS NTAPI KspCreateFilterFactory(IN PDEVICE_OBJECT DeviceObject, IN const KSFILTER_DESCRIPTOR *Descriptor, IN PWSTR RefString OPTIONAL, IN PSECURITY_DESCRIPTOR SecurityDescriptor OPTIONAL, IN ULONG CreateItemFlags, IN PFNKSFILTERFACTORYPOWER SleepCallback OPTIONAL, IN PFNKSFILTERFACTORYPOWER WakeCallback OPTIONAL, OUT PKSFILTERFACTORY *FilterFactory OPTIONAL)
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1000
unsigned int ULONG
Definition: retypes.h:1
NTSTATUS FindMatchingCreateItem(PLIST_ENTRY ListHead, PUNICODE_STRING String, OUT PCREATE_ITEM_ENTRY *OutCreateItem)
Definition: irp.c:1762
NTSTATUS KspForwardIrpSynchronous(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: misc.c:65
WCHAR * LPWSTR
Definition: xmlstorage.h:184
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE _In_ SIZE_T _In_ POOL_TYPE PoolType
Definition: fltkernel.h:1444
ULONG ACCESS_MASK
Definition: nt_native.h:40
_In_ PSTORAGE_PROPERTY_ID _Outptr_ PSTORAGE_DESCRIPTOR_HEADER * Descriptor
Definition: classpnp.h:966
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
VOID KspFreeCreateItems(IN PLIST_ENTRY ListHead)