ReactOS 0.4.15-dev-7918-g2a2556c
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
8 PIRP Irp,
10
11
12
16 IN HANDLE ParentHandle,
18 PVOID CreateParameters,
19 UINT CreateParametersSize,
22
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
39 IN PIRP Irp);
40
45 IN PIRP Irp);
46
51 IN PIRP Irp);
52
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
81
82VOID
84 IN PVOID Item);
85
90 IN PIRP Irp,
93 IN ULONG DescriptorsCount,
94 IN const KSPIN_DESCRIPTOR* Descriptors,
96
97
100 PLIST_ENTRY ListHead,
102 OUT PCREATE_ITEM_ENTRY *OutCreateItem);
103
106 IN PIRP Irp,
107 IN LPWSTR ObjectClass,
109 OUT PVOID * Result);
110
114 IN PIRP Irp,
115 IN PKSDEVICE KsDevice,
116 IN IKsFilterFactory * FilterFactory,
117 IN IKsFilter* Filter,
119 IN KSPIN_DESCRIPTOR_EX* Descriptor);
120
123 OUT PLIST_ENTRY ListHead,
124 IN ULONG ItemsCount,
125 IN PKSOBJECT_CREATE_ITEM ItemsList);
126
127VOID
129 IN PLIST_ENTRY ListHead);
130
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
140NTAPI
143 IN PIRP Irp);
144
147 IN PKSIDEVICE_HEADER DeviceHeader,
148 IN BOOLEAN NewState);
149
151NTAPI
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
159VOID
161 PKSFILTER Filter,
162 PKSPIN Pin);
163
164VOID
166 PKSFILTER Filter,
167 PKSPIN Pin);
168
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
182 IN PIRP Irp,
183 IN ULONG DescriptorsCount,
184 IN PVOID Descriptors,
187
190 IN LPGUID Category,
191 PKEY_VALUE_PARTIAL_INFORMATION *OutInformation);
192
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
PDEVICE_OBJECT PhysicalDeviceObject
Definition: btrfs_drv.h:1157
_In_ PIRP Irp
Definition: csq.h:116
IN PDCB IN VBO IN ULONG IN BOOLEAN Pin
Definition: fatprocs.h:427
unsigned int BOOL
Definition: ntddk_ex.h:94
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
__in WDFDEVICE __in CONST GUID __in_opt PCUNICODE_STRING RefString
_In_ PKSNODE_CREATE _In_ ACCESS_MASK _Out_ PHANDLE NodeHandle
Definition: ks.h:4548
KSEVENTS_LOCKTYPE
Definition: ks.h:1231
_In_ PKSPIN_CONNECT Connect
Definition: ks.h:4536
#define KSDDKAPI
Definition: ks.h:40
NTSTATUS NTAPI IKsDevice_Power(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: device.c:549
NTSTATUS KspAddCreateItemToList(OUT PLIST_ENTRY ListHead, IN ULONG ItemsCount, IN PKSOBJECT_CREATE_ITEM ItemsList)
Definition: api.c:458
NTSTATUS KspRegisterDeviceInterfaces(IN PDEVICE_OBJECT PhysicalDeviceObject, IN ULONG CategoriesCount, IN GUID const *Categories, IN PUNICODE_STRING ReferenceString, OUT PLIST_ENTRY SymbolicLinkList)
PVOID AllocateItem(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes)
Definition: misc.c:29
NTSTATUS KspSetFilterFactoriesState(IN PKSIDEVICE_HEADER DeviceHeader, IN BOOLEAN NewState)
NTSTATUS KspSetDeviceInterfacesState(IN PLIST_ENTRY ListHead, IN BOOL Enable)
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 KspFreeDeviceInterfaces(IN PLIST_ENTRY ListHead)
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 KspCreateObjectType(IN HANDLE ParentHandle, IN LPWSTR ObjectType, PVOID CreateParameters, UINT CreateParametersSize, IN ACCESS_MASK DesiredAccess, OUT PHANDLE NodeHandle)
Definition: topology.c:16
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)
NTSTATUS FindMatchingCreateItem(PLIST_ENTRY ListHead, PUNICODE_STRING String, OUT PCREATE_ITEM_ENTRY *OutCreateItem)
Definition: irp.c:1783
VOID IKsFilter_AddPin(PKSFILTER Filter, PKSPIN Pin)
Definition: filter.c:1337
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 KspCopyCreateRequest(IN PIRP Irp, IN LPWSTR ObjectClass, IN OUT PULONG Size, OUT PVOID *Result)
Definition: misc.c:44
NTSTATUS NTAPI IKsDevice_Create(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: device.c:566
NTSTATUS NTAPI IKsFilterFactory_Create(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: filterfactory.c:42
NTSTATUS KspValidateConnectRequest(IN PIRP Irp, IN ULONG DescriptorsCount, IN PVOID Descriptors, IN ULONG DescriptorSize, OUT PKSPIN_CONNECT *Connect)
Definition: connectivity.c:60
VOID CompleteRequest(PIRP Irp, CCHAR PriorityBoost)
Definition: misc.c:17
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
VOID IKsFilter_RemovePin(PKSFILTER Filter, PKSPIN Pin)
Definition: filter.c:1378
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
NTSTATUS KspReadMediaCategory(IN LPGUID Category, PKEY_VALUE_PARTIAL_INFORMATION *OutInformation)
Definition: connectivity.c:232
VOID KspFreeCreateItems(IN PLIST_ENTRY ListHead)
NTSTATUS NTAPI IKsDevice_Pnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: device.c:409
NTSTATUS NTAPI KspCreateFilter(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN IKsFilterFactory *iface)
Definition: filter.c:1636
VOID FreeItem(IN PVOID Item)
Definition: misc.c:37
ObjectType
Definition: metafile.c:81
unsigned int UINT
Definition: ndis.h:50
ULONG ACCESS_MASK
Definition: nt_native.h:40
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
const GUID Categories[]
Definition: splitter.c:208
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
Definition: kstypes.h:46
Definition: typedefs.h:120
_In_ SIZE_T DescriptorSize
Definition: nls.c:40
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
INT POOL_TYPE
Definition: typedefs.h:78
#define NTAPI
Definition: typedefs.h:36
ULONG_PTR SIZE_T
Definition: typedefs.h:80
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
char CCHAR
Definition: typedefs.h:51
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_Must_inspect_result_ _In_ WDFDEVICE _In_ CONST GUID _In_opt_ PCUNICODE_STRING ReferenceString
Definition: wdfdevice.h:3630
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2658
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3815
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2433
_In_ WDFREQUEST _In_ NTSTATUS _In_ CCHAR PriorityBoost
Definition: wdfrequest.h:1016
_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
_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
_In_opt_ PDEVICE_OBJECT _In_ ULONG _Outptr_result_nullonfailure_ _At_ * SymbolicLinkList(return==0, __drv_allocatesMem(Mem))) PZZWSTR *SymbolicLinkList
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036
WCHAR * LPWSTR
Definition: xmlstorage.h:184