[ros-diffs] [greatlrd] 32245: fixet wrong KSDATAFORMAT thx silverblade add new com, define, types, struct

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Sun Feb 10 00:39:51 CET 2008


Author: greatlrd
Date: Sun Feb 10 02:39:50 2008
New Revision: 32245

URL: http://svn.reactos.org/svn/reactos?rev=32245&view=rev
Log:
fixet wrong KSDATAFORMAT thx silverblade 
add new com, define, types, struct

Modified:
    branches/reactx/reactos/include/dxsdk/ks.h

Modified: branches/reactx/reactos/include/dxsdk/ks.h
URL: http://svn.reactos.org/svn/reactos/branches/reactx/reactos/include/dxsdk/ks.h?rev=32245&r1=32244&r2=32245&view=diff
==============================================================================
--- branches/reactx/reactos/include/dxsdk/ks.h (original)
+++ branches/reactx/reactos/include/dxsdk/ks.h Sun Feb 10 02:39:50 2008
@@ -1199,18 +1199,20 @@
     WCHAR SymbolicLinkName[1];
 } KSPIN_PHYSICALCONNECTION, *PKSPIN_PHYSICALCONNECTION;
 
-typedef struct
-{
-    ULONG   FormatSize;
-    ULONG   Flags;
-    ULONG   SampleSize;
-    ULONG   Reserved;
-    GUID    MajorFormat;
-    GUID    SubFormat;
-    GUID    Specifier;
-    
+typedef union
+{
+    struct
+    {
+        ULONG FormatSize;
+        ULONG Flags;
+        ULONG SampleSize;
+        ULONG Reserved;
+        GUID MajorFormat;
+        GUID SubFormat;
+        GUID Specifier;
+    };
+    LONGLONG Alignment;
 } KSDATAFORMAT, *PKSDATAFORMAT, KSDATARANGE, *PKSDATARANGE;
-/* Note : KSDATAFORMAT exists a no ms_ver of this struct it contain  LONGLONG Alignment; see ms dx sdk 2004 dec month for the no ms_ver version */
 
 typedef struct
 {
@@ -2050,7 +2052,9 @@
     typedef void (*PFNKSPINRESOLUTION)(IN PKSPIN Pin, OUT PKSRESOLUTION Resolution);
     typedef NTSTATUS (*PFNKSPININITIALIZEALLOCATOR)(IN PKSPIN Pin, IN PKSALLOCATOR_FRAMING AllocatorFraming, OUT PVOID* Context);
     typedef void (*PFNKSSTREAMPOINTER)(IN PKSSTREAM_POINTER StreamPointer);
-
+    typedef void (*PFNKSFREE)(IN PVOID Data);
+    typedef void (*PFNKSPINFRAMERETURN)( IN PKSPIN Pin, IN PVOID Data OPTIONAL, IN ULONG Size OPTIONAL, IN PMDL Mdl OPTIONAL, IN PVOID Context OPTIONAL, IN NTSTATUS Status);
+    typedef void (*PFNKSPINIRPCOMPLETION)(IN PKSPIN Pin, IN PIRP Irp);
 
     typedef NTSTATUS (*PFNKSDEVICEPNPSTART)(IN PKSDEVICE Device, IN PIRP Irp, IN PCM_RESOURCE_LIST TranslatedResourceList OPTIONAL, 
                                             IN PCM_RESOURCE_LIST UntranslatedResourceList OPTIONAL);
@@ -2061,8 +2065,6 @@
 
     typedef NTSTATUS (*PFNKSPINSETDATAFORMAT)(IN PKSPIN Pin, IN PKSDATAFORMAT OldFormat OPTIONAL, IN PKSMULTIPLE_ITEM OldAttributeList OPTIONAL,
                                               IN const KSDATARANGE* DataRange, IN const KSATTRIBUTE_LIST* AttributeRange OPTIONAL);
-
-
 
     #ifndef _NTOS_
 
@@ -2399,21 +2401,126 @@
     #define DEFINE_KSPIN_DEFAULT_INTERFACES 0, NULL
     #define DEFINE_KSPIN_DEFAULT_MEDIUMS 0, NULL
 
-#endif
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+    #if !defined(_WIN64)
+        #define DEFINE_NODE_DESCRIPTOR(automation,type,name)  { (automation), (type), (name), NULL }
+    #else
+        #define DEFINE_NODE_DESCRIPTOR(automation,type,name)  { (automation), (type), (name) }
+    #endif
+
+
+    struct _KSMAPPING
+    {
+        PHYSICAL_ADDRESS PhysicalAddress;
+        ULONG ByteCount;
+        ULONG Alignment;
+    };
+
+    struct _KSSTREAM_POINTER_OFFSET
+    {
+        union
+        {
+            PUCHAR Data;
+            PKSMAPPING Mappings;
+        };
+        #if !defined(_WIN64)
+            PVOID Alignment;
+        #endif 
+        ULONG Count;
+        ULONG Remaining;
+    };
+
+    struct _KSSTREAM_POINTER
+    {
+        PVOID Context;
+        PKSPIN Pin;
+        PKSSTREAM_HEADER StreamHeader;
+        PKSSTREAM_POINTER_OFFSET Offset;
+        KSSTREAM_POINTER_OFFSET OffsetIn;
+        KSSTREAM_POINTER_OFFSET OffsetOut;
+    };
+
+    struct _KSPROCESSPIN
+    {
+        PKSPIN Pin;
+        PKSSTREAM_POINTER StreamPointer;
+        PKSPROCESSPIN InPlaceCounterpart;
+        PKSPROCESSPIN DelegateBranch;
+        PKSPROCESSPIN CopySource;
+        PVOID Data;
+        ULONG BytesAvailable;
+        ULONG BytesUsed;
+        ULONG Flags;
+        BOOLEAN Terminate;
+    };
+
+    struct _KSPROCESSPIN_INDEXENTRY
+    {
+        PKSPROCESSPIN *Pins;
+        ULONG Count;
+    };
+
+    #if defined(_UNKNOWN_H_) || defined(__IUnknown_INTERFACE_DEFINED__)
+        #if !defined(_IKsControl_)
+
+            #define _IKsControl_
+            typedef interface IKsControl* PIKSCONTROL;
+
+            #if !defined(DEFINE_ABSTRACT_UNKNOWN)
+                #define DEFINE_ABSTRACT_UNKNOWN()                               \
+                    STDMETHOD_(NTSTATUS, QueryInterface)(THIS_ REFIID InterfaceId, PVOID* Interface) PURE; \
+                    STDMETHOD_(ULONG,AddRef)(THIS) PURE;                        \
+                    STDMETHOD_(ULONG,Release)(THIS) PURE;
+                #endif
+
+            #undef INTERFACE
+
+            #define INTERFACE IKsControl
+            DECLARE_INTERFACE_(IKsControl,IUnknown)
+            {
+                DEFINE_ABSTRACT_UNKNOWN()
+
+                STDMETHOD_(NTSTATUS, KsProperty)(THIS_ IN PKSPROPERTY Property, IN ULONG PropertyLength, 
+                                                   IN OUT PVOID PropertyData, IN ULONG DataLength, OUT ULONG* BytesReturned) PURE;
+
+                STDMETHOD_(NTSTATUS, KsMethod)(THIS_ IN PKSMETHOD Method, IN ULONG MethodLength, IN OUT PVOID MethodData,
+                                                 IN ULONG DataLength, OUT ULONG* BytesReturned) PURE;
+
+                STDMETHOD_(NTSTATUS, KsEvent)(THIS_ IN PKSEVENT Event OPTIONAL, IN ULONG EventLength, IN OUT PVOID EventData,
+                                                IN ULONG DataLength, OUT ULONG* BytesReturned) PURE;
+            };
+
+            typedef interface IKsReferenceClock* PIKSREFERENCECLOCK;
+
+            #undef INTERFACE
+            #define INTERFACE IKsReferenceClock
+            DECLARE_INTERFACE_(IKsReferenceClock,IUnknown)
+            {
+                DEFINE_ABSTRACT_UNKNOWN()
+
+                STDMETHOD_(LONGLONG,GetTime)(THIS) PURE;
+                STDMETHOD_(LONGLONG,GetPhysicalTime)(THIS) PURE;
+                STDMETHOD_(LONGLONG,GetCorrelatedTime)(THIS_ OUT PLONGLONG SystemTime) PURE;
+                STDMETHOD_(LONGLONG,GetCorrelatedPhysicalTime)(THIS_ OUT PLONGLONG SystemTime) PURE;
+                STDMETHOD_(NTSTATUS, GetResolution)(THIS_ OUT PKSRESOLUTION Resolution) PURE;
+                STDMETHOD_(NTSTATUS, GetState)(THIS_ OUT PKSSTATE State) PURE;
+            };
+            #undef INTERFACE
+
+            #define STATIC_IID_IKsControl   0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
+            DEFINE_GUID(IID_IKsControl, 0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96);
+
+            #if defined(__cplusplus) 
+                struct __declspec(uuid("28F54685-06FD-11D2-B27A-00A0C9223196")) IKsControl;
+            #endif
+
+            #define STATIC_IID_IKsFastClock  0xC9902485, 0xC180, 0x11D2, 0x84, 0x73, 0xD4, 0x23, 0x94, 0x45, 0x9E, 0x5E
+                DEFINE_GUID(IID_IKsFastClock, 0xC9902485, 0xC180, 0x11D2, 0x84, 0x73, 0xD4, 0x23, 0x94, 0x45, 0x9E, 0x5E);
+            #if defined(__cplusplus)
+                struct __declspec(uuid("C9902485-C180-11d2-8473-D42394459E5E")) IKsFastClock;
+            #endif
+        #endif
+    #endif 
+#endif // end ntddk
 
 
 #if defined(__cplusplus)
@@ -2426,7 +2533,205 @@
     #define KSDDKAPI    DECLSPEC_IMPORT
 #endif
 
-
+#if defined(_NTDDK_)
+
+    KSDDKAPI NTSTATUS NTAPI 
+    KsCreateDefaultAllocator(IN PIRP Irp);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsCreateDefaultAllocatorEx(IN PIRP Irp,
+                               IN PVOID InitializeContext OPTIONAL,
+                               IN PFNKSDEFAULTALLOCATE DefaultAllocate OPTIONAL,
+                               IN PFNKSDEFAULTFREE DefaultFree OPTIONAL,
+                               IN PFNKSINITIALIZEALLOCATOR InitializeAllocator OPTIONAL,
+                               IN PFNKSDELETEALLOCATOR DeleteAllocator OPTIONAL);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsCreateAllocator(IN HANDLE ConnectionHandle, IN PKSALLOCATOR_FRAMING AllocatorFraming, OUT PHANDLE AllocatorHandle);
+
+    KSDDKAPI NTSTATUS NTAPI 
+    KsDisableEvent(IN PIRP Irp, 
+                   IN OUT PLIST_ENTRY EventsList,
+                   IN KSEVENTS_LOCKTYPE EventsFlags,
+                   IN PVOID EventsLock);
+
+    KSDDKAPI VOID NTAPI
+    KsDiscardEvent(IN PKSEVENT_ENTRY EventEntry);
+
+    KSDDKAPI NTSTATUS NTAPI 
+    KsEnableEvent(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);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsEnableEventWithAllocator(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);
+
+    KSDDKAPI BOOLEAN NTAPI
+    KsFastPropertyHandler(IN PFILE_OBJECT FileObject,
+                          IN PKSPROPERTY Property,
+                          IN ULONG PropertyLength,
+                          IN OUT PVOID Data,
+                          IN ULONG DataLength,
+                          OUT PIO_STATUS_BLOCK IoStatus,
+                          IN ULONG PropertySetsCount,
+                          IN const KSPROPERTY_SET* PropertySet);
+
+    KSDDKAPI BOOLEAN NTAPI
+    KsFastMethodHandler(IN PFILE_OBJECT FileObject,
+                        IN PKSMETHOD Method,
+                        IN ULONG MethodLength,
+                        IN OUT PVOID Data,
+                        IN ULONG DataLength,
+                        OUT PIO_STATUS_BLOCK IoStatus,
+                        IN ULONG MethodSetsCount,
+                        IN const KSMETHOD_SET* MethodSet);
+
+    KSDDKAPI VOID NTAPI
+    KsFreeEventList(IN PFILE_OBJECT FileObject,
+                    IN OUT PLIST_ENTRY EventsList,
+                    IN KSEVENTS_LOCKTYPE EventsFlags,
+                    IN PVOID EventsLock);
+
+    KSDDKAPI NTSTATUS NTAPI 
+    KsGenerateEvent(IN PKSEVENT_ENTRY EventEntry);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsGenerateDataEvent(IN PKSEVENT_ENTRY EventEntry,
+                        IN ULONG DataSize,
+                        IN PVOID Data);
+
+    KSDDKAPI VOID NTAPI 
+    KsGenerateEventList(IN GUID* Set OPTIONAL,
+                        IN ULONG EventId,
+                        IN PLIST_ENTRY EventsList,
+                        IN KSEVENTS_LOCKTYPE EventsFlags,
+                        IN PVOID EventsLock);
+
+    KSDDKAPI NTSTATUS NTAPI 
+    KsMethodHandler(IN PIRP Irp,
+                    IN ULONG MethodSetsCount,
+                    IN const KSMETHOD_SET* MethodSet);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsMethodHandlerWithAllocator(IN PIRP Irp,
+                                 IN ULONG MethodSetsCount,
+                                 IN const KSMETHOD_SET* MethodSet,
+                                 IN PFNKSALLOCATOR Allocator OPTIONAL,
+                                 IN ULONG MethodItemSize OPTIONAL);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsPropertyHandler(IN PIRP Irp,
+                      IN ULONG PropertySetsCount,
+                      IN const KSPROPERTY_SET* PropertySet);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsPropertyHandlerWithAllocator(IN PIRP Irp,
+                                   IN ULONG PropertySetsCount,
+                                   IN const KSPROPERTY_SET* PropertySet,
+                                   IN PFNKSALLOCATOR Allocator OPTIONAL,
+                                   IN ULONG PropertyItemSize OPTIONAL);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsValidateAllocatorCreateRequest(IN PIRP Irp, OUT PKSALLOCATOR_FRAMING* AllocatorFraming);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsValidateAllocatorFramingEx(IN PKSALLOCATOR_FRAMING_EX Framing, IN ULONG BufferSize, IN const KSALLOCATOR_FRAMING_EX *PinFraming);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsAllocateDefaultClock(OUT PKSDEFAULTCLOCK* DefaultClock);
+
+    KSDDKAPI NTSTATUS NTAPI 
+    KsAllocateDefaultClockEx(OUT PKSDEFAULTCLOCK* DefaultClock, 
+                             IN PVOID Context OPTIONAL,
+                             IN PFNKSSETTIMER SetTimer OPTIONAL,
+                             IN PFNKSCANCELTIMER CancelTimer OPTIONAL,
+                             IN PFNKSCORRELATEDTIME CorrelatedTime OPTIONAL,
+                             IN const KSRESOLUTION* Resolution OPTIONAL,
+                             IN ULONG Flags);
+
+    KSDDKAPI VOID NTAPI
+    KsFreeDefaultClock(IN PKSDEFAULTCLOCK DefaultClock);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsCreateDefaultClock(IN PIRP Irp,
+                         IN PKSDEFAULTCLOCK DefaultClock);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsCreateClock(IN HANDLE ConnectionHandle,
+                  IN PKSCLOCK_CREATE ClockCreate,
+                  OUT PHANDLE ClockHandle);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsValidateClockCreateRequest(IN PIRP Irp,
+                                 OUT PKSCLOCK_CREATE* ClockCreate);
+
+    KSDDKAPI KSSTATE NTAPI
+    KsGetDefaultClockState(IN PKSDEFAULTCLOCK DefaultClock);
+
+    KSDDKAPI VOID NTAPI
+    KsSetDefaultClockState(IN PKSDEFAULTCLOCK DefaultClock,
+                           IN KSSTATE State);
+
+    KSDDKAPI LONGLONG NTAPI 
+    KsGetDefaultClockTime(IN PKSDEFAULTCLOCK DefaultClock);
+
+    KSDDKAPI VOID NTAPI
+    KsSetDefaultClockTime(IN PKSDEFAULTCLOCK DefaultClock,
+                          IN LONGLONG Time);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsCreatePin(IN HANDLE FilterHandle,
+                IN PKSPIN_CONNECT Connect,
+                IN ACCESS_MASK DesiredAccess,
+                OUT PHANDLE ConnectionHandle);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsValidateConnectRequest(IN PIRP Irp,
+                             IN ULONG DescriptorsCount,
+                             IN const KSPIN_DESCRIPTOR* Descriptor,
+                             OUT PKSPIN_CONNECT* Connect);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsPinPropertyHandler(IN PIRP Irp,
+                         IN PKSPROPERTY Property,
+                         IN OUT PVOID Data,
+                         IN ULONG DescriptorsCount,
+                         IN const KSPIN_DESCRIPTOR* Descriptor);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsPinDataIntersection(IN PIRP Irp,
+                          IN PKSP_PIN Pin,
+                          OUT PVOID Data OPTIONAL,
+                          IN ULONG DescriptorsCount,
+                          IN const KSPIN_DESCRIPTOR* Descriptor,
+                          IN PFNKSINTERSECTHANDLER IntersectHandler);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsPinDataIntersectionEx(IN PIRP Irp,
+                            IN PKSP_PIN Pin,
+                            OUT PVOID Data,
+                            IN ULONG DescriptorsCount,
+                            IN const KSPIN_DESCRIPTOR* Descriptor,
+                            IN ULONG DescriptorSize,
+                            IN PFNKSINTERSECTHANDLEREX IntersectHandler OPTIONAL,
+                            IN PVOID HandlerContext OPTIONAL);
+
+    KSDDKAPI NTSTATUS NTAPI
+    KsHandleSizedListQuery(IN PIRP Irp,
+                           IN ULONG DataItemsCount,
+                           IN ULONG DataItemSize,
+                           IN const VOID* DataItems);
+#endif
 
 
 




More information about the Ros-diffs mailing list