Headers diff for ksuser.dll between 5.3.3790.1830-Windows 5.0 and 6.0.6001.18000-Windows 6.0 versions



 ks.h (5.3.3790.1830-Windows 5.0)   ks.h (6.0.6001.18000-Windows 6.0) 
skipping to change at line 223 skipping to change at line 223
KSIDENTIFIER PropTypeSet; KSIDENTIFIER PropTypeSet;
ULONG MembersListCount; ULONG MembersListCount;
ULONG Reserved; ULONG Reserved;
} KSPROPERTY_DESCRIPTION, *PKSPROPERTY_DESCRIPTION; } KSPROPERTY_DESCRIPTION, *PKSPROPERTY_DESCRIPTION;
#define KSPROPERTY_MEMBER_RANGES 0x00000001 #define KSPROPERTY_MEMBER_RANGES 0x00000001
#define KSPROPERTY_MEMBER_STEPPEDRANGES 0x00000002 #define KSPROPERTY_MEMBER_STEPPEDRANGES 0x00000002
#define KSPROPERTY_MEMBER_VALUES 0x00000003 #define KSPROPERTY_MEMBER_VALUES 0x00000003
#define KSPROPERTY_MEMBER_FLAG_DEFAULT 0x00000001 #define KSPROPERTY_MEMBER_FLAG_DEFAULT 0x00000001
#if (NTDDI_VERSION >= NTDDI_WINXP)
#define KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_MULTICHANNEL 0x00000002 #define KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_MULTICHANNEL 0x00000002
#define KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_UNIFORM 0x00000004 #define KSPROPERTY_MEMBER_FLAG_BASICSUPPORT_UNIFORM 0x00000004
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
typedef struct { typedef struct {
ULONG MembersFlags; ULONG MembersFlags;
ULONG MembersSize; ULONG MembersSize;
ULONG MembersCount; ULONG MembersCount;
ULONG Flags; ULONG Flags;
} KSPROPERTY_MEMBERSHEADER, *PKSPROPERTY_MEMBERSHEADER; } KSPROPERTY_MEMBERSHEADER, *PKSPROPERTY_MEMBERSHEADER;
typedef union { typedef union {
#if defined( _KS_NO_ANONYMOUS_STRUCTURES_ ) #if defined( _KS_NO_ANONYMOUS_STRUCTURES_ )
skipping to change at line 292 skipping to change at line 294
typedef struct { typedef struct {
#if defined(_NTDDK_) #if defined(_NTDDK_)
ULONGLONG SteppingDelta; ULONGLONG SteppingDelta;
#else // !_NTDDK_ #else // !_NTDDK_
DWORDLONG SteppingDelta; DWORDLONG SteppingDelta;
#endif // !_NTDDK_ #endif // !_NTDDK_
KSPROPERTY_BOUNDS_LONGLONG Bounds; KSPROPERTY_BOUNDS_LONGLONG Bounds;
} KSPROPERTY_STEPPING_LONGLONG, *PKSPROPERTY_STEPPING_LONGLONG; } KSPROPERTY_STEPPING_LONGLONG, *PKSPROPERTY_STEPPING_LONGLONG;
//=========================================================================== //===========================================================================
#if (NTDDI_VERSION >= NTDDI_WINXP)
#if defined(_NTDDK_) #if defined(_NTDDK_)
// //
// Structure forward declarations. // Structure forward declarations.
// //
typedef struct _KSDEVICE_DESCRIPTOR typedef struct _KSDEVICE_DESCRIPTOR
KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR; KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR;
typedef struct _KSDEVICE_DISPATCH typedef struct _KSDEVICE_DISPATCH
KSDEVICE_DISPATCH, *PKSDEVICE_DISPATCH; KSDEVICE_DISPATCH, *PKSDEVICE_DISPATCH;
typedef struct _KSDEVICE typedef struct _KSDEVICE
skipping to change at line 335 skipping to change at line 338
typedef struct _KSSTREAM_POINTER typedef struct _KSSTREAM_POINTER
KSSTREAM_POINTER, *PKSSTREAM_POINTER; KSSTREAM_POINTER, *PKSSTREAM_POINTER;
typedef struct _KSMAPPING typedef struct _KSMAPPING
KSMAPPING, *PKSMAPPING; KSMAPPING, *PKSMAPPING;
typedef struct _KSPROCESSPIN typedef struct _KSPROCESSPIN
KSPROCESSPIN, *PKSPROCESSPIN; KSPROCESSPIN, *PKSPROCESSPIN;
typedef struct _KSPROCESSPIN_INDEXENTRY typedef struct _KSPROCESSPIN_INDEXENTRY
KSPROCESSPIN_INDEXENTRY, *PKSPROCESSPIN_INDEXENTRY; KSPROCESSPIN_INDEXENTRY, *PKSPROCESSPIN_INDEXENTRY;
#endif // _NTDDK_ #endif // _NTDDK_
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
typedef PVOID PKSWORKER; typedef PVOID PKSWORKER;
typedef struct { typedef struct {
ULONG NotificationType; ULONG NotificationType;
union { union {
struct { struct {
HANDLE Event; HANDLE Event;
ULONG_PTR Reserved[2]; ULONG_PTR Reserved[2];
} EventHandle; } EventHandle;
struct { struct {
skipping to change at line 375 skipping to change at line 380
struct { struct {
PWORK_QUEUE_ITEM WorkQueueItem; PWORK_QUEUE_ITEM WorkQueueItem;
WORK_QUEUE_TYPE WorkQueueType; WORK_QUEUE_TYPE WorkQueueType;
ULONG_PTR Reserved; ULONG_PTR Reserved;
} WorkItem; } WorkItem;
struct { struct {
PWORK_QUEUE_ITEM WorkQueueItem; PWORK_QUEUE_ITEM WorkQueueItem;
PKSWORKER KsWorkerObject; PKSWORKER KsWorkerObject;
ULONG_PTR Reserved; ULONG_PTR Reserved;
} KsWorkItem; } KsWorkItem;
// @@BEGIN_DDKSPLIT
struct {
PKSFILTER Filter;
ULONG_PTR Reserved[2];
} KsFilterProcessing;
struct {
PKSPIN Pin;
ULONG_PTR Reserved[2];
} KsPinProcessing;
// @@END_DDKSPLIT
#endif // defined(_NTDDK_) #endif // defined(_NTDDK_)
struct { struct {
PVOID Unused; PVOID Unused;
LONG_PTR Alignment[2]; LONG_PTR Alignment[2];
} Alignment; } Alignment;
}; };
} KSEVENTDATA, *PKSEVENTDATA; } KSEVENTDATA, *PKSEVENTDATA;
#define KSEVENTF_EVENT_HANDLE 0x00000001 #define KSEVENTF_EVENT_HANDLE 0x00000001
#define KSEVENTF_SEMAPHORE_HANDLE 0x00000002 #define KSEVENTF_SEMAPHORE_HANDLE 0x00000002
#if defined(_NTDDK_) #if defined(_NTDDK_)
#define KSEVENTF_EVENT_OBJECT 0x00000004 #define KSEVENTF_EVENT_OBJECT 0x00000004
#define KSEVENTF_SEMAPHORE_OBJECT 0x00000008 #define KSEVENTF_SEMAPHORE_OBJECT 0x00000008
#define KSEVENTF_DPC 0x00000010 #define KSEVENTF_DPC 0x00000010
#define KSEVENTF_WORKITEM 0x00000020 #define KSEVENTF_WORKITEM 0x00000020
#define KSEVENTF_KSWORKITEM 0x00000080 #define KSEVENTF_KSWORKITEM 0x00000080
// @@BEGIN_DDKSPLIT
#define KSEVENTF_KSFILTERPROCESSING 0x00000100
#define KSEVENTF_KSPINPROCESSING 0x00000200
// @@END_DDKSPLIT
#endif // defined(_NTDDK_) #endif // defined(_NTDDK_)
#define KSEVENT_TYPE_ENABLE 0x00000001 #define KSEVENT_TYPE_ENABLE 0x00000001
#define KSEVENT_TYPE_ONESHOT 0x00000002 #define KSEVENT_TYPE_ONESHOT 0x00000002
#define KSEVENT_TYPE_ENABLEBUFFERED 0x00000004 #define KSEVENT_TYPE_ENABLEBUFFERED 0x00000004
#define KSEVENT_TYPE_SETSUPPORT 0x00000100 #define KSEVENT_TYPE_SETSUPPORT 0x00000100
#define KSEVENT_TYPE_BASICSUPPORT 0x00000200 #define KSEVENT_TYPE_BASICSUPPORT 0x00000200
#define KSEVENT_TYPE_QUERYBUFFER 0x00000400 #define KSEVENT_TYPE_QUERYBUFFER 0x00000400
#define KSEVENT_TYPE_TOPOLOGY 0x10000000 #define KSEVENT_TYPE_TOPOLOGY 0x10000000
skipping to change at line 1473 skipping to change at line 1464
#define DEFINE_KSPROPERTY_ITEM_CONNECTION_STARTAT(Handler)\ #define DEFINE_KSPROPERTY_ITEM_CONNECTION_STARTAT(Handler)\
DEFINE_KSPROPERTY_ITEM(\ DEFINE_KSPROPERTY_ITEM(\
KSPROPERTY_CONNECTION_STARTAT,\ KSPROPERTY_CONNECTION_STARTAT,\
NULL,\ NULL,\
sizeof(KSPROPERTY),\ sizeof(KSPROPERTY),\
sizeof(KSRELATIVEEVENT),\ sizeof(KSRELATIVEEVENT),\
(Handler),\ (Handler),\
NULL, 0, NULL, NULL, 0) NULL, 0, NULL, NULL, 0)
//=========================================================================== //===========================================================================
//VRAM transport related propset
//===========================================================================
#define STATIC_KSPROPSETID_MemoryTransport \
0xa3d1c5d, 0x5243, 0x4819, 0x9e, 0xd0, 0xae, 0xe8, 0x4, 0x4c, 0xee, 0x2b
DEFINE_GUIDSTRUCT("0A3D1C5D-5243-4819-9ED0-AEE8044CEE2B", KSPROPSETID_MemoryTran
sport);
#define KSPROPSETID_MemoryTransport DEFINE_GUIDNAMED(KSPROPSETID_MemoryTransport
)
enum {
// a value of zero is ignored
KSPROPERTY_MEMORY_TRANSPORT = 1 //Sets pin's memory transport mechanism e.g.
VRAM or SYSMEM
};
#define DEFINE_KSPROPERTY_ITEM_MEMORY_TRANSPORT(SetHandler)\
DEFINE_KSPROPERTY_ITEM(\
KSPROPERTY_MEMORY_TRANSPORT,\
NULL,\
sizeof(KSPROPERTY),\
sizeof(BOOL),\
(SetHandler),\
NULL, 0, NULL, NULL, 0)
//===========================================================================
// //
// pins flags // pins flags
// //
#define KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER 0x00000001 #define KSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER 0x00000001
#define KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY 0x00000002 #define KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY 0x00000002
#define KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY 0x00000004 #define KSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY 0x00000004
#define KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE 0x00000008 #define KSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE 0x00000008
#define KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY 0x80000000 #define KSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY 0x80000000
#define KSALLOCATOR_OPTIONF_COMPATIBLE 0x00000001 #define KSALLOCATOR_OPTIONF_COMPATIBLE 0x00000001
skipping to change at line 1848 skipping to change at line 1861
#define KSSTREAM_HEADER_OPTIONSF_SPLICEPOINT 0x00000001 #define KSSTREAM_HEADER_OPTIONSF_SPLICEPOINT 0x00000001
#define KSSTREAM_HEADER_OPTIONSF_PREROLL 0x00000002 #define KSSTREAM_HEADER_OPTIONSF_PREROLL 0x00000002
#define KSSTREAM_HEADER_OPTIONSF_DATADISCONTINUITY 0x00000004 #define KSSTREAM_HEADER_OPTIONSF_DATADISCONTINUITY 0x00000004
#define KSSTREAM_HEADER_OPTIONSF_TYPECHANGED 0x00000008 #define KSSTREAM_HEADER_OPTIONSF_TYPECHANGED 0x00000008
#define KSSTREAM_HEADER_OPTIONSF_TIMEVALID 0x00000010 #define KSSTREAM_HEADER_OPTIONSF_TIMEVALID 0x00000010
#define KSSTREAM_HEADER_OPTIONSF_TIMEDISCONTINUITY 0x00000040 #define KSSTREAM_HEADER_OPTIONSF_TIMEDISCONTINUITY 0x00000040
#define KSSTREAM_HEADER_OPTIONSF_FLUSHONPAUSE 0x00000080 #define KSSTREAM_HEADER_OPTIONSF_FLUSHONPAUSE 0x00000080
#define KSSTREAM_HEADER_OPTIONSF_DURATIONVALID 0x00000100 #define KSSTREAM_HEADER_OPTIONSF_DURATIONVALID 0x00000100
#define KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM 0x00000200 #define KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM 0x00000200
#define KSSTREAM_HEADER_OPTIONSF_BUFFEREDTRANSFER 0x00000400
#define KSSTREAM_HEADER_OPTIONSF_VRAM_DATA_TRANSFER 0x00000800
#define KSSTREAM_HEADER_OPTIONSF_LOOPEDDATA 0x80000000 #define KSSTREAM_HEADER_OPTIONSF_LOOPEDDATA 0x80000000
typedef struct { typedef struct {
LONGLONG Time; LONGLONG Time;
ULONG Numerator; ULONG Numerator;
ULONG Denominator; ULONG Denominator;
} KSTIME, *PKSTIME; } KSTIME, *PKSTIME;
typedef struct { typedef struct {
ULONG Size; ULONG Size;
skipping to change at line 2098 skipping to change at line 2113
IN PFILE_OBJECT FileObject, IN PFILE_OBJECT FileObject,
OUT PLONGLONG SystemTime); OUT PLONGLONG SystemTime);
typedef struct { typedef struct {
PFNKSCLOCK_GETTIME GetTime; PFNKSCLOCK_GETTIME GetTime;
PFNKSCLOCK_GETTIME GetPhysicalTime; PFNKSCLOCK_GETTIME GetPhysicalTime;
PFNKSCLOCK_CORRELATEDTIME GetCorrelatedTime; PFNKSCLOCK_CORRELATEDTIME GetCorrelatedTime;
PFNKSCLOCK_CORRELATEDTIME GetCorrelatedPhysicalTime; PFNKSCLOCK_CORRELATEDTIME GetCorrelatedPhysicalTime;
} KSCLOCK_FUNCTIONTABLE, *PKSCLOCK_FUNCTIONTABLE; } KSCLOCK_FUNCTIONTABLE, *PKSCLOCK_FUNCTIONTABLE;
#if (NTDDI_VERSION >= NTDDI_WINXP)
typedef typedef
BOOLEAN BOOLEAN
(*PFNKSSETTIMER)( (*PFNKSSETTIMER)(
IN PVOID Context, IN PVOID Context,
IN PKTIMER Timer, IN PKTIMER Timer,
IN LARGE_INTEGER DueTime, IN LARGE_INTEGER DueTime,
IN PKDPC Dpc IN PKDPC Dpc
); );
typedef typedef
skipping to change at line 2120 skipping to change at line 2137
IN PVOID Context, IN PVOID Context,
IN PKTIMER Timer IN PKTIMER Timer
); );
typedef typedef
LONGLONG LONGLONG
(FASTCALL *PFNKSCORRELATEDTIME)( (FASTCALL *PFNKSCORRELATEDTIME)(
IN PVOID Context, IN PVOID Context,
OUT PLONGLONG SystemTime); OUT PLONGLONG SystemTime);
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
typedef PVOID PKSDEFAULTCLOCK; typedef PVOID PKSDEFAULTCLOCK;
#define DEFINE_KSPROPERTY_ITEM_CLOCK_TIME(Handler)\ #define DEFINE_KSPROPERTY_ITEM_CLOCK_TIME(Handler)\
DEFINE_KSPROPERTY_ITEM(\ DEFINE_KSPROPERTY_ITEM(\
KSPROPERTY_CLOCK_TIME,\ KSPROPERTY_CLOCK_TIME,\
(Handler),\ (Handler),\
sizeof(KSPROPERTY),\ sizeof(KSPROPERTY),\
sizeof(LONGLONG),\ sizeof(LONGLONG),\
NULL, NULL, 0, NULL, NULL, 0) NULL, NULL, 0, NULL, NULL, 0)
skipping to change at line 2189 skipping to change at line 2208
PropTime, PropPhysicalTime,\ PropTime, PropPhysicalTime,\
PropCorrelatedTime, PropCorrelatedPhysicalTime,\ PropCorrelatedTime, PropCorrelatedPhysicalTime,\
PropResolution, PropState, PropFunctionTable)\ PropResolution, PropState, PropFunctionTable)\
DEFINE_KSPROPERTY_TABLE(ClockSet) {\ DEFINE_KSPROPERTY_TABLE(ClockSet) {\
DEFINE_KSPROPERTY_ITEM_CLOCK_TIME(PropTime),\ DEFINE_KSPROPERTY_ITEM_CLOCK_TIME(PropTime),\
DEFINE_KSPROPERTY_ITEM_CLOCK_PHYSICALTIME(PropPhysicalTime),\ DEFINE_KSPROPERTY_ITEM_CLOCK_PHYSICALTIME(PropPhysicalTime),\
DEFINE_KSPROPERTY_ITEM_CLOCK_CORRELATEDTIME(PropCorrelatedTime),\ DEFINE_KSPROPERTY_ITEM_CLOCK_CORRELATEDTIME(PropCorrelatedTime),\
DEFINE_KSPROPERTY_ITEM_CLOCK_CORRELATEDPHYSICALTIME(PropCorrelatedPhysicalTi me),\ DEFINE_KSPROPERTY_ITEM_CLOCK_CORRELATEDPHYSICALTIME(PropCorrelatedPhysicalTi me),\
DEFINE_KSPROPERTY_ITEM_CLOCK_RESOLUTION(PropResolution),\ DEFINE_KSPROPERTY_ITEM_CLOCK_RESOLUTION(PropResolution),\
DEFINE_KSPROPERTY_ITEM_CLOCK_STATE(PropState),\ DEFINE_KSPROPERTY_ITEM_CLOCK_STATE(PropState),\
DEFINE_KSPROPERTY_ITEM_CLOCK_FUNCTIONTABLE(PropFunctionTable),\ DEFINE_KSPROPERTY_ITEM_CLOCK_FUNCTIONTABLE(PropFunctionTable)\
} }
#endif // defined(_NTDDK_) #endif // defined(_NTDDK_)
#define STATIC_KSEVENTSETID_Clock \ #define STATIC_KSEVENTSETID_Clock \
0x364D8E20L, 0x62C7, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 0x364D8E20L, 0x62C7, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("364D8E20-62C7-11CF-A5D6-28DB04C10000", KSEVENTSETID_Clock); DEFINE_GUIDSTRUCT("364D8E20-62C7-11CF-A5D6-28DB04C10000", KSEVENTSETID_Clock);
#define KSEVENTSETID_Clock DEFINE_GUIDNAMED(KSEVENTSETID_Clock) #define KSEVENTSETID_Clock DEFINE_GUIDNAMED(KSEVENTSETID_Clock)
typedef enum { typedef enum {
skipping to change at line 2776 skipping to change at line 2795
#if !defined( PACK_PRAGMAS_NOT_SUPPORTED ) #if !defined( PACK_PRAGMAS_NOT_SUPPORTED )
#include <poppack.h> #include <poppack.h>
#endif #endif
typedef struct { typedef struct {
KSIDENTIFIER PropTypeSet; KSIDENTIFIER PropTypeSet;
ULONG Id; ULONG Id;
ULONG PropertyLength; ULONG PropertyLength;
} KSPROPERTY_SERIAL, *PKSPROPERTY_SERIAL; } KSPROPERTY_SERIAL, *PKSPROPERTY_SERIAL;
#if (NTDDI_VERSION >= NTDDI_WINXP)
#if defined(_NTDDK_) #if defined(_NTDDK_)
#define IOCTL_KS_HANDSHAKE CTL_CODE(FILE_DEVICE_KS, 0x007, METHOD_NE ITHER, FILE_ANY_ACCESS) #define IOCTL_KS_HANDSHAKE CTL_CODE(FILE_DEVICE_KS, 0x007, METHOD_NE ITHER, FILE_ANY_ACCESS)
typedef struct { typedef struct {
GUID ProtocolId; GUID ProtocolId;
PVOID Argument1; PVOID Argument1;
PVOID Argument2; PVOID Argument2;
} KSHANDSHAKE, *PKSHANDSHAKE; } KSHANDSHAKE, *PKSHANDSHAKE;
skipping to change at line 3217 skipping to change at line 3238
PFNKSPINRESOLUTION Resolution; PFNKSPINRESOLUTION Resolution;
}; };
struct _KSALLOCATOR_DISPATCH { struct _KSALLOCATOR_DISPATCH {
PFNKSPININITIALIZEALLOCATOR InitializeAllocator; PFNKSPININITIALIZEALLOCATOR InitializeAllocator;
PFNKSDELETEALLOCATOR DeleteAllocator; PFNKSDELETEALLOCATOR DeleteAllocator;
PFNKSDEFAULTALLOCATE Allocate; PFNKSDEFAULTALLOCATE Allocate;
PFNKSDEFAULTFREE Free; PFNKSDEFAULTFREE Free;
}; };
//
// VERSION indicates support of the following:
//
// - QueryInterface dispatch of KSDEVICE_DISPATCH
//
#define KSDEVICE_DESCRIPTOR_VERSION (0x100) #define KSDEVICE_DESCRIPTOR_VERSION (0x100)
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
//
// VERSION_2 indicates support of the following:
//
// - Flags field of KSDEVICE_DESCRIPTOR
// - Loading a VERSION_2 descriptor on earlier versions of AVStream
// will work; however, all flags will be considered to be zero.
// - Using an earlier version descriptor on later versions of
// AVStream causes no flags to be specificed.
//
#define KSDEVICE_DESCRIPTOR_VERSION_2 (0x110)
#define MIN_DEV_VER_FOR_FLAGS (0x110)
#endif // (NTDDI_VERSION >= NTDDI_LONGHORN)
struct _KSDEVICE_DESCRIPTOR { struct _KSDEVICE_DESCRIPTOR {
const KSDEVICE_DISPATCH* Dispatch; const KSDEVICE_DISPATCH* Dispatch;
ULONG FilterDescriptorsCount; ULONG FilterDescriptorsCount;
const KSFILTER_DESCRIPTOR*const* FilterDescriptors; const KSFILTER_DESCRIPTOR*const* FilterDescriptors;
ULONG Version; // this is 0 for pre-version 100 driver ULONG Version; // this is 0 for pre-version 100 driver
//#if !defined(_WIN64)
//PVOID Alignment; #if (NTDDI_VERSION >= NTDDI_LONGHORN)
//#endif //!defined(_WIN64)
ULONG Flags;
#define KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP 0x00000001
#define KSDEVICE_FLAG_LOWPOWER_PASSTHROUGH 0x00000002
#if !defined(_WIN64)
PVOID Alignment;
#endif //!defined(_WIN64)
#endif // (NTDDI_VERSION >= NTDDI_LONGHORN)
}; };
struct _KSFILTER_DESCRIPTOR { struct _KSFILTER_DESCRIPTOR {
const KSFILTER_DISPATCH* Dispatch; const KSFILTER_DISPATCH* Dispatch;
const KSAUTOMATION_TABLE* AutomationTable; const KSAUTOMATION_TABLE* AutomationTable;
ULONG Version; ULONG Version;
#define KSFILTER_DESCRIPTOR_VERSION ((ULONG)-1) #define KSFILTER_DESCRIPTOR_VERSION ((ULONG)-1)
ULONG Flags; ULONG Flags;
#define KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING 0x00000001 #define KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING 0x00000001
#define KSFILTER_FLAG_CRITICAL_PROCESSING 0x00000002 #define KSFILTER_FLAG_CRITICAL_PROCESSING 0x00000002
#define KSFILTER_FLAG_HYPERCRITICAL_PROCESSING 0x00000004 #define KSFILTER_FLAG_HYPERCRITICAL_PROCESSING 0x00000004
#define KSFILTER_FLAG_RECEIVE_ZERO_LENGTH_SAMPLES 0x00000008 #define KSFILTER_FLAG_RECEIVE_ZERO_LENGTH_SAMPLES 0x00000008
#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
#define KSFILTER_FLAG_DENY_USERMODE_ACCESS 0x80000000 #define KSFILTER_FLAG_DENY_USERMODE_ACCESS 0x80000000
#endif // (NTDDI_VERSION >= NTDDI_WINXPSP2)
const GUID* ReferenceGuid; const GUID* ReferenceGuid;
ULONG PinDescriptorsCount; ULONG PinDescriptorsCount;
ULONG PinDescriptorSize; ULONG PinDescriptorSize;
const KSPIN_DESCRIPTOR_EX* PinDescriptors; const KSPIN_DESCRIPTOR_EX* PinDescriptors;
ULONG CategoriesCount; ULONG CategoriesCount;
const GUID* Categories; const GUID* Categories;
ULONG NodeDescriptorsCount; ULONG NodeDescriptorsCount;
ULONG NodeDescriptorSize; ULONG NodeDescriptorSize;
const KSNODE_DESCRIPTOR* NodeDescriptors; const KSNODE_DESCRIPTOR* NodeDescriptors;
ULONG ConnectionsCount; ULONG ConnectionsCount;
skipping to change at line 3322 skipping to change at line 3377
#define KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY 0x00010000 #define KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY 0x00010000
#define KSPIN_FLAG_SPLITTER 0x00020000 #define KSPIN_FLAG_SPLITTER 0x00020000
#define KSPIN_FLAG_USE_STANDARD_TRANSPORT 0x00040000 #define KSPIN_FLAG_USE_STANDARD_TRANSPORT 0x00040000
#define KSPIN_FLAG_DO_NOT_USE_STANDARD_TRANSPORT 0x00080000 #define KSPIN_FLAG_DO_NOT_USE_STANDARD_TRANSPORT 0x00080000
#define KSPIN_FLAG_FIXED_FORMAT 0x00100000 #define KSPIN_FLAG_FIXED_FORMAT 0x00100000
#define KSPIN_FLAG_GENERATE_EOS_EVENTS 0x00200000 #define KSPIN_FLAG_GENERATE_EOS_EVENTS 0x00200000
#define KSPIN_FLAG_RENDERER (KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY|KSPIN_FLAG_GEN ERATE_EOS_EVENTS) #define KSPIN_FLAG_RENDERER (KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY|KSPIN_FLAG_GEN ERATE_EOS_EVENTS)
#define KSPIN_FLAG_IMPLEMENT_CLOCK 0x00400000 #define KSPIN_FLAG_IMPLEMENT_CLOCK 0x00400000
#define KSPIN_FLAG_SOME_FRAMES_REQUIRED_FOR_PROCESSING 0x00800000 #define KSPIN_FLAG_SOME_FRAMES_REQUIRED_FOR_PROCESSING 0x00800000
#define KSPIN_FLAG_PROCESS_IF_ANY_IN_RUN_STATE 0x01000000 #define KSPIN_FLAG_PROCESS_IF_ANY_IN_RUN_STATE 0x01000000
#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
#define KSPIN_FLAG_DENY_USERMODE_ACCESS 0x80000000 #define KSPIN_FLAG_DENY_USERMODE_ACCESS 0x80000000
#endif // (NTDDI_VERSION >= NTDDI_WINXPSP2)
ULONG InstancesPossible; ULONG InstancesPossible;
ULONG InstancesNecessary; ULONG InstancesNecessary;
const KSALLOCATOR_FRAMING_EX* AllocatorFraming; const KSALLOCATOR_FRAMING_EX* AllocatorFraming;
PFNKSINTERSECTHANDLEREX IntersectHandler; PFNKSINTERSECTHANDLEREX IntersectHandler;
}; };
#define DEFINE_KSPIN_DEFAULT_INTERFACES\ #define DEFINE_KSPIN_DEFAULT_INTERFACES\
0,\ 0,\
NULL NULL
skipping to change at line 3553 skipping to change at line 3610
) PURE; ) PURE;
STDMETHOD_(NTSTATUS, GetResolution)(THIS_ STDMETHOD_(NTSTATUS, GetResolution)(THIS_
OUT PKSRESOLUTION Resolution OUT PKSRESOLUTION Resolution
) PURE; ) PURE;
STDMETHOD_(NTSTATUS, GetState)(THIS_ STDMETHOD_(NTSTATUS, GetState)(THIS_
OUT PKSSTATE State OUT PKSSTATE State
) PURE; ) PURE;
}; };
#undef INTERFACE #undef INTERFACE
#if (NTDDI_VERSION >= NTDDI_WS03SP1)
#define INTERFACE IKsDeviceFunctions #define INTERFACE IKsDeviceFunctions
DECLARE_INTERFACE_(IKsDeviceFunctions, IUnknown) DECLARE_INTERFACE_(IKsDeviceFunctions, IUnknown)
{ {
DEFINE_ABSTRACT_UNKNOWN() // For C DEFINE_ABSTRACT_UNKNOWN() // For C
STDMETHOD_(NTSTATUS, RegisterAdapterObjectEx)(THIS_ STDMETHOD_(NTSTATUS, RegisterAdapterObjectEx)(THIS_
IN PADAPTER_OBJECT AdapterObject, IN PADAPTER_OBJECT AdapterObject,
IN PDEVICE_DESCRIPTION DeviceDescription, IN PDEVICE_DESCRIPTION DeviceDescription,
IN ULONG NumberOfMapRegisters, IN ULONG NumberOfMapRegisters,
IN ULONG MaxMappingsByteCount, IN ULONG MaxMappingsByteCount,
IN ULONG MappingTableStride IN ULONG MappingTableStride
) PURE; ) PURE;
}; };
#undef INTERFACE #undef INTERFACE
#endif // (NTDDI_VERSION >= NTDDI_WS03SP1)
#define STATIC_IID_IKsControl \ #define STATIC_IID_IKsControl \
0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUID(IID_IKsControl, DEFINE_GUID(IID_IKsControl,
0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96); 0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96);
#if defined(__cplusplus) && _MSC_VER >= 1100 #if defined(__cplusplus) && _MSC_VER >= 1100
struct __declspec(uuid("28F54685-06FD-11D2-B27A-00A0C9223196")) IKsControl; struct __declspec(uuid("28F54685-06FD-11D2-B27A-00A0C9223196")) IKsControl;
#endif #endif
#define STATIC_IID_IKsFastClock \ #define STATIC_IID_IKsFastClock \
0xc9902485, 0xc180, 0x11d2, 0x84, 0x73, 0xd4, 0x23, 0x94, 0x45, 0x9e, 0x5e 0xc9902485, 0xc180, 0x11d2, 0x84, 0x73, 0xd4, 0x23, 0x94, 0x45, 0x9e, 0x5e
DEFINE_GUID(IID_IKsFastClock, DEFINE_GUID(IID_IKsFastClock,
0xc9902485, 0xc180, 0x11d2, 0x84, 0x73, 0xd4, 0x23, 0x94, 0x45, 0x9e, 0x5e); 0xc9902485, 0xc180, 0x11d2, 0x84, 0x73, 0xd4, 0x23, 0x94, 0x45, 0x9e, 0x5e);
#if defined(__cplusplus) && _MSC_VER >= 1100 #if defined(__cplusplus) && _MSC_VER >= 1100
struct __declspec(uuid("C9902485-C180-11d2-8473-D42394459E5E")) IKsFastClock; struct __declspec(uuid("C9902485-C180-11d2-8473-D42394459E5E")) IKsFastClock;
#endif #endif
#if (NTDDI_VERSION >= NTDDI_WS03SP1)
#define STATIC_IID_IKsDeviceFunctions \ #define STATIC_IID_IKsDeviceFunctions \
0xe234f2e2, 0xbd69, 0x4f8c, 0xb3, 0xf2, 0x7c, 0xd7, 0x9e, 0xd4, 0x66, 0xbd 0xe234f2e2, 0xbd69, 0x4f8c, 0xb3, 0xf2, 0x7c, 0xd7, 0x9e, 0xd4, 0x66, 0xbd
DEFINE_GUID(IID_IKsDeviceFunctions, DEFINE_GUID(IID_IKsDeviceFunctions,
0xe234f2e2, 0xbd69, 0x4f8c, 0xb3, 0xf2, 0x7c, 0xd7, 0x9e, 0xd4, 0x66, 0xbd); 0xe234f2e2, 0xbd69, 0x4f8c, 0xb3, 0xf2, 0x7c, 0xd7, 0x9e, 0xd4, 0x66, 0xbd);
#if defined(__cplusplus) && _MSC_VER >= 1100 #if defined(__cplusplus) && _MSC_VER >= 1100
struct __declspec(uuid("E234F2E2-BD69-4F8C-B3F2-7CD79ED466BD")) IKsDeviceFunctio ns; struct __declspec(uuid("E234F2E2-BD69-4F8C-B3F2-7CD79ED466BD")) IKsDeviceFunctio ns;
#endif #endif
#endif // (NTDDI_VERSION >= NTDDI_WS03SP1)
#endif // !defined(_IKsControl_) #endif // !defined(_IKsControl_)
#endif // defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) #endif // defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__)
#endif // defined(_NTDDK_) #endif // defined(_NTDDK_)
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
//=========================================================================== //===========================================================================
#if defined(__cplusplus) #if defined(__cplusplus)
extern "C" { extern "C" {
#endif // defined(__cplusplus) #endif // defined(__cplusplus)
// //
// exported prototypes // exported prototypes
// //
skipping to change at line 3824 skipping to change at line 3891
// clock.c: // clock.c:
KSDDKAPI KSDDKAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
KsAllocateDefaultClock( KsAllocateDefaultClock(
OUT PKSDEFAULTCLOCK* DefaultClock OUT PKSDEFAULTCLOCK* DefaultClock
); );
#if (NTDDI_VERSION >= NTDDI_WINXP)
KSDDKAPI KSDDKAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
KsAllocateDefaultClockEx( KsAllocateDefaultClockEx(
OUT PKSDEFAULTCLOCK* DefaultClock, OUT PKSDEFAULTCLOCK* DefaultClock,
IN PVOID Context OPTIONAL, IN PVOID Context OPTIONAL,
IN PFNKSSETTIMER SetTimer OPTIONAL, IN PFNKSSETTIMER SetTimer OPTIONAL,
IN PFNKSCANCELTIMER CancelTimer OPTIONAL, IN PFNKSCANCELTIMER CancelTimer OPTIONAL,
IN PFNKSCORRELATEDTIME CorrelatedTime OPTIONAL, IN PFNKSCORRELATEDTIME CorrelatedTime OPTIONAL,
IN const KSRESOLUTION* Resolution OPTIONAL, IN const KSRESOLUTION* Resolution OPTIONAL,
IN ULONG Flags IN ULONG Flags
); );
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
KSDDKAPI KSDDKAPI
VOID VOID
NTAPI NTAPI
KsFreeDefaultClock( KsFreeDefaultClock(
IN PKSDEFAULTCLOCK DefaultClock IN PKSDEFAULTCLOCK DefaultClock
); );
KSDDKAPI KSDDKAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
skipping to change at line 4214 skipping to change at line 4285
IN BOOLEAN Wait, IN BOOLEAN Wait,
IN ULONG LockKey, IN ULONG LockKey,
OUT PVOID Buffer, OUT PVOID Buffer,
OUT PIO_STATUS_BLOCK IoStatus, OUT PIO_STATUS_BLOCK IoStatus,
IN PDEVICE_OBJECT DeviceObject IN PDEVICE_OBJECT DeviceObject
); );
#define KsDispatchFastWriteFailure KsDispatchFastReadFailure #define KsDispatchFastWriteFailure KsDispatchFastReadFailure
KSDDKAPI KSDDKAPI
VOID DRIVER_CANCEL KsCancelRoutine;
NTAPI
KsCancelRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
KSDDKAPI KSDDKAPI
VOID VOID
NTAPI NTAPI
KsCancelIo( KsCancelIo(
IN OUT PLIST_ENTRY QueueHead, IN OUT PLIST_ENTRY QueueHead,
IN PKSPIN_LOCK SpinLock IN PKSPIN_LOCK SpinLock
); );
KSDDKAPI KSDDKAPI
skipping to change at line 4532 skipping to change at line 4598
KSDDKAPI KSDDKAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
KsUnserializeObjectPropertiesFromRegistry( KsUnserializeObjectPropertiesFromRegistry(
IN PFILE_OBJECT FileObject, IN PFILE_OBJECT FileObject,
IN HANDLE ParentKey OPTIONAL, IN HANDLE ParentKey OPTIONAL,
IN PUNICODE_STRING RegistryPath OPTIONAL IN PUNICODE_STRING RegistryPath OPTIONAL
); );
#if (NTDDI_VERSION >= NTDDI_WINXP)
KSDDKAPI KSDDKAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
KsCacheMedium( KsCacheMedium(
IN PUNICODE_STRING SymbolicLink, IN PUNICODE_STRING SymbolicLink,
IN PKSPIN_MEDIUM Medium, IN PKSPIN_MEDIUM Medium,
IN ULONG PinDirection IN ULONG PinDirection
); );
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
// thread.c: // thread.c:
KSDDKAPI KSDDKAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
KsRegisterWorker( KsRegisterWorker(
IN WORK_QUEUE_TYPE WorkQueueType, IN WORK_QUEUE_TYPE WorkQueueType,
OUT PKSWORKER* Worker OUT PKSWORKER* Worker
); );
KSDDKAPI KSDDKAPI
skipping to change at line 4605 skipping to change at line 4675
KSDDKAPI KSDDKAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
KsValidateTopologyNodeCreateRequest( KsValidateTopologyNodeCreateRequest(
IN PIRP Irp, IN PIRP Irp,
IN PKSTOPOLOGY Topology, IN PKSTOPOLOGY Topology,
OUT PKSNODE_CREATE* NodeCreate OUT PKSNODE_CREATE* NodeCreate
); );
#if (NTDDI_VERSION >= NTDDI_WINXP)
KSDDKAPI KSDDKAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
KsMergeAutomationTables( KsMergeAutomationTables(
OUT PKSAUTOMATION_TABLE* AutomationTableAB, OUT PKSAUTOMATION_TABLE* AutomationTableAB,
IN PKSAUTOMATION_TABLE AutomationTableA OPTIONAL, IN PKSAUTOMATION_TABLE AutomationTableA OPTIONAL,
IN PKSAUTOMATION_TABLE AutomationTableB OPTIONAL, IN PKSAUTOMATION_TABLE AutomationTableB OPTIONAL,
IN KSOBJECT_BAG Bag OPTIONAL IN KSOBJECT_BAG Bag OPTIONAL
); );
skipping to change at line 5649 skipping to change at line 5721
PUNKNOWN __inline PUNKNOWN __inline
KsPinGetOuterUnknown( KsPinGetOuterUnknown(
IN PKSPIN Pin IN PKSPIN Pin
) )
{ {
return KsGetOuterUnknown((PVOID) Pin); return KsGetOuterUnknown((PVOID) Pin);
} }
#endif // defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__) #endif // defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__)
#endif // (NTDDI_VERSION >= NTDDI_WINXP)
#else // !defined(_NTDDK_) #else // !defined(_NTDDK_)
#if !defined( KS_NO_CREATE_FUNCTIONS ) #if !defined( KS_NO_CREATE_FUNCTIONS )
KSDDKAPI KSDDKAPI
DWORD DWORD
WINAPI WINAPI
KsCreateAllocator( KsCreateAllocator(
IN HANDLE ConnectionHandle, IN HANDLE ConnectionHandle,
IN PKSALLOCATOR_FRAMING AllocatorFraming, IN PKSALLOCATOR_FRAMING AllocatorFraming,
 End of changes. 31 change blocks. 
24 lines changed or deleted 101 lines changed or added

This html diff was produced by rfcdiff 1.41.