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 |
|