Author: akhaldi
Date: Sat Sep 25 00:51:30 2010
New Revision: 48862
URL:
http://svn.reactos.org/svn/reactos?rev=48862&view=rev
Log:
[DDK]
- classpnp.h: Add FUNCTIONAL_DEVICE_EXTENSION, SET_FLAG, CLEAR_FLAG and TEST_FLAG
Modified:
trunk/reactos/include/ddk/classpnp.h
Modified: trunk/reactos/include/ddk/classpnp.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/classpnp.h?rev…
==============================================================================
--- trunk/reactos/include/ddk/classpnp.h [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/classpnp.h [iso-8859-1] Sat Sep 25 00:51:30 2010
@@ -82,6 +82,10 @@
(srb))
#endif /* ALLOCATE_SRB_FROM_POOL */
+
+#define SET_FLAG(Flags, Bit) ((Flags) |= (Bit))
+#define CLEAR_FLAG(Flags, Bit) ((Flags) &= ~(Bit))
+#define TEST_FLAG(Flags, Bit) (((Flags) & (Bit)) != 0)
#define CLASS_WORKING_SET_MAXIMUM 2048
@@ -577,6 +581,87 @@
PCLASS_QUERY_WMI_REGINFO_EX ClassPdoQueryWmiRegInfoEx;
} CLASS_QUERY_WMI_REGINFO_EX_LIST, *PCLASS_QUERY_WMI_REGINFO_EX_LIST;
+typedef struct _FUNCTIONAL_DEVICE_EXTENSION {
+ _ANONYMOUS_UNION union {
+ _ANONYMOUS_STRUCT struct {
+ ULONG Version;
+ PDEVICE_OBJECT DeviceObject;
+ } DUMMYSTRUCTNAME;
+ COMMON_DEVICE_EXTENSION CommonExtension;
+ } DUMMYUNIONNAME;
+ PDEVICE_OBJECT LowerPdo;
+ PSTORAGE_DEVICE_DESCRIPTOR DeviceDescriptor;
+ PSTORAGE_ADAPTER_DESCRIPTOR AdapterDescriptor;
+ DEVICE_POWER_STATE DevicePowerState;
+ ULONG DMByteSkew;
+ ULONG DMSkew;
+ BOOLEAN DMActive;
+ DISK_GEOMETRY DiskGeometry;
+ PSENSE_DATA SenseData;
+ ULONG TimeOutValue;
+ ULONG DeviceNumber;
+ ULONG SrbFlags;
+ ULONG ErrorCount;
+ LONG LockCount;
+ LONG ProtectedLockCount;
+ LONG InternalLockCount;
+ KEVENT EjectSynchronizationEvent;
+ USHORT DeviceFlags;
+ UCHAR SectorShift;
+#if (NTDDI_VERSION >= NTDDI_VISTA)
+ UCHAR CdbForceUnitAccess;
+#else
+ UCHAR ReservedByte;
+#endif
+ PMEDIA_CHANGE_DETECTION_INFO MediaChangeDetectionInfo;
+ PKEVENT Unused1;
+ HANDLE Unused2;
+ FILE_OBJECT_EXTENSION KernelModeMcnContext;
+ ULONG MediaChangeCount;
+ HANDLE DeviceDirectory;
+ KSPIN_LOCK ReleaseQueueSpinLock;
+ PIRP ReleaseQueueIrp;
+ SCSI_REQUEST_BLOCK ReleaseQueueSrb;
+ BOOLEAN ReleaseQueueNeeded;
+ BOOLEAN ReleaseQueueInProgress;
+ BOOLEAN ReleaseQueueIrpFromPool;
+ BOOLEAN FailurePredicted;
+ ULONG FailureReason;
+ PFAILURE_PREDICTION_INFO FailurePredictionInfo;
+ BOOLEAN PowerDownInProgress;
+ ULONG EnumerationInterlock;
+ KEVENT ChildLock;
+ PKTHREAD ChildLockOwner;
+ ULONG ChildLockAcquisitionCount;
+ ULONG ScanForSpecialFlags;
+ KDPC PowerRetryDpc;
+ KTIMER PowerRetryTimer;
+ CLASS_POWER_CONTEXT PowerContext;
+
+#if (NTDDI_VERSION <= NTDDI_WIN2K)
+
+#if (SPVER(NTDDI_VERSION) < 2))
+ ULONG_PTR Reserved1;
+ ULONG_PTR Reserved2;
+ ULONG_PTR Reserved3;
+ ULONG_PTR Reserved4;
+#else
+ ULONG CompletionSuccessCount;
+ ULONG SavedSrbFlags;
+ ULONG SavedErrorCount;
+ ULONG_PTR Reserved1;
+#endif
+
+#else /* (NTDDI_VERSION <= NTDDI_WIN2K) */
+
+ PCLASS_PRIVATE_FDO_DATA PrivateFdoData;
+ ULONG_PTR Reserved2;
+ ULONG_PTR Reserved3;
+ ULONG_PTR Reserved4;
+#endif /* (NTDDI_VERSION <= NTDDI_WIN2K) */
+
+} FUNCTIONAL_DEVICE_EXTENSION, *PFUNCTIONAL_DEVICE_EXTENSION;
+
SCSIPORTAPI
ULONG
NTAPI