- Remove old irp queue implementation
[reactos.git] / reactos / drivers / ksfilter / ks / kstypes.h
1 #ifndef KSTYPES_H__
2 #define KSTYPES_H__
3
4 typedef struct
5 {
6 KSDISPATCH_TABLE DispatchTable;
7 KSOBJECTTYPE Type;
8
9 LONG ItemListCount;
10 LIST_ENTRY ItemList;
11
12 UNICODE_STRING ObjectClass;
13 PUNKNOWN Unknown;
14
15 PDEVICE_OBJECT TargetDevice;
16 LIST_ENTRY TargetDeviceListEntry;
17
18 PDEVICE_OBJECT ParentDeviceObject;
19
20 PFNKSCONTEXT_DISPATCH PowerDispatch;
21 PVOID PowerContext;
22 LIST_ENTRY PowerDispatchEntry;
23
24 }KSIOBJECT_HEADER, *PKSIOBJECT_HEADER;
25
26 typedef struct
27 {
28 LIST_ENTRY Entry;
29 PKSOBJECT_CREATE_ITEM CreateItem;
30 PFNKSITEMFREECALLBACK ItemFreeCallback;
31 LONG ReferenceCount;
32 LIST_ENTRY ObjectItemList;
33 }CREATE_ITEM_ENTRY, *PCREATE_ITEM_ENTRY;
34
35 typedef struct
36 {
37 KSOBJECTTYPE Type;
38 PKSDEVICE KsDevice;
39 }KSBASIC_HEADER, *PKSBASIC_HEADER;
40
41 typedef struct
42 {
43 KSOBJECTTYPE Type;
44 KSDEVICE KsDevice;
45 IKsDeviceVtbl *lpVtblIKsDevice;
46
47 LONG ref;
48 ERESOURCE SecurityLock;
49
50 LONG ItemListCount;
51 LIST_ENTRY ItemList;
52
53 ULONG DeviceIndex;
54 PDEVICE_OBJECT PnpDeviceObject;
55 PDEVICE_OBJECT BaseDevice;
56
57 KSTARGET_STATE TargetState;
58 LIST_ENTRY TargetDeviceList;
59
60 KMUTEX DeviceMutex;
61 KSDEVICE_DESCRIPTOR* Descriptor;
62
63 LIST_ENTRY PowerDispatchList;
64
65 }KSIDEVICE_HEADER, *PKSIDEVICE_HEADER;
66
67
68 typedef struct
69 {
70 PKSIDEVICE_HEADER DeviceHeader;
71
72 }DEVICE_EXTENSION, *PDEVICE_EXTENSION;
73
74 typedef struct
75 {
76 LIST_ENTRY Entry;
77 UNICODE_STRING SymbolicLink;
78 }SYMBOLIC_LINK_ENTRY, *PSYMBOLIC_LINK_ENTRY;
79
80 typedef struct
81 {
82 PKSIDEVICE_HEADER DeviceHeader;
83 PIO_WORKITEM WorkItem;
84 }PNP_POSTSTART_CONTEXT, *PPNP_POSTSTART_CONTEXT;
85
86
87 #endif