ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

kstypes.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include <ntddk.h>
00004 #include <ks.h>
00005 
00006 typedef struct
00007 {
00008     KoCreateObjectHandler CreateObjectHandler;
00009 }KO_DRIVER_EXTENSION, *PKO_DRIVER_EXTENSION;
00010 
00011 typedef struct
00012 {
00013     const KSDEVICE_DESCRIPTOR  *Descriptor;
00014 }KS_DRIVER_EXTENSION, *PKS_DRIVER_EXTENSION;
00015 
00016 typedef struct
00017 {
00018     KSOBJECT_HEADER ObjectHeader;
00019     KSOBJECT_CREATE_ITEM CreateItem;
00020 }KO_OBJECT_HEADER, *PKO_OBJECT_HEADER;
00021 
00022 
00023 typedef struct
00024 {
00025     KSDISPATCH_TABLE DispatchTable;
00026     KSOBJECTTYPE Type;
00027 
00028     LONG ItemListCount;
00029     LIST_ENTRY ItemList;
00030 
00031     UNICODE_STRING ObjectClass;
00032     PUNKNOWN Unknown;
00033     PVOID ObjectType;
00034 
00035     PDEVICE_OBJECT TargetDevice;
00036     LIST_ENTRY TargetDeviceListEntry;
00037 
00038     PDEVICE_OBJECT ParentDeviceObject;
00039 
00040     PFNKSCONTEXT_DISPATCH PowerDispatch;
00041     PVOID PowerContext;
00042     LIST_ENTRY PowerDispatchEntry;
00043     PKSOBJECT_CREATE_ITEM OriginalCreateItem;
00044     ACCESS_MASK AccessMask;
00045 
00046 }KSIOBJECT_HEADER, *PKSIOBJECT_HEADER;
00047 
00048 typedef struct
00049 {
00050     LIST_ENTRY Entry;
00051     PKSOBJECT_CREATE_ITEM CreateItem;
00052     PFNKSITEMFREECALLBACK ItemFreeCallback;
00053     LONG ReferenceCount;
00054     LIST_ENTRY ObjectItemList;
00055 }CREATE_ITEM_ENTRY, *PCREATE_ITEM_ENTRY;
00056 
00057 typedef struct
00058 {
00059     KSOBJECTTYPE Type;
00060     PKSDEVICE KsDevice;
00061     PRKMUTEX ControlMutex;
00062     LIST_ENTRY EventList;
00063     KSPIN_LOCK EventListLock;
00064     PUNKNOWN ClientAggregate;
00065     PUNKNOWN OuterUnknown;
00066     union
00067     {
00068         PKSDEVICE KsDevice;
00069         PKSFILTERFACTORY KsFilterFactory;
00070         PKSFILTER KsFilter;
00071     }Parent;
00072 
00073     union
00074     {
00075         PKSFILTERFACTORY FilterFactory;
00076         PKSFILTER Filter;
00077         PKSPIN Pin;
00078     }Next;
00079 
00080     union
00081     {
00082         PKSFILTERFACTORY FilterFactory;
00083         PKSFILTER Filter;
00084     }FirstChild;
00085 
00086 }KSBASIC_HEADER, *PKSBASIC_HEADER;
00087 
00088 typedef struct
00089 {
00090     KSBASIC_HEADER BasicHeader;
00091     KSDEVICE KsDevice;
00092 
00093     LONG ref;
00094     ERESOURCE SecurityLock;
00095 
00096     LONG ItemListCount;
00097     LIST_ENTRY ItemList;
00098 
00099     ULONG DeviceIndex;
00100     PDEVICE_OBJECT PnpDeviceObject;
00101     PDEVICE_OBJECT BaseDevice;
00102 
00103     KSTARGET_STATE TargetState;
00104     LIST_ENTRY TargetDeviceList;
00105 
00106     KMUTEX DeviceMutex;
00107     KMUTEX BagMutex;
00108 
00109     LIST_ENTRY PowerDispatchList;
00110     LIST_ENTRY ObjectBags;
00111 
00112     PADAPTER_OBJECT AdapterObject;
00113     ULONG MaxMappingsByteCount;
00114     ULONG MappingTableStride;
00115 
00116 }KSIDEVICE_HEADER, *PKSIDEVICE_HEADER;
00117 
00118 typedef struct
00119 {
00120     PKSIDEVICE_HEADER DeviceHeader;
00121 
00122 }DEVICE_EXTENSION, *PDEVICE_EXTENSION;
00123 
00124 typedef struct
00125 {
00126     LIST_ENTRY Entry;
00127     UNICODE_STRING SymbolicLink;
00128     CLSID DeviceInterfaceClass;
00129 }SYMBOLIC_LINK_ENTRY, *PSYMBOLIC_LINK_ENTRY;
00130 
00131 typedef struct
00132 {
00133     PKSIDEVICE_HEADER DeviceHeader;
00134     PIO_WORKITEM WorkItem;
00135 }PNP_POSTSTART_CONTEXT, *PPNP_POSTSTART_CONTEXT;
00136 
00137 typedef struct
00138 {
00139     PLIST_ENTRY List;
00140     PFILE_OBJECT FileObject;
00141     PKSEVENT_ENTRY EventEntry;
00142     PIRP Irp;
00143 }KSEVENT_CTX, *PKSEVENT_CTX;
00144 
00145 typedef BOOLEAN (NTAPI *PKSEVENT_SYNCHRONIZED_ROUTINE)(PKSEVENT_CTX Context);
00146 
00147 struct __BUS_ENUM_DEVICE_EXTENSION__;
00148 struct __BUS_DEVICE_ENTRY__;
00149 
00150 typedef struct
00151 {
00152     LIST_ENTRY Entry;
00153     ULONG IsBus;
00154     union
00155     {
00156         PDEVICE_OBJECT DeviceObject;
00157         ULONG DeviceReferenceCount;
00158     };
00159     union
00160     {
00161         struct __BUS_DEVICE_ENTRY__* DeviceEntry;
00162         ULONG Dummy1;
00163     };
00164     struct __BUS_ENUM_DEVICE_EXTENSION__ *BusDeviceExtension;
00165     ULONG DeviceObjectReferenceCount;
00166 }COMMON_DEVICE_EXTENSION, *PCOMMON_DEVICE_EXTENSION;
00167 
00168 typedef struct
00169 {
00170     PCOMMON_DEVICE_EXTENSION Ext;
00171 }DEV_EXTENSION, *PDEV_EXTENSION;
00172 
00173 typedef struct
00174 {
00175     LIST_ENTRY Entry;
00176     GUID InterfaceGuid;
00177     UNICODE_STRING SymbolicLink;
00178 }BUS_INSTANCE_ENTRY, *PBUS_INSTANCE_ENTRY;
00179 
00180 
00181 
00182 typedef enum
00183 {
00184     NotStarted = 0,         // Not started yet
00185     Started,                // Device has received the START_DEVICE IRP
00186     StopPending,            // Device has received the QUERY_STOP IRP
00187     Stopped,                // Device has received the STOP_DEVICE IRP
00188     RemovePending,          // Device has received the QUERY_REMOVE IRP
00189     SurpriseRemovePending,  // Device has received the SURPRISE_REMOVE IRP
00190     Deleted 
00191 }DEVICE_STATE;
00192 
00193 
00194 typedef struct __BUS_DEVICE_ENTRY__
00195 {
00196     LIST_ENTRY Entry;
00197     LIST_ENTRY DeviceInterfaceList;
00198     LIST_ENTRY IrpPendingList;
00199     PDEVICE_OBJECT PDO;
00200     DEVICE_STATE DeviceState;
00201     GUID DeviceGuid;
00202     LPWSTR PDODeviceName;
00203     LPWSTR DeviceName;
00204     LPWSTR BusId;
00205     LARGE_INTEGER TimeCreated;
00206     LARGE_INTEGER TimeExpired;
00207     LPWSTR Instance;
00208 }BUS_DEVICE_ENTRY, *PBUS_DEVICE_ENTRY;
00209 
00210 typedef struct __BUS_ENUM_DEVICE_EXTENSION__
00211 {
00212     COMMON_DEVICE_EXTENSION Common;
00213     KSPIN_LOCK Lock;
00214     KEVENT Event;
00215     UNICODE_STRING DeviceInterfaceLink;
00216     PDEVICE_OBJECT PhysicalDeviceObject;
00217     PDEVICE_OBJECT PnpDeviceObject;
00218     PDEVICE_OBJECT BusDeviceObject;
00219     ULONG PdoCreated;
00220     KTIMER Timer;
00221     KDPC Dpc;
00222     WORK_QUEUE_ITEM WorkItem;
00223     ULONG DeviceAttached;
00224     UNICODE_STRING ServicePath;
00225 
00226     WCHAR BusIdentifier[1];
00227 }BUS_ENUM_DEVICE_EXTENSION, *PBUS_ENUM_DEVICE_EXTENSION;
00228 
00229 typedef struct
00230 {
00231     PIRP Irp;
00232     PBUS_ENUM_DEVICE_EXTENSION BusDeviceExtension;
00233     KEVENT Event;
00234     NTSTATUS Status;
00235     WORK_QUEUE_ITEM WorkItem;
00236 }BUS_INSTALL_ENUM_CONTEXT, *PBUS_INSTALL_ENUM_CONTEXT;
00237 
00238 typedef struct
00239 {
00240     PUCHAR FilterData;
00241     ULONG FilterLength;
00242     ULONG FilterOffset;
00243 
00244     PUCHAR DataCache;
00245     ULONG DataLength;
00246     ULONG DataOffset;
00247 
00248 }KSPCACHE_DESCRIPTOR, *PKSPCACHE_DESCRIPTOR;
00249 
00250 typedef struct
00251 {
00252     DWORD dwVersion;
00253     DWORD dwMerit;
00254     DWORD dwPins;
00255     DWORD dwUnused;
00256 }KSPCACHE_FILTER_HEADER, *PKSPCACHE_FILTER_HEADER;
00257 
00258 typedef struct
00259 {
00260     ULONG Signature;
00261     ULONG Flags;
00262     ULONG Instances;
00263     ULONG MediaTypes;
00264     ULONG Mediums;
00265     DWORD Category;
00266 }KSPCACHE_PIN_HEADER, *PKSPCACHE_PIN_HEADER;
00267 
00268 
00269 typedef struct
00270 {
00271     ULONG Signature;
00272     ULONG dwUnused;
00273     ULONG OffsetMajor;
00274     ULONG OffsetMinor;
00275 }KSPCACHE_DATARANGE, *PKSPCACHE_DATARANGE;
00276 
00277 
00278 typedef struct
00279 {
00280     CLSID Medium;
00281     ULONG dw1;
00282     ULONG dw2;
00283 }KSPCACHE_MEDIUM;
00284 

Generated on Thu May 24 2012 04:28:22 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.