[ros-diffs] [janderwald] 39226: - Fix a few definitions

janderwald at svn.reactos.org janderwald at svn.reactos.org
Sat Jan 31 13:59:56 CET 2009


Author: janderwald
Date: Sat Jan 31 06:59:56 2009
New Revision: 39226

URL: http://svn.reactos.org/svn/reactos?rev=39226&view=rev
Log:
- Fix a few definitions

Modified:
    trunk/reactos/include/psdk/ks.h

Modified: trunk/reactos/include/psdk/ks.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ks.h?rev=39226&r1=39225&r2=39226&view=diff
==============================================================================
--- trunk/reactos/include/psdk/ks.h [iso-8859-1] (original)
+++ trunk/reactos/include/psdk/ks.h [iso-8859-1] Sat Jan 31 06:59:56 2009
@@ -1120,6 +1120,20 @@
     PFAST_IO_READ FastRead;
     PFAST_IO_WRITE FastWrite;
 } KSDISPATCH_TABLE, *PKSDISPATCH_TABLE;
+
+
+#define KSCREATE_ITEM_IRP_STORAGE(Irp)      (*(PKSOBJECT_CREATE_ITEM*)&(Irp)->Tail.Overlay.DriverContext[0])
+#define KSEVENT_SET_IRP_STORAGE(Irp)        (*(const KSEVENT_SET**)&(Irp)->Tail.Overlay.DriverContext[0])
+#define KSEVENT_ITEM_IRP_STORAGE(Irp)       (*(const KSEVENT_ITEM**)&(Irp)->Tail.Overlay.DriverContext[3])
+#define KSEVENT_ENTRY_IRP_STORAGE(Irp)      (*(PKSEVENT_ENTRY*)&(Irp)->Tail.Overlay.DriverContext[0])
+#define KSMETHOD_SET_IRP_STORAGE(Irp)       (*(const KSMETHOD_SET**)&(Irp)->Tail.Overlay.DriverContext[0])
+#define KSMETHOD_ITEM_IRP_STORAGE(Irp)      (*(const KSMETHOD_ITEM**)&(Irp)->Tail.Overlay.DriverContext[3])
+#define KSMETHOD_TYPE_IRP_STORAGE(Irp)      (*(ULONG_PTR*)(&(Irp)->Tail.Overlay.DriverContext[2]))
+#define KSQUEUE_SPINLOCK_IRP_STORAGE(Irp)   (*(PKSPIN_LOCK*)&(Irp)->Tail.Overlay.DriverContext[1])
+#define KSPROPERTY_SET_IRP_STORAGE(Irp)     (*(const KSPROPERTY_SET**)&(Irp)->Tail.Overlay.DriverContext[0])
+#define KSPROPERTY_ITEM_IRP_STORAGE(Irp)    (*(const KSPROPERTY_ITEM**)&(Irp)->Tail.Overlay.DriverContext[3])
+#define KSPROPERTY_ATTRIBUTES_IRP_STORAGE(Irp) (*(PKSATTRIBUTE_LIST*)&(Irp)->Tail.Overlay.DriverContext[2])
+
 #endif
 
 typedef struct
@@ -1432,6 +1446,18 @@
 
 typedef struct
 {
+    ULONG PropertySetsCount;
+    ULONG PropertyItemSize;
+    const KSPROPERTY_SET* PropertySets;
+    ULONG MethodSetsCount;
+    ULONG MethodItemSize;
+    const KSMETHOD_SET* MethodSets;
+    ULONG EventSetsCount;
+    ULONG EventItemSize;
+    const KSEVENT_SET* EventSets;
+#if !defined(_WIN64)
+    PVOID Alignment;
+#endif
 } KSAUTOMATION_TABLE, *PKSAUTOMATION_TABLE;
 
 typedef struct
@@ -1648,11 +1674,17 @@
 /* ===============================================================
     Device Dispatch
 */
+
+
+
 #if defined(_NTDDK_)
-typedef struct
-{
-    /* TODO */
-} KSDEVICE, *PKSDEVICE;
+
+typedef struct _KSFILTER_DISPATCH KSFILTER_DISPATCH, *PKSFILTER_DISPATCH;
+typedef struct _KSDEVICE KSDEVICE, *PKSDEVICE;
+typedef struct _KSFILTER KSFILTER, *PKSFILTER;
+typedef struct _KSNODE_DESCRIPTOR KSNODE_DESCRIPTOR, *PKSNODE_DESCRIPTOR;
+typedef struct _KSFILTER_DESCRIPTOR KSFILTER_DESCRIPTOR, *PKSFILTER_DESCRIPTOR;
+typedef struct _KSDEVICE_DESCRIPTOR KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR;
 
 typedef NTSTATUS (*PFNKSDEVICECREATE)(
     IN PKSDEVICE Device);
