ReactOS  0.4.15-dev-4914-g2220e56
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,
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 
77 PVOID
81 
82 VOID
83 FreeItem(
84  IN PVOID Item);
85 
88 NTAPI
90  IN PIRP Irp,
92  IN OUT PVOID Data,
93  IN ULONG DescriptorsCount,
94  IN const KSPIN_DESCRIPTOR* Descriptors,
95  IN ULONG DescriptorSize);
96 
97 
100  PLIST_ENTRY ListHead,
102  OUT PCREATE_ITEM_ENTRY *OutCreateItem);
103 
104 NTSTATUS
106  IN PIRP Irp,
107  IN LPWSTR ObjectClass,
108  IN OUT PULONG Size,
109  OUT PVOID * Result);
110 
111 NTSTATUS
114  IN PIRP Irp,
115  IN PKSDEVICE KsDevice,
116  IN IKsFilterFactory * FilterFactory,
117  IN IKsFilter* Filter,
119  IN KSPIN_DESCRIPTOR_EX* Descriptor);
120 
121 NTSTATUS
123  OUT PLIST_ENTRY ListHead,
124  IN ULONG ItemsCount,
125  IN PKSOBJECT_CREATE_ITEM ItemsList);
126 
127 VOID
129  IN PLIST_ENTRY ListHead);
130 
131 NTSTATUS
133  IN PIRP Irp,
134  IN ULONG PropertySetsCount,
135  IN const KSPROPERTY_SET* PropertySet,
136  IN PFNKSALLOCATOR Allocator OPTIONAL,
137  IN ULONG PropertyItemSize OPTIONAL);
138 
139 NTSTATUS
140 NTAPI
143  IN PIRP Irp);
144 
145 NTSTATUS
147  IN PKSIDEVICE_HEADER DeviceHeader,
148  IN BOOLEAN NewState);
149 
150 NTSTATUS
151 NTAPI
153  IN PIRP Irp,
154  IN ULONG MethodSetsCount,
155  IN const KSMETHOD_SET *MethodSet,
156  IN PFNKSALLOCATOR Allocator OPTIONAL,
157  IN ULONG MethodItemSize OPTIONAL);
158 
159 VOID
161  PKSFILTER Filter,
162  PKSPIN Pin);
163 
164 VOID
166  PKSFILTER Filter,
167  PKSPIN Pin);
168 
169 NTSTATUS
171  IN PIRP Irp,
172  IN ULONG EventSetsCount,
173  IN const KSEVENT_SET* EventSet,
174  IN OUT PLIST_ENTRY EventsList OPTIONAL,
175  IN KSEVENTS_LOCKTYPE EventsFlags OPTIONAL,
176  IN PVOID EventsLock OPTIONAL,
177  IN PFNKSALLOCATOR Allocator OPTIONAL,
178  IN ULONG EventItemSize OPTIONAL);
179 
180 NTSTATUS
182  IN PIRP Irp,
183  IN ULONG DescriptorsCount,
184  IN PVOID Descriptors,
185  IN ULONG DescriptorSize,
187 
188 NTSTATUS
190  IN LPGUID Category,
191  PKEY_VALUE_PARTIAL_INFORMATION *OutInformation);
192 
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)
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2654
_In_opt_ PDEVICE_OBJECT _In_ ULONG _Outptr_result_nullonfailure_ _At_ * SymbolicLinkList(return==0, __drv_allocatesMem(Mem))) PZZWSTR *SymbolicLinkList
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Definition: wdfresource.h:339
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_ 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:56
__in WDFDEVICE __in CONST GUID __in_opt PCUNICODE_STRING RefString
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
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
_In_ PKSNODE_CREATE _In_ ACCESS_MASK _Out_ PHANDLE NodeHandle
Definition: ks.h:4546
PDEVICE_OBJECT PhysicalDeviceObject
Definition: btrfs_drv.h:1149
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:409
#define KSDDKAPI
Definition: ks.h:40
NTSTATUS KspCopyCreateRequest(IN PIRP Irp, IN LPWSTR ObjectClass, IN OUT PULONG Size, OUT PVOID *Result)
Definition: misc.c:50
NTSTATUS KspRegisterDeviceInterfaces(IN PDEVICE_OBJECT PhysicalDeviceObject, IN ULONG CategoriesCount, IN GUID const *Categories, IN PUNICODE_STRING ReferenceString, OUT PLIST_ENTRY SymbolicLinkList)
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
Definition: kstypes.h:45
VOID FreeItem(IN PVOID Item)
Definition: misc.c:43
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2430
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
_In_ WDFREQUEST _In_ NTSTATUS _In_ CCHAR PriorityBoost
Definition: wdfrequest.h:1011
_In_ PIRP Irp
Definition: csq.h:116
unsigned int BOOL
Definition: ntddk_ex.h:94
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
const GUID Categories[]
Definition: splitter.c:208
VOID CompleteRequest(PIRP Irp, CCHAR PriorityBoost)
Definition: misc.c:17
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:78
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
Definition: typedefs.h:119
NTSTATUS KspReadMediaCategory(IN LPGUID Category, PKEY_VALUE_PARTIAL_INFORMATION *OutInformation)
Definition: connectivity.c:232
ULONG_PTR SIZE_T
Definition: typedefs.h:80
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:549
_Must_inspect_result_ _In_ WDFDEVICE _In_ CONST GUID _In_opt_ PCUNICODE_STRING ReferenceString
Definition: wdfdevice.h:3625
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
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1035
unsigned int * PULONG
Definition: retypes.h:1
unsigned int UINT
Definition: ndis.h:50
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
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:566
#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_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3810
unsigned int ULONG
Definition: retypes.h:1
NTSTATUS FindMatchingCreateItem(PLIST_ENTRY ListHead, PUNICODE_STRING String, OUT PCREATE_ITEM_ENTRY *OutCreateItem)
Definition: irp.c:1762
WCHAR * LPWSTR
Definition: xmlstorage.h:184
ULONG ACCESS_MASK
Definition: nt_native.h:40
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
VOID KspFreeCreateItems(IN PLIST_ENTRY ListHead)