2010-02-26 11:43:19 +00:00
|
|
|
#pragma once
|
2009-01-26 10:05:46 +00:00
|
|
|
|
2009-08-24 17:12:25 +00:00
|
|
|
#define TAG_KSDEVICE 'DESK'
|
|
|
|
#define TAG_KSOBJECT_TAG 'HOSK'
|
2009-01-26 10:05:46 +00:00
|
|
|
|
2010-12-21 13:06:47 +00:00
|
|
|
VOID
|
|
|
|
CompleteRequest(
|
|
|
|
PIRP Irp,
|
|
|
|
CCHAR PriorityBoost);
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-11 09:34:32 +00:00
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
KspCreateObjectType(
|
|
|
|
IN HANDLE ParentHandle,
|
|
|
|
IN LPWSTR ObjectType,
|
|
|
|
PVOID CreateParameters,
|
|
|
|
UINT CreateParametersSize,
|
|
|
|
IN ACCESS_MASK DesiredAccess,
|
|
|
|
OUT PHANDLE NodeHandle);
|
2009-01-26 10:05:46 +00:00
|
|
|
|
allocators.c
- Implement IKsAllocator interface and use it in new implemented KsCreateAllocator, KsCreateDefaultAllocatorEx, KsValidateAllocatorFramingEx
api.c
- Implement KsSetDevicePnpAndBaseObject, KsQueryDevicePnpObject, KsSetTargetState, KsSetTargetDeviceObject, KsSetPowerDispatch, KsFreeDeviceHeader, KsFreeObjectHeader, KsAllocateObjectCreateItem, KsFreeObjectCreateItem, KsFreeObjectCreateItemsByContext, KsCreateDefaultSecurity
clocks.c
- Implement KsCreateClock, KsCreateDefaultClock, partly implement KsAllocateDefaultClockEx, KsFreeDefaultClock, KsGetDefaultClockState, KsSetDefaultClockState, KsGetDefaultClockTime, KsSetDefaultClockTime
device.c
- Partly implement IKsDevice interface in order to let AVStream client devices initialize
- Implement KsInitializeDevice
- Implement registering of device interface for AVStream drivers
driver.c
- Implement KsGetDeviceForDeviceObject
- Set device flags for ks
- Store Address for client drivers device extension
filter.c
- Implement IKsFilter & IKsControl interface
- Handle KSPROPERTY requests
filterfactory.c
- Implement IKsFilterFactory interface
- Implement KsCreateFilterFactory, KsFilterFactorySetDeviceClassesState, KsFilterFactoryGetSymbolicLink, KsFilterFactoryAddCreateItem
- Add KsFilterFactoryUpdateCacheData
image.c
- Implement KsLoadResource
irp.c
- Implement KsDispatchQuerySecurity, KsDispatchSetSecurity, KsWriteFile, KsDefaultIoCompletion
svn path=/trunk/; revision=42109
2009-07-20 23:26:57 +00:00
|
|
|
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
|
|
|
|
NTAPI
|
|
|
|
IKsDevice_Create(
|
|
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
|
|
IN PIRP Irp);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
IKsDevice_Pnp(
|
|
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
|
|
IN PIRP Irp);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
IKsDevice_Power(
|
|
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
|
|
IN PIRP Irp);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
KspCreateFilter(
|
|
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
|
|
IN PIRP Irp,
|
|
|
|
IN IKsFilterFactory *iface);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
KspSetDeviceInterfacesState(
|
|
|
|
IN PLIST_ENTRY ListHead,
|
|
|
|
IN BOOL Enable);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
KspFreeDeviceInterfaces(
|
|
|
|
IN PLIST_ENTRY ListHead);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
KspRegisterDeviceInterfaces(
|
|
|
|
IN PDEVICE_OBJECT PhysicalDeviceObject,
|
|
|
|
IN ULONG CategoriesCount,
|
|
|
|
IN GUID const*Categories,
|
|
|
|
IN PUNICODE_STRING ReferenceString,
|
|
|
|
OUT PLIST_ENTRY SymbolicLinkList);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
KspForwardIrpSynchronous(
|
|
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
|
|
IN PIRP Irp);
|
|
|
|
|
|
|
|
PVOID
|
|
|
|
AllocateItem(
|
|
|
|
IN POOL_TYPE PoolType,
|
|
|
|
IN SIZE_T NumberOfBytes);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
FreeItem(
|
|
|
|
IN PVOID Item);
|
|
|
|
|
2010-04-15 10:07:38 +00:00
|
|
|
KSDDKAPI
|
allocators.c
- Implement IKsAllocator interface and use it in new implemented KsCreateAllocator, KsCreateDefaultAllocatorEx, KsValidateAllocatorFramingEx
api.c
- Implement KsSetDevicePnpAndBaseObject, KsQueryDevicePnpObject, KsSetTargetState, KsSetTargetDeviceObject, KsSetPowerDispatch, KsFreeDeviceHeader, KsFreeObjectHeader, KsAllocateObjectCreateItem, KsFreeObjectCreateItem, KsFreeObjectCreateItemsByContext, KsCreateDefaultSecurity
clocks.c
- Implement KsCreateClock, KsCreateDefaultClock, partly implement KsAllocateDefaultClockEx, KsFreeDefaultClock, KsGetDefaultClockState, KsSetDefaultClockState, KsGetDefaultClockTime, KsSetDefaultClockTime
device.c
- Partly implement IKsDevice interface in order to let AVStream client devices initialize
- Implement KsInitializeDevice
- Implement registering of device interface for AVStream drivers
driver.c
- Implement KsGetDeviceForDeviceObject
- Set device flags for ks
- Store Address for client drivers device extension
filter.c
- Implement IKsFilter & IKsControl interface
- Handle KSPROPERTY requests
filterfactory.c
- Implement IKsFilterFactory interface
- Implement KsCreateFilterFactory, KsFilterFactorySetDeviceClassesState, KsFilterFactoryGetSymbolicLink, KsFilterFactoryAddCreateItem
- Add KsFilterFactoryUpdateCacheData
image.c
- Implement KsLoadResource
irp.c
- Implement KsDispatchQuerySecurity, KsDispatchSetSecurity, KsWriteFile, KsDefaultIoCompletion
svn path=/trunk/; revision=42109
2009-07-20 23:26:57 +00:00
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
KspPinPropertyHandler(
|
2010-04-15 10:07:38 +00:00
|
|
|
IN PIRP Irp,
|
|
|
|
IN PKSPROPERTY Property,
|
|
|
|
IN OUT PVOID Data,
|
|
|
|
IN ULONG DescriptorsCount,
|
|
|
|
IN const KSPIN_DESCRIPTOR* Descriptors,
|
|
|
|
IN ULONG DescriptorSize);
|
|
|
|
|
2009-01-26 10:05:46 +00:00
|
|
|
|
2009-07-22 14:42:51 +00:00
|
|
|
NTSTATUS
|
|
|
|
FindMatchingCreateItem(
|
|
|
|
PLIST_ENTRY ListHead,
|
2012-12-31 09:48:46 +00:00
|
|
|
PUNICODE_STRING String,
|
2009-07-22 14:42:51 +00:00
|
|
|
OUT PCREATE_ITEM_ENTRY *OutCreateItem);
|
|
|
|
|
2009-07-22 19:08:57 +00:00
|
|
|
NTSTATUS
|
|
|
|
KspCopyCreateRequest(
|
|
|
|
IN PIRP Irp,
|
|
|
|
IN LPWSTR ObjectClass,
|
|
|
|
IN OUT PULONG Size,
|
|
|
|
OUT PVOID * Result);
|
|
|
|
|
2009-07-28 19:32:22 +00:00
|
|
|
NTSTATUS
|
|
|
|
KspCreatePin(
|
|
|
|
IN PDEVICE_OBJECT DeviceObject,
|
2009-08-15 13:45:06 +00:00
|
|
|
IN PIRP Irp,
|
2009-07-28 19:32:22 +00:00
|
|
|
IN PKSDEVICE KsDevice,
|
2009-08-15 13:45:06 +00:00
|
|
|
IN IKsFilterFactory * FilterFactory,
|
2009-07-28 19:32:22 +00:00
|
|
|
IN IKsFilter* Filter,
|
- Start Implementing IKsPin interface
- Increment PinInstanceCount when a pin has succcessfully been created
- Implement KsPinAcquireProcessingMutex, KsPinGetConnectedPinDeviceObject, KsPinGetConnectedFileObject, KsPinGetConnectedPinInterface, KsPinGetNextSiblingPin, KsPinGetParentFilter, KsPinRegisterFrameReturnCallback, KsPinRegisterHandshakeCallback, KsPinRegisterIrpCompletionCallback, KsPinRegisterPowerCallbacks, KsPinReleaseProcessingMutex
- Initialize pin dispatch table
- Add create items for allocator, clock, node create requests
- AVStream clients should now be able to instantiated pins, streaming not yet supported
svn path=/trunk/; revision=42283
2009-07-29 09:48:36 +00:00
|
|
|
IN PKSPIN_CONNECT Connect,
|
|
|
|
IN KSPIN_DESCRIPTOR_EX* Descriptor);
|
2009-07-28 19:32:22 +00:00
|
|
|
|
2009-08-07 09:34:52 +00:00
|
|
|
NTSTATUS
|
|
|
|
KspAddCreateItemToList(
|
|
|
|
OUT PLIST_ENTRY ListHead,
|
|
|
|
IN ULONG ItemsCount,
|
|
|
|
IN PKSOBJECT_CREATE_ITEM ItemsList);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
KspFreeCreateItems(
|
|
|
|
IN PLIST_ENTRY ListHead);
|
2009-07-28 19:32:22 +00:00
|
|
|
|
2009-08-24 12:21:20 +00:00
|
|
|
NTSTATUS
|
|
|
|
KspPropertyHandler(
|
|
|
|
IN PIRP Irp,
|
|
|
|
IN ULONG PropertySetsCount,
|
|
|
|
IN const KSPROPERTY_SET* PropertySet,
|
|
|
|
IN PFNKSALLOCATOR Allocator OPTIONAL,
|
|
|
|
IN ULONG PropertyItemSize OPTIONAL);
|
2010-03-31 17:33:49 +00:00
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
IKsFilterFactory_Create(
|
|
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
|
|
IN PIRP Irp);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
KspSetFilterFactoriesState(
|
|
|
|
IN PKSIDEVICE_HEADER DeviceHeader,
|
|
|
|
IN BOOLEAN NewState);
|
|
|
|
|
2010-04-09 18:31:53 +00:00
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
KspMethodHandlerWithAllocator(
|
|
|
|
IN PIRP Irp,
|
|
|
|
IN ULONG MethodSetsCount,
|
|
|
|
IN const KSMETHOD_SET *MethodSet,
|
|
|
|
IN PFNKSALLOCATOR Allocator OPTIONAL,
|
|
|
|
IN ULONG MethodItemSize OPTIONAL);
|
|
|
|
|
2010-04-10 18:00:17 +00:00
|
|
|
VOID
|
|
|
|
IKsFilter_AddPin(
|
|
|
|
PKSFILTER Filter,
|
|
|
|
PKSPIN Pin);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
IKsFilter_RemovePin(
|
|
|
|
PKSFILTER Filter,
|
|
|
|
PKSPIN Pin);
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
KspEnableEvent(
|
|
|
|
IN PIRP Irp,
|
|
|
|
IN ULONG EventSetsCount,
|
2014-05-10 10:02:09 +00:00
|
|
|
IN const KSEVENT_SET* EventSet,
|
2010-04-10 18:00:17 +00:00
|
|
|
IN OUT PLIST_ENTRY EventsList OPTIONAL,
|
|
|
|
IN KSEVENTS_LOCKTYPE EventsFlags OPTIONAL,
|
|
|
|
IN PVOID EventsLock OPTIONAL,
|
|
|
|
IN PFNKSALLOCATOR Allocator OPTIONAL,
|
|
|
|
IN ULONG EventItemSize OPTIONAL);
|
|
|
|
|
2010-04-15 10:07:38 +00:00
|
|
|
NTSTATUS
|
|
|
|
KspValidateConnectRequest(
|
|
|
|
IN PIRP Irp,
|
|
|
|
IN ULONG DescriptorsCount,
|
|
|
|
IN PVOID Descriptors,
|
|
|
|
IN ULONG DescriptorSize,
|
|
|
|
OUT PKSPIN_CONNECT* Connect);
|
2010-09-23 11:36:00 +00:00
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
KspReadMediaCategory(
|
|
|
|
IN LPGUID Category,
|
|
|
|
PKEY_VALUE_PARTIAL_INFORMATION *OutInformation);
|
|
|
|
|