mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 07:46:29 +00:00
- Fix a few definitions
svn path=/trunk/; revision=39226
This commit is contained in:
parent
cca55b4587
commit
a51869e510
1 changed files with 73 additions and 18 deletions
|
@ -1120,6 +1120,20 @@ typedef struct
|
||||||
PFAST_IO_READ FastRead;
|
PFAST_IO_READ FastRead;
|
||||||
PFAST_IO_WRITE FastWrite;
|
PFAST_IO_WRITE FastWrite;
|
||||||
} KSDISPATCH_TABLE, *PKSDISPATCH_TABLE;
|
} 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
|
#endif
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
@ -1432,6 +1446,18 @@ typedef struct
|
||||||
|
|
||||||
typedef struct
|
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;
|
} KSAUTOMATION_TABLE, *PKSAUTOMATION_TABLE;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
@ -1648,11 +1674,17 @@ typedef struct
|
||||||
/* ===============================================================
|
/* ===============================================================
|
||||||
Device Dispatch
|
Device Dispatch
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(_NTDDK_)
|
#if defined(_NTDDK_)
|
||||||
typedef struct
|
|
||||||
{
|
typedef struct _KSFILTER_DISPATCH KSFILTER_DISPATCH, *PKSFILTER_DISPATCH;
|
||||||
/* TODO */
|
typedef struct _KSDEVICE KSDEVICE, *PKSDEVICE;
|
||||||
} 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)(
|
typedef NTSTATUS (*PFNKSDEVICECREATE)(
|
||||||
IN PKSDEVICE Device);
|
IN PKSDEVICE Device);
|
||||||
|
@ -1694,8 +1726,7 @@ typedef VOID (*PFNKSDEVICESETPOWER)(
|
||||||
IN DEVICE_POWER_STATE To,
|
IN DEVICE_POWER_STATE To,
|
||||||
IN DEVICE_POWER_STATE From);
|
IN DEVICE_POWER_STATE From);
|
||||||
|
|
||||||
typedef struct _KSDEVICE_DISPATCH
|
typedef struct _KSDEVICE_DISPATCH {
|
||||||
{
|
|
||||||
PFNKSDEVICECREATE Add;
|
PFNKSDEVICECREATE Add;
|
||||||
PFNKSDEVICEPNPSTART Start;
|
PFNKSDEVICEPNPSTART Start;
|
||||||
PFNKSDEVICE PostStart;
|
PFNKSDEVICE PostStart;
|
||||||
|
@ -1707,18 +1738,40 @@ typedef struct _KSDEVICE_DISPATCH
|
||||||
PFNKSDEVICEIRPVOID Remove;
|
PFNKSDEVICEIRPVOID Remove;
|
||||||
PFNKSDEVICEQUERYCAPABILITIES QueryCapabilities;
|
PFNKSDEVICEQUERYCAPABILITIES QueryCapabilities;
|
||||||
PFNKSDEVICEIRPVOID SurpriseRemoval;
|
PFNKSDEVICEIRPVOID SurpriseRemoval;
|
||||||
PFNKSDEVICEQUERYPOWER Querypower;
|
PFNKSDEVICEQUERYPOWER QueryPower;
|
||||||
PFNKSDEVICESETPOWER SetPower;
|
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
|
#endif
|
||||||
|
|
||||||
/* ===============================================================
|
/* ===============================================================
|
||||||
Filter Dispatch
|
Filter Dispatch
|
||||||
*/
|
*/
|
||||||
#if defined(_NTDDK_)
|
#if defined(_NTDDK_)
|
||||||
typedef struct
|
struct _KSFILTER
|
||||||
{
|
{
|
||||||
} KSFILTER, *PKSFILTER;
|
const KSFILTER_DESCRIPTOR* Descriptor;
|
||||||
|
KSOBJECT_BAG Bag;
|
||||||
|
PVOID Context;
|
||||||
|
};
|
||||||
|
|
||||||
typedef NTSTATUS (*PFNKSFILTERIRP)(
|
typedef NTSTATUS (*PFNKSFILTERIRP)(
|
||||||
IN PKSFILTER Filter,
|
IN PKSFILTER Filter,
|
||||||
|
@ -1731,21 +1784,23 @@ typedef NTSTATUS (*PFNKSFILTERPROCESS)(
|
||||||
typedef NTSTATUS (*PFNKSFILTERVOID)(
|
typedef NTSTATUS (*PFNKSFILTERVOID)(
|
||||||
IN PKSFILTER Filter);
|
IN PKSFILTER Filter);
|
||||||
|
|
||||||
typedef struct _KSFILTER_DISPATCH
|
struct _KSFILTER_DISPATCH
|
||||||
{
|
{
|
||||||
PFNKSFILTERIRP Create;
|
PFNKSFILTERIRP Create;
|
||||||
PFNKSFILTERIRP Close;
|
PFNKSFILTERIRP Close;
|
||||||
PFNKSFILTERPROCESS Process;
|
PFNKSFILTERPROCESS Process;
|
||||||
PFNKSFILTERVOID Reset;
|
PFNKSFILTERVOID Reset;
|
||||||
} KSFILTER_DISPATCH, *PKSFILTER_DISPATCH;
|
};
|
||||||
|
|
||||||
typedef struct {
|
struct _KSNODE_DESCRIPTOR
|
||||||
|
{
|
||||||
const KSAUTOMATION_TABLE* AutomationTable;
|
const KSAUTOMATION_TABLE* AutomationTable;
|
||||||
const GUID* Type;
|
const GUID* Type;
|
||||||
const GUID* Name;
|
const GUID* Name;
|
||||||
} KSNODE_DESCRIPTOR, *PKSNODE_DESCRIPTOR;
|
};
|
||||||
|
|
||||||
typedef struct {
|
struct _KSFILTER_DESCRIPTOR
|
||||||
|
{
|
||||||
const KSFILTER_DISPATCH* Dispatch;
|
const KSFILTER_DISPATCH* Dispatch;
|
||||||
const KSAUTOMATION_TABLE* AutomationTable;
|
const KSAUTOMATION_TABLE* AutomationTable;
|
||||||
ULONG Version;
|
ULONG Version;
|
||||||
|
@ -1762,14 +1817,14 @@ typedef struct {
|
||||||
ULONG ConnectionsCount;
|
ULONG ConnectionsCount;
|
||||||
const KSTOPOLOGY_CONNECTION* Connections;
|
const KSTOPOLOGY_CONNECTION* Connections;
|
||||||
const KSCOMPONENTID* ComponentId;
|
const KSCOMPONENTID* ComponentId;
|
||||||
} KSFILTER_DESCRIPTOR, *PKSFILTER_DESCRIPTOR;
|
};
|
||||||
|
|
||||||
typedef struct
|
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;
|
||||||
} KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR;
|
};
|
||||||
#endif
|
#endif
|
||||||
/* ===============================================================
|
/* ===============================================================
|
||||||
Minidriver Callbacks
|
Minidriver Callbacks
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue