2010-02-26 11:43:19 +00:00
|
|
|
#pragma once
|
2009-02-10 07:44:43 +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
|
|
|
#define _KSDDK_
|
|
|
|
|
2009-02-18 20:05:33 +00:00
|
|
|
#include <ntifs.h>
|
2009-02-10 07:44:43 +00:00
|
|
|
#include <ntddk.h>
|
2010-04-08 08:38:50 +00:00
|
|
|
#define NDEBUG
|
|
|
|
//#define YDEBUG
|
2009-02-10 07:44:43 +00:00
|
|
|
#include <debug.h>
|
|
|
|
#include <portcls.h>
|
2009-02-18 20:05:33 +00:00
|
|
|
#include <ks.h>
|
2009-02-10 07:44:43 +00:00
|
|
|
#include <kcom.h>
|
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
|
|
|
#include <pseh/pseh2.h>
|
|
|
|
#include <ntndk.h>
|
2009-02-10 07:44:43 +00:00
|
|
|
|
|
|
|
#include "ksfunc.h"
|
|
|
|
#include "kstypes.h"
|
|
|
|
#include "ksiface.h"
|
|
|
|
|
2010-04-07 21:45:25 +00:00
|
|
|
#include "ksmedia.h"
|
2010-04-15 10:07:38 +00:00
|
|
|
#include "bdamedia.h"
|
2010-12-20 02:45:18 +00:00
|
|
|
#include <swenum.h>
|
|
|
|
|
2009-02-10 07:44:43 +00:00
|
|
|
|
2009-08-24 17:12:25 +00:00
|
|
|
#define TAG_DEVICE_HEADER 'KSDH'
|
2010-04-07 21:45:25 +00:00
|
|
|
#define REG_PINFLAG_B_MANY 0x4 /* strmif.h */
|
|
|
|
#define MERIT_DO_NOT_USE 0x200000 /* dshow.h */
|
2009-02-10 07:44:43 +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
|
|
|
#define DEFINE_KSPROPERTY_PINPROPOSEDATAFORMAT(PinSet,\
|
|
|
|
PropGeneral, PropInstances, PropIntersection)\
|
|
|
|
DEFINE_KSPROPERTY_TABLE(PinSet) {\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_CINSTANCES(PropInstances),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_CTYPES(PropGeneral),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_DATAFLOW(PropGeneral),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_DATARANGES(PropGeneral),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_DATAINTERSECTION(PropIntersection),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_INTERFACES(PropGeneral),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_MEDIUMS(PropGeneral),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_COMMUNICATION(PropGeneral),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_CATEGORY(PropGeneral),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_NAME(PropGeneral),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_CONSTRAINEDDATARANGES(PropGeneral),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_PIN_PROPOSEDATAFORMAT(PropGeneral)\
|
|
|
|
}
|
2010-04-02 16:38:48 +00:00
|
|
|
|
|
|
|
#define DEFINE_KSPROPERTY_CONNECTIONSET(PinSet,\
|
|
|
|
PropStateHandler, PropDataFormatHandler, PropAllocatorFraming)\
|
|
|
|
DEFINE_KSPROPERTY_TABLE(PinSet) {\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_CONNECTION_STATE(PropStateHandler, PropStateHandler),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_CONNECTION_DATAFORMAT(PropDataFormatHandler, PropDataFormatHandler),\
|
2010-04-15 10:07:38 +00:00
|
|
|
DEFINE_KSPROPERTY_ITEM_CONNECTION_ALLOCATORFRAMING_EX(PropAllocatorFraming)\
|
2010-04-02 16:38:48 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#define DEFINE_KSPROPERTY_STREAMSET(PinSet,\
|
|
|
|
PropStreamAllocator, PropMasterClock, PropPipeId)\
|
|
|
|
DEFINE_KSPROPERTY_TABLE(PinSet) {\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_STREAM_ALLOCATOR(PropStreamAllocator, PropStreamAllocator),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_STREAM_MASTERCLOCK(PropMasterClock, PropMasterClock),\
|
|
|
|
DEFINE_KSPROPERTY_ITEM_STREAM_PIPE_ID(PropPipeId, PropPipeId)\
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|