@@ -1694,8 +1726,7 @@
     IN DEVICE_POWER_STATE To,
     IN DEVICE_POWER_STATE From);
 
-typedef struct _KSDEVICE_DISPATCH
-{
+typedef struct _KSDEVICE_DISPATCH {
     PFNKSDEVICECREATE Add;
     PFNKSDEVICEPNPSTART Start;
     PFNKSDEVICE PostStart;
@@ -1707,18 +1738,40 @@
     PFNKSDEVICEIRPVOID Remove;
     PFNKSDEVICEQUERYCAPABILITIES QueryCapabilities;
     PFNKSDEVICEIRPVOID SurpriseRemoval;
-    PFNKSDEVICEQUERYPOWER Querypower;
+    PFNKSDEVICEQUERYPOWER QueryPower;
     PFNKSDEVICESETPOWER SetPower;
-} KSDEVICE_DISPATCH, *PKSDEVICE_DISPATCH;
+    PFNKSDEVICEIRP QueryInterface;
+}KSDEVICE_DISPATCH, *PKSDEVICE_DISPATCH;
+
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
+#define KSDEVICE_DESCRIPTOR_VERSION_2 (0x110)
+#define MIN_DEV_VER_FOR_FLAGS (0x110)
 #endif
 
+struct _KSDEVICE
+{
+    const KSDEVICE_DESCRIPTOR* Descriptor;
+    KSOBJECT_BAG Bag;
+    PVOID Context;
+    PDEVICE_OBJECT FunctionalDeviceObject;
+    PDEVICE_OBJECT PhysicalDeviceObject;
+    PDEVICE_OBJECT NextDeviceObject;
+    BOOLEAN Started;
+    SYSTEM_POWER_STATE SystemPowerState;
+    DEVICE_POWER_STATE DevicePowerState;
+};
+#endif
+
 /* ===============================================================
     Filter Dispatch
 */
 #if defined(_NTDDK_)
-typedef struct
-{
-} KSFILTER, *PKSFILTER;
+struct _KSFILTER
+{
+    const KSFILTER_DESCRIPTOR* Descriptor;
+    KSOBJECT_BAG Bag;
+    PVOID Context;
+};
 
 typedef NTSTATUS (*PFNKSFILTERIRP)(
     IN PKSFILTER Filter,
@@ -1731,21 +1784,23 @@
 typedef NTSTATUS (*PFNKSFILTERVOID)(
     IN PKSFILTER Filter);
 
-typedef struct _KSFILTER_DISPATCH
+struct _KSFILTER_DISPATCH
 {
     PFNKSFILTERIRP Create;
     PFNKSFILTERIRP Close;
     PFNKSFILTERPROCESS Process;
     PFNKSFILTERVOID Reset;
-} KSFILTER_DISPATCH, *PKSFILTER_DISPATCH;
-
-typedef struct {
+};
+
+struct _KSNODE_DESCRIPTOR
+{
   const KSAUTOMATION_TABLE*  AutomationTable;
   const GUID*  Type;
   const GUID*  Name;
-} KSNODE_DESCRIPTOR, *PKSNODE_DESCRIPTOR;
-
-typedef struct {
+};
+
+struct _KSFILTER_DESCRIPTOR
+{
   const KSFILTER_DISPATCH*  Dispatch;
   const KSAUTOMATION_TABLE*  AutomationTable;
   ULONG  Version;
@@ -1762,14 +1817,14 @@
   ULONG  ConnectionsCount;
   const KSTOPOLOGY_CONNECTION*  Connections;
   const KSCOMPONENTID*  ComponentId;
-} KSFILTER_DESCRIPTOR, *PKSFILTER_DESCRIPTOR;
-
-typedef struct
+};
+
+struct _KSDEVICE_DESCRIPTOR
 {
   const KSDEVICE_DISPATCH*  Dispatch;
   ULONG  FilterDescriptorsCount;
   const  KSFILTER_DESCRIPTOR*const* FilterDescriptors;
-} KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR;
+};
 #endif
 /* ===============================================================
     Minidriver Callbacks



More information about the Ros-diffs mailing list